20 { f.vec() } -> std::same_as<Vector&>;
33template<VecField Field,
typename Observer>
36 for (
int s = 0; s < p.
nstep; ++s) {
39 obs(s + 1, (s + 1) * p.
dt, u);
44template<VecField Field>
46 for (
int s = 0; s < p.
nstep; ++s) {
BasicVector & vec()
Satisfy the VecField concept: a Vector is its own underlying vector.
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
Parameters for fixed-step implicit integration.
double dt
step size (reported to observer as t)
int nstep
number of time steps