Changes: Development#
General:
Add
PETSCPYTHONPATH
to the generated$PETSC_DIR/$PETSC_ARCH/lib/petsc/conf/petscvariables
file so it is available to users through the makefile systemAdd
PETSCPYTHONPATH
to the generated$PETSC_DIR/$PETSC_ARCH/lib/pkgconfig/PETSc.pc
file so it is available to users withPKG_CONFIG_PATH=$PETSC_DIR/$PETSC_ARCH/lib/pkgconfig pkg-config --variable=PETSCPYTHONPATH PETSc.pc
Add
EXTRA_OPTIONS_INITIAL
to the test system, which prepends options
Configure/Build:
Change
make sphinxhtml
in thedoc
directory to bemake docs
Change
make docs
to put all its artifacts in${PETSC_ARCH}-doc
instead ofdoc
Add support for
--download-xxx
,--with-xxx
, and-with-xxx-dir
for Python packages that install with pip. Seepackages.py
Change
make alletags
tomake etags
Deactivate Fortran bindings of SuperLU_DIST and ExodusII by default, but they can still be built with the configure options
--with-superlu_dist-fortran-bindings
and--with-exodusii-fortran-bindings
, respectively
Sys:
Add
PETSC_E
Deprecate
PetscSSEIsEnabled()
Add
PetscBTCopy()
Event Logging:
PetscViewer:
Add
PetscViewerHDF5SetCompress()
andPetscViewerHDF5GetCompress()
PetscDraw:
Add
PetscDrawLGGetData()
AO:
IS:
VecScatter / PetscSF:
PF:
Vec:
PetscSection:
PetscPartitioner:
Mat:
Add
MatNullSpaceRemoveFn
type definitionAdd
MatMFFDFn
,MatMFFDiFn
,MatMFFDiBaseFn
, andMatMFFDCheckhFn
type definitionsAdd
MatFDColoringFn
type definitionAdd support for
-mat_mumps_icntl_15 1
with the companion functionMatMumpsSetBlk()
MatCoarsen:
PC:
Add
PCMatApplyTranspose()
andPCShellSetMatApplyTranspose()
Remove
PC_ApplyMultiple
Add
PCShellPSolveFn
KSP:
Add
MatLMVMGetLastUpdate()
Add
MatLMVMMultAlgorithm
,MatLMVMSetMultAlgorithm()
, andMatLMVMGetMultAlgorithm()
Add
MatLMVMSymBroydenGetPhi()
andMatLMVMSymBroydenSetPhi()
Add
MatLMVMSymBadBroydenGetPsi()
andMatLMVMSymBadBroydenSetPsi()
Deprecate
KSP_CONVERGED_RTOL_NORMAL
in favor ofKSP_CONVERGED_RTOL_NORMAL_EQUATIONS
andKSP_CONVERGED_ATOL_NORMAL
in favor ofKSP_CONVERGED_ATOL_NORMAL_EQUATIONS
Add
KSPFlexibleSetModifyPC()
to provide a common API for setting the modification function for all flexibleKSP
methodsAdd
KSPFlexibleModifyPCFn
function prototypeChange the function signature of the
destroy()
argument toKSPSetConvergenceTest()
toPetscCtxDestroyFn*
. If you provide custom destroy functions toKSPSetConvergenceTest()
you must change them to expect avoid **
argument and immediately dereference the inputAdd
KSPPSolveFn
Change
KSPMonitorResidualDraw()
toKSPMonitorResidualView()
Change
KSPMonitorTrueResidualDraw()
toKSPMonitorTrueResidualView()
SNES:
Change
SNESTestJacobian()
to report the normsAdd
SNESNormSchedule
support toSNESKSPONLY
SNESLineSearch:
Rename option
snes_linesearch_maxstep
tosnes_linesearch_maxlambda
to better coincide with its purpose in the variousSNESLineSearch
esRename
SNESLineSearchL2
toSNESLineSearchSecant
(and hence its option entrysnes_linesearch_type
forml2
tosecant
) to better represent the underlying approach
TS:
Add
TSSetRunSteps()
and-ts_run_steps
for better control of restarted jobsAdd
-ts_monitor_solution_skip_initial
to skip first call to the solution monitorAdd
-ts_monitor_wall_clock_time
to display the elapsed wall-clock time for every stepChange
TSDiscGradIsGonzalez()
,TSDiscGradUseGonzalez()
toTSDiscGradSetType()
,TSDiscGradGetType()
TAO:
PetscRegressor:
Add new component to support regression and classification machine learning tasks: PetscRegressor: Regression Solvers
Add
PetscRegressor
typePETSCREGRESSORLINEAR
for solving linear regression problems with optional regularization
DM/DA:
Add
DMHasBound()
,DM_BC_LOWER_BOUND
andDM_BC_LOWER_BOUND
Add
DMSetCellCoordinateField()
Add
localized
argument toDMSetCoordinateDisc()
andDMCreateAffineCoordinates_Internal()
Add
DMCreateGradientMatrix()
DMSwarm:
Add
DMSwarmProjectFields()
andDMSwarmProjectGradientFields()
DMPlex:
Add
DMPlexGetTransform()
,DMPlexSetTransform()
,DMPlexGetSaveTransform()
, andDMPlexSetSaveTransform()
Add
DMPlexGetCoordinateMap()
andDMPlexSetCoordinateMap()
Rename
DMPlexComputeResidual_Internal()
toDMPlexComputeResidualForKey()
Rename
DMPlexComputeJacobian_Internal()
toDMPlexComputeJacobianByKey()
Rename
DMPlexComputeJacobian_Action_Internal()
toDMPlexComputeJacobianActionByKey()
Rename
DMPlexComputeResidual_Hybrid_Internal()
toDMPlexComputeResidualHybridByKey()
Rename
DMPlexComputeJacobian_Hybrid_Internal()
toDMPlexComputeJacobianHybridByKey()
Add
DMPlexInsertBounds()
Change argument order for
DMPlexComputeBdResidualSingle()
andDMPlexComputeBdJacobianSingle()
to match domain functionsAdd
DMPlexComputeBdResidualSingleByKey()
andDMPlexComputeBdJacobianSingleByLabel()
Add
localized
argument toDMPlexCreateCoordinateSpace()
Remove
coordFunc
argument fromDMPlexCreateCoordinateSpace()
Change
DMPlexExtrude()
to take a label argumentRename
DMPlexVecGetOrientedClosure_Internal()
toDMPlexVecGetOrientedClosure()
FE/FV:
Add
PetscFEExpandFaceQuadrature()
Change
PetscFEIntegrateJacobian()
signature to allow rectangular operators
DMNetwork:
DMStag:
DT:
Deprecate
PetscSimplePointFunc
in favor ofPetscSimplePointFn *
Deprecate
PetscPointFunc
in favor ofPetscPointFn *
Deprecate
PetscPointJac
in favor ofPetscPointJacFn *
Deprecate
PetscBdPointFunc
in favor ofPetscBdPointFn *
Deprecate
PetscBdPointJac
in favor ofPetscBdPointJacFn *
Deprecate
PetscRiemannFunc
in favor ofPetscRiemannFn *
Deprecate
PetscProbFunc
in favor ofPetscProbFn *
Fortran:
Add
PetscObjectNullify()
Require Fortran compiler to have
.true.=b00000001
and.false.=b00000000
forlogical(C_BOOL)
. Thus require the compiler flags-fpscomp logicals
for Intel and-Munixlogical
for NVIDIA compilersPetscBool is now a regular bool in C and
logical(C_BOOL)
in Fortran