Change PETSc sys typedef function names to use the new _Fn formatCommit-type: housekeeping, maintainance
Fix places where PetscUseTypeMethod() and related macros should be used.
add typedef for functions passed to SNESSetFunction() etc to match approach in TSI never liked Jed's use of typedef for function prototypes for a couple of reasons1) you don't see immediately tha
add typedef for functions passed to SNESSetFunction() etc to match approach in TSI never liked Jed's use of typedef for function prototypes for a couple of reasons1) you don't see immediately that the argument to the function is a function pointer instead of standard variable when looking at source2) you don't see at the exact location in the code the prototype of the function being passed inbut there is something to say for using these typedefs soI've prototyped the change for SNES but slightly differently than what Jed did for TS1) I append the typedef with _Ftn to mark that it is a function (helping to relieve the problem 1 above)2) I made the typedef to be for a function, not a function pointer so it can also be used directly for things likePETSC_EXTERN SNESJacobian_Ftn SNESComputeJacobianDefault;I think the TS usage could be switched to this style without user code breakage, and deprecate the current TS typedefThoughts?Just do SNES the same way as TS and live with less clarity?
show more ...
Merge remote-tracking branch 'origin/release'
SNESTestJacobian: fix for multilevel solvers
First batch of fixes
Fix the documented output type of SNESConvergedDefault.
LIBBASE is no longer used in make so remove it
Merge branch 'stefanozampini/minsurf-local' into 'main'Improve support for nonlinear domain decomposition solversSee merge request petsc/petsc!7084
Update references in the manual pages to use Sphinx citation processing
Fix -Wzero-as-null-pointer-constant errors
SNES: Add support to test finite differencing the objective function
SNESGetNPC: pass usercompute instead of application context if present
SNESComputeObjective: add missing <rhs,x_k> term
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.
Fix some manual pages focusing on SNES
Docs: fix wrong occurences of then instead of than
Fixes for use of Calling Sequence of ... in the manual page
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
12345678910>>...74