![]() |
OGS
v6.3.3
|
Backward Euler scheme.
Definition at line 157 of file TimeDiscretization.h.
#include <TimeDiscretization.h>
Public Member Functions | |
void | setInitialState (const double t0) override |
Sets the initial condition. More... | |
void | nextTimestep (const double t, const double delta_t) override |
double | getCurrentTime () const override |
double | getCurrentTimeIncrement () const override |
double | getNewXWeight () const override |
Returns \( \alpha = \partial \hat x / \partial x_N \). More... | |
void | getWeightedOldX (GlobalVector &y, GlobalVector const &x_old) const override |
Returns \( x_O \). More... | |
![]() | |
TimeDiscretization ()=default | |
double | computeRelativeChangeFromPreviousTimestep (GlobalVector const &x, GlobalVector const &x_old, MathLib::VecNormType norm_type) |
void | getXdot (GlobalVector const &x_at_new_timestep, GlobalVector const &x_old, GlobalVector &xdot) const |
virtual | ~TimeDiscretization ()=default |
Private Attributes | |
double | _t = std::numeric_limits<double>::quiet_NaN() |
\( t_C \) More... | |
double | _delta_t |
the timestep size More... | |
Additional Inherited Members | |
![]() | |
std::unique_ptr< GlobalVector > | _dx |
Used to store \( u_{n+1}-u_{n}\). More... | |
|
inlineoverridevirtual |
Returns \( t_C \), i.e., the time at which the equation will be assembled.
Implements NumLib::TimeDiscretization.
Definition at line 168 of file TimeDiscretization.h.
References _t.
|
inlineoverridevirtual |
Returns \( \Delta t_C \), i.e., the time at which the equation will be assembled.
Implements NumLib::TimeDiscretization.
Definition at line 169 of file TimeDiscretization.h.
References _delta_t.
|
inlineoverridevirtual |
Returns \( \alpha = \partial \hat x / \partial x_N \).
Implements NumLib::TimeDiscretization.
Definition at line 170 of file TimeDiscretization.h.
References _delta_t.
|
inlineoverridevirtual |
Returns \( x_O \).
Implements NumLib::TimeDiscretization.
Definition at line 171 of file TimeDiscretization.h.
References _delta_t, MathLib::LinAlg::copy(), and MathLib::LinAlg::scale().
|
inlineoverridevirtual |
Indicate that the computation of a new timestep is being started now.
delta_t
must not change throughout the entire time integration process! This is not checked by this code! Implements NumLib::TimeDiscretization.
Definition at line 162 of file TimeDiscretization.h.
|
inlineoverridevirtual |
Sets the initial condition.
Implements NumLib::TimeDiscretization.
Definition at line 160 of file TimeDiscretization.h.
References _t.
|
private |
the timestep size
Definition at line 183 of file TimeDiscretization.h.
Referenced by getCurrentTimeIncrement(), getNewXWeight(), getWeightedOldX(), and nextTimestep().
|
private |
\( t_C \)
Definition at line 182 of file TimeDiscretization.h.
Referenced by getCurrentTime(), nextTimestep(), and setInitialState().