Opm::Elasticity::MortarBlockEvaluator< T > Class Template Reference

#include <mortar_schur.hpp>

Inheritance diagram for Opm::Elasticity::MortarBlockEvaluator< T >:
Inheritance graph

Public Member Functions

 MortarBlockEvaluator (T &Ai_, const Matrix &B_)
 Constructor. More...
 
void apply (const Vector &x, Vector &y) const override
 Apply the multiplier block. More...
 
void applyscaleadd (field_type alpha, const Vector &x, Vector &y) const override
 Apply the multiplier block with an embedded axpy. More...
 
Dune::SolverCategory::Category category () const override
 

Protected Attributes

T & Ai
 Reference to solver or evaluator for inverse operator. More...
 
const MatrixB
 Reference to the mortar coupling matrix. More...
 
OperatorApplier< T > op
 Applier for the preconditioner / inverse solver. More...
 

Detailed Description

template<class T>
class Opm::Elasticity::MortarBlockEvaluator< T >

This implements a operator evaluation for the schur mortar-block S = B^T*A^-1*B !

Constructor & Destructor Documentation

◆ MortarBlockEvaluator()

template<class T >
Opm::Elasticity::MortarBlockEvaluator< T >::MortarBlockEvaluator ( T &  Ai_,
const Matrix B_ 
)
inline

Constructor.

Parameters
[in]AiSolver or preconditioner for A^-1
[in]BThe mortar coupling matrix

Member Function Documentation

◆ apply()

template<class T >
void Opm::Elasticity::MortarBlockEvaluator< T >::apply ( const Vector x,
Vector y 
) const
inlineoverride

Apply the multiplier block.

Parameters
[in]xThe vector to apply the operator to
[out]yThe result of the operator evaluation

References Opm::Elasticity::MortarBlockEvaluator< T >::applyscaleadd().

Referenced by Opm::Elasticity::applyMortarBlock().

◆ applyscaleadd()

template<class T >
void Opm::Elasticity::MortarBlockEvaluator< T >::applyscaleadd ( field_type  alpha,
const Vector x,
Vector y 
) const
inlineoverride

Apply the multiplier block with an embedded axpy.

Parameters
[in]alphaThe scalar to scale with
[in]xThe vector to apply the operator to
[out]yThe result of the operator evaluation

References Opm::Elasticity::MortarBlockEvaluator< T >::B, and Opm::Elasticity::MortarBlockEvaluator< T >::op.

Referenced by Opm::Elasticity::MortarBlockEvaluator< T >::apply().

◆ category()

template<class T >
Dune::SolverCategory::Category Opm::Elasticity::MortarBlockEvaluator< T >::category ( ) const
inlineoverride

Member Data Documentation

◆ Ai

template<class T >
T& Opm::Elasticity::MortarBlockEvaluator< T >::Ai
protected

Reference to solver or evaluator for inverse operator.

◆ B

template<class T >
const Matrix& Opm::Elasticity::MortarBlockEvaluator< T >::B
protected

Reference to the mortar coupling matrix.

Referenced by Opm::Elasticity::MortarBlockEvaluator< T >::applyscaleadd().

◆ op

template<class T >
OperatorApplier<T> Opm::Elasticity::MortarBlockEvaluator< T >::op
mutableprotected

Applier for the preconditioner / inverse solver.

Referenced by Opm::Elasticity::MortarBlockEvaluator< T >::applyscaleadd().


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