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 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.
AO (Application Orderings):
TS (Timestepping Solvers):
DMMG
-
Default Krylov method on outer linear solver is now FGMRES instead
of GMRES. Also default multigrid type is now full instead of
multiplicative
SNES (Nonlinear Solvers):
SLES (Linear Solvers):
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()
PC (Preconditioners):
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.
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()
VEC (Vectors):
- Changed VecCreate() to no longer take in size arguments. Use VecCreate() & VecSetSizes()
IS (Index Sets):
- Changed IS_COLORING_LOCAL to IS_COLORING_GHOSTED and IS_COLORING_GLOBAL to IS_COLORING_LOCAL
General:
PetscOptionsGetDouble()
is now
PetscOptionsGetReal()
Draw (Graphics):
Viewers:
System:
Error Handling:
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 *
Fortran Interface:
New features in PETSc 2.1.1 (see changes above)
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
AO (Application Orderings):
TS (Timestepping Solvers):
SNES (Nonlinear Solvers):
SLES (Linear Solvers):
KSP (Krylov Subspace Methods):
PC (Preconditioners):
- added -pc_lu_zeropivot and -pc_ilu_zeropivot (still need function interfaces)
MAT (Matrices):
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:-)
VEC (Vectors):
-
Added the utility routines which do special cases of vecscatters
VecConvertMPIToSeqAll(),VecConvertMPIToMPIZero()
IS (Index Sets):
PF:
Draw (Graphics):
Viewers:
- added PetscViewerASCIISetMode()
System:
Error Handling:
Event Logging:
Fortran Interface: