| /petsc/src/ksp/ksp/interface/ |
| H A D | itfunc.c | 55 PetscErrorCode KSPComputeExtremeSingularValues(KSP ksp, PetscReal *emax, PetscReal *emin) in KSPComputeExtremeSingularValues() argument 58 PetscValidHeaderSpecific(ksp, KSP_CLASSID, 1); in KSPComputeExtremeSingularValues() 61 …PetscCheck(ksp->calc_sings, PetscObjectComm((PetscObject)ksp), PETSC_ERR_ARG_WRONGSTATE, "Singular… in KSPComputeExtremeSingularValues() 63 …if (ksp->ops->computeextremesingularvalues) PetscUseTypeMethod(ksp, computeextremesingularvalues, … in KSPComputeExtremeSingularValues() 114 PetscErrorCode KSPComputeEigenvalues(KSP ksp, PetscInt n, PetscReal r[], PetscReal c[], PetscInt *n… in KSPComputeEigenvalues() argument 117 PetscValidHeaderSpecific(ksp, KSP_CLASSID, 1); in KSPComputeEigenvalues() 120 …PetscCheck(n >= 0, PetscObjectComm((PetscObject)ksp), PETSC_ERR_ARG_OUTOFRANGE, "Requested < 0 Eig… in KSPComputeEigenvalues() 122 …PetscCheck(ksp->calc_sings, PetscObjectComm((PetscObject)ksp), PETSC_ERR_ARG_WRONGSTATE, "Eigenval… in KSPComputeEigenvalues() 124 if (n && ksp->ops->computeeigenvalues) PetscUseTypeMethod(ksp, computeeigenvalues, n, r, c, neig); in KSPComputeEigenvalues() 179 PetscErrorCode KSPComputeRitz(KSP ksp, PetscBool ritz, PetscBool small, PetscInt *nrit, Vec S[], Pe… in KSPComputeRitz() argument [all …]
|
| H A D | itcl.c | 40 PetscErrorCode KSPSetOptionsPrefix(KSP ksp, const char prefix[]) in KSPSetOptionsPrefix() argument 45 PetscValidHeaderSpecific(ksp, KSP_CLASSID, 1); in KSPSetOptionsPrefix() 46 if (!ksp->pc) PetscCall(KSPGetPC(ksp, &ksp->pc)); in KSPSetOptionsPrefix() 47 PetscCall(PetscObjectTypeCompare((PetscObject)ksp->pc, PCMPI, &ispcmpi)); in KSPSetOptionsPrefix() 57 PetscCall(PCSetOptionsPrefix(ksp->pc, newprefix)); in KSPSetOptionsPrefix() 58 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)ksp, newprefix)); in KSPSetOptionsPrefix() 61 PetscCall(PCSetOptionsPrefix(ksp->pc, prefix)); in KSPSetOptionsPrefix() 62 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)ksp, prefix)); in KSPSetOptionsPrefix() 85 PetscErrorCode KSPAppendOptionsPrefix(KSP ksp, const char prefix[]) in KSPAppendOptionsPrefix() argument 88 PetscValidHeaderSpecific(ksp, KSP_CLASSID, 1); in KSPAppendOptionsPrefix() [all …]
|
| H A D | itcreate.c | 106 PetscErrorCode KSPView(KSP ksp, PetscViewer viewer) in KSPView() argument 114 PetscValidHeaderSpecific(ksp, KSP_CLASSID, 1); in KSPView() 115 if (!viewer) PetscCall(PetscViewerASCIIGetStdout(PetscObjectComm((PetscObject)ksp), &viewer)); in KSPView() 117 PetscCheckSameComm(ksp, 1, viewer, 2); in KSPView() 127 PetscCall(PetscObjectPrintClassNamePrefixType((PetscObject)ksp, viewer)); in KSPView() 129 PetscTryTypeMethod(ksp, view, viewer); in KSPView() 131 if (ksp->guess_zero) { in KSPView() 132 …CIIPrintf(viewer, " maximum iterations=%" PetscInt_FMT ", initial guess is zero\n", ksp->max_it)); in KSPView() 134 …CIIPrintf(viewer, " maximum iterations=%" PetscInt_FMT ", nonzero initial guess\n", ksp->max_it)); in KSPView() 136 …if (ksp->min_it) PetscCall(PetscViewerASCIIPrintf(viewer, " minimum iterations=%" PetscInt_FMT "\… in KSPView() [all …]
|
| /petsc/src/ksp/ksp/impls/rich/ |
| H A D | rich.c | 6 static PetscErrorCode KSPSetUp_Richardson(KSP ksp) in KSPSetUp_Richardson() argument 8 KSP_Richardson *richardsonP = (KSP_Richardson *)ksp->data; in KSPSetUp_Richardson() 12 PetscCall(KSPSetWorkVecs(ksp, 4)); in KSPSetUp_Richardson() 14 PetscCall(KSPSetWorkVecs(ksp, 2)); in KSPSetUp_Richardson() 19 static PetscErrorCode KSPSolve_Richardson(KSP ksp) in KSPSolve_Richardson() argument 27 KSP_Richardson *richardsonP = (KSP_Richardson *)ksp->data; in KSPSolve_Richardson() 32 PetscCall(PCGetDiagonalScale(ksp->pc, &diagonalscale)); in KSPSolve_Richardson() 33 … PetscObjectComm((PetscObject)ksp), PETSC_ERR_SUP, "Krylov method %s does not support diagonal sca… in KSPSolve_Richardson() 35 ksp->its = 0; in KSPSolve_Richardson() 37 PetscCall(PCGetOperators(ksp->pc, &Amat, &Pmat)); in KSPSolve_Richardson() [all …]
|
| /petsc/src/ksp/ksp/impls/cg/ |
| H A D | cg.c | 47 static PetscErrorCode KSPCGSetObjectiveTarget_CG(KSP ksp, PetscReal obj_min) in KSPCGSetObjectiveTarget_CG() argument 49 KSP_CG *cg = (KSP_CG *)ksp->data; in KSPCGSetObjectiveTarget_CG() 56 static PetscErrorCode KSPCGSetRadius_CG(KSP ksp, PetscReal radius) in KSPCGSetRadius_CG() argument 58 KSP_CG *cg = (KSP_CG *)ksp->data; in KSPCGSetRadius_CG() 65 static PetscErrorCode KSPCGGetObjFcn_CG(KSP ksp, PetscReal *obj) in KSPCGGetObjFcn_CG() argument 67 KSP_CG *cg = (KSP_CG *)ksp->data; in KSPCGGetObjFcn_CG() 80 static PetscErrorCode KSPSetUp_CG(KSP ksp) in KSPSetUp_CG() argument 82 KSP_CG *cgP = (KSP_CG *)ksp->data; in KSPSetUp_CG() 83 PetscInt maxit = ksp->max_it, nwork = 3; in KSPSetUp_CG() 88 PetscCall(KSPSetWorkVecs(ksp, nwork)); in KSPSetUp_CG() [all …]
|
| H A D | cgls.c | 12 static PetscErrorCode KSPSetUp_CGLS(KSP ksp) in KSPSetUp_CGLS() argument 14 KSP_CGLS *cgls = (KSP_CGLS *)ksp->data; in KSPSetUp_CGLS() 22 PetscCall(KSPCreateVecs(ksp, cgls->nwork_n, &cgls->vwork_n, cgls->nwork_m, &cgls->vwork_m)); in KSPSetUp_CGLS() 26 static PetscErrorCode KSPSolve_CGLS(KSP ksp) in KSPSolve_CGLS() argument 28 KSP_CGLS *cgls = (KSP_CGLS *)ksp->data; in KSPSolve_CGLS() 35 PetscCall(KSPGetOperators(ksp, &A, NULL)); /* Matrix of the system */ in KSPSolve_CGLS() 38 x = ksp->vec_sol; /* Solution vector */ in KSPSolve_CGLS() 43 b = ksp->vec_rhs; /* Right-hand side vector */ in KSPSolve_CGLS() 48 ksp->its = 0; in KSPSolve_CGLS() 49 ksp->rnorm = 0; in KSPSolve_CGLS() [all …]
|
| /petsc/src/ksp/ksp/impls/cheby/ |
| H A D | cheby.c | 6 static PetscErrorCode KSPReset_Chebyshev(KSP ksp) in KSPReset_Chebyshev() argument 8 KSP_Chebyshev *cheb = (KSP_Chebyshev *)ksp->data; in KSPReset_Chebyshev() 40 static PetscErrorCode KSPChebyshevGetEigenvalues_Chebyshev(KSP ksp, PetscReal *emax, PetscReal *emi… in KSPChebyshevGetEigenvalues_Chebyshev() argument 42 KSP_Chebyshev *cheb = (KSP_Chebyshev *)ksp->data; in KSPChebyshevGetEigenvalues_Chebyshev() 64 static PetscErrorCode KSPChebyshevSetEigenvalues_Chebyshev(KSP ksp, PetscReal emax, PetscReal emin) in KSPChebyshevSetEigenvalues_Chebyshev() argument 66 KSP_Chebyshev *chebyshevP = (KSP_Chebyshev *)ksp->data; in KSPChebyshevSetEigenvalues_Chebyshev() 69 … && emin == 0) || (emax == -1 && emin == -1), PetscObjectComm((PetscObject)ksp), PETSC_ERR_ARG_INC… in KSPChebyshevSetEigenvalues_Chebyshev() 70 …PetscCheck(emax * emin > 0.0 || (emax == 0 && emin == 0), PetscObjectComm((PetscObject)ksp), PETSC… in KSPChebyshevSetEigenvalues_Chebyshev() 74 PetscCall(KSPChebyshevEstEigSet(ksp, 0., 0., 0., 0.)); /* Destroy any estimation setup */ in KSPChebyshevSetEigenvalues_Chebyshev() 78 static PetscErrorCode KSPChebyshevEstEigSet_Chebyshev(KSP ksp, PetscReal a, PetscReal b, PetscReal … in KSPChebyshevEstEigSet_Chebyshev() argument [all …]
|
| /petsc/src/ksp/ksp/impls/bcgs/ |
| H A D | bcgs.c | 3 PetscErrorCode KSPSetFromOptions_BCGS(KSP ksp, PetscOptionItems PetscOptionsObject) in KSPSetFromOptions_BCGS() argument 11 PetscErrorCode KSPSetUp_BCGS(KSP ksp) in KSPSetUp_BCGS() argument 14 PetscCall(KSPSetWorkVecs(ksp, 6)); in KSPSetUp_BCGS() 18 PetscErrorCode KSPSolve_BCGS(KSP ksp) in KSPSolve_BCGS() argument 24 KSP_BCGS *bcgs = (KSP_BCGS *)ksp->data; in KSPSolve_BCGS() 27 X = ksp->vec_sol; in KSPSolve_BCGS() 28 B = ksp->vec_rhs; in KSPSolve_BCGS() 29 R = ksp->work[0]; in KSPSolve_BCGS() 30 RP = ksp->work[1]; in KSPSolve_BCGS() 31 V = ksp->work[2]; in KSPSolve_BCGS() [all …]
|
| /petsc/src/ksp/ksp/impls/preonly/ |
| H A D | preonly.c | 3 static PetscErrorCode KSPSetUp_PREONLY(KSP ksp) in KSPSetUp_PREONLY() argument 9 static PetscErrorCode KSPSolve_PREONLY(KSP ksp) in KSPSolve_PREONLY() argument 16 PetscCall(PCGetDiagonalScale(ksp->pc, &flg)); in KSPSolve_PREONLY() 17 … PetscObjectComm((PetscObject)ksp), PETSC_ERR_SUP, "Krylov method %s does not support diagonal sca… in KSPSolve_PREONLY() 18 if (!ksp->guess_zero) { in KSPSolve_PREONLY() 19 PetscCall(PetscObjectTypeCompareAny((PetscObject)ksp->pc, &flg, PCREDISTRIBUTE, PCMPI, "")); in KSPSolve_PREONLY() 20 …PetscCheck(flg, PetscObjectComm((PetscObject)ksp), PETSC_ERR_USER, "KSP of type preonly (applicati… in KSPSolve_PREONLY() 22 ksp->its = 0; in KSPSolve_PREONLY() 23 if (ksp->numbermonitors) { in KSPSolve_PREONLY() 24 PetscCall(VecNorm(ksp->vec_rhs, NORM_2, &norm)); in KSPSolve_PREONLY() [all …]
|
| /petsc/src/ksp/ksp/impls/bcgs/fbcgs/ |
| H A D | fbcgs.c | 6 static PetscErrorCode KSPSetUp_FBCGS(KSP ksp) in KSPSetUp_FBCGS() argument 9 PetscCall(KSPSetWorkVecs(ksp, 8)); in KSPSetUp_FBCGS() 15 static PetscErrorCode KSPSolve_FBCGS(KSP ksp) in KSPSolve_FBCGS() argument 21 KSP_BCGS *bcgs = (KSP_BCGS *)ksp->data; in KSPSolve_FBCGS() 26 X = ksp->vec_sol; in KSPSolve_FBCGS() 27 B = ksp->vec_rhs; in KSPSolve_FBCGS() 28 R = ksp->work[0]; in KSPSolve_FBCGS() 29 RP = ksp->work[1]; in KSPSolve_FBCGS() 30 V = ksp->work[2]; in KSPSolve_FBCGS() 31 T = ksp->work[3]; in KSPSolve_FBCGS() [all …]
|
| /petsc/src/ksp/ksp/impls/bicg/ |
| H A D | bicg.c | 3 static PetscErrorCode KSPSetUp_BiCG(KSP ksp) in KSPSetUp_BiCG() argument 6 PetscCall(KSPSetWorkVecs(ksp, 6)); in KSPSetUp_BiCG() 10 static PetscErrorCode KSPSolve_BiCG(KSP ksp) in KSPSolve_BiCG() argument 20 PetscCall(PCGetDiagonalScale(ksp->pc, &diagonalscale)); in KSPSolve_BiCG() 21 … PetscObjectComm((PetscObject)ksp), PETSC_ERR_SUP, "Krylov method %s does not support diagonal sca… in KSPSolve_BiCG() 23 X = ksp->vec_sol; in KSPSolve_BiCG() 24 B = ksp->vec_rhs; in KSPSolve_BiCG() 25 Rl = ksp->work[0]; in KSPSolve_BiCG() 26 Zl = ksp->work[1]; in KSPSolve_BiCG() 27 Pl = ksp->work[2]; in KSPSolve_BiCG() [all …]
|
| /petsc/src/ksp/ksp/impls/cg/cgne/ |
| H A D | cgne.c | 10 static PetscErrorCode KSPCGSetType_CGNE(KSP ksp, KSPCGType type) in KSPCGSetType_CGNE() argument 12 KSP_CG *cg = (KSP_CG *)ksp->data; in KSPCGSetType_CGNE() 19 static PetscErrorCode KSPSetUp_CGNE(KSP ksp) in KSPSetUp_CGNE() argument 21 KSP_CG *cgP = (KSP_CG *)ksp->data; in KSPSetUp_CGNE() 22 PetscInt maxit = ksp->max_it; in KSPSetUp_CGNE() 26 PetscCall(KSPSetWorkVecs(ksp, 4)); in KSPSetUp_CGNE() 31 if (ksp->calc_sings) { in KSPSetUp_CGNE() 35 ksp->ops->computeextremesingularvalues = KSPComputeExtremeSingularValues_CG; in KSPSetUp_CGNE() 36 ksp->ops->computeeigenvalues = KSPComputeEigenvalues_CG; in KSPSetUp_CGNE() 41 static PetscErrorCode KSPSolve_CGNE(KSP ksp) in KSPSolve_CGNE() argument [all …]
|
| /petsc/src/ksp/ksp/impls/bcgs/qmrcgs/ |
| H A D | qmrcgs.c | 6 static PetscErrorCode KSPSetUp_QMRCGS(KSP ksp) in KSPSetUp_QMRCGS() argument 9 PetscCall(KSPSetWorkVecs(ksp, 14)); in KSPSetUp_QMRCGS() 15 static PetscErrorCode KSPSolve_QMRCGS(KSP ksp) in KSPSolve_QMRCGS() argument 21 KSP_BCGS *bcgs = (KSP_BCGS *)ksp->data; in KSPSolve_QMRCGS() 26 X = ksp->vec_sol; in KSPSolve_QMRCGS() 27 B = ksp->vec_rhs; in KSPSolve_QMRCGS() 28 R = ksp->work[0]; in KSPSolve_QMRCGS() 29 P = ksp->work[1]; in KSPSolve_QMRCGS() 30 PH = ksp->work[2]; in KSPSolve_QMRCGS() 31 V = ksp->work[3]; in KSPSolve_QMRCGS() [all …]
|
| /petsc/src/ksp/ksp/impls/gcr/ |
| H A D | gcr.c | 16 static PetscErrorCode KSPSolve_GCR_cycle(KSP ksp) in KSPSolve_GCR_cycle() argument 18 KSP_GCR *ctx = (KSP_GCR *)ksp->data; in KSPSolve_GCR_cycle() 32 PetscCall(KSPGetPC(ksp, &pc)); in KSPSolve_GCR_cycle() 33 PetscCall(KSPGetOperators(ksp, &A, &B)); in KSPSolve_GCR_cycle() 35 x = ksp->vec_sol; in KSPSolve_GCR_cycle() 41 if (ctx->modifypc) PetscCall((*ctx->modifypc)(ksp, ksp->its, k, ksp->rnorm, ctx->modifypc_ctx)); in KSPSolve_GCR_cycle() 43 PetscCall(KSP_PCApply(ksp, r, s)); /* s = B^{-1} r */ in KSPSolve_GCR_cycle() 44 PetscCall(KSP_MatMult(ksp, A, s, v)); /* v = A s */ in KSPSolve_GCR_cycle() 58 if (ksp->its > ksp->chknorm && ksp->normtype != KSP_NORM_NONE) { in KSPSolve_GCR_cycle() 60 KSPCheckNorm(ksp, norm_r); in KSPSolve_GCR_cycle() [all …]
|
| /petsc/src/ksp/ksp/impls/cr/ |
| H A D | cr.c | 3 static PetscErrorCode KSPSetUp_CR(KSP ksp) in KSPSetUp_CR() argument 6 PetscCall(KSPSetWorkVecs(ksp, 6)); in KSPSetUp_CR() 10 static PetscErrorCode KSPSolve_CR(KSP ksp) in KSPSolve_CR() argument 20 X = ksp->vec_sol; in KSPSolve_CR() 21 B = ksp->vec_rhs; in KSPSolve_CR() 22 R = ksp->work[0]; in KSPSolve_CR() 23 RT = ksp->work[1]; in KSPSolve_CR() 24 P = ksp->work[2]; in KSPSolve_CR() 25 AP = ksp->work[3]; in KSPSolve_CR() 26 ART = ksp->work[4]; in KSPSolve_CR() [all …]
|
| /petsc/src/ksp/ksp/impls/tfqmr/ |
| H A D | tfqmr.c | 3 static PetscErrorCode KSPSetUp_TFQMR(KSP ksp) in KSPSetUp_TFQMR() argument 6 …PetscCheck(ksp->pc_side != PC_SYMMETRIC, PetscObjectComm((PetscObject)ksp), PETSC_ERR_SUP, "no sym… in KSPSetUp_TFQMR() 7 PetscCall(KSPSetWorkVecs(ksp, 9)); in KSPSetUp_TFQMR() 11 static PetscErrorCode KSPSolve_TFQMR(KSP ksp) in KSPSolve_TFQMR() argument 19 X = ksp->vec_sol; in KSPSolve_TFQMR() 20 B = ksp->vec_rhs; in KSPSolve_TFQMR() 21 R = ksp->work[0]; in KSPSolve_TFQMR() 22 RP = ksp->work[1]; in KSPSolve_TFQMR() 23 V = ksp->work[2]; in KSPSolve_TFQMR() 24 T = ksp->work[3]; in KSPSolve_TFQMR() [all …]
|
| /petsc/src/ksp/ksp/impls/gmres/ |
| H A D | gmres.c | 35 PetscErrorCode KSPSetUp_GMRES(KSP ksp) in KSPSetUp_GMRES() argument 39 KSP_GMRES *gmres = (KSP_GMRES *)ksp->data; in KSPSetUp_GMRES() 50 if (ksp->calc_sings) { in KSPSetUp_GMRES() 62 …if (gmres->q_preallocate || ksp->normtype == KSP_NORM_NONE) gmres->vv_allocated = VEC_OFFSET + 2 +… in KSPSetUp_GMRES() 63 else gmres->vv_allocated = VEC_OFFSET + 2 + PetscMin(PetscMin(5, max_k), ksp->max_it); in KSPSetUp_GMRES() 64 PetscCall(KSPCreateVecs(ksp, gmres->vv_allocated, &gmres->user_work[0], 0, NULL)); in KSPSetUp_GMRES() 88 static PetscErrorCode KSPGMRESCycle(PetscInt *itcount, KSP ksp) in KSPGMRESCycle() argument 90 KSP_GMRES *gmres = (KSP_GMRES *)ksp->data; in KSPGMRESCycle() 98 KSPCheckNorm(ksp, res); in KSPGMRESCycle() 101 …if ((ksp->rnorm > 0.0) && (PetscAbsReal(res - ksp->rnorm) > gmres->breakdowntol * gmres->rnorm0)) { in KSPGMRESCycle() [all …]
|
| /petsc/src/ksp/ksp/impls/cgs/ |
| H A D | cgs.c | 8 static PetscErrorCode KSPSetUp_CGS(KSP ksp) in KSPSetUp_CGS() argument 11 PetscCall(KSPSetWorkVecs(ksp, 7)); in KSPSetUp_CGS() 15 static PetscErrorCode KSPSolve_CGS(KSP ksp) in KSPSolve_CGS() argument 26 PetscCall(PCGetDiagonalScale(ksp->pc, &diagonalscale)); in KSPSolve_CGS() 27 … PetscObjectComm((PetscObject)ksp), PETSC_ERR_SUP, "Krylov method %s does not support diagonal sca… in KSPSolve_CGS() 29 X = ksp->vec_sol; in KSPSolve_CGS() 30 B = ksp->vec_rhs; in KSPSolve_CGS() 31 R = ksp->work[0]; in KSPSolve_CGS() 32 RP = ksp->work[1]; in KSPSolve_CGS() 33 V = ksp->work[2]; in KSPSolve_CGS() [all …]
|
| /petsc/src/ksp/ksp/impls/lcd/ |
| H A D | lcd.c | 3 static PetscErrorCode KSPSetUp_LCD(KSP ksp) in KSPSetUp_LCD() argument 5 KSP_LCD *lcd = (KSP_LCD *)ksp->data; in KSPSetUp_LCD() 10 PetscCall(KSPSetWorkVecs(ksp, 2)); in KSPSetUp_LCD() 12 PetscCall(VecDuplicateVecs(ksp->work[0], restart + 1, &lcd->P)); in KSPSetUp_LCD() 13 PetscCall(VecDuplicateVecs(ksp->work[0], restart + 1, &lcd->Q)); in KSPSetUp_LCD() 28 static PetscErrorCode KSPSolve_LCD(KSP ksp) in KSPSolve_LCD() argument 39 PetscCall(PCGetDiagonalScale(ksp->pc, &diagonalscale)); in KSPSolve_LCD() 40 … PetscObjectComm((PetscObject)ksp), PETSC_ERR_SUP, "Krylov method %s does not support diagonal sca… in KSPSolve_LCD() 42 lcd = (KSP_LCD *)ksp->data; in KSPSolve_LCD() 43 X = ksp->vec_sol; in KSPSolve_LCD() [all …]
|
| /petsc/src/ksp/ksp/impls/gmres/fgmres/ |
| H A D | fgmres.c | 20 static PetscErrorCode KSPSetUp_FGMRES(KSP ksp) in KSPSetUp_FGMRES() argument 23 KSP_FGMRES *fgmres = (KSP_FGMRES *)ksp->data; in KSPSetUp_FGMRES() 28 PetscCall(KSPSetUp_GMRES(ksp)); in KSPSetUp_FGMRES() 36 …PetscCall(KSPCreateVecs(ksp, fgmres->vv_allocated - VEC_OFFSET, &fgmres->prevecs_user_work[0], 0, … in KSPSetUp_FGMRES() 41 static PetscErrorCode KSPFGMRESResidual(KSP ksp) in KSPFGMRESResidual() argument 43 KSP_FGMRES *fgmres = (KSP_FGMRES *)ksp->data; in KSPFGMRESResidual() 47 PetscCall(PCGetOperators(ksp->pc, &Amat, &Pmat)); in KSPFGMRESResidual() 50 PetscCall(KSP_MatMult(ksp, Amat, ksp->vec_sol, VEC_TEMP)); in KSPFGMRESResidual() 52 PetscCall(VecWAXPY(VEC_VV(0), -1.0, VEC_TEMP, ksp->vec_rhs)); in KSPFGMRESResidual() 56 static PetscErrorCode KSPFGMRESCycle(PetscInt *itcount, KSP ksp) in KSPFGMRESCycle() argument [all …]
|
| /petsc/src/ksp/ksp/impls/cg/groppcg/ |
| H A D | groppcg.c | 9 static PetscErrorCode KSPSetUp_GROPPCG(KSP ksp) in KSPSetUp_GROPPCG() argument 12 PetscCall(KSPSetWorkVecs(ksp, 6)); in KSPSetUp_GROPPCG() 23 static PetscErrorCode KSPSolve_GROPPCG(KSP ksp) in KSPSolve_GROPPCG() argument 33 PetscCall(PCGetDiagonalScale(ksp->pc, &diagonalscale)); in KSPSolve_GROPPCG() 34 … PetscObjectComm((PetscObject)ksp), PETSC_ERR_SUP, "Krylov method %s does not support diagonal sca… in KSPSolve_GROPPCG() 36 x = ksp->vec_sol; in KSPSolve_GROPPCG() 37 b = ksp->vec_rhs; in KSPSolve_GROPPCG() 38 r = ksp->work[0]; in KSPSolve_GROPPCG() 39 p = ksp->work[1]; in KSPSolve_GROPPCG() 40 s = ksp->work[2]; in KSPSolve_GROPPCG() [all …]
|
| /petsc/src/ksp/ksp/impls/cg/pipecg/ |
| H A D | pipecg.c | 9 static PetscErrorCode KSPSetUp_PIPECG(KSP ksp) in KSPSetUp_PIPECG() argument 13 PetscCall(KSPSetWorkVecs(ksp, 9)); in KSPSetUp_PIPECG() 20 static PetscErrorCode KSPSolve_PIPECG(KSP ksp) in KSPSolve_PIPECG() argument 30 PetscCall(PCGetDiagonalScale(ksp->pc, &diagonalscale)); in KSPSolve_PIPECG() 31 … PetscObjectComm((PetscObject)ksp), PETSC_ERR_SUP, "Krylov method %s does not support diagonal sca… in KSPSolve_PIPECG() 33 X = ksp->vec_sol; in KSPSolve_PIPECG() 34 B = ksp->vec_rhs; in KSPSolve_PIPECG() 35 R = ksp->work[0]; in KSPSolve_PIPECG() 36 Z = ksp->work[1]; in KSPSolve_PIPECG() 37 P = ksp->work[2]; in KSPSolve_PIPECG() [all …]
|
| /petsc/src/ksp/ksp/impls/bcgs/pipebcgs/ |
| H A D | pipebcgs.c | 6 static PetscErrorCode KSPSetUp_PIPEBCGS(KSP ksp) in KSPSetUp_PIPEBCGS() argument 9 PetscCall(KSPSetWorkVecs(ksp, 15)); in KSPSetUp_PIPEBCGS() 15 static PetscErrorCode KSPSolve_PIPEBCGS(KSP ksp) in KSPSolve_PIPEBCGS() argument 21 KSP_BCGS *bcgs = (KSP_BCGS *)ksp->data; in KSPSolve_PIPEBCGS() 25 X = ksp->vec_sol; in KSPSolve_PIPEBCGS() 26 B = ksp->vec_rhs; in KSPSolve_PIPEBCGS() 27 R = ksp->work[0]; in KSPSolve_PIPEBCGS() 28 RP = ksp->work[1]; in KSPSolve_PIPEBCGS() 29 S = ksp->work[2]; in KSPSolve_PIPEBCGS() 30 Y = ksp->work[3]; in KSPSolve_PIPEBCGS() [all …]
|
| /petsc/src/ksp/ksp/impls/qcg/ |
| H A D | qcg.c | 59 PetscErrorCode KSPQCGSetTrustRegionRadius(KSP ksp, PetscReal delta) in KSPQCGSetTrustRegionRadius() argument 62 PetscValidHeaderSpecific(ksp, KSP_CLASSID, 1); in KSPQCGSetTrustRegionRadius() 63 …PetscCheck(delta >= 0.0, PetscObjectComm((PetscObject)ksp), PETSC_ERR_ARG_OUTOFRANGE, "Tolerance m… in KSPQCGSetTrustRegionRadius() 64 PetscTryMethod(ksp, "KSPQCGSetTrustRegionRadius_C", (KSP, PetscReal), (ksp, delta)); in KSPQCGSetTrustRegionRadius() 84 PetscErrorCode KSPQCGGetTrialStepNorm(KSP ksp, PetscReal *tsnorm) in KSPQCGGetTrialStepNorm() argument 87 PetscValidHeaderSpecific(ksp, KSP_CLASSID, 1); in KSPQCGGetTrialStepNorm() 88 PetscUseMethod(ksp, "KSPQCGGetTrialStepNorm_C", (KSP, PetscReal *), (ksp, tsnorm)); in KSPQCGGetTrialStepNorm() 128 PetscErrorCode KSPQCGGetQuadratic(KSP ksp, PetscReal *quadratic) in KSPQCGGetQuadratic() argument 131 PetscValidHeaderSpecific(ksp, KSP_CLASSID, 1); in KSPQCGGetQuadratic() 132 PetscUseMethod(ksp, "KSPQCGGetQuadratic_C", (KSP, PetscReal *), (ksp, quadratic)); in KSPQCGGetQuadratic() [all …]
|
| /petsc/src/ksp/ksp/impls/gmres/pgmres/ |
| H A D | pgmres.c | 10 static PetscErrorCode KSPSetUp_PGMRES(KSP ksp) in KSPSetUp_PGMRES() argument 13 PetscCall(KSPSetUp_GMRES(ksp)); in KSPSetUp_PGMRES() 17 static PetscErrorCode KSPPGMRESCycle(PetscInt *itcount, KSP ksp) in KSPPGMRESCycle() argument 19 KSP_PGMRES *pgmres = (KSP_PGMRES *)ksp->data; in KSPPGMRESCycle() 27 KSPCheckNorm(ksp, res_norm); in KSPPGMRESCycle() 32 PetscCall(PetscObjectSAWsTakeAccess((PetscObject)ksp)); in KSPPGMRESCycle() 33 if (ksp->normtype != KSP_NORM_NONE) ksp->rnorm = res; in KSPPGMRESCycle() 34 else ksp->rnorm = 0; in KSPPGMRESCycle() 35 PetscCall(PetscObjectSAWsGrantAccess((PetscObject)ksp)); in KSPPGMRESCycle() 37 PetscCall(KSPLogResidualHistory(ksp, ksp->rnorm)); in KSPPGMRESCycle() [all …]
|