File: 313.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 (267 lines) | stat: -rw-r--r-- 10,711 bytes parent folder | download | duplicates (2)
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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
=============
Changes: 3.13
=============


.. rubric:: General:

-  Update ``make test`` to run the full test suite. Use
   ``make check`` to run the short test
-  Remove last PetscBool argument from PetscBinaryWrite() and
   PetscBinarySynchronizedWrite()
-  Change PetscLayoutFindOwner() and PetscLayoutFindOwnerIndex() to
   return a PetscMPIInt instead of a PetscInt
-  Support for Compaq F90 is removed along with supporting flags
   PETSC_HAVE_FORTRAN_STDCALL, PETSC_BLASLAPACK_STDCALL,
   HAVE_FORTRAN_MIXED_STR_ARG
-  Promote all example directories ``examples/tutorials/`` and
   ``examples/tests/`` to ``tutorials/`` and ``tests/`` respectively
-  Make title argument of PetscOptionsBegin() obligatory

.. rubric:: Configure/Build:

.. rubric:: IS:

-  Add ISSetInfo(): set local and global properties of an IS (whether
   the IS is sorted, unique, a permutation, an interval, or identity)
-  Add ISGetInfo(): query local and global properties of an IS

.. rubric:: PetscDraw:

.. rubric:: PetscSF:

-  Fix few bugs in PETSCSFWINDOW when using PETSCSF_WINDOW_SYNC_LOCK
   or PETSCSF_WINDOW_SYNC_ACTIVE synchronization types
-  Add window reusage for PETSCSFWINDOW and support for different
   creation flavor types. See PetscSFWindowFlavorType man page for
   details
-  Set default of -use_gpu_aware_mpi from false to true

.. rubric:: PF:

.. rubric:: Vec:

-  VecPinToCPU() is deprecated in favor of VecBindToCPU()
-  Add Vec{Set|Get}PinnedMemoryMin() and -vec_pinned_memory_min
   option. Note that VECCUDA now defaults to using pinned memory for
   host allocations

.. rubric:: VecScatter:

.. rubric:: PetscSection:

.. rubric:: PetscPartitioner:

-  PetscPartitionerPartition() does not longer gets a DM as input.
   Vertex weights can be specified through PetscSection
-  Add support for target partition weights for
   PETSCPARTITIONERSIMPLE, PETSCPARTITIONERPARMETIS and
   PETSCPARTITIONERPTSCOTCH

.. rubric:: Mat:

-  Improve the performance of MatConvert_AIJ_BAIJ by preallocating
   the Mat before dispatching to MatConvert_Basic
-  Change the behavior of MatConvert_AIJ_SBAIJ for block size greater
   than one, the block structure is now preserved (even for the
   diagonal entries)
-  Fix various bugs related with matrix conversions from Hermitian
   SBAIJ matrices with complex numbers
-  Add MatPropagateSymmetryOptions to propagate symmetry information
   from one matrix to another
-  Fix a bug in MATSUPERLU_DIST interface when MATMPIAIJ with
   commsize 1 is used
-  Add MATCHOLMOD support for block solves
-  --download-suitesparse now uses the official SuiteSparse
   repository
-  MatPinToCPU() is deprecated in favor of MatBindToCPU()
-  Fix MatAXPY for MATSHELL
-  MatAXPY(Y,0.0,X,DIFFERENT_NONZERO_PATTERN) no longer modifies the
   nonzero pattern of Y to include that of X
-  Add support of selective 64-bit MUMPS, i.e., the regular/default
   build of MUMPS. One should still build PETSc --with-64-bit-indices
   to handle matrices with >2G nonzeros
-  Add MatProductCreate(), MatProductCreateWithMat(),
   MatProductSetType(), MatProductSetAlgorithm(),
   MatProductSetFill(), MatProductSetFromOptions(),
   MatProductSymbolic(), MatProductNumeric(),
   MatProductReplaceMats(), MatProductClear()
-  Deprecate MatMatMultSymbolic(), MatMatMultNumeric()
-  Deprecate MatMatTransposeMultSymbolic(),
   MatMatTransposeMultNumeric()
-  Deprecate MatPtAPSymbolic(), MatPtAPNumeric()
-  Deprecate MatRARtSymbolic(), MatRARtNumeric()
-  Fix a deadlock with MATELEMENTAL; if one configures PETSc with
   Elemental *and* has PETSC_COMM_WORLD != MPI_COMM_WORLD, it is now
   one's responsability to explicitly call
   PetscElementalInitializePackage()/PetscElementalFinalizePackage()
   outside of PetscInitialize()/PetscFinalize().
   PetscElementalInitializePackage()/PetscElementalFinalizePackage()
   are collective on MPI_COMM_WORLD.

.. rubric:: PC:

-  Change the default behavior of PCASM and PCGASM to not
   automatically switch to PCASMType BASIC if the matrices are
   symmetric
-  Change the default behavior of PCCHOLESKY to use nested dissection
   ordering for AIJ matrix

.. rubric:: KSP:

-  Add KSPHPDDMGetDeflationSpace and KSPHPDDMSetDeflationSpace for
   recycling Krylov methods in KSPHPDDM

.. rubric:: SNES:

-  Deprecate ``-snes_test_jacobian_display`` and
   ``-snes_test_jacobian_display_threshold``. ``-snes_test_jacobian``
   accepts an optional threshold parameter (since v3.10) and
   ``-snes_test_jacobian_view`` should be used in favor of
   ``-snes_test_jacobian_display``

.. rubric:: SNESLineSearch:

-  Add SNESLineSearchGetType() in v3.13.1.

.. rubric:: TS:

.. rubric:: TAO:

-  TAOPDIPM: A new solver in TAO for general NLP problems

.. rubric:: DM/DA:

-  DMCopyLabels(): add two additional input flags
-  DMPlexDistribute(): fix a bug associated with vertex partition
   weights and overlapped meshes
-  DMPlexDistribute(): vertex partition weights are now computed by
   summing all the local section dofs in the transitive closure of
   each cell
-  Add PetscTabulation to hold function tabulation data
-  Add DMEnclosureType to describe relations between meshes
-  Add DMGetEnclosureRelation() and DMGetEnclosurePoint() to discover
   relations between meshes
-  Add DMPolytopeType to describe different cell constructions

.. rubric:: DMPlex:

-  DMPlexInterpolate() now works correctly for distributed DMPlex
-  The idea of hybrid and ghost cells has been removed from Plex in
   favor of cell type
-  Plex can now classify points by cell type, stored in a DMLabel.
   This is useful for operations that require more than topological
   data, such as mesh interpolation, geometric calculations, and is
   also used an index to avoid repeated topological queries
-  Add DMPlexSetCellType() and DMPlexCreateReferenceCellByType()
-  Distribution sorts strata by cell type.
-  Plex can now allow any number of cell types in a single mesh.
   Interpolation, refinement, and extraction of submeshes mixed
   meshes work smoothly. Both oriented and tensor-product prisms can
   be used in the same mesh
-  Cell refiners have been abstracted. Currently there are two
   (regular refinement, and conversion to hexes). The plan is to add
   more, such as local extrusion and conversion to simplices
-  Remove SimplexToTensor in favor of DM_REFINER_TO_BOX
-  DMForest now responds to DMPlexGetOverlap() and propagates its
   overlap to the underlying Plex
-  Add DMPlexGetSimplexOrBoxCells() to replace
   DMPlexGetInteriorCellStratum()
-  Add DMPolytopTypeGetDim(), DMPolyTopeTypeGetConeSize(),
   DMPolytopeTypeGetNumVertices()
-  Add DMLabelSetStratumBounds()
-  Add DMPlexOrientCell() which orients a single cell
-  Add DMPlexCompareOrientations() which compares the cone point
   order of a single cell with the given reference cone
-  Add DMPlexIsInterpolated() which finds out whether the plex is
   interpolated
-  Add DMPlexIsInterpolatedCollective() which finds out whether the
   plex is interpolated on all ranks
-  Add DMPlexIsDistributed() which finds out whether the plex is
   distributed

.. rubric:: DMNetwork:

-  Add DMNetworkSetComponentNumVariables(),
   DMNetworkGetComponentVariableOffset(), and
   DMNetworkGetComponentVariableGlobalOffset() to set number of
   variables for a component, and retrieve its local/global offsets.

.. rubric:: DT:

-  All tabulated data is now stored in PetscTabulation structures.
   This changes interfaces in PetscDS, PetscFE, and PetscFV
-  Rename DefaultTabulation to CellTabulation everywhere
-  PetscDTGaussJacobiQuadrature() is now truly Gauss-Jacobi
   quadrature. The quadrature for the simplex (without weight
   function) is now called PetscDTStroudConicalQuadrature()
-  Add PetscDTJacobiEval(), PetscDTGaussLobattoJacobiQuadrature()
-  Add PetscDTIndexToBary() and PetscDTBaryToIndex() for barycentric
   lattice calculations
-  Add PetscDTNodeType to enumerate methods of defining interpolation
   nodes
-  PetscDualSpace now has PetscDualSpaceSetFormDegree() and
   PetscDualSpaceGetFormDegree() for governing functional
   pushforward/pullback behavior
-  PETSCDUALSPACELAGRANGE now has PetscDualSpaceGetTrimmed() and
   PetscDualSpaceSetTrimmed() for creating degrees of freedom for
   trimmed polynomial spaces
-  PETSCDUALSPACELAGRANGE now has PetscDualSpaceGetNodeType() and
   PetscDualSpaceSetNodType() for controlling the placement of
   interpolation nodes
-  PETSCDUALSPACEBDM is no longer a standalone type of
   PetscDualSpace: it is now a constructor alias for
   PETSCDUALSPACELAGRANGE

.. rubric:: PetscViewer:

-  Remove last PetscBool argument from PetscViewerBinaryWrite()
-  Add "fieldnum" argument to PetscViewerVTKAddField() to indicate
   only one field of the vector should be viewed

.. rubric:: SYS:

-  Rename PetscSignalSegvCheckPointer() to
   PetscSignalSegvCheckPointerOrMpi()
-  Extend -info option controlling PetscInfo(). It now takes takes
   optional arguments
   ``-info [filename][:[~]list,of,classnames[:[~]self]]``. See
   PetscInfo() manpage
-  Add new API to control PetscInfo() programatically:

   -  Add PetscInfoEnabled() - Indicate whether a given PETSc class
      is allowed in PetscInfo()
   -  Add PetscInfoSetFile() - Set output destination of PetscInfo()
   -  Add PetscInfoGetFile() - Get output destination of PetscInfo()
   -  Add PetscInfoSetClasses() - Sets the classes which PetscInfo()
      is filtered for/against
   -  Add PetscInfoGetClass() - Indicates whether the provided
      classname is marked as a filter in PetscInfo() as set by
      PetscInfoSetClasses()
   -  Add PetscInfoProcessClass() - Activates or deactivates a class
      based on the filtering status of PetscInfo()
   -  Add PetscInfoGetInfo() - Returns the current state of several
      indicator flags for PetscInfo()
   -  Add PetscInfoSetFilterCommSelf() - Sets PetscInfoCommFlag enum
      to control communicator size filtering for PetscInfo()
   -  Add PetscInfoDestroy() - Destroys and resets internal
      PetscInfo() filter options
   -  Change PetscInfoAllow() to only activate/deactivate
      PetscInfo(), file setting is now handled separately by
      PetscInfoSetFile()

-  Add PetscSubcommGetParent() - Gets the communicator that was used
   to create the PetscSubcomm
-  Add PetscSubcommGetContiguousParent() - Gets a communicator that
   that is a duplicate of the parent but has the ranks reordered by
   the order they are in the children
-  Add PetscSubcommGetChild() - Gets the communicator created by the
   PetscSubcomm
-  Change the default option of -build_twosided from ibarrier to
   allreduce for communicators with no more than 1024 ranks

.. rubric:: AO:

.. rubric:: Sieve:

.. rubric:: Fortran: