Make PetscErrorCode a non-discardable enum
Fix manual pages in a variety of parts of src/dmStill many other parts of DM need to have their manual pages updatedCommit-type: housekeeping/spend 4h
source code format changes due to .clang-format changes
Remove parent, parentid, flops, time, mem, and memchildren. Deprecate PetscLogObjectParent(), PetscLogObjectMemory(), and PetscNewLog()
clang-format: convert PETSc sources to comply with clang-format
Cleanup and unify naming of PetscCall routinesCommit-type: housekeeping/spend 10m
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 ...
Merge branch 'barry/2022-05-03/cleanup-makefiles' into 'main'remove unneeded stuff from makefilesSee merge request petsc/petsc!5211
remove garbage from makefilesIncluding * unused FLAGS variables * All: lib that did not work * stray blank lines etcCommit-type: housekeeping/spend 1h
Plex: Hybrid geometry should only come from one side
Docs: bulk add backticks to .seealso man page fields```pythonimport osimport reimport fileinputdef _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (wor
Docs: bulk add backticks to .seealso man page fields```pythonimport osimport reimport fileinputdef _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (word.rstrip(","), comma)def _process_stripped_line(line): return " ".join(map(_process_word, line.split()))start_pattern = re.compile(r"^( *\.seealso:? )(.*$)")def process_file(filename_full): with fileinput.FileInput(filename_full, inplace=True) as f: in_block = False for line in f: line_stripped = line.strip() # end ".seealso blocks" on a blank line or C-style comment close line_modified = None if not line_stripped: in_block = False elif line_stripped.endswith("*/"): in_block = False else: match = re.match(start_pattern, line) # not stripped line if match: indent = " " * len(match.group(1)) in_block = True line_modified = match.group( 1) + _process_stripped_line( match.group(2).strip()) elif in_block: line_modified = indent + _process_stripped_line( line_stripped) if line_modified: print(line_modified) # prints to the file else: print(line, end="") # prints to the fileBASE_DIRS = ["src", "include"]EXT = [".c", ".cxx", ".cpp", ".cu", ".h", ".hpp", ".hxx"]EXCLUDE_DIRS = ["tests", "tutorials", "ftn-auto", "ftn-custom", "benchmarks"]def main(): """ Process everything """ for base in BASE_DIRS: for root, dirs, files in os.walk(base): for filename in files: if os.path.splitext(filename)[1] in EXT: filename_full = os.path.join(root, filename) print("FILE ---", filename_full) process_file(filename_full) for exclude_dir in EXCLUDE_DIRS: if exclude_dir in dirs: dirs.remove(exclude_dir)if __name__ == "__main__": main()```
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()
pluck ~1000 low hanging PetscCheckFalse() -> PetscCheck() fruit
chkerr and friends wrapped
DM+FE+DT: Added correct geometry and quadrature for triangular prism- Added affine geometry for triangular prism- Added PetscDTTensorQuadratureCreate()- Added PetscFECreateByCell()- Added PetscFE
DM+FE+DT: Added correct geometry and quadrature for triangular prism- Added affine geometry for triangular prism- Added PetscDTTensorQuadratureCreate()- Added PetscFECreateByCell()- Added PetscFECreateLagrangeByCell()- Added DMCreateFEDefault()- Now DMField uses PetscFECreateLagrange()- Refactored FE creation- If the degree is prescribed on a prism, do not create a tensor space- Use new interface in DMField_DS- Fix default creation when number of components is changed by command line
rename PetscAssert() -> PetscCheck() and PetscAssertDebug() -> PetscAssert()
add PetscAssert() and PetscAssertFalse()
SETERRQ[1-9]+ begone
Merge branch 'jacobf/2021-12-09/attribute-format-mat' into 'main'Feature: Attribute Format - MatSee merge request petsc/petsc!4634
FE+DS: Now hybrid integration uses side 2 for fault operations- Added cohesive offsets of PetscDS- Fixed offsets and handling of dimension
DM+FE: Allow multiple cohesive fields- Changed name from "hybrid" cell to "cohesive" cell- Fixed check for cohesive field in PetscFE and DM- Fixed DMCreateDS() for new scheme- Added PetscDSIsCohe
DM+FE: Allow multiple cohesive fields- Changed name from "hybrid" cell to "cohesive" cell- Fixed check for cohesive field in PetscFE and DM- Fixed DMCreateDS() for new scheme- Added PetscDSIsCohesive() and PetscDSGetNumCohesive()- Replaced PetscDSGetHybrid() with PetscDSGetCohesive() andPetscDSSetHybrid() with PetscDSSetCohesive()- Added PetscDSGetFieldOffsetCohesive()- Fixed hybrid Jacobian integration - Hybrid Jacobian integration needs to know the side of the interface, just like residual integration - Needs to use cohesive field offsets - Update takes the side as an argument
remove trailing newline from SETERRQ
FE: PetscFEIntegrateHybridResidual() needs to know the side of the face it is integrating- Fixed wrong init for hybrid elem vec- We no longer give data for both sides in one kernel
12345