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 ...
Merge branch 'barry/2025-12-24/improve-snes-domain-error-handling' into 'main'Improve the propagation of function domain error handling in SNES, especially...See merge request petsc/petsc!8914
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
Replace -with-mpi-f90module-visibility with -with-mpi-f90module=mpi_f08Add PETSC_INT_KIND and PETSC_MPIINT_KINDReported-by: M.Weiland@epcc.ed.ac.uk
Fix terminology for Pmat in KSPView output.
use modules instead of externalthis allows for argument checking
place all the include statements at the topRepeated inclusion in multiple location, e.g. at the start of amodule or function is not needed. This becomes clear if all includes areoutside of the ac
place all the include statements at the topRepeated inclusion in multiple location, e.g. at the start of amodule or function is not needed. This becomes clear if all includes areoutside of the actual Fortran code.Added regex to check that with the help of @sbalay
checkbadSource: enforce proper style in makefiles
Have KSPView() indicate when there is no convergence test.Reported-by: Elana Moral Sanchez
Change use of void (*)(void) and void (**)(void) in the PETSc API to PetscVoidFn * and PetscVoidFn ** or PetscErrorCodeFn * or PetscErrorCodeFn **
Run fprettify
configure: fix capitalization of multiple packages and PETSc itself
Tao: Add names for TaoLineSearch types
Merge remote-tracking branch 'origin/release'
Remove use of preconditioning or preconditioner matrix when it should be phrased as matrix used to construct preconditioner
MatLMVM: Update test output
MatLMVM: Complete rework of internals to use LMBasis and LMProductsI don't think there is a good way to break this up into smaller commits: once Iuse LMBasis and LMProducts in Mat_LMVM, all of the
MatLMVM: Complete rework of internals to use LMBasis and LMProductsI don't think there is a good way to break this up into smaller commits: once Iuse LMBasis and LMProducts in Mat_LMVM, all of the implementations that depend onit are broken until they are changed to also use these new objects. It is probablybetter to review all of the MatLMVM implementations (except for denseqn) as new coderather than trying to review using a diff tool.This rework achieves:- Implementations of three classes of algorithms for limitd memory quasi-Newton updates - MAT_LMVM_MULT_RECURSIVE: Recursive, level 1 BLAS algorithms that closely match the typical way the methods are presented mathematically. - MAT_LMVM_MULT_DENSE: level 2 BLAS algorithms that, when possible, avoid any need for recomputation when the reference Jacobian J0 changes. - MAT_LMVM_MULT_COMPACT_DENSE: level 2 BLAS algorithms that construct rank-m (or rank-2m) update representations of the operators, for the best-performance on MatMult() and MatSolve(), but at the cost of additional setup, and requiring more recomputation when J0 changes than MAT_LMVM_MULT_DENSE- Every quasi-Newton method has a dual method (e.g. BFGS and DFP): we exploit this duality to use only one code path for a dual pair, reducing the numer of implementaitons to maintain- Special handling of the case J0 = gamma * I, avoiding products that are unnecessary in this case- Instead of including a MatLMVMDiagBrdn as the J0 matrix when J0 is variable (which means that both B and J0 of basis vectors to maintain), a SymBroydenRescale object is shared by MatLMVMDiagBrdn and other formats that use rescaling- Improved correctness of when internal products need to be recomputed: if the user externally changes J0, this will be detected
Fix wrong case for PETSc
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>
Improve some manual pages in KSP/SNES
Add PetscObjectHasFunction
12345678910>>...20