Loading...
Searching...
No Matches
Opm::PressureTransferPolicy< FineOperator, Communication, Scalar, transpose > Class Template Reference
Inheritance diagram for Opm::PressureTransferPolicy< FineOperator, Communication, Scalar, transpose >:

## Public Types

using | CoarseOperator = typename Details::CoarseOperatorType<Scalar,Communication>
using | ParentType = Dune::Amg::LevelTransferPolicyCpr<FineOperator, CoarseOperator>
using | ParallelInformation = Communication
using | FineVectorType = typename FineOperator::domain_type
Public Types inherited from Dune::Amg::LevelTransferPolicyCpr< FineOperator, Details::CoarseOperatorType< Scalar, Communication > >
typedef FineOperator | FineOperatorType
| The linear operator of the finel level system.
typedef FineOperatorType::range_type | FineRangeType
| The type of the range of the fine level operator.
typedef FineOperatorType::domain_type | FineDomainType
| The type of the domain of the fine level operator.
typedef Details::CoarseOperatorType< Scalar, Communication > | CoarseOperatorType
| The linear operator of the finel level system.
typedef CoarseOperatorType::range_type | CoarseRangeType
| The type of the range of the coarse level operator.
typedef CoarseOperatorType::domain_type | CoarseDomainType
| The type of the domain of the coarse level operator.

## Public Member Functions

| PressureTransferPolicy (const Communication &comm, const FineVectorType &weights, const PropertyTree &, int pressure_var_index)
void | createCoarseLevelSystem (const FineOperator &fineOperator) override
| Algebraically creates the coarse level system.
void | calculateCoarseEntries (const FineOperator &fineOperator) override
| ?
void | moveToCoarseLevel (const typename ParentType::FineRangeType &fine) override
void | moveToFineLevel (typename ParentType::FineDomainType &fine) override
| Updates the fine level linear system after the correction of the coarse levels system.
PressureTransferPolicy * | clone () const override
| Clone the current object.
const Communication & | getCoarseLevelCommunication () const
std::size_t | getPressureIndex () const
Public Member Functions inherited from Dune::Amg::LevelTransferPolicyCpr< FineOperator, Details::CoarseOperatorType< Scalar, Communication > >
std::shared_ptr< CoarseOperatorType > & | getCoarseLevelOperator ()
| Get the coarse level operator.
CoarseRangeType & | getCoarseLevelRhs ()
| Get the coarse level right hand side.
CoarseDomainType & | getCoarseLevelLhs ()
| Get the coarse level left hand side.
virtual void | moveToCoarseLevel (const FineRangeType &fineRhs)=0
| Transfers the data to the coarse level.
virtual | ~LevelTransferPolicyCpr ()
| Destructor.

## Additional Inherited Members

Protected Attributes inherited from Dune::Amg::LevelTransferPolicyCpr< FineOperator, Details::CoarseOperatorType< Scalar, Communication > >
CoarseRangeType | rhs_
| The coarse level rhs.
CoarseDomainType | lhs_
| The coarse level lhs.
std::shared_ptr< CoarseOperatorType > | operator_
| the coarse level linear operator.

## Member Function Documentation

## calculateCoarseEntries()

template<class FineOperator, class Communication, class Scalar, bool transpose = false>

void Opm::PressureTransferPolicy< FineOperator, Communication, Scalar, transpose >::calculateCoarseEntries | ( | const FineOperator & | fineOperator | ) |

inline override virtual

?

??.

Implements Dune::Amg::LevelTransferPolicyCpr< FineOperator, Details::CoarseOperatorType< Scalar, Communication > >.

## clone()

template<class FineOperator, class Communication, class Scalar, bool transpose = false>

PressureTransferPolicy * Opm::PressureTransferPolicy< FineOperator, Communication, Scalar, transpose >::clone | ( |  | ) | const

inline override virtual

Clone the current object.

Implements Dune::Amg::LevelTransferPolicyCpr< FineOperator, Details::CoarseOperatorType< Scalar, Communication > >.

## createCoarseLevelSystem()

template<class FineOperator, class Communication, class Scalar, bool transpose = false>

void Opm::PressureTransferPolicy< FineOperator, Communication, Scalar, transpose >::createCoarseLevelSystem | ( | const FineOperator & | fineOperator | ) |

inline override virtual

Algebraically creates the coarse level system.

After returning from this function the coarse level operator can be accessed using getCoarseLevelOperator().

Parameters

  fineOperator | The operator of the fine level system.

Implements Dune::Amg::LevelTransferPolicyCpr< FineOperator, Details::CoarseOperatorType< Scalar, Communication > >.

## moveToFineLevel()

template<class FineOperator, class Communication, class Scalar, bool transpose = false>

void Opm::PressureTransferPolicy< FineOperator, Communication, Scalar, transpose >::moveToFineLevel | ( | typename ParentType::FineDomainType & | fineLhs | ) |

inline override virtual

Updates the fine level linear system after the correction of the coarse levels system.

After returning from this function the coarse level correction will have been added to fine level system.

Parameters

  [in,out] | fineLhs | The left hand side of the fine level to update with the coarse level correction.

Implements Dune::Amg::LevelTransferPolicyCpr< FineOperator, Details::CoarseOperatorType< Scalar, Communication > >.

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

- opm/simulators/linalg/PressureTransferPolicy.hpp