Changes: Development#
General:
Add
PetscCtxDestroyFn
as the prototype for all context destroy functions. It isPetscErrorCode ()(void **)
. Previously some context destructor setters tookPetscErrorCode ()(void *)
. But these would not work directly with PETSc objects as contexts and having two different context destructor models added unneeded complexity to the library. This change is not backward compatibleDeprecate
PetscContainerSetUserDestroy()
withPetscContainerSetCtxDestroy()
, updating will require a small change in calling codeDeprecate
PetscContainerCtxDestroyDefault
withPetscCtxDestroyDefault()
Add
PetscIntViewNumColumns()
,PetscScalarViewNumColumns()
, andPetscRealViewNumColumns()
Configure/Build:
Update
--download-pastix
to use CMake build, with additional dependency on LAPACKE and CBLAS, can use for ex. MKL with--with-blaslapack-dir=${MKLROOT}
, or Netlib LAPACK with--download-netlib-lapack --with-netlib-lapack-c-bindings
Add option
--with-library-name-suffix=<suffix>
Sys:
Add
PetscCIntCast()
Add
PetscObjectHasFunction()
to query for the presence of a composed method
Event Logging:
PetscViewer:
PetscDraw:
AO:
IS:
Add
ISGetCompressOutput()
andISSetCompressOutput()
VecScatter / PetscSF:
PF:
Vec:
PetscSection:
PetscPartitioner:
Mat:
Add
MatCopyHashToXAIJ()
which allows assembling an XAIJ matrix in hash table form into another XAIJ matrixAdd
MatResetHash()
which allows resetting an XAIJ matrix to use a hash table
MatCoarsen:
PC:
KSP:
SNES:
SNESLineSearch:
TS:
TAO:
DM/DA:
Deprecate
DMGetSection()
andDMSetSection()
for existingDMGetLocalSection()
andDMSetLocalSection()
DMSwarm:
Change
DMSwarmVectorGetField()
and addDMSwarmVectorDefineFields()
to handle multiple fieldsAdd
DMSwarmGetCoordinateField()
andDMSwarmSetCoordinateField()
Add
DMSwarmComputeMoments()
Add
DMSwarmPushCellDM()
andDMSwarmPopCellDM()
DMPlex:
Add
DMPlexTransformGetMatchStrata()
andDMPlexTransformSetMatchStrata()
Deprecate
DMPlexSetGlobalToNaturalSF()
andDMPlexGetGlobalToNaturalSF()
for existingDMSetNaturalSF()
andDMGetNaturalSF()
Add
-dm_plex_box_label_bd
to setup isoperiodicity when using-dm_plex_box_label_bd
FE/FV:
DMNetwork:
DMStag:
DT:
Fortran: