![]() |
OGS
|
|
Interface for a first-order implicit quasi-linear ODE.
Definition at line 39 of file ODESystem.h.
#include <ODESystem.h>
Public Types | |
| using | Index = MathLib::MatrixVectorTraits<GlobalMatrix>::Index |
Public Member Functions | |
| virtual void | preAssemble (const double t, double const dt, GlobalVector const &x)=0 |
Calls process' pre-assembly with the provided state (t, dt, x). | |
| virtual std::vector< GlobalIndexType > | getIndicesOfResiduumWithoutInitialCompensation () const |
| virtual void | setReleaseNodalForces (GlobalVector const *, int 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 |
Static Public Attributes | |
| static const ODESystemTag | ODETag |
| A tag indicating the type of ODE. | |
| using NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard >::Index = MathLib::MatrixVectorTraits<GlobalMatrix>::Index |
Definition at line 71 of file ODESystem.h.
|
pure virtual |
Assemble M, K and b at the provided state (t, x).
|
inlinevirtual |
Definition at line 54 of file ODESystem.h.
|
inlinevirtual |
Provides known solutions (Dirichlet boundary conditions) vector for the ode system at the given time t and process_id.
Definition at line 76 of file ODESystem.h.
|
pure virtual |
Calls process' pre-assembly with the provided state (t, dt, x).
Implemented in NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Newton >.
|
inlinevirtual |
Definition at line 59 of file ODESystem.h.
|
inlinevirtual |
Indicates whether the assembled matrices change only upon timestep change. This enables some optimizations in the linear solver, but the user must be 100 % sure that she uses this option correctly.
Definition at line 89 of file ODESystem.h.
|
inlinevirtual |
Definition at line 82 of file ODESystem.h.
|
static |
A tag indicating the type of ODE.
Definition at line 44 of file ODESystem.h.