General:
- PetscOptionsBool() no longer sets the value of the boolean based on the value passed in
- Python scripts such as PetscBinaryIO.py are now in bin/petsc-pythonscripts. This is to
support proper namespacing for --prefix installs of PETSc
- Script for running MPIUni jobs is now bin/petsc-mpiexec.uni
Configure/Build:
- Add toplevel makefile targets clean and distclean. Target clean
deletes petsc libraries built by makefile target all. Target distclean deletes
all build files created by configure and [make all]. Target clean in
example directories continues to work as before [deletes object files and executables]
IS:
PF:
Vec:
VecScatter:
PetscSection:
Mat:
- MatGetVecs() replaced with MatCreateVecs() because it actually does create the Vecs that need to be destroyed
- MatCreateMPIAIJConcatenateSeqAIJ and MatCreateMPIBAIJConcatenateSeqBAIJ replaced with MatCreateMPIMatConcatenateSeqMat
- MatGetRedundantMatrix() replaced with MatCreateRedundantMatrix()
PC:
Upgraded to SuiteSparse 4.4.1; Cholmod supports using GPUs --with-cuda --download-suitesparse-gpu --with-64-bit-indices -mat_cholmod_useGPU 1 or 0; 1 by default when configured for it
Added PCBDDCSetChangeOfBasisMat for user defined change of basis
PCJacobiSetUseAbs() now takes a PetscBool argument allowing toggling the option
PCJacobiSetUseRowMax() and PCJacobiSetUseRowSum() have been merged into PCJacobiSetType()
PCFactorSetUseInplace() now takes a PetscBool argument. Added PCFactorGetUseInplace()
PCFactorSetAllowDiagonalFill() now takes a PetscBool argument. Added PCFactorGetAllowDiagonalFill()
PCEisenstatNoDiagonalScaling() changed to PCEisenstatSetNoDiagonalScaling() and takes a boolean
KSP:
KSPGetVecs() replaced with KSPCreateVecs() because it actually does create the Vecs that need to be destroyed
SNES:
Added KSPMonitorSNES() with command line option -ksp_monitor_snes and -ksp_monitor_snes_lg to monitor SNES residual norm at each linear iteration
SNESLineSearch:
TS:
DM/DA:
- The MatType argument is removed from DMCreateMatrix(), you can use DMSetMatType() to indicate the type you want used with a DM, defaults to MATAIJ
- You can now use DMDASetAOType() to indicate the type of AO you want used with a DMDA (defaults to AOBASIC)
DMPlex:
PetscViewer:
SYS:
AO:
Sieve:
Fortran:
- Fortran include files are now in include/petsc-finclude instead of include/finclude. Thus replace uses of #include "finclude/xxx.h" with #include "petsc-finclude/xxx.h". Reason for change: to namespace the finclude directory with PETSc for --prefix installs of PETSc and for packaging systems