File: 31.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 (163 lines) | stat: -rw-r--r-- 6,247 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
============
Changes: 3.1
============


.. rubric:: General:

-  PetscOptionsHasName() and PetscOptionsName() now return PETSC_TRUE
   if the options are set to any value, include false or 0. You may
   need to change some of your PetscOptionsXXName() to
   PetscOptionsXXTruth()
-  Added configure option --with-single-library that causes all PETSc
   code to be compiled into the single library libpetsc.XXX
-  PetscMap changed to PetscLayout and PetscMapInitialize() changed
   to PetscLayoutCreate() and it now allocates the space of the
   object.
-  In makefiles include ${PETSC_DIR}/conf/base is replaced with two
   lines include ${PETSC_DIR}/conf/variables and  include
   ${PETSC_DIR}/conf/rules
-  BlockSolve95 interface is removed
-  petsc.h and petscdef.h are replaced with petscsys.h and
   petscsysdef.h; while petsc.h now includes ALL PETSc include files.
-  win32fe [used for MS/Intel compiler builds on windows] now
   defaults to 'noautodetect' mode. However the previous behavior can
   be restored by using the option '--autodetect'. For eg:
   '--withcc=win32fe cl --autodetect'. This works primarily with old
   VC6/VC7/Intel8 etc compilers anyway.

.. rubric:: Logging:

-  PetscLogFlops(int) ->PetscLogFlops(PetscLogDouble). [check fortran
   usage]

.. rubric:: config/configure.py:

-  All ./configure options that state known values, so that
   ./configure doesn't try to test for them. Often used with the
   --with-batch option now begin with --known-

.. rubric:: IS:

.. rubric:: Vec:

.. rubric:: VecScatter:

.. rubric:: Mat:

-  MatGetSubMatrix:

   -  Now takes a parallel IS for the columns, the csize argument has
      been dropped. The local part of this IS corresponds to the
      local columns of the new submatrix.

-  MatGetSubMatrixRaw

   -  Removed, use MatGetSubMatrix

-  Changed name of option MAT_KEEP_ZEROED_ROWS to
   MAT_KEEP_NONZERO_PATTERN to more clearly indicate what it does.
-  Added MAT_SHARE_NONZERO_PATTERN as option for MatDuplicate() this
   allows several matrices to share the same data structures for the
   nonzeros and thus save memory.
-  The function provided to MatNullSpaceSetFunction() now takes a
   MatNullSpace() as the first argument. Added Fortran interface for
   this function as well.
-  Removed MatPBRelax() merged its functionality into MatRelax()
-  Changed MatRelax() to MatSOR() to match MatSORType() and PCSOR
-  Removed requirement that rows be sorted in
   MatCreateMPIAIJWithArrays() and MatMPIAIJSetPreallocationCSR().
-  Changed MATOP_DIAGONAL_SHIFT to MATOP_DIAGONAL_SET to match
   function name MatDiagonalSet().
-  MATMPIROWBS i.e BlockSolve95 interface is now removed.

.. rubric:: PC:

-  PCShell All user-provided functions now have PC as first argument
   instead of the application context. Users should obtain the
   context with PCShellGetContext, similar to MatShell.
-  Removed -pc_asm_in_place and PCASMSetUseInPlace() since the option
   made no sense
-  PCApplyRichardson() has an additional argument indicating if the
   initial guess being passed in is nonzero. SOR will save some work
   if it is zero.
-  MatSetBlockSize() is no longer an error for BAIJ matrices, but the
   argument must be the same as when the matrix was preallocated.
-  PCFactorSetPivoting() renamed to PCFactorSetColumnPivot()
-  Replaced PCFactorSetShiftNonzero(), PCFactorSetShiftPd() and
   PCFactorSetShiftInBlocks() with PCFactorSetShiftType() and
   PCFactorSetShiftAmount(). Replaced -pc_factor_shift_nonzero,
   -pc_factor_shift_positive_definite and -pc_factor_shift_in_blocks
   with -pc_factor_shift_type <shifttype> and -pc_factor_shift_amount
   <shiftamount>.
-  Added PCREDISTRIBUTE for load balancing and removal of Dirichlet
   degrees of freedom.

.. rubric:: KSP:

-  Added KSPCGUseSingleReduction() -ksp_cg_single_reduction;
   recommended for use with many processors when VecDot() starts to
   take a large amount of time, Requires 2 extra work vectors.
-  Added KSPGCR (Generalized Conjugate Residuals), a flexible method
   (like FGMRES) providing inexpensive residuals.

.. rubric:: SNES:

.. rubric:: TS:

-  Rename TS_EULER, TS_BEULER, etc like TSEULER for consistency with
   other packages.
-  Add Theta and General Linear time integrators (TSTHETA, TSGL).
   These can be used for solving differential algebraic equations
   (DAE) using the new TSSetIFunction() and TSSetIJacobian().
-  Add TSSSP which implements optimal strong stability preserving
   time integrators of order 2, 3, and 4 using a low-storage explicit
   Runge-Kutta scheme.
-  Change TSSetPreStep() and TSSetPostStep() to run before and after
   each step instead of before and after each solve.

.. rubric:: DA:

-  DAGetColoring() now takes a MatType as an additional argument,
   should be MATAIJ or MATBAIJ
-  Added DARefineHierarchy(), DMMG now always uses DMRefineHierarchy
   to generate refined grids. Added options
   -da_refine_hierarchy_[xyz] to allow semi-coarsening at some levels
   of the hierarchy.
-  DASetCoordinates() now references the vector, so the user should
   release their reference by calling VecDestroy().

.. rubric:: DMMG:

.. rubric:: PetscViewer:

.. rubric:: SYS:

-  PetscSleep(), PetscDrawGetPause(), and PetscDrawSetPause() now
   take PetscReal instead of int. Also, -draw_pause takes a real
   value.
-  PetscRandomGetValueImaginary() is removed. To get a complex number
   with only a random imaginary part first call
   PetscRandomSetInterval() with the same low and high real part.
   Similarly one can obtain a complex number with only a random real
   part by setting the low and high imaginary part to be the same.

.. rubric:: AO:

.. rubric:: Sieve:

.. rubric:: Fortran:

-  Removed the old compiler dependent implementation of f90 interface
   sources in favor of the new compiler independent implementation.
   Consequently the configure option --with-f90-interface is removed.
   And the f90 interface is automatically built - if an f90 compiler
   is detected. [this is the default behavior before this change
   as well]
-  use petsc and use petscdef are now use petscsys and use
   petscsysdef

.. rubric:: ExternalPackages:

-  Added MATORDERING_AMD for Tim Davis' Approximate Minimum Degree
   package.