![]() |
OGS 6.2.1-710-gde5194452.dirty.20191209112531
|
GlobalMatrix translator for first order implicit quasi-linear ODEs, used with the ForwardEuler scheme.
Definition at line 155 of file MatrixTranslator.h.
#include <MatrixTranslator.h>
Public Member Functions | |
MatrixTranslatorForwardEuler (ForwardEuler const &timeDisc) | |
void | computeA (GlobalMatrix const &M, GlobalMatrix const &, GlobalMatrix &A) const override |
Computes ![]() | |
void | computeRhs (const GlobalMatrix &M, const GlobalMatrix &K, const GlobalVector &b, GlobalVector &rhs) const override |
Computes ![]() | |
void | computeResidual (GlobalMatrix const &M, GlobalMatrix const &K, GlobalVector const &b, GlobalVector const &x_new_timestep, GlobalVector const &xdot, GlobalVector &res) const override |
Computes ![]() | |
void | computeJacobian (GlobalMatrix const &Jac_in, GlobalMatrix &Jac_out) const override |
![]() | |
virtual void | pushMatrices (GlobalMatrix const &, GlobalMatrix const &, GlobalVector const &) |
virtual | ~MatrixTranslator ()=default |
Private Attributes | |
ForwardEuler const & | _fwd_euler |
the time discretization used. More... | |
std::size_t | _tmp_id = 0u |
ID of the vector storing intermediate computations. More... | |
|
inlineexplicit |
Constructs a new instance.
timeDisc | the time discretization scheme to be used. |
Definition at line 163 of file MatrixTranslator.h.
|
overridevirtual |
Computes .
Implements NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear >.
Definition at line 70 of file MatrixTranslator.cpp.
References MathLib::LinAlg::copy(), and MathLib::LinAlg::scale().
|
overridevirtual |
Writes Jac_in
to Jac_out
.
Implements NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear >.
Definition at line 117 of file MatrixTranslator.cpp.
References MathLib::LinAlg::copy(), and NumLib::FirstOrderImplicitQuasilinear.
|
overridevirtual |
Computes .
Implements NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear >.
Definition at line 102 of file MatrixTranslator.cpp.
References MathLib::LinAlg::axpy(), MathLib::LinAlg::matMult(), and MathLib::LinAlg::matMultAdd().
|
overridevirtual |
Computes .
Implements NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear >.
Definition at line 83 of file MatrixTranslator.cpp.
References MathLib::LinAlg::aypx(), NumLib::VectorProvider::getVector(), MathLib::LinAlg::matMult(), MathLib::LinAlg::matMultAdd(), NumLib::GlobalVectorProvider::provider, and NumLib::VectorProvider::releaseVector().
|
private |
the time discretization used.
Definition at line 189 of file MatrixTranslator.h.
|
mutableprivate |
ID of the vector storing intermediate computations.
Definition at line 192 of file MatrixTranslator.h.