OGS
NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear > Class Referenceabstract

Detailed Description

Translates matrices assembled by a provided first order implicit quasi-linear ODE to some other matrices suitable to be passed on to nonlinear solvers.

See also
ODESystemTag::FirstOrderImplicitQuasilinear

Definition at line 40 of file MatrixTranslator.h.

#include <MatrixTranslator.h>

Inheritance diagram for NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear >:
[legend]

Public Member Functions

virtual void computeA (GlobalMatrix const &M, GlobalMatrix const &K, GlobalMatrix &A) const =0
 Computes A from M and K.
 
virtual void computeRhs (const GlobalMatrix &M, const GlobalMatrix &K, const GlobalVector &b, const GlobalVector &x_prev, GlobalVector &rhs) const =0
 Computes rhs from M, K, b and x_prev.
 
virtual void normalizeAandRhs (GlobalMatrix &A, GlobalVector &b) const =0
 
virtual void computeResidual (GlobalMatrix const &M, GlobalMatrix const &K, GlobalVector const &b, double dt, GlobalVector const &x_curr, GlobalVector const &x_prev, GlobalVector &res) const =0
 
virtual void computeJacobian (GlobalMatrix const &Jac_in, GlobalMatrix &Jac_out) const =0
 Computes the Jacobian of the residual and writes it to Jac_out.
 
virtual ~MatrixTranslator ()=default
 

Constructor & Destructor Documentation

◆ ~MatrixTranslator()

Member Function Documentation

◆ computeA()

virtual void NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear >::computeA ( GlobalMatrix const & M,
GlobalMatrix const & K,
GlobalMatrix & A ) const
pure virtual

◆ computeJacobian()

virtual void NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear >::computeJacobian ( GlobalMatrix const & Jac_in,
GlobalMatrix & Jac_out ) const
pure virtual

Computes the Jacobian of the residual and writes it to Jac_out.

Implemented in NumLib::MatrixTranslatorGeneral< ODESystemTag::FirstOrderImplicitQuasilinear >.

◆ computeResidual()

virtual void NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear >::computeResidual ( GlobalMatrix const & M,
GlobalMatrix const & K,
GlobalVector const & b,
double dt,
GlobalVector const & x_curr,
GlobalVector const & x_prev,
GlobalVector & res ) const
pure virtual

Computes res from M, K, b, \( \hat x \) and \( x_N \). You might also want read the remarks on time discretization.

Implemented in NumLib::MatrixTranslatorGeneral< ODESystemTag::FirstOrderImplicitQuasilinear >.

◆ computeRhs()

virtual void NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear >::computeRhs ( const GlobalMatrix & M,
const GlobalMatrix & K,
const GlobalVector & b,
const GlobalVector & x_prev,
GlobalVector & rhs ) const
pure virtual

Computes rhs from M, K, b and x_prev.

Implemented in NumLib::MatrixTranslatorGeneral< ODESystemTag::FirstOrderImplicitQuasilinear >.

◆ normalizeAandRhs()

virtual void NumLib::MatrixTranslator< ODESystemTag::FirstOrderImplicitQuasilinear >::normalizeAandRhs ( GlobalMatrix & A,
GlobalVector & b ) const
pure virtual

Computes \( A = A^T \cdot A \), and also \( rhs = A^T \cdot rhs \).

Implemented in NumLib::MatrixTranslatorGeneral< ODESystemTag::FirstOrderImplicitQuasilinear >.


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