1 #include <lifev/core/fem/BDFSecondOrderDerivative.hpp> 36 ASSERT( M_BDForder != 0,
"Order of the BDF scheme has not been set, please use BDFSecondOrderDerivative::setBDForder(const UInt order)");
40 for (
int i = 0; i < M_sizeStencil; ++i )
41 M_states.push_back(InitialData[i]);
49 M_states[M_sizeStencil-2] = M_states[M_sizeStencil-1];
50 M_states[M_sizeStencil-1] = newVector;
53 M_states[M_sizeStencil-3] = M_states[M_sizeStencil-2];
54 M_states[M_sizeStencil-2] = M_states[M_sizeStencil-1];
55 M_states[M_sizeStencil-1] = newVector;
97 ASSERT( M_timeStep != 0,
"Timestep has not been set, please use BDFSecondOrderDerivative::setTimeStep(const Real dt) ");
101 vec_old_timesteps = -1.0 * M_states[M_sizeStencil-1];
104 vec_old_timesteps = -2.0 * M_states[M_sizeStencil-1] + 0.5 * M_states[M_sizeStencil-2];
114 ASSERT( M_timeStep != 0,
"Timestep has not been set, please use BDFSecondOrderDerivative::setTimeStep(const Real dt) ");
118 vec_old_timesteps = -2.0 * M_states[M_sizeStencil-1] + 1.0 * M_states[M_sizeStencil-2];
121 vec_old_timesteps = -5.0 * M_states[M_sizeStencil-1] + 4.0 * M_states[M_sizeStencil-2] - 1.0 * M_states[M_sizeStencil-3];
void initialize(const std::vector< vector_Type > InitialData)
BDFSecondOrderDerivative(const UInt orderBDF)
void first_der_old_dts(vector_Type &vec_old_timesteps)
void updateInverseJacobian(const UInt &iQuadPt)
void second_der_old_dts(vector_Type &vec_old_timesteps)
Real coefficientFirstDerivative()
BDFSecondOrderDerivative()
void setTimeStep(const Real dt)
void shift(const vector_Type newVector)
double Real
Generic real data.
void setBDForder(const UInt order)
~BDFSecondOrderDerivative()
uint32_type UInt
generic unsigned integer (used mainly for addressing)