19template<
typename SolutionType>
28 static std::string
name() {
return "timeIntegrationFactory"; }
39 virtual std::unique_ptr<TimeIntegratorBase>
clone()
const = 0;
52template<
typename SolutionFieldType>
61 : timeIntegratorStrategy_(timeIntegrator.timeIntegratorStrategy_->clone()) {};
64 : timeIntegratorStrategy_(std::move(timeIntegrator.timeIntegratorStrategy_)) {};
67 : timeIntegratorStrategy_(
73 timeIntegratorStrategy_->solve(eqn, sol, t, dt);
78 std::unique_ptr<TimeIntegratorBase<SolutionFieldType>> timeIntegratorStrategy_;
A class representing a dictionary that stores key-value pairs.
A factory class for runtime selection of derived classes.
TimeIntegration(TimeIntegration &&timeIntegrator)
TimeIntegration(const TimeIntegration &timeIntegrator)
void solve(Expression &eqn, SolutionFieldType &sol, scalar t, scalar dt)
TimeIntegration(const Dictionary &dict)
virtual ~TimeIntegratorBase()
virtual std::unique_ptr< TimeIntegratorBase > clone() const =0
static std::string name()
virtual void solve(Expression &eqn, SolutionType &sol, scalar t, scalar dt)=0
TimeIntegratorBase(const Dictionary &dict)