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:
Add PCHYPREGetCFMarkers() to extract Coarse/Fine splittings created by BoomerAMG from PCHYPRE, similar to PCGetInterpolations() and PCGetCoarseOperators()
KSP:
SNES:
SNESLineSearch:
Add
SNESLINESEARCHBISECTION
as new SNES line search type, performing a bisection line search on the directional derivative
TS:
TAO:
DM/DA:
Deprecate
DMGetSection()
andDMSetSection()
for existingDMGetLocalSection()
andDMSetLocalSection()
DMSwarm:
Change
DMSwarmVectorGetField()
and addDMSwarmVectorDefineFields()
to handle multiple fieldsAdd
DMSwarmComputeMoments()
Add
DMSwarmCellDMCreate()
,DMSwarmCellDMDestroy()
,DMSwarmCellDMView()
,DMSwarmCellDMGetDM()
,DMSwarmCellDMGetFields()
,DMSwarmCellDMGetCoordinateFields()
,DMSwarmCellDMGetCellID()
,DMSwarmCellDMGetSort()
,DMSwarmCellDMSetSort()
, andDMSwarmCellDMGetBlockSize()
Add
DMSwarmAddCellDM()
,DMSwarmSetCellDMActive()
, andDMSwarmGetCellDMActive()
Add
DMSwarmCreateGlobalVectorFromFields()
,DMSwarmDestroyGlobalVectorFromFields()
,DMSwarmCreateLocalVectorFromFields()
, andDMSwarmDestroyLocalVectorFromFields()
Add
DMSwarmSortDestroy()
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
Change
PetscViewerCGNSGetSolutionTime()
to no longer error if “TimeValues” array isn’t found in CGNS file
FE/FV:
DMNetwork:
DMStag:
DT:
Fortran: