My Project
Loading...
Searching...
No Matches
Opm::PressureBhpTransferPolicy< FineOperator, Communication, Scalar, transpose > Class Template Reference
Inheritance diagram for Opm::PressureBhpTransferPolicy< FineOperator, Communication, Scalar, transpose >:
Dune::Amg::LevelTransferPolicyCpr< FineOperator, Details::CoarseOperatorType< Scalar, Communication > >

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

 PressureBhpTransferPolicy (const Communication &comm, const FineVectorType &weights, const PropertyTree &prm, const std::size_t pressureIndex)
 
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.
 
PressureBhpTransferPolicyclone () const override
 Clone the current object.
 
const Communication & getCoarseLevelCommunication () const
 
- Public Member Functions inherited from Dune::Amg::LevelTransferPolicyCpr< FineOperator, Details::CoarseOperatorType< Scalar, Communication > >
std::shared_ptr< CoarseOperatorType > & getCoarseLevelOperator ()
 Get the coarse level operator.
 
CoarseRangeTypegetCoarseLevelRhs ()
 Get the coarse level right hand side.
 
CoarseDomainTypegetCoarseLevelLhs ()
 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< CoarseOperatorTypeoperator_
 the coarse level linear operator.
 

Member Function Documentation

◆ calculateCoarseEntries()

template<class FineOperator , class Communication , class Scalar , bool transpose = false>
void Opm::PressureBhpTransferPolicy< FineOperator, Communication, Scalar, transpose >::calculateCoarseEntries ( const FineOperator &  fineOperator)
inlineoverridevirtual

◆ clone()

template<class FineOperator , class Communication , class Scalar , bool transpose = false>
PressureBhpTransferPolicy * Opm::PressureBhpTransferPolicy< FineOperator, Communication, Scalar, transpose >::clone ( ) const
inlineoverridevirtual

◆ createCoarseLevelSystem()

template<class FineOperator , class Communication , class Scalar , bool transpose = false>
void Opm::PressureBhpTransferPolicy< FineOperator, Communication, Scalar, transpose >::createCoarseLevelSystem ( const FineOperator &  fineOperator)
inlineoverridevirtual

Algebraically creates the coarse level system.

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

Parameters
fineOperatorThe 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::PressureBhpTransferPolicy< FineOperator, Communication, Scalar, transpose >::moveToFineLevel ( typename ParentType::FineDomainType fineLhs)
inlineoverridevirtual

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]fineLhsThe 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: