Lines Matching refs:ngmres

5   SNES_NGMRES *ngmres  = (SNES_NGMRES *)snes->data;  in SNESSetFromOptions_Anderson()  local
10 …scOptionsInt("-snes_anderson_m", "Number of directions", "SNES", ngmres->msize, &ngmres->msize, NU… in SNESSetFromOptions_Anderson()
11 …ptionsReal("-snes_anderson_beta", "Mixing parameter", "SNES", ngmres->andersonBeta, &ngmres->ander… in SNESSetFromOptions_Anderson()
12 …erson_restart", "Iterations before forced restart", "SNES", ngmres->restart_periodic, &ngmres->res… in SNESSetFromOptions_Anderson()
13 …on_restart_it", "Tolerance iterations before restart", "SNES", ngmres->restart_it, &ngmres->restar… in SNESSetFromOptions_Anderson()
14 …RESSetRestartType", SNESNGMRESRestartTypes, (PetscEnum)ngmres->restart_type, (PetscEnum *)&ngmres-… in SNESSetFromOptions_Anderson()
15 …ol("-snes_anderson_monitor", "Monitor steps of Anderson Mixing", "SNES", ngmres->monitor ? PETSC_T… in SNESSetFromOptions_Anderson()
16 if (monitor) ngmres->monitor = PETSC_VIEWER_STDOUT_(PetscObjectComm((PetscObject)snes)); in SNESSetFromOptions_Anderson()
23 SNES_NGMRES *ngmres = (SNES_NGMRES *)snes->data; in SNESSolve_Anderson() local
112 PetscCall(VecAXPBY(XM, 1.0 - ngmres->andersonBeta, ngmres->andersonBeta, X)); in SNESSolve_Anderson()
115 PetscCall(VecWAXPY(XM, -ngmres->andersonBeta, FM, X)); in SNESSolve_Anderson()
120 ivec = k_restart % ngmres->msize; in SNESSolve_Anderson()
121 if (ngmres->restart_type == SNES_NGMRES_RESTART_DIFFERENCE) { in SNESSolve_Anderson()
127 } else if (ngmres->restart_type == SNES_NGMRES_RESTART_PERIODIC) { in SNESSolve_Anderson()
129 if (k_restart > ngmres->restart_periodic) { in SNESSolve_Anderson()
130 …if (ngmres->monitor) PetscCall(PetscViewerASCIIPrintf(ngmres->monitor, "periodic restart after %" … in SNESSolve_Anderson()
131 restart_count = ngmres->restart_it; in SNESSolve_Anderson()
137 if (restart_count >= ngmres->restart_it) { in SNESSolve_Anderson()
138 …if (ngmres->monitor) PetscCall(PetscViewerASCIIPrintf(ngmres->monitor, "Restarted at iteration %" … in SNESSolve_Anderson()
144 if (l < ngmres->msize) l++; in SNESSolve_Anderson()
198 SNES_NGMRES *ngmres; in SNESCreate_Anderson() local
215 PetscCall(PetscNew(&ngmres)); in SNESCreate_Anderson()
216 snes->data = (void *)ngmres; in SNESCreate_Anderson()
217 ngmres->msize = 30; in SNESCreate_Anderson()
226 ngmres->additive_linesearch = NULL; in SNESCreate_Anderson()
227 ngmres->approxfunc = PETSC_FALSE; in SNESCreate_Anderson()
228 ngmres->restart_type = SNES_NGMRES_RESTART_NONE; in SNESCreate_Anderson()
229 ngmres->restart_it = 2; in SNESCreate_Anderson()
230 ngmres->restart_periodic = 30; in SNESCreate_Anderson()
231 ngmres->gammaA = 2.0; in SNESCreate_Anderson()
232 ngmres->gammaC = 2.0; in SNESCreate_Anderson()
233 ngmres->deltaB = 0.9; in SNESCreate_Anderson()
234 ngmres->epsilonB = 0.1; in SNESCreate_Anderson()
236 ngmres->andersonBeta = 1.0; in SNESCreate_Anderson()