Opm::FlowThresholdPressure< TypeTag > Class Template Reference

This class calculates the threshold pressure for grid faces according to the Eclipse Reference Manual. More...

#include <FlowThresholdPressure.hpp>

Inheritance diagram for Opm::FlowThresholdPressure< TypeTag >:
Inheritance graph

Public Types

using CartesianIndexMapper = Dune::CartesianIndexMapper< GetPropType< TypeTag, Properties::Grid > >
 
using LookUpData = Opm::LookUpData< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView > >
 
using LookUpCartesianData = Opm::LookUpCartesianData< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView > >
 

Public Member Functions

 FlowThresholdPressure (const Simulator &simulator)
 
void finishInit ()
 Actually compute the threshold pressures over a face as a pre-compute step. More...
 
GetPropType< TypeTag, Properties::Scalar > thresholdPressure (int elem1Idx, int elem2Idx) const
 Returns the theshold pressure [Pa] for the intersection between two elements. More...
 
const std::vector< GetPropType< TypeTag, Properties::Scalar > > & data () const
 Return the raw array with the threshold pressures. More...
 
void setFromRestart (const std::vector< GetPropType< TypeTag, Properties::Scalar > > &values)
 Set the threshold pressures from a raw array. More...
 
std::vector< GetPropType< TypeTag, Properties::Scalar > > getRestartVector () const
 Returns a fully expanded vector for restart file writing. More...
 

Protected Member Functions

void applyExplicitThresholdPressures_ ()
 
void configureThpresft_ ()
 
void logPressures ()
 

Protected Attributes

const CartesianIndexMappercartMapper_
 
const GetPropType< TypeTag, Properties::GridView > & gridView_
 
const GetPropType< TypeTag, Properties::ElementMapper > & elementMapper_
 
const LookUpData lookUpData_
 
const LookUpCartesianData lookUpCartesianData_
 
const EclipseState & eclState_
 
std::vector< GetPropType< TypeTag, Properties::Scalar > > thpresDefault_
 
std::vector< GetPropType< TypeTag, Properties::Scalar > > thpres_
 
unsigned numEquilRegions_
 
std::vector< unsigned short > elemEquilRegion_
 
std::vector< GetPropType< TypeTag, Properties::Scalar > > thpresftValues_
 
std::vector< int > cartElemFaultIdx_
 
bool enableThresholdPressure_
 

Detailed Description

template<class TypeTag>
class Opm::FlowThresholdPressure< TypeTag >

This class calculates the threshold pressure for grid faces according to the Eclipse Reference Manual.

If the difference of the pressure potential between two cells is below the threshold pressure, the pressure potential difference is assumed to be zero, if it is larger than the threshold pressure, it is reduced by the threshold pressure.

Member Typedef Documentation

◆ CartesianIndexMapper

using Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::CartesianIndexMapper = Dune::CartesianIndexMapper<GetPropType< TypeTag, Properties::Grid > >
inherited

◆ LookUpCartesianData

using Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::LookUpCartesianData = Opm::LookUpCartesianData<GetPropType< TypeTag, Properties::Grid > ,GetPropType< TypeTag, Properties::GridView > >
inherited

◆ LookUpData

using Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::LookUpData = Opm::LookUpData<GetPropType< TypeTag, Properties::Grid > ,GetPropType< TypeTag, Properties::GridView > >
inherited

Constructor & Destructor Documentation

◆ FlowThresholdPressure()

template<class TypeTag >
Opm::FlowThresholdPressure< TypeTag >::FlowThresholdPressure ( const Simulator &  simulator)
inline

Member Function Documentation

◆ applyExplicitThresholdPressures_()

void Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::applyExplicitThresholdPressures_
protectedinherited

◆ configureThpresft_()

void Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::configureThpresft_
protectedinherited

◆ data()

const std::vector< GetPropType< TypeTag, Properties::Scalar > > & Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::data ( ) const
inlineinherited

Return the raw array with the threshold pressures.

This is used for the restart capability.

◆ finishInit()

◆ getRestartVector()

std::vector< GetPropType< TypeTag, Properties::Scalar > > Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::getRestartVector
inherited

Returns a fully expanded vector for restart file writing.

Returns the union of explicitly configured entries and defaulted values.

◆ logPressures()

void Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::logPressures
protectedinherited

◆ setFromRestart()

void Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::setFromRestart ( const std::vector< GetPropType< TypeTag, Properties::Scalar > > &  values)
inlineinherited

Set the threshold pressures from a raw array.

This is used for the restart capability.

◆ thresholdPressure()

GetPropType< TypeTag, Properties::Scalar > Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::thresholdPressure ( int  elem1Idx,
int  elem2Idx 
) const
inherited

Returns the theshold pressure [Pa] for the intersection between two elements.

This is tailor made for the E100 threshold pressure mechanism and it is thus quite a hack: First of all threshold pressures in general are unphysical, and second, they should be different for the fluid phase but are not. Anyway, this seems to be E100's way of doing things, so we do it the same way.

Member Data Documentation

◆ cartElemFaultIdx_

std::vector<int> Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::cartElemFaultIdx_
protectedinherited

◆ cartMapper_

const CartesianIndexMapper& Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::cartMapper_
protectedinherited

◆ eclState_

const EclipseState& Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::eclState_
protectedinherited

◆ elementMapper_

const GetPropType< TypeTag, Properties::ElementMapper > & Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::elementMapper_
protectedinherited

◆ elemEquilRegion_

std::vector<unsigned short> Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::elemEquilRegion_
protectedinherited

◆ enableThresholdPressure_

bool Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::enableThresholdPressure_
protectedinherited

◆ gridView_

const GetPropType< TypeTag, Properties::GridView > & Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::gridView_
protectedinherited

◆ lookUpCartesianData_

const LookUpCartesianData Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::lookUpCartesianData_
protectedinherited

◆ lookUpData_

const LookUpData Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::lookUpData_
protectedinherited

◆ numEquilRegions_

unsigned Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::numEquilRegions_
protectedinherited

◆ thpres_

std::vector<GetPropType< TypeTag, Properties::Scalar > > Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::thpres_
protectedinherited

◆ thpresDefault_

std::vector<GetPropType< TypeTag, Properties::Scalar > > Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::thpresDefault_
protectedinherited

◆ thpresftValues_

std::vector<GetPropType< TypeTag, Properties::Scalar > > Opm::GenericThresholdPressure< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::ElementMapper > , GetPropType< TypeTag, Properties::Scalar > >::thpresftValues_
protectedinherited

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