21 { f.vec() } -> std::same_as<Vector&>;
34template<VecField Field,
typename Observer>
37 for (
int s = 0; s < p.
nstep; ++s) {
40 obs(s + 1, (s + 1) * p.
dt, u);
45template<VecField Field>
47 for (
int s = 0; s < p.
nstep; ++s) {
Universal linear solver callable type.
void advance(Field &u, const LinearSolver &solver, ImplicitParams p, Observer &&obs)
std::function< SolverResult(const Vector &rhs, Vector &x)> LinearSolver
Callable that solves .
Parameters for fixed-step implicit integration.
double dt
step size (reported to observer as t)
int nstep
number of time steps
Dense vector storage and operations.