- PETSc built with --with-precision=__float128 will now by default read in binary files that have all 128 bits stored in the file, to read in files with 64 bit double
use the option -binary_read_double
- PETSc options of complex numbers must be passed as [+/-][realnumber][+/-]realnumberi with no spaces, you can no longer pass the real and complex part with a comma between them
- PetscSynchronizedFlush() takes an additional argument, the file pointer on rank 0
- PetscObjectStateQuery() is now corrected with PetscObjectStateGet()
- A new PetscObjectState typedef is used by interface; 64-bit int to prevent overflow.
The configure option --with-dynamic-loading has been
removed since this functionality is automatically available on
systems that support it. Use the runtime
option -dynamic_library_preload for similar functionality.
Default location of externalpackages is moved from PETSC_DIR/externalpackages to
Added --with-clean option to delete the build files in PETSC_DIR/PETSC_ARCH
at the begining of the build
The __SDIR__ macro (and __INSDIR__) is no longer used.
We recommend passing full paths or paths from the project root to the compiler so that error messages contain enough context.
The "type" argument to PetscMalloc2() through PetscMalloc7(), PetscNew(), and PetscNewLog() have been removed.
The type is now inferred from the pointer return type.
PetscMalloc1() is now available for allocating arrays, and PetscCalloc1() through PetscCalloc7() have been added for when cleared (zeroed) memory is needed.
- Now only the F90 binding for VecSetValuesSection() is present
- Removed third argument to MatNullSpaceRemove(). Use
VecDuplicate() and VecCopy() if the original Vec must be kept.
- MatGetRedundantMatrix(Mat mat,PetscInt nsubcomm,MPI_Comm
subcomm,PetscInt mlocal_red,MatReuse reuse,Mat *matredundant) is
replaced by MatRedundantMatrix(Mat mat,PetscInt nsubcomm,MPI_Comm subcomm,MatReuse reuse,Mat *matredundant).
- MatGetColoring() has been removed and replaced by the MatColoring object.
- The documented, but semi-private function PCMGResidual_Default() is now public and named PCMGResidualDefault().
- PCGAMG default smoother changed from PCJACOBI to PCSOR.
- KSPSkipConverged() renamed to KSPConvergedSkip().
- KSPSetOperators() no longer has the MatStructure argument. The Mat objects now track that information themselves. Use KPS/PCSetReusePreconditioner() to prevent the recomputation of the preconditioner if the operator changed in the way that SAME_PRECONDITIONER did with KSPSetOperators()
- KSPDefaultConverged(), KSPDefaultConvergedDestroy(), KSPDefaultConvergedCreate(), KSPDefaultConvergedSetUIRNorm(), and KSPDefaultConvergedSetUMIRNorm() are now KSPConvergedDefault(), KSPConvergedDefaultDestroy(), KSPConvergedDefaultCreate(), KSPConvergedDefaultSetUIRNorm(), and KSPConvergedDefaultSetUMIRNorm(). for consistency.
- The matrix arguments to the user functions provided with SNESSetJacobian() and SNESSetPicard() are now Mat not Mat*.
- The MatStructure argument to the user functions provided with SNESSetJacobian() and SNESSetPicard() are gone.
- SNESSetInitialFunctionNorm() is removed as it's not necessary given that the norm is cached on the Vec. Use only SNESSetInitialFunction().
- SNESSkipConverged() renamed to SNESConvergedSkip().
- GS and _gs used for nonlinear Gauss-Sidel changed to NGS and _ngs to match all the other nonlinear solver names.
- The matrix arguments to the user functions provided with TSSetRHSJacobian() and TSSetIJacobian() are now Mat not Mat*.
- The MatStructure argument to the user functions provided with TSSetRHSJacobian() and TSSetIJacobian() are gone.
- The MatType argument is removed from DMCreateMatrix(), you can use DMSetMatType() to indicate the type you want used with a DM, defaults to MATAIJ
- DMDABoundaryType has become DMBoundaryType, and all the enumeration values have also been renamed.
- Sieve/DMMesh has been removed entirely. Use DMPlex.
- PETSC_DEFAULT_DOUBLE_PRECISION has been replaced with PETSC_DEFAULT_REAL