Opm::ImmiscibleBoundaryRateVector< TypeTag > Class Template Reference

Implements a boundary vector for the fully implicit multi-phase model which assumes immiscibility. More...

#include <immiscibleboundaryratevector.hh>

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

Public Member Functions

 ImmiscibleBoundaryRateVector ()
 
 ImmiscibleBoundaryRateVector (const Evaluation &value)
 Constructor that assigns all entries to a scalar value. More...
 
 ImmiscibleBoundaryRateVector (const ImmiscibleBoundaryRateVector &value)=default
 Copy constructor. More...
 
ImmiscibleBoundaryRateVectoroperator= (const ImmiscibleBoundaryRateVector &value)=default
 
template<class Context , class FluidState >
void setFreeFlow (const Context &context, unsigned bfIdx, unsigned timeIdx, const FluidState &fluidState)
 Specify a free-flow boundary. More...
 
template<class Context , class FluidState >
void setInFlow (const Context &context, unsigned bfIdx, unsigned timeIdx, const FluidState &fluidState)
 Specify an inflow boundary. More...
 
template<class Context , class FluidState >
void setOutFlow (const Context &context, unsigned bfIdx, unsigned timeIdx, const FluidState &fluidState)
 Specify an outflow boundary. More...
 
void setNoFlow ()
 Specify a no-flow boundary for all conserved quantities. More...
 

Detailed Description

template<class TypeTag>
class Opm::ImmiscibleBoundaryRateVector< TypeTag >

Implements a boundary vector for the fully implicit multi-phase model which assumes immiscibility.

Constructor & Destructor Documentation

◆ ImmiscibleBoundaryRateVector() [1/3]

template<class TypeTag >
Opm::ImmiscibleBoundaryRateVector< TypeTag >::ImmiscibleBoundaryRateVector ( )
inline

◆ ImmiscibleBoundaryRateVector() [2/3]

template<class TypeTag >
Opm::ImmiscibleBoundaryRateVector< TypeTag >::ImmiscibleBoundaryRateVector ( const Evaluation &  value)
inline

Constructor that assigns all entries to a scalar value.

Parameters
valueThe scalar value to which all components of the boundary rate vector will be set.

◆ ImmiscibleBoundaryRateVector() [3/3]

template<class TypeTag >
Opm::ImmiscibleBoundaryRateVector< TypeTag >::ImmiscibleBoundaryRateVector ( const ImmiscibleBoundaryRateVector< TypeTag > &  value)
default

Copy constructor.

Parameters
valueThe boundary rate vector to be duplicated.

Member Function Documentation

◆ operator=()

template<class TypeTag >
ImmiscibleBoundaryRateVector & Opm::ImmiscibleBoundaryRateVector< TypeTag >::operator= ( const ImmiscibleBoundaryRateVector< TypeTag > &  value)
default

◆ setFreeFlow()

template<class TypeTag >
template<class Context , class FluidState >
void Opm::ImmiscibleBoundaryRateVector< TypeTag >::setFreeFlow ( const Context &  context,
unsigned  bfIdx,
unsigned  timeIdx,
const FluidState &  fluidState 
)
inline

Specify a free-flow boundary.

Parameters
contextThe execution context for which the boundary rate should be specified.
bfIdxThe local space index of the boundary segment.
timeIdxThe index used by the time discretization.
fluidStateThe repesentation of the thermodynamic state of the system on the integration point of the boundary segment.

Referenced by Opm::ImmiscibleBoundaryRateVector< TypeTag >::setInFlow(), and Opm::ImmiscibleBoundaryRateVector< TypeTag >::setOutFlow().

◆ setInFlow()

template<class TypeTag >
template<class Context , class FluidState >
void Opm::ImmiscibleBoundaryRateVector< TypeTag >::setInFlow ( const Context &  context,
unsigned  bfIdx,
unsigned  timeIdx,
const FluidState &  fluidState 
)
inline

Specify an inflow boundary.

An inflow boundary condition is basically a free flow boundary condition that is not prevented from specifying a flow out of the domain.

Parameters
contextThe execution context for which the boundary rate should be specified.
bfIdxThe local space index of the boundary segment.
timeIdxThe index used by the time discretization.
fluidStateThe repesentation of the thermodynamic state of the system on the integration point of the boundary segment.

References Opm::ImmiscibleBoundaryRateVector< TypeTag >::setFreeFlow().

◆ setNoFlow()

template<class TypeTag >
void Opm::ImmiscibleBoundaryRateVector< TypeTag >::setNoFlow ( )
inline

Specify a no-flow boundary for all conserved quantities.

◆ setOutFlow()

template<class TypeTag >
template<class Context , class FluidState >
void Opm::ImmiscibleBoundaryRateVector< TypeTag >::setOutFlow ( const Context &  context,
unsigned  bfIdx,
unsigned  timeIdx,
const FluidState &  fluidState 
)
inline

Specify an outflow boundary.

An outflow boundary condition is basically a free flow boundary condition that is not prevented from specifying a flow into the domain.

Parameters
contextThe execution context for which the boundary rate should be specified.
bfIdxThe local space index of the boundary segment.
timeIdxThe index used by the time discretization.
fluidStateThe repesentation of the thermodynamic state of the system on the integration point of the boundary segment.

References Opm::ImmiscibleBoundaryRateVector< TypeTag >::setFreeFlow().


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