Merge remote-tracking branch 'origin/release'
Improve some manual pages in KSP/SNES
SNESLineSearch: add bisection line searchAdd new bisection line search for SNES, which proves to be useful for highly non-linear problems. The line search assumes that F(X) = grad G(X) and seeks to
SNESLineSearch: add bisection line searchAdd new bisection line search for SNES, which proves to be useful for highly non-linear problems. The line search assumes that F(X) = grad G(X) and seeks to find the root in the directional derivative through bisection.(tested in snes/tutorials/ex99)
show more ...
Brain dead fixes for useless casts
Unifies all context destructors to have a form of PetscCtxDestroyFn == PetscErrorCode (*)(void **)Changes the previous subset of destructor APIs that used PetscErrorCode (*)(void *) (mostly those t
Unifies all context destructors to have a form of PetscCtxDestroyFn == PetscErrorCode (*)(void **)Changes the previous subset of destructor APIs that used PetscErrorCode (*)(void *) (mostly those thatused PetscContainer- Now allows any context to be a PetscObject- Will provide a cleaner mapping to bindings in other languages- Simplifies the maintenance of PETSc source code; improves clarityNot backward compatible, compiler warnings will tell users what functions need to be updated
CI: update checkclangformat to use clang-format-19.1.0
Remove unneeded parentheses
Docs: fix nonexisting functions and variables
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
This requires some changes to user FORTRAN codePass PETSC_NULL_XXX_ARRAY when passing a NULL as an argument that is expecting an arrayPass PETSC_NULL_ENUM when argument returns an enum instead of
This requires some changes to user FORTRAN codePass PETSC_NULL_XXX_ARRAY when passing a NULL as an argument that is expecting an arrayPass PETSC_NULL_ENUM when argument returns an enum instead of PETSC_NULL_INTEGERPass arrays (and not scalar values) when the argument is expecting an array; this means replace, for example, the argument v with [v]Use PetscObjectIsNull(obj) to check if the object is NULL, instead of obj == PETSC_NULL_XXXThe compiler will now automatically prevent you from using the wrong argument type for the first three bullets aboveThis will also require an update sowing with the new sowing branch this MR is using.
All constructors should do PetscAssertPointer on output objectReported-by: Blaise BourdinConstructors should not initialize the output to NULL upon entry, serves no purposeFix some formatting i
All constructors should do PetscAssertPointer on output objectReported-by: Blaise BourdinConstructors should not initialize the output to NULL upon entry, serves no purposeFix some formatting in constructors
Fix a few locations where SNESFunctionFN and SNESObjectiveFn were not used
Merge branch 'release'
Add to SNESLineSearch docs
Update source code removing all unneeded /*@C and associated manual stubs and interfaces
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'
checkbadSource: rules for PetscFunctionBegin and derivatives
Change the use of the _Fn suffix to indicate a typedef of a function to just FnAs determined on a vote on GitLab
Change PETSc sys typedef function names to use the new _Fn formatCommit-type: housekeeping, maintainance
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?
Use PetscTryTypeMethod when possible
LIBBASE is no longer used in make so remove it
Update references in the manual pages to use Sphinx citation processing
12345678910>>...16