Opm::Elasticity::UzawaSolver< X, Y > Class Template Reference

#include <uzawa_solver.hpp>

Inheritance diagram for Opm::Elasticity::UzawaSolver< X, Y >:
Inheritance graph

Public Types

typedef std::shared_ptr
< Dune::InverseOperator< X, Y > > 
OperatorPtr
 

Public Member Functions

 UzawaSolver (OperatorPtr &innersolver_, OperatorPtr &outersolver_, const Matrix &B_)
 Default constructor. More...
 
void apply (X &x, Y &b, double reduction, Dune::InverseOperatorResult &res)
 Apply the scheme to a vector. More...
 
void apply (X &x, Y &b, Dune::InverseOperatorResult &res)
 Apply the scheme to a vector. More...
 

Protected Attributes

OperatorPtr innersolver
 The inner solver. More...
 
OperatorPtr outersolver
 The outer solver. More...
 
const MatrixB
 The coupling matrix. More...
 

Detailed Description

template<class X, class Y>
class Opm::Elasticity::UzawaSolver< X, Y >

Template implementing an Uzawa scheme (block Gaussian-elimination) for a (symmetric indefinite) saddle-point system

Member Typedef Documentation

template<class X , class Y >
typedef std::shared_ptr<Dune::InverseOperator<X,Y> > Opm::Elasticity::UzawaSolver< X, Y >::OperatorPtr

Constructor & Destructor Documentation

template<class X , class Y >
Opm::Elasticity::UzawaSolver< X, Y >::UzawaSolver ( OperatorPtr innersolver_,
OperatorPtr outersolver_,
const Matrix B_ 
)
inline

Default constructor.

Parameters
[in]innersolver_The inner solver
[in]outersolve_The outer solver
[in]BCoupling matrix

Member Function Documentation

template<class X , class Y >
void Opm::Elasticity::UzawaSolver< X, Y >::apply ( X x,
Y b,
double  reduction,
Dune::InverseOperatorResult &  res 
)
inline

Apply the scheme to a vector.

Parameters
[in]xThe solution vector
[in]bThe load vector
[in]reductionIgnored
[in]resThe inverse operator result
template<class X , class Y >
void Opm::Elasticity::UzawaSolver< X, Y >::apply ( X x,
Y b,
Dune::InverseOperatorResult &  res 
)
inline

Member Data Documentation

template<class X , class Y >
const Matrix& Opm::Elasticity::UzawaSolver< X, Y >::B
protected

The coupling matrix.

Referenced by Opm::Elasticity::UzawaSolver< X, Y >::apply().

template<class X , class Y >
OperatorPtr Opm::Elasticity::UzawaSolver< X, Y >::innersolver
protected

The inner solver.

Referenced by Opm::Elasticity::UzawaSolver< X, Y >::apply().

template<class X , class Y >
OperatorPtr Opm::Elasticity::UzawaSolver< X, Y >::outersolver
protected

The outer solver.

Referenced by Opm::Elasticity::UzawaSolver< X, Y >::apply().


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