PETSc
General:
- PetscBagLoad() now requires you previously created and registered all the records in the PETSc bag
Logging:
config/configure.py:
IS:
PF:
Vec:
VecScatter:
Mat:
- Renamed MatNullSpaceAttach() to MatSetNullSpace()
- MatMult() no longer removes the nullspace set by MatSetNullSpace()
- Renamed MatMatMultTranspose() for C=A^T*B to MatTransposeMatMult()
- Added MatMatTransposeMult() for C=A*B^T
- Added MatRARt() for C=R*A*R^T
- Preallocation routines now automatically set MAT_NEW_NONZERO_ALLOCATION_ERR, if you intentionally preallocate less than necessary then use MatSetOption(mat,MAT_NEW_NONZERO_ALLOCATION_ERR,PETSC_FALSE) to disable the error generation.
- You MUST now call MatXXXSetPreallocation() or MatSetUp() on any matrix you create directly (not using DMCreateMatrix()) before calling MatSetValues(), MatSetValuesBlocked() etc.
- MatSetUpPreallocation() and MatPreallocated() are removed, use MatSetUp()
- MatPreallocateSymmetricInitialize() is removed, use MatPreallocateInitialize()
- MatCreateMPIAIJ(), MatCreateMPIBAIJ(), MatCreateMPISBAIJ(), MatCreateMPIDense() are now MatCreateAIJ(), MatCreateBAIJ(), MatCreateSBAIJ(), MatCreateDense(). Note that on a single process they have always created the sequential version of the matrix so this naming is more accurate.
- Renamed MatMerge_SeqsToMPI() to MatCreateMPIAIJSumSeqAIJ()
- Renamed MatMerge() to MatCreateMPIAIJConcatenateSeqAIJ()
PC:
- Remove PCASASetDM(), use PCSetDM() instead.
- Add PCFieldSplitSetSchurFactType(), rename -pc_fieldsplit_set_schur_factorization_type to -pc_fieldsplit_set_schur_fact_type.
KSP:
- KSPSetOperators() will automatically set the null space present on the input matrix
SNES:
- Added SNESGetSNESLineSearch
- Changed default max_its and max_funcs for non-newton SNES solvers to 10000 and 30000 respectively
- Changed options and command-line arguments for SNESFAS to be in line with PCMG
SNESLineSearch:
- SNESLineSearch object added
- The default SNESLineSearch of a SNES may be gotten with SNESGetSNESLineSearch(SNES snes, SNESLineSearch *linesearch)
- The linesearch type may be set with SNESLineSearchSetType() or -snes_linesearch_type
- The line search (and pre and post checks) is applied using SNESLineSearchApply()
- Pre/Post-check methods may be set with SNESLineSearchSetPre/PostCheck()
- The previous steplength may be accessed through SNESLineSearchSetLambda()
- The damping parameter may be set through SNESLineSearchSetDamping() or -snes_linesearch_damping
- Success of the line search is determined using SNESLineSearchGetSuccess()
- Custom linesearches may be built through SNESLINESEARCHSHELL,("shell") or by registering a new linesearch type with SNESLineSearchRegisterDynamic()
- SNESLINESEARCHBT,("bt") replaces SNES_LS_CUBIC and SNES_LS_QUADRATIC, and order may be set with SNESLineSearchSetOrder() or -snes_linesearch_order
- SNESLINESEARCHBASIC,("basic") replaces SNES_LS_BASIC and SNES_LS_BASICNONORMS. Norms may be turned off with SNESLineSearchSetComputeNorms() or -snes_linesearch_norms 0
- SNESLineSearchSetTolerances() replaces SNESLSSetParams(), with the former alpha parameter set with SNESLineSearchBTSetAlpha() or -snes_linesearch_alpha
- Added Line Search type SNESLINESEARCHL2,("l2") as the default for NRICHARDSON
- SNESLINESEARCHCP,("cp") added as the default line search method for SNESNCG and SNESQN
TS:
- -ts_max_time changed to -ts_final_time
- TSDefaultComputeJacobian() and TSDefaultComputeJacobianColor() have been removed.
Configure TS to use coloring with SNESSetJacobian().
- Added TSROSW for Rosenbrock-W methods.
- Added a common, extensible system for adaptive controllers, see TSGetAdapt().
DM/DA:
- Added DMRedundant for managing globally coupled degrees of freedom.
- Removed DMCompositeAddArray(), use DMRedundantCreate() and DMCompositeAddDM().
-
Renamed DMGetMatrix(), DMGetInterpolation(), DMGetInjection(), and
DMGetColoring() to DMCreateMatrix(), etc for semantic consistency.
- The communicator argument to DMRefine() and DMCoarsen() can be MPI_COMM_NULL, but not PETSC_NULL, because the latter may not be the correct type.
DMMG:
PetscViewer:
SYS:
AO:
Sieve:
Fortran:
- PETSC_NULL_TRUTH is now PETSC_NULL_BOOL
- SNES line search type should be set by name with SNESLineSearchSetType rather than with SNESLineSearchSet
- The Hypre interface was updated to 2.8.0b and now supports 64-bit integers.