Change if () { PetscCall() } three liner and friends to one linersfor i in `git ls-files | grep "\.[ch]$"` ; do sed 's?\$?ZZZ?g' $i | tr '\n' '$' | sed 's?\([ ]*\)if (\([-;,.\*+=a-z0-9A-Z_>]*\)) {\
Change if () { PetscCall() } three liner and friends to one linersfor i in `git ls-files | grep "\.[ch]$"` ; do sed 's?\$?ZZZ?g' $i | tr '\n' '$' | sed 's?\([ ]*\)if (\([-;,.\*+=a-z0-9A-Z_>]*\)) {\$[ ]*PetscCall(\([- ._+=a-z0-9A-Z>*,()]*);\)\$[ ]*}\$?\1if (\2) PetscCall(\3$?g' | tr '$' '\n' | sed 's?ZZZ?$?g' > $i.joe ; mv $i.joe $i ; done for i in `git ls-files | grep "\.[hc]$"` ; do sed 's?\$?ZZZ?g' $i | tr '\n' '$' | sed 's?\([ }else]*\)if (\([-;,.\*+=a-z0-9A-Z_>]*\)) {\$[ ]*PetscCall(\([- ._+=a-z0-9A-Z>*,()]*);\)\$\([ ]*\)} \([- ._+=a-z0-9A-Z>*,()]*);\)\$?\1if (\2) PetscCall(\3$\4\5$?g' | tr '$' '\n' | sed 's?ZZZ?$?g' > $i.joe ; mv $i.joe $i ; doneYes, really ugly but Barry still cannot master awkCommit-type: housekeeping
show more ...
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makef
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makefile?petsckdir.mk?g'` ; cp $i tmp echo "-include $str" > $i cat tmp >> $idoneCommit-type: makefile, housekeeping/spend 15m
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()
Remove some PetscCheckFalse()
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()
chkerr and friends wrapped
rename PetscAssert() -> PetscCheck() and PetscAssertDebug() -> PetscAssert()
add PetscAssert() and PetscAssertFalse()
SETERRQ[1-9]+ begone
Style: replace "!rank" with "rank == 0"In SF tutorial ex1 (src/vec/is/sf/tutorials/ex1.c), add parentheses around "rank == 0". This is relevant because ! binds more tightly than +, but == binds les
Style: replace "!rank" with "rank == 0"In SF tutorial ex1 (src/vec/is/sf/tutorials/ex1.c), add parentheses around "rank == 0". This is relevant because ! binds more tightly than +, but == binds lesstightly, so the result of the computation would otherwise change.
Plex: Separated EGADS and EGadsLite functionality, many fixes- Added DMPlexCreateEGADSLiteFromFile()- Added DMPlexInflateToGeomModel()- Added test CAD meshes- Fixed bug in CTetGen labeling- Fixe
Plex: Separated EGADS and EGadsLite functionality, many fixes- Added DMPlexCreateEGADSLiteFromFile()- Added DMPlexInflateToGeomModel()- Added test CAD meshes- Fixed bug in CTetGen labeling- Fixed memory leak in TetGen- Added support for -dm_plex_view_labels in ASCII viewer- Added -dm_plex_ignore_model to disable snap-to-CAD for refinement
Plex: Now meshes can be created automatically from the command line, and some more fixes- Changed internal mesh creation functions to operate on a DM instead ofcreating a new one so that they can h
Plex: Now meshes can be created automatically from the command line, and some more fixes- Changed internal mesh creation functions to operate on a DM instead ofcreating a new one so that they can happen with options- Fixed coordinates in CreateCubeBoundary_Internal()- Added DMPlexShape for prebuilt meshes- Added DMPlexIsSimplex()- Added DMPlexCreateCoordinateSpace()- DMPlexDistributeCoordinates() should copy the coordinatediscretization- DMPlexInterpolateFaces_Internal() should be careful to preserve thelower bound when resetting the chart- PetscSectionSetChart() should ignore entries that match the currentones- Added DMPolytopeTypeSimpleShape()- Do not require an EGADS model for TetGen- Detail ASCII viewer shows all labels- Default viewer shows periodicity
Convert MPI error type to PETSc error with string message for all MPI callsNow PETSc examples will ONLY return PETSc error codes and never MPI error codes directly so we can understand and post-pro
Convert MPI error type to PETSc error with string message for all MPI callsNow PETSc examples will ONLY return PETSc error codes and never MPI error codes directly so we can understand and post-process their errors better.The test harness will now automatically retry tests that fail with MPI, this may help with Intel MPI that produces seemingly random failures.Commit-type: error-checking/spend 30m
DM: Added universal label - A universal label encodes the markers for a set of labels - We need this when using systems like TetGen that only take a single label - Added tests in Plex ex11
configure tetgen: Improve/fix TETLIBRARY macro handling.* define TETLIBRARY in tetgenerate.cxx - only if detected as not yet defined during configure* no manipulation of header file needed* sup
configure tetgen: Improve/fix TETLIBRARY macro handling.* define TETLIBRARY in tetgenerate.cxx - only if detected as not yet defined during configure* no manipulation of header file needed* support preinstalled tetgen with original header file - with #define TETLIBRARY commented out - e.g. conda install tetgen
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
Add DMPlexCreateFromCellList[Parallel]Petsc and marked previous namesake asdeprecated. New function accpets only petsc datatypes, old function performs types conversions within. Affects tetgen, ctet
Add DMPlexCreateFromCellList[Parallel]Petsc and marked previous namesake asdeprecated. New function accpets only petsc datatypes, old function performs types conversions within. Affects tetgen, ctetgen, and any createfromcelllist[parallel] interfaces.
DMPlex: Fixed cell reordering and namespaced cell type names - Namespaced DMPlexCellRefinerType enum items - Added DMPlexReorderCell() and refactored DMPlexInvertCell() - Update Gmsh reader to han
DMPlex: Fixed cell reordering and namespaced cell type names - Namespaced DMPlexCellRefinerType enum items - Added DMPlexReorderCell() and refactored DMPlexInvertCell() - Update Gmsh reader to handle tet+tri-prism meshes
doc: fix LOCDIR in makefiles
Converting DMPlex grid generators and refiners to registration processCommit-type: featureTime: 6 hours
12