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 remote-tracking branch 'origin/release'
MatConjugate(): should not conjugate if both Hermitian and symmetric
Merge branch 'release'
Set MAT_NO_OFF_PROC_ENTRIES when appropriate to avoid MPI_Allreduce()
MATAIJ: fix inconsistent bs when using MatSetBlockSizesFromMats()
MatDiagonalScale(): consolidate test of input Vecs
Rework MAT_SYMMETRIC and MAT_HERMITIAN options
Merge branch 'stefanozampini/fix-firedrake' into 'release'MatCreateSubMatrix_Nest: need to increase the state of the objectSee merge request petsc/petsc!8860
MatCreateSubMatrix_Nest: need to increase the state of the object
- 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.
Minor fixes
Updates to manual pages related to MatProductCreate()Not for release
Change names of Mat_XXX product contexts to MatProductCtx_XXX for code maintainabilityUpdate destroy callback of all MatProductCtx and MatShellSetMatProductOperation() to use PetscCtxDestroyFn
Tiny improvements to MatSOR manual page
Enable ScaLAPACK and MUMPS for other precisions
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 **
Mat: fix MatSelectVariableBlockSizeAdd tests with SNES ex5make it a public method
Fix major bug in the Fortran stub for MatSeqAIJGetArray().Reported-by: Steven Dargaville
MatZeroRows{Columns}Local: can map to negative indices
MatGetLocalSubMatrix: local submatrix is assembled if global is
12345678910>>...111