PETSc: Documentation: Changes: Development

# PETSc

# Documentation: Changes: Development

## CHANGES in the PETSc Development Version

#### 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