Merge remote-tracking branch 'origin/release'
Fix MPI_Comm_rank/size API mixups in helpers (#1865,#1866)
Merge branch 'zach/tao-monitor-modernization' into 'main'Modernize TAO monitoring to resemble TS and friendsSee merge request petsc/petsc!9029
Remove the last of the use of horizontal lines --- as seperators. With modern code development systems they are not needed and just an eye-sore
Tao - Update monitor functions to work like TS
Add automatic generated fortran support for setting and returning contextsMajor cleanup of the code for setting and returning application (previously called user) contexts - PetscCtx ctx is now t
Add automatic generated fortran support for setting and returning contextsMajor cleanup of the code for setting and returning application (previously called user) contexts - PetscCtx ctx is now the standard for passing in contexts - PetscCtxRt ctx is the standard for passing out contexts, including context destroy routines based on PetscCtxDestroyFnBoth of these are typedef to void*Also removed most use of user and userctx for context arguments now consistently named ctxImproved documentation on PetscCtx and PetscCtxRt and on how to use contexts (including getting them) from Fortran
show more ...
Improve the propagation of function domain error handling in SNES, especially in the line search routines.Due to the object layering of SNESLineSearch under SNES there is some code duplication incl
Improve the propagation of function domain error handling in SNES, especially in the line search routines.Due to the object layering of SNESLineSearch under SNES there is some code duplication include both SNESLineSearchReason and SNESConvergedReason and SNESCheckFunctionNorm() and SNESLineSearchCheckFunctionNorm() and Jacobian friendsReported-by: david.knezevic@akselos.com
Proper capitalization from Gram-Schmidt orthogonalization
Housekeeping
Tao: Reduce numit of tomography tests to reduce overall test time
checkbadSource: enforce proper style in makefiles
Introduce PetscFortranCallbackFn to be used instead of PetscVoidFn for Fortran callback functionsAlso fix incorrect use of SNESFunctionFn and SNESJacobianFn in SNES Fortran manual stub
Change use of void (*)(void) and void (**)(void) in the PETSc API to PetscVoidFn * and PetscVoidFn ** or PetscErrorCodeFn * or PetscErrorCodeFn **
Remove unnecessary braces around one-linersgit grep -lE "[ ]*(if|for|while) \(.*\) {[^;]*;[^;]*}$" -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | xargs sed -i '' -E 's#([ ]*)(if|for|while) \((.*)\
Remove unnecessary braces around one-linersgit grep -lE "[ ]*(if|for|while) \(.*\) {[^;]*;[^;]*}$" -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | xargs sed -i '' -E 's#([ ]*)(if|for|while) \((.*)\) {([^;]*);([^;]*)}$#\1\2 \(\3\)\4;\5#'
Merge branch 'barry/2025-05-18/mv-pcsetpresolve-to-pcsetpostprocesssetup' into 'main'Refactor PCSetPreSolve as PCSetPostSetUpSee merge request petsc/petsc!8419
MatMumpsSetIcntl() and MatMumpsSetCntl() are allowed to be called (and ignored) if MUMPS is not installed.
Refactor PCSetPreSolve as PCSetPostSetUpPCSetPreSolve is clunky and confusing since it mixes with the unrelated ->ops->presolve functionality. So instead introduce PCSetPostSetUp() that gets called
Refactor PCSetPreSolve as PCSetPostSetUpPCSetPreSolve is clunky and confusing since it mixes with the unrelated ->ops->presolve functionality. So instead introduce PCSetPostSetUp() that gets called at the end of PCSetUp() and can be used with TAOPDIPM
TAO_ALMM_CLASSIC bug fix for un-bounded case.Bounds on slack variable was not being setwhen the master problem had no bound constraint.
Merge branch 'fix_1671' into 'release'Fix `ALMM` Lagrangian derivativeSee merge request petsc/petsc!8355
Fix typos
Fix pmin -> pmax typos
Fix factor in ALMM Lagrangian derivative
Fix: ALMM PHR case for no equality constraint and no violated inequality constraint
Minor cleanup of Fortran binding stuff to simplify future maintainanceThere is no distinction between F90 and non-F90 code so combine ftn-custom and f90-custom directories and fortranimpl.h and f90
Minor cleanup of Fortran binding stuff to simplify future maintainanceThere is no distinction between F90 and non-F90 code so combine ftn-custom and f90-custom directories and fortranimpl.h and f90impl.h files. Also move uses of f90 to ftn when simple
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>
12345678910>>...12