Opm::BlackOilBoundaryRateVector< TypeTag > Class Template Reference

Implements a boundary vector for the fully implicit black-oil model. More...

#include <blackoilboundaryratevector.hh>

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

Public Member Functions

 BlackOilBoundaryRateVector ()
 Default constructor. More...
 
 BlackOilBoundaryRateVector (Scalar value)
 
 BlackOilBoundaryRateVector (const BlackOilBoundaryRateVector &value)=default
 Copy constructor. More...
 
BlackOilBoundaryRateVectoroperator= (const BlackOilBoundaryRateVector &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...
 
template<class Context , class FluidState >
void setThermalFlow (const Context &context, unsigned bfIdx, unsigned timeIdx, const FluidState &boundaryFluidState)
 an energy flux that corresponds to the thermal conduction from More...
 

Detailed Description

template<class TypeTag>
class Opm::BlackOilBoundaryRateVector< TypeTag >

Implements a boundary vector for the fully implicit black-oil model.

Constructor & Destructor Documentation

◆ BlackOilBoundaryRateVector() [1/3]

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

Default constructor.

◆ BlackOilBoundaryRateVector() [2/3]

template<class TypeTag >
Opm::BlackOilBoundaryRateVector< TypeTag >::BlackOilBoundaryRateVector ( Scalar  value)
inline

◆ BlackOilBoundaryRateVector() [3/3]

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

Copy constructor.

Parameters
valueThe boundary rate vector to be duplicated.

Member Function Documentation

◆ operator=()

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

◆ setFreeFlow()

template<class TypeTag >
template<class Context , class FluidState >
void Opm::BlackOilBoundaryRateVector< 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.

References Opm::BlackOilEnergyModule< TypeTag, enableEnergyV >::addToEnthalpyRate().

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

◆ setInFlow()

template<class TypeTag >
template<class Context , class FluidState >
void Opm::BlackOilBoundaryRateVector< 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::BlackOilBoundaryRateVector< TypeTag >::setFreeFlow().

◆ setNoFlow()

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

Specify a no-flow boundary for all conserved quantities.

Referenced by Opm::BlackOilBoundaryRateVector< TypeTag >::setThermalFlow().

◆ setOutFlow()

template<class TypeTag >
template<class Context , class FluidState >
void Opm::BlackOilBoundaryRateVector< 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::BlackOilBoundaryRateVector< TypeTag >::setFreeFlow().

◆ setThermalFlow()

template<class TypeTag >
template<class Context , class FluidState >
void Opm::BlackOilBoundaryRateVector< TypeTag >::setThermalFlow ( const Context &  context,
unsigned  bfIdx,
unsigned  timeIdx,
const FluidState &  boundaryFluidState 
)
inline

an energy flux that corresponds to the thermal conduction from

an energy flux that corresponds to the thermal conduction from the domain boundary

This means that a "thermal flow" boundary is a no-flow condition for mass and thermal conduction for energy.

References Opm::BlackOilBoundaryRateVector< TypeTag >::setNoFlow().


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