| /petsc/src/ksp/ksp/impls/gmres/ |
| H A D | gmres.c | 38 PetscInt max_k, k; in KSPSetUp_GMRES() local 42 max_k = gmres->max_k; /* restart size */ in KSPSetUp_GMRES() 43 hh = (max_k + 2) * (max_k + 1); in KSPSetUp_GMRES() 44 hes = (max_k + 1) * (max_k + 1); in KSPSetUp_GMRES() 45 rs = (max_k + 2); in KSPSetUp_GMRES() 46 cc = (max_k + 1); in KSPSetUp_GMRES() 52 PetscCall(PetscMalloc1((max_k + 3) * (max_k + 9), &gmres->Rsvd)); in KSPSetUp_GMRES() 53 PetscCall(PetscMalloc1(6 * (max_k + 2), &gmres->Dsvd)); in KSPSetUp_GMRES() 58 gmres->vecs_allocated = VEC_OFFSET + 2 + max_k + gmres->nextra_vecs; in KSPSetUp_GMRES() 60 PetscCall(PetscMalloc1(VEC_OFFSET + 2 + max_k, &gmres->user_work)); in KSPSetUp_GMRES() [all …]
|
| H A D | gmreig.c | 7 PetscInt n = gmres->it + 1, i, N = gmres->max_k + 2; in KSPComputeExtremeSingularValues_GMRES() 22 PetscCall(PetscArraycpy(R, gmres->hh_origin, (gmres->max_k + 2) * (gmres->max_k + 1))); in KSPComputeExtremeSingularValues_GMRES() 46 PetscInt n = gmres->it + 1, N = gmres->max_k + 1, i, *perm; in KSPComputeEigenvalues_GMRES() 79 PetscInt n = gmres->it + 1, N = gmres->max_k + 1, i, *perm; in KSPComputeEigenvalues_GMRES() 129 …PetscCall(PetscBLASIntCast(gmres->fullcycle ? gmres->max_k : gmres->it + 1, &bn)); /* size of the … in KSPComputeRitz_GMRES() 130 …PetscCall(PetscBLASIntCast(gmres->max_k + 1, &bN)); /* LDA of the H… in KSPComputeRitz_GMRES() 131 PetscCall(PetscBLASIntCast(gmres->max_k + 1, &idummy)); in KSPComputeRitz_GMRES() 132 PetscCall(PetscBLASIntCast(5 * (gmres->max_k + 1) * (gmres->max_k + 1), &lwork)); in KSPComputeRitz_GMRES()
|
| H A D | gmresimpl.h | 26 PetscInt max_k; /* number of vectors in Krylov space, restart size */ \ 78 #define HH(a, b) (gmres->hh_origin + (b) * (gmres->max_k + 2) + (a)) 79 #define HES(a, b) (gmres->hes_origin + (b) * (gmres->max_k + 1) + (a))
|
| H A D | borthog2.c | 45 if (!gmres->orthogwork) PetscCall(PetscMalloc1(gmres->max_k + 2, &gmres->orthogwork)); in KSPGMRESClassicalGramSchmidtOrthogonalization()
|
| /petsc/src/ksp/ksp/impls/gmres/agmres/ |
| H A D | agmres.c | 29 const PetscInt max_k = agmres->max_k; in KSPSetUp_AGMRES() local 39 agmres->max_k = N; /* Set the augmented size to be allocated in KSPSetup_GMRES */ in KSPSetUp_AGMRES() 41 agmres->max_k = max_k; in KSPSetUp_AGMRES() 45 …PetscCall(PetscCalloc4(max_k, &agmres->Rshift, max_k, &agmres->Ishift, hes, &agmres->Rloc, (N + 1)… in KSPSetUp_AGMRES() 103 PetscInt max_k = agmres->max_k; /* size of the (non augmented) Krylov subspace */ in KSPComputeShifts_DGMRES() local 113 ksp->max_it = max_k; /* set this to have DGMRES performing only one cycle */ in KSPComputeShifts_DGMRES() 125 Neig = max_k; in KSPComputeShifts_DGMRES() 133 PetscCall(KSPAGMRESLejaOrdering(agmres->wr, agmres->wi, agmres->Rshift, agmres->Ishift, max_k)); in KSPComputeShifts_DGMRES() 137 PetscCall(PetscMalloc4(2 * max_k, &wr, 2 * max_k, &wi, 2 * max_k, &Rshift, 2 * max_k, &Ishift)); in KSPComputeShifts_DGMRES() 138 for (i = 0; i < max_k; i++) { in KSPComputeShifts_DGMRES() [all …]
|
| H A D | agmresimpl.h | 46 #define MAXKSPSIZE (agmres->DeflPrecond ? agmres->max_k : (agmres->max_k + agmres->max_neig)) 47 #define KSPSIZE (agmres->DeflPrecond ? agmres->max_k : (agmres->max_k + agmres->r))
|
| H A D | agmresdeflation.c | 95 PetscInt max_k = agmres->max_k; in KSPAGMRESSchurForm() local 170 …mres->DeflPrecond) PetscCall(KSPAGMRESLejaOrdering(wr, wi, agmres->Rshift, agmres->Ishift, max_k)); in KSPAGMRESSchurForm() 189 PetscInt max_k = agmres->max_k; /* size of the non - augmented subspace */ in KSPAGMRESComputeDeflationData() local 215 for (j = 0; j < max_k; j++) PetscCall(VecMDot(VEC_V(j), KspSize, TmpU, &MatEigR[j * N])); in KSPAGMRESComputeDeflationData() 216 …for (j = max_k; j < KspSize; j++) PetscCall(VecMDot(U[j - max_k], KspSize, TmpU, &MatEigR[j * N])); in KSPAGMRESComputeDeflationData() 241 PetscCall(VecMAXPBY(U[j], max_k, &Sr[j * (N + 1)], 0, &VEC_V(0))); in KSPAGMRESComputeDeflationData() 242 PetscCall(VecMAXPY(U[j], PrevNeig, &Sr[j * (N + 1) + max_k], TmpU)); in KSPAGMRESComputeDeflationData()
|
| /petsc/src/ksp/ksp/impls/gmres/fgmres/ |
| H A D | fgmres.c | 22 PetscInt max_k, k; in KSPSetUp_FGMRES() local 26 max_k = fgmres->max_k; in KSPSetUp_FGMRES() 30 PetscCall(PetscMalloc1(max_k + 2, &fgmres->prevecs)); in KSPSetUp_FGMRES() 31 PetscCall(PetscMalloc1(max_k + 2, &fgmres->prevecs_user_work)); in KSPSetUp_FGMRES() 63 PetscInt max_k = fgmres->max_k; /* max # of directions Krylov space */ in KSPFGMRESCycle() local 102 while (!ksp->reason && loc_it < max_k && ksp->its < ksp->max_it) { in KSPFGMRESCycle() 413 PetscCall(PetscMalloc1(fgmres->max_k, &fgmres->nrs)); in KSPBuildSolution_FGMRES() 465 static PetscErrorCode KSPGMRESSetRestart_FGMRES(KSP ksp, PetscInt max_k) in KSPGMRESSetRestart_FGMRES() argument 470 …PetscCheck(max_k >= 1, PetscObjectComm((PetscObject)ksp), PETSC_ERR_ARG_OUTOFRANGE, "Restart must … in KSPGMRESSetRestart_FGMRES() 472 gmres->max_k = max_k; in KSPGMRESSetRestart_FGMRES() [all …]
|
| H A D | fgmresimpl.h | 23 #define HH(a, b) (fgmres->hh_origin + (b) * (fgmres->max_k + 2) + (a)) 26 #define HES(a, b) (fgmres->hes_origin + (b) * (fgmres->max_k + 1) + (a))
|
| /petsc/src/ksp/ksp/impls/gmres/pipefgmres/ |
| H A D | pipefgmres.c | 26 const PetscInt max_k = pipefgmres->max_k; in KSPSetUp_PIPEFGMRES() local 31 PetscCall(PetscMalloc1(VEC_OFFSET + max_k, &pipefgmres->prevecs)); in KSPSetUp_PIPEFGMRES() 32 PetscCall(PetscMalloc1(VEC_OFFSET + max_k, &pipefgmres->prevecs_user_work)); in KSPSetUp_PIPEFGMRES() 37 PetscCall(PetscMalloc1(VEC_OFFSET + max_k, &pipefgmres->zvecs)); in KSPSetUp_PIPEFGMRES() 38 PetscCall(PetscMalloc1(VEC_OFFSET + max_k, &pipefgmres->zvecs_user_work)); in KSPSetUp_PIPEFGMRES() 40 PetscCall(PetscMalloc1(VEC_OFFSET + max_k, &pipefgmres->redux)); in KSPSetUp_PIPEFGMRES() 55 PetscInt max_k = pipefgmres->max_k; /* max # of directions Krylov space */ in KSPPIPEFGMRESCycle() local 70 …if (!pipefgmres->orthogwork) PetscCall(PetscMalloc1(pipefgmres->max_k + 2, &pipefgmres->orthogwork… in KSPPIPEFGMRESCycle() 116 while (!ksp->reason && loc_it < max_k && ksp->its < ksp->max_it) { in KSPPIPEFGMRESCycle() 459 PetscCall(PetscMalloc1(pipefgmres->max_k, &pipefgmres->nrs)); in KSPBuildSolution_PIPEFGMRES() [all …]
|
| H A D | pipefgmresimpl.h | 26 #define HH(a, b) (pipefgmres->hh_origin + (b) * (pipefgmres->max_k + 2) + (a)) 28 #define HES(a, b) (pipefgmres->hes_origin + (b) * (pipefgmres->max_k + 1) + (a))
|
| /petsc/src/ksp/ksp/impls/gmres/pgmres/ |
| H A D | pgmresimpl.h | 10 #define HH(a, b) (pgmres->hh_origin + (b) * (pgmres->max_k + 2) + (a)) 12 #define HES(a, b) (pgmres->hes_origin + (b) * (pgmres->max_k + 1) + (a))
|
| H A D | pgmres.c | 54 …if (it < pgmres->max_k + 1 && ksp->its + 1 < PetscMax(2, ksp->max_it)) { /* We don't know whether … in KSPPGMRESCycle() 78 …if (it < pgmres->max_k + 1) { /* Monitor if we are not done or still iterating, but not before a r… in KSPPGMRESCycle() 89 if (!(it < pgmres->max_k + 1 && ksp->its < ksp->max_it)) break; in KSPPGMRESCycle() 105 if (!pgmres->orthogwork) PetscCall(PetscMalloc1(pgmres->max_k + 2, &pgmres->orthogwork)); in KSPPGMRESCycle() 317 PetscCall(PetscMalloc1(pgmres->max_k, &pgmres->nrs)); in KSPBuildSolution_PGMRES() 408 pgmres->max_k = PGMRES_DEFAULT_MAXK; in KSPCreate_PGMRES()
|
| /petsc/src/ksp/ksp/impls/gmres/lgmres/ |
| H A D | lgmres.c | 61 PetscInt max_k, k, aug_dim; in KSPSetUp_LGMRES() local 65 max_k = lgmres->max_k; in KSPSetUp_LGMRES() 83 PetscCall(PetscMalloc1(max_k + 1, &lgmres->hwork)); in KSPSetUp_LGMRES() 96 PetscInt max_k = lgmres->max_k; /* max approx space size */ in KSPLGMRESCycle() local 117 if (lgmres->approx_constant) it_arnoldi = max_k - lgmres->aug_ct; in KSPLGMRESCycle() 118 else it_arnoldi = max_k - aug_dim; in KSPLGMRESCycle() 376 it_arnoldi = lgmres->max_k - lgmres->aug_ct; in KSPLGMRESBuildSoln() 378 it_arnoldi = lgmres->max_k - lgmres->aug_dim; in KSPLGMRESBuildSoln() 549 PetscCall(PetscMalloc1(lgmres->max_k, &lgmres->nrs)); in KSPBuildSolution_LGMRES() 605 …PetscCheck(aug_dim <= (lgmres->max_k - 1), PetscObjectComm((PetscObject)ksp), PETSC_ERR_ARG_OUTOFR… in KSPLGMRESSetAugDim_LGMRES() [all …]
|
| H A D | lgmresimpl.h | 35 #define HH(a, b) (lgmres->hh_origin + (b) * (lgmres->max_k + 2) + (a)) 38 #define HES(a, b) (lgmres->hes_origin + (b) * (lgmres->max_k + 1) + (a))
|
| /petsc/src/ksp/ksp/impls/gmres/dgmres/ |
| H A D | dgmresimpl.h | 53 #define HH(a, b) (dgmres->hh_origin + (b) * (dgmres->max_k + 2) + (a)) 54 #define HES(a, b) (dgmres->hes_origin + (b) * (dgmres->max_k + 1) + (a)) 85 #define MAX_K dgmres->max_k
|
| H A D | dgmres.c | 55 PetscInt max_k = dgmres->max_k + 1; in KSPSetUp_DGMRES() local 62 PetscCall(PetscMalloc1(neig * max_k, &SR)); in KSPSetUp_DGMRES() 109 PetscInt max_k = dgmres->max_k; in KSPDGMRESCycle() local 138 while (!ksp->reason && it < max_k && ksp->its < ksp->max_it) { in KSPDGMRESCycle() 215 test = max_k * PetscLogReal(ksp->rtol / res) / PetscLogReal(res / res_old); in KSPDGMRESCycle() 450 PetscCall(PetscMalloc1(dgmres->max_k, &dgmres->nrs)); in KSPBuildSolution_DGMRES() 486 …PetscCheck(neig >= 0 && neig <= dgmres->max_k, PetscObjectComm((PetscObject)ksp), PETSC_ERR_ARG_OU… in KSPDGMRESSetEigen_DGMRES() 496 …PetscCheck(max_neig >= 0 && max_neig <= dgmres->max_k, PetscObjectComm((PetscObject)ksp), PETSC_ER… in KSPDGMRESSetMaxEigen_DGMRES() 550 PetscInt N = dgmres->max_k + 1; in KSPDGMRESComputeDeflationData_DGMRES() 649 PetscInt N = dgmres->max_k + 1, n = dgmres->it + 1; in KSPDGMRESComputeSchurForm_DGMRES() [all …]
|
| /petsc/src/ksp/ksp/impls/lcd/ |
| H A D | lcd.c | 30 PetscInt it, j, max_k; in KSPSolve_LCD() local 47 max_k = lcd->restart; in KSPSolve_LCD() 80 while (!ksp->reason && it < max_k && ksp->its < ksp->max_it) { in KSPSolve_LCD()
|