Merge branch 'jolivet/update-htool' into 'main'General housekeepingSee merge request petsc/petsc!9037
PCHPDDM: clear -pc_hpddm_levels_1_st_share_sub_ksp if set to false
PC[BDDC|HPDDM]: switch to MatDenseScatter_Private()
PCHPDDM: forward ModifySubMatrices context
PCHPDDM: add missing prefixes in error messages
PCHPDDM: use strided PetscSF for single-pass communication
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 ...
PCHPDDM: fix -pc_hpddm_coarse_correction balanced
PCHPDDM: test MUMPS ICNTL(15) = 1 with a constant block size
PCHPDDM: remove wrong comment
PCHPDDM: use proper PetscOptions
PCHPDDM: add support for MAT_SCHUR_COMPLEMENT_AINV_BLOCK_DIAG
Rework MAT_SYMMETRIC and MAT_HERMITIAN options
Merge branch 'release'
PCHPDDM: check for dense rows in A_10Reported-by: Bahaâ Eddine Sidi Hida <bahaa-eddine.sidi-hida@edf.fr>
PCHPDDM: add safeguards for -pc_hpddm_has_neumann
Merge branch 'barry/2025-10-18/optimize-aij-ops' into 'main'Refactor handling of diagonal marking in *AIJ and SELL matricesSee merge request petsc/petsc!8797
- Replace MatMissingDiagonal() and MatMarkDiagonals_SeqXXX() with MatGetDiagonalMarkers_SeqXXX() - Mat_SeqXXX->diag is not automatically created during MatAssemblyEnd() saving memory and time
- Replace MatMissingDiagonal() and MatMarkDiagonals_SeqXXX() with MatGetDiagonalMarkers_SeqXXX() - Mat_SeqXXX->diag is not automatically created during MatAssemblyEnd() saving memory and time - Accessing Mat_SeqXXX->diag now requires the use of MatGetDiagonalMarkers_SeqXXX() except when the current values are known to be correct; for example during numerical factorizations and solves - Mat_SeqXXX->diag is now never shared among matrices; hence the free_diag flag is gone. That was always a risky proposition since any of the owning matrices could chang the values thus making them incorrect for other owners.
PCHPDDM: add support for MatProduct_AtB_Harmonic
PCHPDDM: check --with-debugging that -pc_hpddm_has_neumann is correctThanks-to: Eric Chamberland @eric.chamberland, Félix Kwok <felix.kwok@mat.ulaval.ca>
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 **
Deprecate MPIU_BOOL which used to be for PETSc' enum Bool but now is just MPI_C_BOOL so no longer needs its own name
PCHPDDM: follow-up of !8649
PCHPDDM: add PCMatApplyTranspose() implementationFunded-by: France 2030 NumPEx Exa-MA (ANR-22-EXNU-0002) project
12345678910