Changes: 2.1.1#
Changes#
(See Features below)
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. 
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()
.. rubric:: 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:
Features#
(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.logand- config.logwhen 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:-) .. rubric:: VEC (Vectors):
- Added the utility routines which do special cases of vecscatters VecConvertMPIToSeqAll(),VecConvertMPIToMPIZero() 
IS (Index Sets):
PF:
Draw (Graphics):
- added DrawEllipse() 
Viewers:
- added PetscViewerASCIISetMode() 
System:
Error Handling:
Event Logging:
Fortran Interface: