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
|
==============
Changes: 2.1.1
==============
Changes
-------
(See `Features`_ below)
.. rubric:: General:
- Scalar -> PetscScalar (and added PetscReal)
- The make files are reorganized. bmake/${PETSC_ARCH}/base_variables
-> variables, and base.site -> packages. base ->rules.
- If using makefiles from earlier version of PETSc, change
- ``include ${PETSC_DIR}/bmake/${PETSC_ARCH}/base``
to
- ``include ${PETSC_DIR}/conf/base``
- The Microsoft Windows build of PETSc with win32_gnu, win32_intel and
win32_mpich now default to using MPICH-1.2.3The complex version of
the PETSc libraries can only be installed with C++ compilers that
provide the std::complex implementation.
.. rubric:: AO (Application Orderings):
.. rubric:: TS (Timestepping Solvers):
.. rubric:: DMMG
- Default Krylov method on outer linear solver is now FGMRES instead
of GMRES. Also default multigrid type is now full instead of
multiplicative
.. rubric:: SNES (Nonlinear Solvers):
.. rubric:: SLES (Linear Solvers):
.. rubric:: KSP (Krylov Subspace Methods):
- All KSP methods with left preconditioning use the preconditioned
residual by default (before CG, CR used the unpreconditioned
residual). Use -ksp_norm_type
<none,preconditioned,unpreconditioned,natural> to change it, see
next bullet.
- ``KSPSetInitialGuessNonzero(), KSPSetComputeSingularValues(), KSPSetComputeEigenvalues(),``
all now take a PetscTruth as the second argument allowing them to
each be toggled on or off
- ``KSPSetAvoidNorms(), KSPSetUseUnpreconditionedResidual(), KSPSetComputeResidual()``
have all been merged into ``KSPSetNormType()``
.. rubric:: PC (Preconditioners):
.. rubric:: MAT (Matrices):
- Added additional local relaxation argument to ``MatRelax()``
- Added additional argument to ``MatAXPY()``
- MatSNESMFFormJacobian() has been renamed to
MatSNESMFComputeJacobian()
- added another field to MatLUInfo and MatILUInfo
- MatCreate() now requires a call to MatSetType() or
MatSetFromOptions()
- The MatType is assigned in either of these calls.
.. rubric:: DA (Distributed Arrays):
In order to set the grid sizes with -da_grid_x, -da_grid_y,
-da_grid_z one must pass in negative values for the M, N, and P
arguments in the call to DACreateXX(). If values are not set from the
options database then the absolute value of the M,N,P is used as the
default.
- Changed DAGetColoring() to two routines, DAGetColoring() and
DAGetMatrix()
.. rubric:: VEC (Vectors):
- Changed VecCreate() to no longer take in size arguments. Use
VecCreate() & VecSetSizes()
.. rubric:: IS (Index Sets):
- Changed IS_COLORING_LOCAL to IS_COLORING_GHOSTED and
IS_COLORING_GLOBAL to IS_COLORING_LOCAL
.. rubric:: General:
``PetscOptionsGetDouble()`` is now ``PetscOptionsGetReal()``
.. rubric:: Draw (Graphics):
.. rubric:: Viewers:
.. rubric:: System:
.. rubric:: Error Handling:
.. rubric:: Event Logging:
Logging functionality is completely reworked. Now one can register
new stages, classes and events. Every event is associated with a
class. So, users would have to create a class for all userevents.
- ``PetscLogStageRegister()`` now takes an int \* as the first
argument
- ``PetscLogEventRegister()`` takes an int as the third argument,
not a char \*
.. rubric:: Fortran Interface:
Features
--------
(See `Changes`_ above)
.. rubric:: General:
- configure can now be used to build PETSc on some architectures.
Currently tested on Linux, IRIX, Solaris machines.We'd like your
feedback on this feature; please send ``configure_petsc.log`` and
``config.log``\ when reporting problems with configure.
- Added support for ESI vectors and matrices. Use BOPT=g_c++ or
O_c++Better
- support for automatic differentiation with ADIC
.. rubric:: AO (Application Orderings):
.. rubric:: TS (Timestepping Solvers):
.. rubric:: SNES (Nonlinear Solvers):
.. rubric:: SLES (Linear Solvers):
.. rubric:: KSP (Krylov Subspace Methods):
.. rubric:: PC (Preconditioners):
- added -pc_lu_zeropivot and -pc_ilu_zeropivot (still need function
interfaces)
.. rubric:: MAT (Matrices):
.. rubric:: DA (Distributed Arrays):
Added DAGetArray() and DARestoreArray() that give workspace
appropriate for a local function. These may be used in routines that
diverentiated with ADIC:-)
.. rubric:: VEC (Vectors):
- Added the utility routines which do special cases of vecscatters
VecConvertMPIToSeqAll(),VecConvertMPIToMPIZero()
.. rubric:: IS (Index Sets):
.. rubric:: PF:
.. rubric:: Draw (Graphics):
- added DrawEllipse()
.. rubric:: Viewers:
- added PetscViewerASCIISetMode()
.. rubric:: System:
.. rubric:: Error Handling:
.. rubric:: Event Logging:
.. rubric:: Fortran Interface:
|