Changes: Development#

General:

Configure/Build:

  • Add --with-openmp-kernels

Sys:

Event Logging:

PetscViewer:

  • Add PetscViewerASCIIStdoutSetFileUnit()

  • Add PetscShmgetAllocateArrayScalar(), PetscShmgetDeallocateArrayScalar(), PetscShmgetAllocateArrayInt(), and PetscShmgetDeallocateArrayInt() for Fortran

PetscDraw:

AO:

IS:

VecScatter / PetscSF:

PF:

Vec:

PetscSection:

PetscPartitioner:

Mat:

MatCoarsen:

PC:

  • Add support in PCFieldSplitSetFields() including with -pc_fieldsplit_%d_fields fields for MATNEST, making it possible to utilize multiple levels of PCFIELDSPLIT with MATNEST from the command line

  • Add PCCompositeSpecialSetAlphaMat() API to use a matrix other than the identity in preconditioners based on an alternating direction iteration, e.g., setting \(M\) for \(P = (A + alpha M) M^{-1} (alpha M + B)\)

  • Reuse the result of \(T = A_{00}^-1 A_{01}\) in PCApply_FieldSplit_Schur with -pc_fieldsplit_schur_fact_type full

  • Change the option database keys for coarsening for PCGAMG to use the prefix -pc_gamg_, for example -pc_gamg_mat_coarsen_type

KSP:

SNES:

SNESLineSearch:

TS:

TAO:

DM/DA:

DMSwarm:

DMPlex:

FE/FV:

DMNetwork:

DMStag:

DT:

Fortran:

  • Add PETSC_NULL_ENUM to be used instead of PETSC_NULL_INTEGER when a pointer to an enum is expected in a PETSc function call

  • Add PETSC_NULL_INTEGER_ARRAY, PETSC_NULL_SCALAR_ARRAY, and PETSC_NULL_REAL_ARRAY for use instead of PETSC_NULL_INTEGER, PETSC_NULL_SCALAR, and PETSC_NULL_REAL when an array is expected in a PETSc function call

  • Add automatically generated interface definitions for most PETSc functions to detect illegal usage at compile time

  • Add PetscObjectIsNull() for users to check if a PETSc object is NULL

  • Change the PETSc Fortran API so that non-array values, v, passed to PETSc routines expecting arrays must be cast with [v] in the calling sequence