Changes: 2.1.6#
General:
Added support for Cray X1
Added option ‘-suggest’ to petscarch script. It suggests some possible PETSC_ARCHes to use
Installation instructions are rewritten
Vec:
VecNorm now caches NORM_2
Added VecStrideScale(), VecStrideGather(), VecStrideScatter()
Added VecBlockNorm(),VecBlockMax(),VecBlockMin(),VecBlockScale()
Mat:
The interface to external packages that support direct solvers has been reorganized. This is implemented using new matrix types MATSEQAIJSPOOLES, MATMPIAIJSPOOLES, MATSEQSBAIJSPOOLES, MATMPISBAIJSPOOLES, MATSUPERLU, MATSUPERLU_DIST, MATUMFPACK,MATESSL, MATLUSOL, MATAIJMUMPS, MATSBAIJMUMPS, MATDSCPACK
Added new convenience matrix types which automatically switch between Seq and MPI implementations depending on the size of the communicator used during creation: MATAIJ, MATBAIJ, MATSBAIJ, MATMAIJ, MATDENSE, MATBDIAG
Changed default matrix-free compute h to use WP since it uses fewer reductions
Replace the datatypes MatLUInfo and MatILUInfo by MatFactorInfo
Added cholesky support to SeqAIJ
Added support for SUBSET_NONZERO_PATTERN with MatAXPY for AIJ & BAIJ
Added MatIsSymmetric() for AIJ
Added LDA support in SeqDense
The ncols argument made optional in MatGetRow()
Added MAT_KEEP_ZEROED_ROWS for MPIROWBS
Removed -aij_oneindex support from AIJ code
Added MatPartitioningSetPartitionWeights() - usable with ParMetis
MatGetSubMatrices() now works for ROWBS
PC:
Added PCICCSetDamping() or -pc_icc_damping
Added -pc_constant_null_space
Added PCILUSetShift() or -pc_ilu_shift to support damping using the identity
Added PCLUSetShift() or -pc_lu_shift to support damping using the identity
Added PCICCSetShift() or -pc_icc_shift to support damping using the identity
KSP:
Added a new ksp_type LGMRES
Added KSPSetComputeSingularValues() support to ksp_type FGMRES
TS:
Added support for Runge-Kutta using ts_type TS_RUNGE_KUTTA
DMMG:
-dmmg_jacobian_period -1 => jacobian is frozen after initial construction
DA:
Allow user preallocation of jacobian using DASetGetMatrix()
DAGetMatrix now correctly returns the requested type.
-mat_type typename overloads the requested type for DAGetMatrix
SYS:
Added new viewer_type PETSC_VIEWER_NETCDF, PETSC_VIEWER_HDF4
PETSc error handlers now trap many more signals.
Fortran:
PetscPushErrorHandler() and PetscPopErrorHandler() now supported
PetscPrintf() and PetscSynchronizedPrintf() now work in fortran with a single string
External Packages:
Added TSPVodeGetParameters()
Parmetis-3 support added using MatPartitionSetNParts(), ISPartitionCount()
MUMPS support added, including complex (using mat_type MATAIJMUMPS, MATSBAIJMUMPS)
Updated SuperLU_DIST interface to SuperLU_DIST_2.0
Added Spooles complex support
Added Spooles cholesky for SeqAIJ
ADIC: ad_GRAD_MAX is now set in the application and compiled into code when compiling appplication
The following variable names - in the buildsystem are changed - that correspond with SuperLU_DIST SUPERLUDIST_INCLUDE -> SUPERLU_DIST_INCLUDE SUPERLUDIST_LIB -> SUPERLU_DIST_LIB PETSCHAVE_SUPERLU -> PETSC_HAVE_SUPERLU