|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
#include <anderson_accelerator.hpp>
Public Types | |
| using | Core = peclet::core::solver::AndersonCore |
Public Member Functions | |
| AndersonAccelerator (Solver< Grid > &solver, int window=5, double mixing=1.0) | |
| Builds the march state (throws std::runtime_error on a refused configuration, §5.3) and allocates the history ((2m+3)·n_s·8·n_pad bytes, §6.3; throws std::runtime_error naming the bytes when it does not fit). | |
| AndersonAccelerator (const AndersonAccelerator &)=delete | |
| AndersonAccelerator & | operator= (const AndersonAccelerator &)=delete |
| void | step (bool accelerate) |
One map evaluation (§4.3): the lazy mix when accelerate and a mix is pending, then solver.step(). | |
| const char * | statusName () const |
| const std::string & | reason () const |
| double | residual () const |
| Relative velocity residual of the last evaluation (design §3.2); +inf before the first. | |
| int | numRestarts () const |
| int | numResets () const |
| int | numColumns () const |
| int | window () const |
| double | mixing () const |
| std::size_t | memoryBytes () const |
| Bytes of the history (= Core::memoryBytesFor(window, n_s, n_pad), design §6.3). | |
| double | seconds () const |
| Cumulative wall time spent in the accelerator, solver.step() excluded (device-fenced at both ends of each part; the instrument of gate G8), seconds, this rank. | |
| void | reset () |
| void | disable () |
| const Core & | core () const |
| The core itself (tests: γ, engagement, the descriptor). | |
Definition at line 40 of file anderson_accelerator.hpp.
| using peclet::flow::AndersonAccelerator< Grid >::Core = peclet::core::solver::AndersonCore |
Definition at line 42 of file anderson_accelerator.hpp.
|
inlineexplicit |
Builds the march state (throws std::runtime_error on a refused configuration, §5.3) and allocates the history ((2m+3)·n_s·8·n_pad bytes, §6.3; throws std::runtime_error naming the bytes when it does not fit).
Collective under MPI.
Definition at line 47 of file anderson_accelerator.hpp.
|
delete |
|
delete |
One map evaluation (§4.3): the lazy mix when accelerate and a mix is pending, then solver.step().
Collective under MPI.
Definition at line 121 of file anderson_accelerator.hpp.
References same().
|
inline |
Definition at line 58 of file anderson_accelerator.hpp.
|
inline |
Definition at line 59 of file anderson_accelerator.hpp.
Referenced by anderson_oracle.AndersonOracle::disable(), and anderson_oracle.AndersonOracle::step().
|
inline |
Relative velocity residual of the last evaluation (design §3.2); +inf before the first.
Definition at line 61 of file anderson_accelerator.hpp.
Referenced by anderson_oracle.AndersonOracle::step().
|
inline |
Definition at line 62 of file anderson_accelerator.hpp.
Referenced by anderson_oracle.AndersonOracle::step().
|
inline |
Definition at line 63 of file anderson_accelerator.hpp.
Referenced by anderson_oracle.AndersonOracle::step().
|
inline |
Definition at line 64 of file anderson_accelerator.hpp.
|
inline |
Definition at line 65 of file anderson_accelerator.hpp.
|
inline |
Definition at line 66 of file anderson_accelerator.hpp.
|
inline |
Bytes of the history (= Core::memoryBytesFor(window, n_s, n_pad), design §6.3).
Definition at line 68 of file anderson_accelerator.hpp.
|
inline |
Cumulative wall time spent in the accelerator, solver.step() excluded (device-fenced at both ends of each part; the instrument of gate G8), seconds, this rank.
Definition at line 71 of file anderson_accelerator.hpp.
|
inline |
Definition at line 72 of file anderson_accelerator.hpp.
Referenced by anderson_oracle.AndersonOracle::step().
|
inline |
Definition at line 73 of file anderson_accelerator.hpp.
The core itself (tests: γ, engagement, the descriptor).
Definition at line 75 of file anderson_accelerator.hpp.