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 terminology for Pmat in KSPView output.
Change use of void (*)(void) and void (**)(void) in the PETSc API to PetscVoidFn * and PetscVoidFn ** or PetscErrorCodeFn * or PetscErrorCodeFn **
Tao: Add names for TaoLineSearch types
Add support for PETSC_DETERMINE to revert to defaults TS parameters
Remove multiple parentheses and extra semicolongit grep -l -E "\(\([a-zA-Z0-9_]+\)\(\*[a-zA-Z0-9_]+\)[, )]" | xargs sed -r -i'' 's#\(\(([a-zA-Z0-9_]+)\)\(\*([a-zA-Z0-9_]+)\)([, )])#\(\(\1\)\*\2\3#g
Remove multiple parentheses and extra semicolongit grep -l -E "\(\([a-zA-Z0-9_]+\)\(\*[a-zA-Z0-9_]+\)[, )]" | xargs sed -r -i'' 's#\(\(([a-zA-Z0-9_]+)\)\(\*([a-zA-Z0-9_]+)\)([, )])#\(\(\1\)\*\2\3#g'git grep -l -E "Petsc(.)*\(\(\*[a-zA-Z0-9_]*\)," | xargs sed -r -i'' 's#Petsc([a-zA-Z0-9_]*)\(\(\*([a-zA-Z0-9_]*)\), #Petsc\1(*\2, #g'git grep -l -E "([\!\&\~\*\(]|\)\)|\([^,\*\(]+\**\))\(([a-zA-Z0-9_]+((\.|->)[a-zA-Z0-9_]+|\[[a-zA-Z0-9_ \%\+\*\-]+\])+)\)" | xargs sed -r -i'' 's#([\!\&\~\*\(]|\)\)|\([^,\*\(]+\**\))\(([a-zA-Z0-9_]+((\.|->)[a-zA-Z0-9_]+|\[[a-zA-Z0-9_ \%\+\*\-]+\])+)\)#\1\2#g'
Fix double whitespace after colon
Change the use of the _Fn suffix to indicate a typedef of a function to just FnAs determined on a vote on GitLab
Convert TS typedef functions to new style ending with _FnCommit-type: housekeeping, maintainability
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
Add support for Mat to allow skipping preallocation by having the first round of MatSetValues use hash* MATPREALLOCATOR can be deprecated as well as possibly some other preallocation macros/routine
Add support for Mat to allow skipping preallocation by having the first round of MatSetValues use hash* MATPREALLOCATOR can be deprecated as well as possibly some other preallocation macros/routines* Optimizations such as direct support for MatSetValuesBlocked() for *BAIJ can be added in the futureCommit-type: feature/spend 25h
Make PetscErrorCode a non-discardable enum
View of Tao BNK should view the inner Tao solverSome fixes for Tao while trying to help a userCommit-type: bug-fix, featureReported-by: Stephan Köhler <stephan.koehler@math.tu-freiberg.de>
source code format changes due to .clang-format changes
clang-format: convert PETSc sources to comply with clang-format
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
Remove extra spaces and unwanted plurals
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;
12