Add automatic generated fortran support for setting and returning contextsMajor cleanup of the code for setting and returning application (previously called user) contexts - PetscCtx ctx is now t
Add automatic generated fortran support for setting and returning contextsMajor cleanup of the code for setting and returning application (previously called user) contexts - PetscCtx ctx is now the standard for passing in contexts - PetscCtxRt ctx is the standard for passing out contexts, including context destroy routines based on PetscCtxDestroyFnBoth of these are typedef to void*Also removed most use of user and userctx for context arguments now consistently named ctxImproved documentation on PetscCtx and PetscCtxRt and on how to use contexts (including getting them) from Fortran
show more ...
Fix bad decisions made in writing TS. Fix -ts_dt to -ts_time_step and add initial time step to TSView outputcommit a5a92c11fa9681148df375b257eda4e09909b74eAuthor: Barry Smith <bsmith@petsc.de
Fix bad decisions made in writing TS. Fix -ts_dt to -ts_time_step and add initial time step to TSView outputcommit a5a92c11fa9681148df375b257eda4e09909b74eAuthor: Barry Smith <bsmith@petsc.dev>Date: Mon Dec 1 14:51:27 2025 -0500 add max_snes_failures to TSViewcommit 32d3e79f6fa743930b1bbf32d03b9181b5b5418aAuthor: Barry Smith <bsmith@petsc.dev>Fix wrongly named options and add to TSViewWrong name for options database key -ts_max_reject should be -ts_max_step_rejections!Add max_reject value to TSViewAdd max_snes_failures to TSViewAdd initial timestep to TSView
Minor fixes
Fix "Extra spaces in test harness rules" in checkbadSource
Remove MANSEC from makefiles it is not needed in, tutorials and tests
Remove need for seperate lib/petsc/conf/test file by merging with rules fileCommit-type: maintainability
Remove empty preprocessor variables
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
Make PetscErrorCode a non-discardable enum
source code format changes due to .clang-format changes
Remove braces from one-liners w/o PetscCall()
clang-format: convert PETSc sources to comply with clang-format
Fix comments that have no space after /*
Add PetscFunctionBeginUser to all PETSc C/C++ examplesNow the stack frames will contain the main program and the correct line numbers in themgit ls-files | egrep "(tutorials|tests)" | xargs sed -
Add PetscFunctionBeginUser to all PETSc C/C++ examplesNow the stack frames will contain the main program and the correct line numbers in themgit ls-files | egrep "(tutorials|tests)" | xargs sed -i "s?\(PetscCall(PetscInitialize(&argc\)?PetscFunctionBeginUser;\n \1?g"Commit-type: error-checking, testing-fix/spend 15m
Get values of makefile SOURCE etc from the file system instead of makefilesUse SUBMANSEC from include files for manual sections instead of the makefileUnfortunately this has to be one large commi
Get values of makefile SOURCE etc from the file system instead of makefilesUse SUBMANSEC from include files for manual sections instead of the makefileUnfortunately this has to be one large commit since the changes all have to be done at onceCommit-type: docs/spend 10m
remove garbage from makefilesIncluding * unused FLAGS variables * All: lib that did not work * stray blank lines etcCommit-type: housekeeping/spend 1h
Enable PETSC_ATTRIBUTE_FORMAT()
Cleanup of introduction of PetscCall()* remove bogus error flags from XXXBegin()/End() macros such as PetscOptionsBegin()/End()* rename for consistency certain XXXBegin()/End() macros such as Mat
Cleanup of introduction of PetscCall()* remove bogus error flags from XXXBegin()/End() macros such as PetscOptionsBegin()/End()* rename for consistency certain XXXBegin()/End() macros such as MatPreallocateInitialize()/Finalize()* fix many lingering ierr = XXX that arose from multiline function calls* sync slepc/hpddm - to use snapshots with the same changesCommit-type: error-checking, style-fix/spend 8h
Docs: remove "Concepts:" and related comments in /*T .. T*/ blocksRemove all \*T ... comment blocks with e.g. cd src && find . -type f -exec sed -i '/^[! ] *\/\*T$/,/^[! ]*T\*\/$/d' {} \;Clea
Docs: remove "Concepts:" and related comments in /*T .. T*/ blocksRemove all \*T ... comment blocks with e.g. cd src && find . -type f -exec sed -i '/^[! ] *\/\*T$/,/^[! ]*T\*\/$/d' {} \;Clean up resulting double blank lines with e.g. cd src && find . type f \( -name "*.c" -o -name "*.cxx" -o -name "*.F" -o -name "*.F90" \) -exec sh -c "cat -s {} > tmp && mv tmp {}" \;Manually revert those changes from the vendored code (src/sys/yaml)Manually restore a few comments from these blocks.Manually remove "Concepts:" and "Processors:" comments from fileswhich have these outside of "\*T" blocks automatically deleted above.
The great renaming:- CHKERRQ() -> PetscCall()- CHKERRV() -> PetscCallVoid()- CHKERRMPI() -> PetscCallMPI()- CHKERRABORT() -> PetscCallAbort()- CHKERRCONTINUE() -> PetscCallContinue()- CHKERRXX
The great renaming:- CHKERRQ() -> PetscCall()- CHKERRV() -> PetscCallVoid()- CHKERRMPI() -> PetscCallMPI()- CHKERRABORT() -> PetscCallAbort()- CHKERRCONTINUE() -> PetscCallContinue()- CHKERRXX() -> PetscCallThrow()- CHKERRCXX() -> PetscCallCXX()- CHKERRCUDA() -> PetscCallCUDA()- CHKERRCUBLAS() -> PetscCallCUBLAS()- CHKERRCUSPARSE() -> PetscCallCUSPARSE()- CHKERRCUSOLVER() -> PetscCallCUSOLVER()- CHKERRCUFFT() -> PetscCallCUFFT()- CHKERRCURAND() -> PetscCallCURAND()- CHKERRHIP() -> PetscCallHIP()- CHKERRHIPBLAS() -> PetscCallHIPBLAS()- CHKERRHIPSOLVER() -> PetscCallHIPSOLVER()- CHKERRQ_CEED() -> PetscCallCEED()- CHKERR_FORTRAN_VOID_FUNCTION() -> PetscCallFortranVoidFunction()- CHKERRMKL() -> PetscCallMKL()- CHKERRMMG() -> PetscCallMMG()- CHKERRMMG_NONSTANDARD() -> PetscCallMMG_NONSTANDARD()- CHKERRCGNS() -> PetscCallCGNS()- CHKERRPTSCOTCH() -> PetscCallPTSCOTCH()- CHKERRSTR() -> PetscCallSTR()- CHKERRTC() -> PetscCallTC()
PetscInitialize() and PetscFinalize() wrapped:- ierr = PetscInitialize();if (ierr) return ierr;+ CHKERRQ(PetscInitialize());- ierr = PetscFinalize();- return ierr;+ CHKERRQ(PetscFinalize());+
PetscInitialize() and PetscFinalize() wrapped:- ierr = PetscInitialize();if (ierr) return ierr;+ CHKERRQ(PetscInitialize());- ierr = PetscFinalize();- return ierr;+ CHKERRQ(PetscFinalize());+ return 0;
chkerr and friends wrapped
Some missing CHKERR[Q|MPI]
Remove all double blank lines from sourceCommit-type: petsc-style/2h
Turn on checkbadSource test to generate an error when found; fix all source code that causes errorsCommit-type: portability-fix, testing-fix, style-fix, feature, maintainability/spend 1.5h
12