MaMiCo 1.2
|
#include <PintableMacroSolver.h>
Public Types | |
enum class | Mode { supervising , coupling } |
using | State = PintableMacroSolverState |
Public Member Functions | |
virtual std::unique_ptr< State > | getState ()=0 |
virtual void | setState (const std::unique_ptr< State > &, int cycle=0)=0 |
virtual std::unique_ptr< State > | operator() (const std::unique_ptr< State > &, int cycle=0)=0 |
virtual Mode | getMode () const =0 |
virtual std::unique_ptr< PintableMacroSolver > | getSupervisor (int num_cycles, double visc_multiplier=1) const =0 |
virtual void | print (std::ostream &os) const =0 |
virtual double | get_avg_vel (const std::unique_ptr< State > &state) const |
Friends | |
std::ostream & | operator<< (std::ostream &os, const coupling::interface::PintableMacroSolver &s) |
Interface for a macroscopic solver who supports parallel-in-time coupled simulations. This requires:
All macroscopic solvers which want to support PinT have to implement this interface.
|
inlinevirtual |
Useful to test if a solver behaves as expected, similar to a "det(state)": should return a single numeric value that characterises the state object, by computing the mean flow velocity
Reimplemented in coupling::solvers::LBCouetteSolver.
|
pure virtual |
returns either Mode.supervising or Mode.coupling
Implemented in coupling::solvers::LBCouetteSolver.
|
pure virtual |
This method should return all information that is required to define the full state of CFD on the subdomain of this rank
Implemented in coupling::solvers::LBCouetteSolver.
|
pure virtual |
assuming this is called on a PintableMacroSolver in coupling mode, this creates a new supervisor instance and returnes it
Implemented in coupling::solvers::LBCouetteSolver.
|
pure virtual |
This advances the macroSolver by one time step, starting from the given state
Implemented in coupling::solvers::LBCouetteSolver.
|
pure virtual |
this is expected to print information about the mode and type of this solver object to os
Implemented in coupling::solvers::LBCouetteSolver.
|
pure virtual |
This method fully reset / initialize the CFD solver to the given state
Implemented in coupling::solvers::LBCouetteSolver.