Home
last modified time | relevance | path

Searched refs:schur (Results 1 – 19 of 19) sorted by relevance

/petsc/src/mat/impls/aij/seq/mkl_pardiso/
H A Dmkl_pardiso.c91 PetscScalar *schur; member
305 PetscCall(MatDestroy(&F->schur)); in MatFactorSetSchurIS_MKL_PARDISO()
306 PetscCall(MatCreateSeqDense(PETSC_COMM_SELF, size, size, NULL, &F->schur)); in MatFactorSetSchurIS_MKL_PARDISO()
307 PetscCall(MatDenseGetArrayRead(F->schur, &arr)); in MatFactorSetSchurIS_MKL_PARDISO()
308 mpardiso->schur = (PetscScalar *)arr; in MatFactorSetSchurIS_MKL_PARDISO()
310 PetscCall(MatDenseRestoreArrayRead(F->schur, &arr)); in MatFactorSetSchurIS_MKL_PARDISO()
311 if (mpardiso->mtype == 2) PetscCall(MatSetOption(F->schur, MAT_SPD, PETSC_TRUE)); in MatFactorSetSchurIS_MKL_PARDISO()
353 …rSchur_Private(Mat_MKL_PARDISO *mpardiso, PetscScalar *whole, PetscScalar *schur, PetscBool reduce) in MatMKLPardisoScatterSchur_Private() argument
360 for (j = 0; j < mpardiso->schur_size; j++) schur[p + j] = whole[m + mpardiso->schur_idxs[j]]; in MatMKLPardisoScatterSchur_Private()
368 for (j = 0; j < mpardiso->schur_size; j++) whole[m + mpardiso->schur_idxs[j]] = schur[p + j]; in MatMKLPardisoScatterSchur_Private()
[all …]
/petsc/src/snes/tutorials/output/
H A Dex19_parms.out51 amount of fill-in for schur: 20
54 drop tolerance for schur complement at each level: 0.001
55 drop tolerance for ILUT in last level schur complement: 0.001
H A Dex19_parms_alt.out52 amount of fill-in for schur: 20
55 drop tolerance for schur complement at each level: 0.001
56 drop tolerance for ILUT in last level schur complement: 0.001
H A Dex19_parms_alt_2.out50 amount of fill-in for schur: 20
53 drop tolerance for schur complement at each level: 0.001
54 drop tolerance for ILUT in last level schur complement: 0.001
/petsc/src/mat/tests/output/
H A Dex192_mumps_3.out1 Solving with mumps: nrhs 2, sym 1, herm 1, size schur 5, size mat 12
H A Dex192_mkl_pardiso.out1 Solving with mkl_pardiso: nrhs 2, sym 0, herm 0, size schur 5, size mat 12
H A Dex192_mumps.out1 Solving with mumps: nrhs 2, sym 0, herm 0, size schur 5, size mat 12
H A Dex192_mkl_pardiso_1.out1 Solving with mkl_pardiso: nrhs 2, sym 1, herm 0, size schur 5, size mat 12
H A Dex192_mumps_2.out1 Solving with mumps: nrhs 2, sym 1, herm 0, size schur 5, size mat 12
H A Dex192_mkl_pardiso_3.out1 Solving with mkl_pardiso: nrhs 2, sym 1, herm 1, size schur 5, size mat 12
/petsc/src/ksp/pc/impls/fieldsplit/
H A Dfieldsplit.c52 …Mat schur; /* The Schur complement S = A11 - A10 A00^{-1} A01, the KSP … member
95 return jac->schur; in FieldSplitSchurPre()
189 if (jac->schur) { in PCView_FieldSplit_Schur()
190 PetscCall(MatSchurComplementGetAinvType(jac->schur, &atype)); in PCView_FieldSplit_Schur()
859 if (jac->schur) { in PCSetUp_FieldSplit()
869 PetscCall(MatSchurComplementGetKSP(jac->schur, &kspInner)); in PCSetUp_FieldSplit()
879 …PetscCall(MatSchurComplementUpdateSubMatrices(jac->schur, jac->mat[0], jac->pmat[0], jac->B, jac->… in PCSetUp_FieldSplit()
882 PetscCall(MatSchurComplementGetPmat(jac->schur, MAT_INITIAL_MATRIX, &jac->schurp)); in PCSetUp_FieldSplit()
885 PetscCall(MatSchurComplementComputeExplicitOperator(jac->schur, &jac->schur_user)); in PCSetUp_FieldSplit()
889 PetscCall(KSPSetOperators(jac->kspschur, jac->schur, FieldSplitSchurPre(jac))); in PCSetUp_FieldSplit()
[all …]
/petsc/src/snes/impls/multiblock/
H A Dmultiblock.c289 if (jac->schur) { in SNESSetUp_Multiblock()
298 …PetscCall(MatSchurComplementUpdateSubMatrices(jac->schur,jac->mat[0],jac->pmat[0],jac->B,jac->C,ja… in SNESSetUp_Multiblock()
299 PetscCall(KSPSetOperators(jac->kspschur,jac->schur,FieldSplitSchurPre(jac),pc->flag)); in SNESSetUp_Multiblock()
315 …etscCall(MatCreateSchurComplement(jac->mat[0],jac->pmat[0],jac->B,jac->C,jac->mat[1],&jac->schur)); in SNESSetUp_Multiblock()
317 PetscCall(MatSchurComplementGetKSP(jac->schur,&ksp)); in SNESSetUp_Multiblock()
321 PetscCall(MatSetFromOptions(jac->schur)); in SNESSetUp_Multiblock()
325 PetscCall(KSPSetOperators(jac->kspschur,jac->schur,FieldSplitSchurPre(jac))); in SNESSetUp_Multiblock()
/petsc/src/ksp/ksp/utils/schurm/
H A Dschurm.c741 Mat_SchurComplement *schur; in MatSchurComplementSetAinvType() local
748 schur = (Mat_SchurComplement *)S->data; in MatSchurComplementSetAinvType()
750 schur->ainvtype = ainvtype; in MatSchurComplementSetAinvType()
773 Mat_SchurComplement *schur; in MatSchurComplementGetAinvType() local
779 schur = (Mat_SchurComplement *)S->data; in MatSchurComplementGetAinvType()
780 if (ainvtype) *ainvtype = schur->ainvtype; in MatSchurComplementGetAinvType()
887 Mat_SchurComplement *schur = (Mat_SchurComplement *)S->data; in MatSchurComplementGetPmat_Basic() local
894 …if (schur->ainvtype != MAT_SCHUR_COMPLEMENT_AINV_FULL) PetscCall(MatCreateSchurComplementPmat(A, B… in MatSchurComplementGetPmat_Basic()
/petsc/src/mat/impls/aij/mpi/mumps/
H A Dmumps.c170 void *schur; // MumpsScalar member
227 PetscCall(PetscFree(inner->schur)); \
458 inner->schur = (mumpsscalar *)outer->schur; \
2519 if (F->schur) { in MatFactorNumeric_MUMPS()
2522 PetscCall(MatDenseGetArrayRead(F->schur, &array)); in MatFactorNumeric_MUMPS()
2523 …ray(PETSC_FALSE, size * size, array, mumps->id.precision, &mumps->id.schur_len, &mumps->id.schur)); in MatFactorNumeric_MUMPS()
2524 PetscCall(MatDenseRestoreArrayRead(F->schur, &array)); in MatFactorNumeric_MUMPS()
2550 if (F->schur) { /* reset Schur status to unfactored */ in MatFactorNumeric_MUMPS()
2552 F->schur->offloadmask = PETSC_OFFLOAD_CPU; in MatFactorNumeric_MUMPS()
2555 PetscCall(MatDenseGetArray(F->schur, &array)); in MatFactorNumeric_MUMPS()
[all …]
/petsc/src/mat/interface/
H A Dmatrix.c1473 PetscCall(MatDestroy(&(*A)->schur)); in MatDestroy()
9747 PetscCall(MatDestroy(&mat->schur)); in MatFactorSetSchurIS()
9749 …PetscCheck(mat->schur, PetscObjectComm((PetscObject)mat), PETSC_ERR_PLIB, "Schur complement has no… in MatFactorSetSchurIS()
9797 PetscCall(MatDuplicate(F->schur, MAT_COPY_VALUES, S)); in MatFactorCreateSchurComplement()
9839 *S = F->schur; in MatFactorGetSchurComplement()
9850 Mat S = F->schur; in MatFactorUpdateSchurStatus_Private()
9934 PetscCall(MatSolveTranspose(F->schur, rhs, sol)); in MatFactorSolveSchurComplementTranspose()
9937 PetscCall(MatMultTranspose(F->schur, rhs, sol)); in MatFactorSolveSchurComplementTranspose()
9978 PetscCall(MatSolve(F->schur, rhs, sol)); in MatFactorSolveSchurComplement()
9981 PetscCall(MatMult(F->schur, rhs, sol)); in MatFactorSolveSchurComplement()
[all …]
/petsc/doc/manual/
H A Dksp.md2032 …- `-pc_fieldsplit_type` \<additive|multiplicative|symmetric_multiplicative|schur|gkb:multiplicativ…
2034 …to apply but provides the worst convergence. `schur` requires either a good preconditioner for the…
2042 `schur`
2284 The preconditioner is accessed with `-pc_fieldsplit_type` `schur` and is
2369 complement with `-pc_fieldsplit_type schur -fieldsplit_1_pc_type lsc`.
/petsc/include/petsc/private/
H A Dmatimpl.h496 Mat schur; /* Schur complement matrix */ member
/petsc/src/ksp/pc/impls/hpddm/
H A Dpchpddm.cxx1610 if (A->schur) { in PCApply_Nest()
/petsc/doc/faq/
H A Dindex.md1567 -pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_detect_saddle_point