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 system

  • Add PETSCPYTHONPATH to the generated $PETSC_DIR/$PETSC_ARCH/lib/pkgconfig/PETSc.pc file so it is available to users with PKG_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 the doc directory to be make docs

  • Change make docs to put all its artifacts in ${PETSC_ARCH}-doc instead of doc

  • Add support for --download-xxx, --with-xxx, and -with-xxx-dir for Python packages that install with pip. See packages.py

  • Change make alletags to make 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:

PetscDraw:

AO:

IS:

VecScatter / PetscSF:

PF:

Vec:

PetscSection:

PetscPartitioner:

Mat:

MatCoarsen:

PC:

KSP:

SNES:

SNESLineSearch:

  • Rename option snes_linesearch_maxstep to snes_linesearch_maxlambda to better coincide with its purpose in the various SNESLineSearches

  • Rename SNESLineSearchL2 to SNESLineSearchSecant (and hence its option entry snes_linesearch_type form l2 to secant) to better represent the underlying approach

TS:

  • Add TSSetRunSteps() and -ts_run_steps for better control of restarted jobs

  • Add -ts_monitor_solution_skip_initial to skip first call to the solution monitor

  • Add -ts_monitor_wall_clock_time to display the elapsed wall-clock time for every step

  • Change TSDiscGradIsGonzalez(), TSDiscGradUseGonzalez() to TSDiscGradSetType(),TSDiscGradGetType()

TAO:

PetscRegressor:

DM/DA:

DMSwarm:

DMPlex:

FE/FV:

DMNetwork:

DMStag:

DT:

Fortran:

  • Add PetscObjectNullify()

  • Require Fortran compiler to have .true.=b00000001 and .false.=b00000000 for logical(C_BOOL). Thus require the compiler flags -fpscomp logicals for Intel and -Munixlogical for NVIDIA compilers

  • PetscBool is now a regular bool in C and logical(C_BOOL) in Fortran