OGS  v6.3.3
NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard > Class Referenceabstract

Detailed Description

Interface for a first-order implicit quasi-linear ODE.

See also
ODESystemTag::FirstOrderImplicitQuasilinear

Definition at line 40 of file ODESystem.h.

#include <ODESystem.h>

Inheritance diagram for NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard >:
Collaboration diagram for NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard >:

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). More...
 
virtual void assemble (const double t, double const dt, std::vector< GlobalVector * > const &x, std::vector< GlobalVector * > const &xdot, int const process_id, GlobalMatrix &M, GlobalMatrix &K, GlobalVector &b)=0
 Assemble M, K and b at the provided state (t, x). More...
 
virtual std::vector< NumLib::IndexValueVector< Index > > const * getKnownSolutions (double const, GlobalVector const &, int const) const
 
- Public Member Functions inherited from NumLib::EquationSystem
virtual bool isLinear () const =0
 
virtual void preIteration (const unsigned iter, GlobalVector const &x)
 
virtual IterationResult postIteration (GlobalVector const &x)
 
- Public Member Functions inherited from NumLib::MatrixSpecificationsProvider
virtual MathLib::MatrixSpecifications getMatrixSpecifications (const int process_id) const =0
 
virtual ~MatrixSpecificationsProvider ()=default
 

Static Public Attributes

static const ODESystemTag ODETag
 A tag indicating the type of ODE. More...
 

Member Typedef Documentation

◆ Index

Member Function Documentation

◆ assemble()

virtual void NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard >::assemble ( const double  t,
double const  dt,
std::vector< GlobalVector * > const &  x,
std::vector< GlobalVector * > const &  xdot,
int const  process_id,
GlobalMatrix &  M,
GlobalMatrix &  K,
GlobalVector &  b 
)
pure virtual

Assemble M, K and b at the provided state (t, x).

◆ getKnownSolutions()

virtual std::vector<NumLib::IndexValueVector<Index> > const* NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard >::getKnownSolutions ( double const  ,
GlobalVector const &  ,
int const   
) const
inlinevirtual

Provides known solutions (Dirichlet boundary conditions) vector for the ode system at the given time t and process_id.

Definition at line 64 of file ODESystem.h.

66  {
67  return nullptr; // by default there are no known solutions
68  }

◆ preAssemble()

virtual void NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard >::preAssemble ( const double  t,
double const  dt,
GlobalVector const &  x 
)
pure virtual

Calls process' pre-assembly with the provided state (t, dt, x).

Implemented in NumLib::ODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Newton >.

Member Data Documentation

◆ ODETag

Initial value:

A tag indicating the type of ODE.

Definition at line 45 of file ODESystem.h.


The documentation for this class was generated from the following file: