Home
last modified time | relevance | path

Searched refs:subksp (Results 1 – 20 of 20) sorted by relevance

/petsc/src/ksp/ksp/tutorials/
H A Dex7.c30 KSP *subksp; /* array of local KSP contexts on this processor */ in main() local
189 PetscCall(PCBJacobiGetSubKSP(pc, &nlocal, &first, &subksp)); in main()
196 PetscCall(KSPGetPC(subksp[i], &subpc)); in main()
202 PetscCall(KSPSetType(subksp[i], KSPBCGS)); in main()
203 … PetscCall(KSPSetTolerances(subksp[i], 1.e-6, PETSC_CURRENT, PETSC_CURRENT, PETSC_CURRENT)); in main()
207 PetscCall(KSPSetType(subksp[i], KSPGMRES)); in main()
208 PetscCall(KSPSetTolerances(subksp[i], 1.e-6, PETSC_CURRENT, PETSC_CURRENT, PETSC_CURRENT)); in main()
H A Dex7f.F9033 KSP, pointer :: subksp(:) => null()
171 PetscCallA(PCBJacobiGetSubKSP(myPc, nlocal, first, subksp, ierr))
177 PetscCallA(KSPGetPC(subksp(i + 1), subpc, ierr))
186 PetscCallA(KSPSetType(subksp(i + 1), KSPBCGS, ierr))
187 …PetscCallA(KSPSetTolerances(subksp(i + 1), tol, PETSC_CURRENT_REAL, PETSC_CURRENT_REAL, PETSC_CURR…
192 PetscCallA(KSPSetType(subksp(i + 1), KSPGMRES, ierr))
193 …PetscCallA(KSPSetTolerances(subksp(i + 1), tol, PETSC_CURRENT_REAL, PETSC_CURRENT_REAL, PETSC_CURR…
H A Dex87.c12 KSP ksp, *subksp; /* linear solver context */ in main() local
129 PetscCall(PCFieldSplitGetSubKSP(pc, &n, &subksp)); in main()
130 PetscCall(KSPGetPC(subksp[0], &pc)); in main()
137 PetscCall(KSPGetPC(subksp[1], &pc)); in main()
144 PetscCall(PetscFree(subksp)); in main()
170 PetscCall(PCFieldSplitGetSubKSP(pc, &n, &subksp)); in main()
171 PetscCall(KSPGetPC(subksp[0], &pc)); in main()
176 PetscCall(KSPGetPC(subksp[1], &pc)); in main()
182 PetscCall(PetscFree(subksp)); in main()
H A Dex8.c211 KSP *subksp; /* array of KSP contexts for local subblocks */ in main() local
240 PetscCall(PCASMGetSubKSP(pc, &nlocal, &first, &subksp)); in main()
247 PetscCall(KSPGetPC(subksp[i], &subpc)); in main()
249 PetscCall(KSPSetType(subksp[i], KSPGMRES)); in main()
250 PetscCall(KSPSetTolerances(subksp[i], 1.e-7, PETSC_CURRENT, PETSC_CURRENT, PETSC_CURRENT)); in main()
H A Dex62.c204 KSP *subksp; /* array of KSP contexts for local subblocks */ in main() local
233 PetscCall(PCGASMGetSubKSP(pc, &nlocal, &first, &subksp)); in main()
240 PetscCall(KSPGetPC(subksp[i], &subpc)); in main()
242 PetscCall(KSPSetType(subksp[i], KSPGMRES)); in main()
243 PetscCall(KSPSetTolerances(subksp[i], 1.e-7, PETSC_CURRENT, PETSC_CURRENT, PETSC_CURRENT)); in main()
H A Dex27.c311 KSP *subksp; in main() local
321 PetscCall(PCFieldSplitGetSubKSP(pc, NULL, &subksp)); in main()
322 PetscCall(KSPGetPC(subksp[1], &pc)); in main()
337 PetscCall(KSPSetOperators(subksp[1], S, S)); in main()
342 PetscCall(PetscFree(subksp)); in main()
/petsc/src/ksp/ftn-mod/
H A Dpetscksp.h9038 subroutine PCFieldsplitRestoreSubKSP(pc, n, subksp, ierr)
43 KSP, pointer :: subksp(:)
47 subroutine PCFieldSplitSchurRestoreSubKSP(pc, n, subksp, ierr)
52 KSP, pointer :: subksp(:)
/petsc/src/ksp/ksp/tests/
H A Dex37.c13 KSP subksp; in main() local
133 PetscCall(KSPCreate(subcomm, &subksp)); in main()
134 PetscCall(KSPSetOperators(subksp, subA, subA)); in main()
135 PetscCall(KSPSetFromOptions(subksp)); in main()
138 PetscCall(KSPSolve(subksp, subb, subx)); in main()
139 PetscCall(KSPGetIterationNumber(subksp, &its)); in main()
172 PetscCall(KSPDestroy(&subksp)); in main()
H A Dex84.c41 …KSP *subksp; // This will be length two, with the former being the A KSP and the latter being… in port_lsd_bfbt() local
66 PetscCall(PCFieldSplitGetSubKSP(pc_A, &num_splits, &subksp)); in port_lsd_bfbt()
67 schur_complement_ksp = subksp[1]; in port_lsd_bfbt()
84 PetscCall(PetscFree(subksp)); in port_lsd_bfbt()
H A Dex87.c148 KSP *subksp; in main() local
154 PetscCall(PCFieldSplitGetSubKSP(pc, &n, &subksp)); in main()
156 PetscCall(KSPGetOperators(subksp[1], NULL, &pmat)); in main()
157 PetscCall(PetscFree(subksp)); in main()
/petsc/src/ksp/pc/tests/
H A Dex9f.F9020 KSP, pointer :: subksp(:)
134 PetscCallA(PCFieldSplitGetSubKSP(pc, nksp, subksp, ierr))
136 PetscCallA(KSPView(subksp(1), PETSC_VIEWER_STDOUT_WORLD, ierr))
137 PetscCallA(PCFieldSplitRestoreSubKSP(pc, nksp, subksp, ierr))
/petsc/src/snes/tutorials/
H A Dex70.c99 KSP *subksp; in StokesSetupPC() local
110 PetscCall(PCFieldSplitGetSubKSP(pc, &n, &subksp)); in StokesSetupPC()
111 PetscCall(KSPSetOperators(subksp[1], s->myS, s->myS)); in StokesSetupPC()
112 PetscCall(PetscFree(subksp)); in StokesSetupPC()
/petsc/src/ksp/pc/impls/bjacobi/
H A Dbjacobi.c574 KSP subksp = jac->ksp[0]; in PCSetUpOnBlocks_BJacobi_Singleblock() local
578 PetscCall(KSPSetUp(subksp)); in PCSetUpOnBlocks_BJacobi_Singleblock()
579 PetscCall(KSPGetConvergedReason(subksp, &reason)); in PCSetUpOnBlocks_BJacobi_Singleblock()
1151 KSP subksp = jac->ksp[0]; in PCSetUpOnBlocks_BJacobi_Multiproc() local
1155 PetscCall(KSPSetUp(subksp)); in PCSetUpOnBlocks_BJacobi_Multiproc()
1156 PetscCall(KSPGetConvergedReason(subksp, &reason)); in PCSetUpOnBlocks_BJacobi_Multiproc()
/petsc/src/ksp/pc/impls/fieldsplit/
H A Dfieldsplit.c2253 static PetscErrorCode PCFieldSplitSchurGetSubKSP_FieldSplit(PC pc, PetscInt *n, KSP **subksp) in PCFieldSplitSchurGetSubKSP_FieldSplit() argument
2258 *subksp = NULL; in PCFieldSplitSchurGetSubKSP_FieldSplit()
2266 PetscCall(PetscMalloc1(nn, subksp)); in PCFieldSplitSchurGetSubKSP_FieldSplit()
2267 (*subksp)[0] = jac->head->ksp; in PCFieldSplitSchurGetSubKSP_FieldSplit()
2268 (*subksp)[1] = jac->kspschur; in PCFieldSplitSchurGetSubKSP_FieldSplit()
2269 if (jac->kspupper != jac->head->ksp) (*subksp)[2] = jac->kspupper; in PCFieldSplitSchurGetSubKSP_FieldSplit()
2275 static PetscErrorCode PCFieldSplitGetSubKSP_FieldSplit_Schur(PC pc, PetscInt *n, KSP **subksp) in PCFieldSplitGetSubKSP_FieldSplit_Schur() argument
2281 PetscCall(PetscMalloc1(jac->nsplits, subksp)); in PCFieldSplitGetSubKSP_FieldSplit_Schur()
2282 PetscCall(MatSchurComplementGetKSP(jac->schur, *subksp)); in PCFieldSplitGetSubKSP_FieldSplit_Schur()
2284 (*subksp)[1] = jac->kspschur; in PCFieldSplitGetSubKSP_FieldSplit_Schur()
[all …]
/petsc/src/ksp/ksp/interface/
H A Diterativ.c1175 KSP *subksp = NULL; in KSPMonitorDynamicTolerance() local
1202 PetscCall(PCBJacobiGetSubKSP(pc, &nksp, &first, &subksp)); in KSPMonitorDynamicTolerance()
1203 if (subksp) { in KSPMonitorDynamicTolerance()
1204 …for (i = 0; i < nksp; i++) PetscCall(KSPSetTolerances(subksp[i], inner_rtol, outer_abstol, outer_d… in KSPMonitorDynamicTolerance()
H A Ditfunc.c1095 KSP subksp; in KSPSolve() local
1097 PetscCall(PCMPIGetKSP(ksp->pc, &subksp)); in KSPSolve()
1098 ksp->its = subksp->its; in KSPSolve()
1099 ksp->reason = subksp->reason; in KSPSolve()
/petsc/src/ksp/pc/impls/mg/
H A Dmg.c1824 KSP subksp; in PCMGSetDistinctSmoothUp() local
1834 PetscCall(PCMGGetSmootherUp(pc, i, &subksp)); in PCMGSetDistinctSmoothUp()
1836 PetscCall(KSPSetOptionsPrefix(subksp, prefix)); in PCMGSetDistinctSmoothUp()
1837 PetscCall(KSPAppendOptionsPrefix(subksp, "up_")); in PCMGSetDistinctSmoothUp()
/petsc/src/binding/petsc4py/src/petsc4py/PETSc/
H A DPC.pyx1577 cdef object subksp = None
1580 subksp = [ref_KSP(p[i]) for i from 0 <= i <n]
1583 return subksp
1597 cdef object subksp = None
1600 subksp = [ref_KSP(p[i]) for i from 0 <= i <n]
1603 return subksp
/petsc/src/ksp/pc/impls/telescope/
H A Dtelescope.c861 PetscErrorCode PCTelescopeGetKSP(PC pc, KSP *subksp) in PCTelescopeGetKSP() argument
864 PetscUseMethod(pc, "PCTelescopeGetKSP_C", (PC, KSP *), (pc, subksp)); in PCTelescopeGetKSP()
/petsc/doc/manual/
H A Dksp.md928 PCBJacobiGetSubKSP(PC pc,PetscInt *n_local,PetscInt *first_local,KSP **subksp);
929 PCASMGetSubKSP(PC pc,PetscInt *n_local,PetscInt *first_local,KSP **subksp);
938 `subksp`. This mechanism enables the user to set different solvers for