OGS
ProcessLib::AbstractJacobianAssembler Class Referenceabstract

Detailed Description

Base class for Jacobian assemblers.

Definition at line 18 of file AbstractJacobianAssembler.h.

#include <AbstractJacobianAssembler.h>

Inheritance diagram for ProcessLib::AbstractJacobianAssembler:
[legend]

Public Member Functions

virtual void assembleWithJacobian (std::size_t const mesh_item_id, LocalAssemblerInterface &local_assembler, double const t, double const dt, std::vector< double > const &local_x, std::vector< double > const &local_x_prev, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data)=0
virtual void assembleWithJacobianForStaggeredScheme (LocalAssemblerInterface &, double const, double const, Eigen::VectorXd const &, Eigen::VectorXd const &, int const, std::vector< double > &, std::vector< double > &)
virtual std::unique_ptr< AbstractJacobianAssemblercopy () const =0
virtual ~AbstractJacobianAssembler ()=default
virtual void checkPerturbationSize (int const max_non_deformation_dofs_per_node) const =0
virtual void setNonDeformationComponentIDs (std::vector< int > const &non_deformation_component_ids)=0
virtual void setNonDeformationComponentIDsNoSizeCheck (std::vector< int > const &non_deformation_component_ids)=0
virtual bool needsPicardAssembly () const =0
virtual void preIteration (const unsigned)

Constructor & Destructor Documentation

◆ ~AbstractJacobianAssembler()

virtual ProcessLib::AbstractJacobianAssembler::~AbstractJacobianAssembler ( )
virtualdefault

Member Function Documentation

◆ assembleWithJacobian()

virtual void ProcessLib::AbstractJacobianAssembler::assembleWithJacobian ( std::size_t const mesh_item_id,
LocalAssemblerInterface & local_assembler,
double const t,
double const dt,
std::vector< double > const & local_x,
std::vector< double > const & local_x_prev,
std::vector< double > & local_b_data,
std::vector< double > & local_Jac_data )
pure virtual

◆ assembleWithJacobianForStaggeredScheme()

virtual void ProcessLib::AbstractJacobianAssembler::assembleWithJacobianForStaggeredScheme ( LocalAssemblerInterface & ,
double const ,
double const ,
Eigen::VectorXd const & ,
Eigen::VectorXd const & ,
int const ,
std::vector< double > & ,
std::vector< double > &  )
inlinevirtual

Assembles the Jacobian, the matrices \(M\) and \(K\), and the vector \(b\) with coupling.

Reimplemented in ProcessLib::AnalyticalJacobianAssembler.

Definition at line 33 of file AbstractJacobianAssembler.h.

39 {
40 // TODO make pure virtual.
41 OGS_FATAL("not implemented.");
42 }
#define OGS_FATAL(...)
Definition Error.h:10

References OGS_FATAL.

Referenced by anonymous_namespace{ParallelVectorMatrixAssembler.cpp}::assembleWithJacobianForStaggeredSchemeOneElement().

◆ checkPerturbationSize()

virtual void ProcessLib::AbstractJacobianAssembler::checkPerturbationSize ( int const max_non_deformation_dofs_per_node) const
pure virtual

Checks that the number of specified perturbations is not smaller than the maximum number of non-deformation degrees of freedom per node.

Implemented in ProcessLib::AnalyticalJacobianAssembler, ProcessLib::CompareJacobiansJacobianAssembler, and ProcessLib::NumericalJacobianAssembler.

◆ copy()

◆ needsPicardAssembly()

virtual bool ProcessLib::AbstractJacobianAssembler::needsPicardAssembly ( ) const
pure virtual

◆ preIteration()

virtual void ProcessLib::AbstractJacobianAssembler::preIteration ( const unsigned )
inlinevirtual

Reimplemented in ProcessLib::CompareJacobiansJacobianAssembler.

Definition at line 63 of file AbstractJacobianAssembler.h.

63{};

◆ setNonDeformationComponentIDs()

virtual void ProcessLib::AbstractJacobianAssembler::setNonDeformationComponentIDs ( std::vector< int > const & non_deformation_component_ids)
pure virtual

◆ setNonDeformationComponentIDsNoSizeCheck()

virtual void ProcessLib::AbstractJacobianAssembler::setNonDeformationComponentIDsNoSizeCheck ( std::vector< int > const & non_deformation_component_ids)
pure virtual

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