checkbadSource: enforce proper style in makefiles
PetscPartitioner: add multistage partitioner
Fortran 90: fully embrace After 34 years!- deprecate use of 'F90' in Fortran function names- use Fortran pointers when appropriate- the new Fortran API is not backward compatible with previous ve
Fortran 90: fully embrace After 34 years!- deprecate use of 'F90' in Fortran function names- use Fortran pointers when appropriate- the new Fortran API is not backward compatible with previous versions!- also clean up inconsistent PETSc code detected by new Fortran generation tools- drop use of bfort- automatically generate all the Fortran PETSc objects, enums etc from the include files- generate most of the Fortran interface definitions and functions from the source code- simplify the number and organization of Fortran modulesCo-authored-by: Jose E. Roman <jroman@dsic.upv.es>
show more ...
The use case of PetscOptionsGetViewer() has evolved to no longer be the get/restore modelHence the code needs to be refactoredIntroduce PetscCallNull() and PetscCallMPINull() to simplify PETSC_VI
The use case of PetscOptionsGetViewer() has evolved to no longer be the get/restore modelHence the code needs to be refactoredIntroduce PetscCallNull() and PetscCallMPINull() to simplify PETSC_VIEWER_XXXX_() routinesReported-by: James WrightThanks-to: Jeremy L Thompson
Update to sowing version that supports PetscViewer and PetscObjectRemove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowingAlso handles the passing of null
Update to sowing version that supports PetscViewer and PetscObjectRemove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowingAlso handles the passing of null objects correctly
Update source code removing all unneeded /*@C and associated manual stubs and interfaces
Partitioner: Support edge weights- They are simple integers in a Section- Appears to work with ParMetis
Docs: fix missing back ticks.
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'
LIBBASE is no longer used in make so remove it
Fix PetscOptionsGetViewer() so it works in a thread-safe wayWhen PetscOptionsGetViewer() returns, for example, PETSC_VIEWER_STDOUT_SELF the same object is sharedby all threads that call PetscOptio
Fix PetscOptionsGetViewer() so it works in a thread-safe wayWhen PetscOptionsGetViewer() returns, for example, PETSC_VIEWER_STDOUT_SELF the same object is sharedby all threads that call PetscOptionsGetViewer(). In the previous code PetscObjectReference() anddereference (via PetscViewerDestroy() where called on the viewer by multiple threads after the viewerwas accessed thus corrupting the object.This branch introduces a PetscOptionsRestoreViewer() that allows not doing the referencing and dereferencingon persistant viewers, thus removing the specific race condition above.Other possible solutions includeUse a lock on each PetscObjectReference/Dereference() just in case they are shared. Could be time consuming so onecould mark each object as either threadshared or independent and only do the locks on threadshared objects. This lowersthe cost but would require more extensive changes to PETSc infrastructure. And I do not know if this shared/not shared modelis what we need in the long run, though it might be.
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
Manual linter fixes: dm
Rename PetscValidPointer -> PetscAssertPointer
Deploy new PetscValidPointer, remove PetscValidXXXPointer
Lint apply: dm
HAVE_FORTRAN should be USE_FORTRAN_BINDINGS since it is about generating the Fortran bindings, not about if the Fortran compiler exists
Format the ftn-custom files with clang-format. Apparently no particular reason we did not format them initially
More manual page fixes
non-test and tutorial makefiles only need rules.doc not the full rulesCommit-type: documentation
Only makefiles in the test and tutorial directories need lib/petsc/conf/testCommit-type: housekeeping
Fix manual pages based on reports from Jacob's lint toolCommit-type: documentation
Remove now unneeded SOURCE* variables from makefilesCommit-type: configure, housekeeping
Remove empty preprocessor variables
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
123