158 std::unique_ptr<GlobalVector>
_dx;
187 double _t = std::numeric_limits<double>::quiet_NaN();
189 std::numeric_limits<double>::quiet_NaN();
Global vector based on Eigen vector.
double getCurrentTime() const override
void setInitialState(const double t0) override
Sets the initial condition.
void getWeightedOldX(GlobalVector &y, GlobalVector const &x_old) const override
Returns .
double getNewXWeight() const override
Returns .
void nextTimestep(const double t, const double delta_t) override
double _delta_t
the timestep size
double getCurrentTimeIncrement() const override
void getXdot(GlobalVector const &x_at_new_timestep, GlobalVector const &x_old, GlobalVector &xdot) const
double computeRelativeChangeFromPreviousTimestep(GlobalVector const &x, GlobalVector const &x_old, MathLib::VecNormType norm_type)
virtual void setInitialState(const double t0)=0
Sets the initial condition.
virtual double getCurrentTimeIncrement() const =0
virtual void nextTimestep(const double t, const double delta_t)=0
std::unique_ptr< GlobalVector > _dx
Used to store .
TimeDiscretization()=default
virtual double getNewXWeight() const =0
Returns .
virtual double getCurrentTime() const =0
virtual ~TimeDiscretization()=default
virtual void getWeightedOldX(GlobalVector &y, GlobalVector const &x_old) const =0
Returns .
void scale(PETScVector &x, double const a)
void copy(PETScVector const &x, PETScVector &y)
void axpby(PETScVector &y, double const a, double const b, PETScVector const &x)
VecNormType
Norm type. Not declared as class type in order to use the members as integers.