Opm::FractureProblem< TypeTag > Class Template Reference

Two-phase problem which involves fractures. More...

#include <fractureproblem.hh>

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

Public Member Functions

 FractureProblem (Simulator &simulator)
 
void finishInit ()
 Called by the Opm::Simulator in order to initialize the problem. More...
 
Auxiliary methods
std::string name () const
 The problem name. More...
 
void endTimeStep ()
 Called directly after the time integration. More...
 
template<class Context >
Scalar temperature (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 
Soil parameters
template<class Context >
const DimMatrix & intrinsicPermeability (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 
template<class Context >
const DimMatrix & fractureIntrinsicPermeability (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 Intrinsic permeability of fractures. More...
 
template<class Context >
Scalar porosity (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 
template<class Context >
Scalar fracturePorosity (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 The porosity inside the fractures. More...
 
template<class Context >
const MaterialLawParams & materialLawParams (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 
template<class Context >
const MaterialLawParams & fractureMaterialLawParams (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 The parameters for the material law inside the fractures. More...
 
const FractureMapperfractureMapper () const
 Returns the object representating the fracture topology. More...
 
template<class Context >
Scalar fractureWidth (const Context &context, unsigned spaceIdx1, unsigned spaceIdx2, unsigned timeIdx) const
 Returns the width of the fracture. More...
 
template<class Context >
const ThermalConductionLawParams & thermalConductionLawParams (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 
template<class Context >
const SolidEnergyLawParams & solidEnergyLawParams (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 Return the parameters for the energy storage law of the rock. More...
 
Boundary conditions
template<class Context >
void boundary (BoundaryRateVector &values, const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 Evaluate the boundary conditions for a boundary segment. More...
 

Static Public Member Functions

static void registerParameters ()
 

Volumetric terms

template<class Context >
void constraints (Constraints &constraints, const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 Evaluate the constraints for a control volume. More...
 
template<class Context >
void initial (PrimaryVariables &values, const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 Evaluate the initial value for a control volume. More...
 
template<class Context >
void source (RateVector &rate, const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 Evaluate the source term for all phases within a given sub-control-volume. More...
 

Detailed Description

template<class TypeTag>
class Opm::FractureProblem< TypeTag >

Two-phase problem which involves fractures.

The domain is initially completely saturated by the oil phase, except for the left side, which is fully water saturated. Since the capillary pressure in the fractures is lower than in the rock matrix and the material is hydrophilic, water infiltrates through the fractures and gradually pushes the oil out on the right side, where the pressure is kept constant.

Constructor & Destructor Documentation

◆ FractureProblem()

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

Member Function Documentation

◆ boundary()

template<class TypeTag >
template<class Context >
void Opm::FractureProblem< TypeTag >::boundary ( BoundaryRateVector &  values,
const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

Evaluate the boundary conditions for a boundary segment.

Parameters
valuesStores the fluxes over the boundary segment.
contextThe object representing the execution context from which this method is called.
spaceIdxThe local index of the spatial entity which represents the boundary segment.
timeIdxThe index used for the time discretization

◆ constraints()

template<class TypeTag >
template<class Context >
void Opm::FractureProblem< TypeTag >::constraints ( Constraints &  constraints,
const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

Evaluate the constraints for a control volume.

Parameters
constraintsStores the values of the primary variables at a given spatial and temporal location.
contextThe object representing the execution context from which this method is called.
spaceIdxThe local index of the spatial entity which represents the boundary segment.
timeIdxThe index used for the time discretization

References Opm::FractureProblem< TypeTag >::constraints(), and Opm::FractureProblem< TypeTag >::fractureMapper().

Referenced by Opm::FractureProblem< TypeTag >::constraints().

◆ endTimeStep()

template<class TypeTag >
void Opm::FractureProblem< TypeTag >::endTimeStep ( )
inline

Called directly after the time integration.

◆ finishInit()

template<class TypeTag >
void Opm::FractureProblem< TypeTag >::finishInit ( )
inline

Called by the Opm::Simulator in order to initialize the problem.

If you overload this method don't forget to call ParentType::finishInit()

◆ fractureIntrinsicPermeability()

template<class TypeTag >
template<class Context >
const DimMatrix & Opm::FractureProblem< TypeTag >::fractureIntrinsicPermeability ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

Intrinsic permeability of fractures.

◆ fractureMapper()

template<class TypeTag >
const FractureMapper & Opm::FractureProblem< TypeTag >::fractureMapper ( ) const
inline

Returns the object representating the fracture topology.

Referenced by Opm::FractureProblem< TypeTag >::constraints().

◆ fractureMaterialLawParams()

template<class TypeTag >
template<class Context >
const MaterialLawParams & Opm::FractureProblem< TypeTag >::fractureMaterialLawParams ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

The parameters for the material law inside the fractures.

◆ fracturePorosity()

template<class TypeTag >
template<class Context >
Scalar Opm::FractureProblem< TypeTag >::fracturePorosity ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

The porosity inside the fractures.

◆ fractureWidth()

template<class TypeTag >
template<class Context >
Scalar Opm::FractureProblem< TypeTag >::fractureWidth ( const Context &  context,
unsigned  spaceIdx1,
unsigned  spaceIdx2,
unsigned  timeIdx 
) const
inline

Returns the width of the fracture.

Parameters
contextThe execution context.
spaceIdx1The local index of the edge's first edge.
spaceIdx2The local index of the edge's second edge.
timeIdxThe index used by the time discretization.

◆ initial()

template<class TypeTag >
template<class Context >
void Opm::FractureProblem< TypeTag >::initial ( PrimaryVariables &  values,
const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

Evaluate the initial value for a control volume.

Parameters
valuesStores the primary variables.
contextThe object representing the execution context from which this method is called.
spaceIdxThe local index of the spatial entity which represents the boundary segment.
timeIdxThe index used for the time discretization

◆ intrinsicPermeability()

template<class TypeTag >
template<class Context >
const DimMatrix & Opm::FractureProblem< TypeTag >::intrinsicPermeability ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

◆ materialLawParams()

template<class TypeTag >
template<class Context >
const MaterialLawParams & Opm::FractureProblem< TypeTag >::materialLawParams ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

◆ name()

template<class TypeTag >
std::string Opm::FractureProblem< TypeTag >::name ( ) const
inline

The problem name.

This is used as a prefix for files generated by the simulation. It is highly recommend to overwrite this method in the concrete problem which is simulated.

◆ porosity()

template<class TypeTag >
template<class Context >
Scalar Opm::FractureProblem< TypeTag >::porosity ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

◆ registerParameters()

template<class TypeTag >
static void Opm::FractureProblem< TypeTag >::registerParameters ( )
inlinestatic

◆ solidEnergyLawParams()

template<class TypeTag >
template<class Context >
const SolidEnergyLawParams & Opm::FractureProblem< TypeTag >::solidEnergyLawParams ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

Return the parameters for the energy storage law of the rock.

In this case, we assume the rock-matrix to be granite.

◆ source()

template<class TypeTag >
template<class Context >
void Opm::FractureProblem< TypeTag >::source ( RateVector &  rate,
const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

Evaluate the source term for all phases within a given sub-control-volume.

Parameters
rateStores the values of the volumetric creation/anihilition rates of the conserved quantities.
contextThe object representing the execution context from which this method is called.
spaceIdxThe local index of the spatial entity which represents the boundary segment.
timeIdxThe index used for the time discretization

For this problem, the source term of all components is 0 everywhere.

◆ temperature()

template<class TypeTag >
template<class Context >
Scalar Opm::FractureProblem< TypeTag >::temperature ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

◆ thermalConductionLawParams()

template<class TypeTag >
template<class Context >
const ThermalConductionLawParams & Opm::FractureProblem< TypeTag >::thermalConductionLawParams ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline


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