| /petsc/src/ksp/ksp/impls/gmres/pgmres/ |
| H A D | pgmres.c | 199 static PetscErrorCode KSPPGMRESBuildSoln(PetscScalar *nrs, Vec vguess, Vec vdest, KSP ksp, PetscInt… in KSPPGMRESBuildSoln() argument 215 if (*HH(it, it) != 0.0) nrs[it] = *RS(it) / *HH(it, it); in KSPPGMRESBuildSoln() 216 else nrs[it] = 0.0; in KSPPGMRESBuildSoln() 220 for (j = k + 1; j <= it; j++) tt -= *HH(k, j) * nrs[j]; in KSPPGMRESBuildSoln() 221 nrs[k] = tt / *HH(k, k); in KSPPGMRESBuildSoln() 225 PetscCall(VecMAXPBY(VEC_TEMP, it + 1, nrs, 0, &VEC_VV(0))); in KSPPGMRESBuildSoln() 315 if (!pgmres->nrs) { in KSPBuildSolution_PGMRES() 317 PetscCall(PetscMalloc1(pgmres->max_k, &pgmres->nrs)); in KSPBuildSolution_PGMRES() 320 PetscCall(KSPPGMRESBuildSoln(pgmres->nrs, ksp->vec_sol, ptr, ksp, pgmres->it)); in KSPBuildSolution_PGMRES() 406 pgmres->nrs = NULL; in KSPCreate_PGMRES()
|
| /petsc/src/ksp/ksp/impls/gmres/fgmres/ |
| H A D | fgmres.c | 257 static PetscErrorCode KSPFGMRESBuildSoln(PetscScalar *nrs, Vec vguess, Vec vdest, KSP ksp, PetscInt… in KSPFGMRESBuildSoln() argument 277 nrs[it] = *RS(it) / *HH(it, it); in KSPFGMRESBuildSoln() 279 nrs[it] = 0.0; in KSPFGMRESBuildSoln() 284 for (j = k + 1; j <= it; j++) tt = tt - *HH(k, j) * nrs[j]; in KSPFGMRESBuildSoln() 285 nrs[k] = tt / *HH(k, k); in KSPFGMRESBuildSoln() 290 PetscCall(VecMAXPBY(VEC_TEMP, it + 1, nrs, 0, &PREVEC(0))); in KSPFGMRESBuildSoln() 411 if (!fgmres->nrs) { in KSPBuildSolution_FGMRES() 413 PetscCall(PetscMalloc1(fgmres->max_k, &fgmres->nrs)); in KSPBuildSolution_FGMRES() 416 PetscCall(KSPFGMRESBuildSoln(fgmres->nrs, ksp->vec_sol, ptr, ksp, fgmres->it)); in KSPBuildSolution_FGMRES() 568 fgmres->nrs = NULL; in KSPCreate_FGMRES()
|
| /petsc/src/ksp/ksp/impls/gmres/lgmres/ |
| H A D | lgmres.c | 353 static PetscErrorCode KSPLGMRESBuildSoln(PetscScalar *nrs, Vec vguess, Vec vdest, KSP ksp, PetscInt… in KSPLGMRESBuildSoln() argument 394 nrs[it] = *GRS(it) / *HH(it, it); in KSPLGMRESBuildSoln() 396 nrs[it] = 0.0; in KSPLGMRESBuildSoln() 402 for (j = k + 1; j <= it; j++) tt = tt - *HH(k, j) * nrs[j]; in KSPLGMRESBuildSoln() 403 nrs[k] = tt / *HH(k, k); in KSPLGMRESBuildSoln() 410 PetscCall(VecMAXPBY(VEC_TEMP, it + 1, nrs, 0, &VEC_VV(0))); in KSPLGMRESBuildSoln() 413 PetscCall(VecMAXPBY(VEC_TEMP, it_arnoldi, nrs, 0, &VEC_VV(0))); in KSPLGMRESBuildSoln() 423 PetscCall(VecAXPY(VEC_TEMP, nrs[it_arnoldi + ii], AUGVEC(spot))); in KSPLGMRESBuildSoln() 547 if (!lgmres->nrs) { in KSPBuildSolution_LGMRES() 549 PetscCall(PetscMalloc1(lgmres->max_k, &lgmres->nrs)); in KSPBuildSolution_LGMRES() [all …]
|
| /petsc/src/ksp/ksp/impls/gmres/pipefgmres/ |
| H A D | pipefgmres.c | 342 static PetscErrorCode KSPPIPEFGMRESBuildSoln(PetscScalar *nrs, Vec vguess, Vec vdest, KSP ksp, Pets… in KSPPIPEFGMRESBuildSoln() argument 357 if (*HH(it, it) != 0.0) nrs[it] = *RS(it) / *HH(it, it); in KSPPIPEFGMRESBuildSoln() 358 else nrs[it] = 0.0; in KSPPIPEFGMRESBuildSoln() 362 for (j = k + 1; j <= it; j++) tt -= *HH(k, j) * nrs[j]; in KSPPIPEFGMRESBuildSoln() 363 nrs[k] = tt / *HH(k, k); in KSPPIPEFGMRESBuildSoln() 367 PetscCall(VecMAXPBY(VEC_TEMP, it + 1, nrs, 0, &PREVEC(0))); in KSPPIPEFGMRESBuildSoln() 457 if (!pipefgmres->nrs) { in KSPBuildSolution_PIPEFGMRES() 459 PetscCall(PetscMalloc1(pipefgmres->max_k, &pipefgmres->nrs)); in KSPBuildSolution_PIPEFGMRES() 462 PetscCall(KSPPIPEFGMRESBuildSoln(pipefgmres->nrs, ksp->vec_sol, ptr, ksp, pipefgmres->it)); in KSPBuildSolution_PIPEFGMRES() 594 pipefgmres->nrs = NULL; in KSPCreate_PIPEFGMRES()
|
| /petsc/src/ksp/ksp/impls/gmres/ |
| H A D | gmres.c | 258 PetscCall(PetscFree(gmres->nrs)); in KSPReset_GMRES() 299 static PetscErrorCode KSPGMRESBuildSoln(PetscScalar *nrs, Vec vs, Vec vdest, KSP ksp, PetscInt it) in KSPGMRESBuildSoln() argument 314 nrs[it] = *GRS(it) / *HH(it, it); in KSPGMRESBuildSoln() 325 for (j = k + 1; j <= it; j++) tt = tt - *HH(k, j) * nrs[j]; in KSPGMRESBuildSoln() 332 nrs[k] = tt / *HH(k, k); in KSPGMRESBuildSoln() 336 PetscCall(VecMAXPBY(VEC_TEMP, it + 1, nrs, 0, &VEC_VV(0))); in KSPGMRESBuildSoln() 432 if (!gmres->nrs) { in KSPBuildSolution_GMRES() 434 PetscCall(PetscMalloc1(gmres->max_k, &gmres->nrs)); in KSPBuildSolution_GMRES() 437 PetscCall(KSPGMRESBuildSoln(gmres->nrs, ksp->vec_sol, ptr, ksp, gmres->it)); in KSPBuildSolution_GMRES() 913 gmres->nrs = NULL; in KSPCreate_GMRES()
|
| H A D | gmresimpl.h | 46 …PetscScalar *nrs; /* temp that holds the coefficients of the Krylov vectors that form the…
|
| /petsc/src/ksp/ksp/impls/gmres/agmres/ |
| H A D | agmres.c | 46 PetscCall(PetscMalloc3(N + 1, &agmres->tau, lwork, &agmres->work, N + 1, &agmres->nrs)); in KSPSetUp_AGMRES() 361 PetscCall(PetscArrayzero(agmres->nrs, N)); in KSPAGMRESBuildSoln() 363 agmres->nrs[0] = ksp->rnorm; in KSPAGMRESBuildSoln() 364 …, "T", &lC, &nrhs, &KspSize, agmres->hh_origin, &ldH, agmres->tau, agmres->nrs, &N, agmres->work, … in KSPAGMRESBuildSoln() 366 ksp->rnorm = PetscAbsScalar(agmres->nrs[KspSize]); in KSPAGMRESBuildSoln() 368 …s", LAPACKtrtrs_("U", "N", "N", &KspSize, &nrhs, agmres->hh_origin, &ldH, agmres->nrs, &N, &info)); in KSPAGMRESBuildSoln() 371 PetscCall(VecMAXPBY(VEC_TMP, max_k, agmres->nrs, 0, &VEC_V(0))); in KSPAGMRESBuildSoln() 372 if (!agmres->DeflPrecond) PetscCall(VecMAXPY(VEC_TMP, r, &agmres->nrs[max_k], agmres->U)); in KSPAGMRESBuildSoln() 497 PetscCall(PetscFree3(agmres->tau, agmres->work, agmres->nrs)); in KSPDestroy_AGMRES() 656 agmres->nrs = NULL; in KSPCreate_AGMRES()
|
| /petsc/src/ksp/ksp/impls/gmres/dgmres/ |
| H A D | dgmres.c | 319 static PetscErrorCode KSPDGMRESBuildSoln(PetscScalar *nrs, Vec vs, Vec vdest, KSP ksp, PetscInt it) in KSPDGMRESBuildSoln() argument 334 if (*HH(it, it) != 0.0) nrs[it] = *GRS(it) / *HH(it, it); in KSPDGMRESBuildSoln() 335 else nrs[it] = 0.0; in KSPDGMRESBuildSoln() 340 for (j = k + 1; j <= it; j++) tt = tt - *HH(k, j) * nrs[j]; in KSPDGMRESBuildSoln() 342 nrs[k] = tt / *HH(k, k); in KSPDGMRESBuildSoln() 346 PetscCall(VecMAXPBY(VEC_TEMP, it + 1, nrs, 0, &VEC_VV(0))); in KSPDGMRESBuildSoln() 448 if (!dgmres->nrs) { in KSPBuildSolution_DGMRES() 450 PetscCall(PetscMalloc1(dgmres->max_k, &dgmres->nrs)); in KSPBuildSolution_DGMRES() 452 PetscCall(KSPDGMRESBuildSoln(dgmres->nrs, ksp->vec_sol, ptr, ksp, dgmres->it)); in KSPBuildSolution_DGMRES() 1068 dgmres->nrs = NULL; in KSPCreate_DGMRES()
|
| /petsc/src/ksp/pc/impls/bddc/ |
| H A D | bddcgraph.c | 439 PetscInt nr, nmr, nrs, ncc, cum_queue; in PCBDDCGraphComputeConnectedComponents() local 456 PetscCall(PetscSFGetGraph(graph->interface_subset_sf, &nrs, NULL, NULL, NULL)); in PCBDDCGraphComputeConnectedComponents() 459 PetscCall(PetscCalloc2(nmr, &mrlabels, nrs, &rootlabels)); in PCBDDCGraphComputeConnectedComponents()
|