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

#include <mortar_schur.hpp>

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

Public Types

enum  { category =Dune::SolverCategory::sequential }
 

Public Member Functions

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

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 !

Member Enumeration Documentation

template<class T >
anonymous enum
Enumerator
category 

The category the preconditioner is part of.

Constructor & Destructor Documentation

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

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

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().

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

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().

Member Data Documentation

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

Reference to solver or evaluator for inverse operator.

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

Reference to the mortar coupling matrix.

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

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: