OGS
|
Interface for a first-order implicit quasi-linear ODE.
ODEs using this interface also provide a Jacobian in addition to the functionality of the Picard-related interface.
Definition at line 96 of file ODESystem.h.
#include <ODESystem.h>
Public Member Functions | |
void | preAssemble (const double t, double const dt, GlobalVector const &x) override=0 |
Calls process' pre-assembly with the provided state (t , dt , x ). | |
virtual void | assembleWithJacobian (const double t, double const dt, std::vector< GlobalVector * > const &x, std::vector< GlobalVector * > const &x_prev, int const process_id, GlobalVector &b, GlobalMatrix &Jac)=0 |
Public Member Functions inherited from NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard > | |
virtual std::vector< GlobalIndexType > | getIndicesOfResiduumWithoutInitialCompensation () const |
virtual void | assemble (const double t, double const dt, std::vector< GlobalVector * > const &x, std::vector< GlobalVector * > const &x_prev, int const process_id, GlobalMatrix &M, GlobalMatrix &K, GlobalVector &b)=0 |
Assemble M , K and b at the provided state (t , x ). | |
virtual std::vector< NumLib::IndexValueVector< Index > > const * | getKnownSolutions (double const, GlobalVector const &, int const) const |
virtual void | updateConstraints (GlobalVector &, GlobalVector &, int const) |
virtual bool | shouldLinearSolverComputeOnlyUponTimestepChange () const |
Public Member Functions inherited from NumLib::EquationSystem | |
virtual bool | isLinear () const =0 |
virtual bool | requiresNormalization () const =0 |
virtual void | preIteration (const unsigned iter, GlobalVector const &x) |
virtual IterationResult | postIteration (GlobalVector const &x) |
virtual MathLib::MatrixSpecifications | getMatrixSpecifications (const int process_id) const =0 |
virtual | ~EquationSystem ()=default |
Additional Inherited Members | |
Public Types inherited from NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard > | |
using | Index = MathLib::MatrixVectorTraits<GlobalMatrix>::Index |
Static Public Attributes inherited from NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard > | |
static const ODESystemTag | ODETag |
A tag indicating the type of ODE. | |
|
pure virtual |
Assemble b
and the Jacobian \( \mathtt{Jac} := \partial r/\partial x_N \) at the provided state (t
, x
).
For the meaning of the other parameters refer to the the introductory remarks on time discretization.
|
overridepure virtual |
Calls process' pre-assembly with the provided state (t
, dt
, x
).
Implements NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard >.