File: 36.rst.txt

package info (click to toggle)
petsc 3.22.5%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 516,740 kB
  • sloc: ansic: 814,333; cpp: 50,948; python: 37,416; f90: 17,187; javascript: 3,493; makefile: 3,198; sh: 1,502; xml: 619; objc: 445; java: 13; csh: 1
file content (180 lines) | stat: -rw-r--r-- 7,032 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
============
Changes: 3.6
============


.. rubric:: General:

-  User makefiles must be updated. You must change the lines

   -  include ${PETSC_DIR}/conf/variables and
   -  include ${PETSC_DIR}/conf/rules

   to

   -  include ${PETSC_DIR}/lib/petsc/conf/variables and
   -  include ${PETSC_DIR}/lib/petsc/conf/rules

-  PetscOptionsBool() no longer sets the value of the boolean based
   on the value passed in
-  Script for running MPIUni jobs is now bin/petsc-mpiexec.uni
-  Removed all threadcomm support including --with-pthreadclasses and
   --with-openmpclasses configure arguments
-  Updated MUMPS version to 5.0.0 - and updated metis to 5.1.0,
   parmetis to 4.0.3-p1 - in sync with MUMPS.
-  Updated to hypre-2.10.0b, scotch_6.0.3, Elemental-0.85

.. rubric:: Configure/Build:

-  Add toplevel makefile targets *clean* and *distclean*. Target
   *clean* deletes petsc libraries built by makefile target *all*.
   Target *distclean* deletes all build files created by *configure*
   and [*make all*]. Target *clean* in example directories continues
   to work as before [deletes object files and executables]

.. rubric:: IS:

.. rubric:: PetscDraw:

-  PetscDrawBoxedString() changed to PetscDrawStringBoxed() added
   PetscDrawBar object for drawing bar graphs added
   PetscDrawStringCentered()

.. rubric:: PF:

.. rubric:: Vec:

.. rubric:: VecScatter:

.. rubric:: PetscSection:

.. rubric:: Mat:

-  MatGetVecs() replaced with MatCreateVecs() because it actually
   does create the Vecs that need to be destroyed
-  MatCreateMPIAIJConcatenateSeqAIJ and
   MatCreateMPIBAIJConcatenateSeqBAIJ replaced with
   MatCreateMPIMatConcatenateSeqMat
-  MatGetRedundantMatrix() replaced with MatCreateRedundantMatrix()
-  Added support for MUMPS sequential solver in Schur complement mode
-  MatGetSubMatricesMPI() will extract parallel submatrices on
   subcommunicators of the supplied IS objects. Unsorted, but not
   repeated indices are okay.
-  Removed MatMFFDAddNullSpace() just use MatSetNullSpace()

.. rubric:: PC:

-  Removed -pc_hypre_type euclid due to bit-rot
-  Upgraded to SuiteSparse 4.4.1; Cholmod supports using GPUs
   (developer repository only feature) --with-cuda
   --download-suitesparse-gpu --with-64-bit-indices;
   -mat_cholmod_useGPU 1 or 0; 1 by default when configured for it
-  Upgraded to Superlu_DIST 4.0; Superlu_DIST supports using GPUs
   (developer repository only feature) --with-cuda --with-openmp
   --download-superlu_dist-gpu (developer repository only feature)
   --with-64-bit-indices -mat_cholmod_useGPU 1 or 0; 1 by default
   when configured for it
-  Added PCBDDCSetChangeOfBasisMat for user defined change of basis
-  PCBDDC: added adaptive selection of constraints: it is available
   by command line options
-  PCJacobiSetUseAbs() now takes a PetscBool argument allowing
   toggling the option
-  PCJacobiSetUseRowMax() and PCJacobiSetUseRowSum() have been merged
   into PCJacobiSetType()
-  PCFactorSetUseInplace() now takes a PetscBool argument. Added
   PCFactorGetUseInplace()
-  PCFactorSetAllowDiagonalFill() now takes a PetscBool argument.
   Added PCFactorGetAllowDiagonalFill()
-  PCEisenstatNoDiagonalScaling() changed to
   PCEisenstatSetNoDiagonalScaling() and takes a boolean
-  Added Interface to AMS solver from HYPRE for Nedelec
   discretizations (-pc_hypre_type ams)
-  Added Interface to ADS solver from HYPRE for Raviart-Thomas
   discretizations (-pc_hypre_type ads)
-  Contributed MKL PARDISO interface providing PCCholesky support.
   Useable with: -pc_type cholesky -mat_type sbaij
   -pc_factor_mat_solver_package mkl_pardiso
-  PCGASMSetTotalSubdomains() can now create multirank subdomains if
   their number is less than comm size.
-  PCGAMGSetReuseProl() is changed to PCGAMGSetReuseInterpolation()

.. rubric:: KSP:

-  Removed KSPSetNullSpace() always use MatSetNullSpace() provided to
   the FIRST matrix argument to KSPSetOperators(), or
   SNESSetJacobian(), or TSSetIJacobian()
-  Added MatSetTransposeNullSpace() to indicate the null space of the
   transpose operator
-  Removed KSPSPECEST since its functionality is replaced by the
   esteig functionality within KSPChebyshev
-  Unified KSPChebyshev routines that work with estimating
   eigenvalues with the prefix name KSPChebyshevEstEig... For example
   KSPChebyshevSetEstimateEigenvalues() is now
   KSPChebyshevEstEigSet() and
   KSPChebyshevSetEstimateEigenvaluesRandom() is now
   KSPChebyshevEstEigSetRandom() similarly
   -ksp_chebyshev_estimate_eigenvalues_random is
   -ksp_chebyshev_esteig_random. The previous for the (GMRES) KSP
   used to estimate the eigenvalues is now esteig\_ not est\_
-  KSPGetVecs() replaced with KSPCreateVecs() because it actually
   does create the Vecs that need to be destroyed

.. rubric:: SNES:

-  Added KSPMonitorSNES() with command line option -ksp_monitor_snes
   and -ksp_monitor_snes_lg to monitor SNES residual norm at each
   linear iteration SNESMonitorVI() becomes SNESVIMonitor()
-  Added SNESVIMonitorResidual() and -snes_vi_monitor_residual

.. rubric:: SNESLineSearch:

.. rubric:: TS:

-  The postevent routine set with TSSetEventMonitor() now takes an
   additional PetscBool argument 'forwardsolve'. The forwardsolve
   flag is used to distinguish between a TS forward solve
   (forwardsolve = 1) and adjoint solve (forwardsolve = 0).
-  Added TSAdjointSolve() for adjoint sensitivity analysis
-  EquationType is introduced to distinguish between ODEs and DAEs.
   It needs to be set accordingly before solving the problem through
   TSSetEquationType(). It currently only affects arkimex methods.

.. rubric:: DM/DA:

-  DMCreateInjection() now returns a Mat, rather than a VecScatter
-  The MatType argument is removed from DMCreateMatrix(), you can use
   DMSetMatType() to indicate the type you want used with a DM,
   defaults to MATAIJ
-  You can now use DMDASetAOType() to indicate the type of AO you
   want used with a DMDA (defaults to AOBASIC)

.. rubric:: DMPlex:

-  Can now redistribute parallel meshes
-  Can now increase the overlap of parallel meshes
-  Added new mesh formats, Fluent CAS and Gmsh

.. rubric:: PetscViewer:

-  HDF5 viewer will save Vecs and DMDA Vecs with a dimension of 1 if
   the bs/dof of the vector is 1. To always include this dimension as
   a specific dimension in the HDF5 file even if it is of size 1
   use PetscViewerHDF5SetBaseDimension2() or
   -viewer_hdf5_base_dimension2 true

.. rubric:: SYS:

-  PetscOptionsHead() now takes a PetscOptions argument.
-  PetscObjectAddOptionsHandler() now takes an event handler that
   includes a PetscOptions argument.
   PetscObjectProcessOptionsHandlers() requires this as input.

.. rubric:: AO:

.. rubric:: Fortran:

-  Fortran include files are now in include/petsc/finclude instead of
   include/finclude. Thus replace uses of #include "finclude/xxx.h"
   with #include "petsc/finclude/xxx.h". Reason for change: to
   namespace the finclude directory with PETSc for --prefix installs
   of PETSc and for packaging systems