OGS
ProcessLib::AnalyticalJacobianAssembler Class Referencefinal

Detailed Description

Assembles the Jacobian matrix using a provided "analytical" method from the local assembler.

Definition at line 25 of file AnalyticalJacobianAssembler.h.

#include <AnalyticalJacobianAssembler.h>

Inheritance diagram for ProcessLib::AnalyticalJacobianAssembler:
[legend]
Collaboration diagram for ProcessLib::AnalyticalJacobianAssembler:
[legend]

Public Member Functions

void assembleWithJacobian (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_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data) override
 
void assembleWithJacobianForStaggeredScheme (LocalAssemblerInterface &local_assembler, double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_x_prev, int const process_id, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data) override
 
std::unique_ptr< AbstractJacobianAssemblercopy () const override
 
- Public Member Functions inherited from ProcessLib::AbstractJacobianAssembler
virtual ~AbstractJacobianAssembler ()=default
 

Member Function Documentation

◆ assembleWithJacobian()

void ProcessLib::AnalyticalJacobianAssembler::assembleWithJacobian ( 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_M_data,
std::vector< double > & local_K_data,
std::vector< double > & local_b_data,
std::vector< double > & local_Jac_data )
overridevirtual

Assembles the Jacobian, the matrices \(M\) and \(K\), and the vector \(b\). In this implementation the call is only forwarded to the respective method of the given local_assembler.

Implements ProcessLib::AbstractJacobianAssembler.

Definition at line 17 of file AnalyticalJacobianAssembler.cpp.

22{
23 local_assembler.assembleWithJacobian(t, dt, local_x, local_x_prev,
24 local_M_data, local_K_data,
25 local_b_data, local_Jac_data);
26}

References ProcessLib::LocalAssemblerInterface::assembleWithJacobian().

◆ assembleWithJacobianForStaggeredScheme()

void ProcessLib::AnalyticalJacobianAssembler::assembleWithJacobianForStaggeredScheme ( LocalAssemblerInterface & ,
double const ,
double const ,
Eigen::VectorXd const & ,
Eigen::VectorXd const & ,
int const ,
std::vector< double > & ,
std::vector< double > & ,
std::vector< double > & ,
std::vector< double > &  )
overridevirtual

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

Reimplemented from ProcessLib::AbstractJacobianAssembler.

Definition at line 28 of file AnalyticalJacobianAssembler.cpp.

34{
35 local_assembler.assembleWithJacobianForStaggeredScheme(
36 t, dt, local_x, local_x_prev, process_id, local_M_data, local_K_data,
37 local_b_data, local_Jac_data);
38}

References ProcessLib::LocalAssemblerInterface::assembleWithJacobianForStaggeredScheme().

◆ copy()

std::unique_ptr< AbstractJacobianAssembler > ProcessLib::AnalyticalJacobianAssembler::copy ( ) const
overridevirtual

Implements ProcessLib::AbstractJacobianAssembler.

Definition at line 40 of file AnalyticalJacobianAssembler.cpp.

42{
43 return std::make_unique<AnalyticalJacobianAssembler>(*this);
44}

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