Loading...
Searching...
No Matches
Opm::BlackOilProblem< TypeTag > Class Template Reference

Base class for all problems which use the black-oil model. More...

`#include <blackoilproblem.hh>`

Inheritance diagram for Opm::BlackOilProblem< TypeTag >:

## Public Member Functions

| BlackOilProblem (Simulator &simulator)
Scalar | maxGasDissolutionFactor (unsigned, unsigned) const
| Returns the maximum value of the gas dissolution factor at the current time for a given degree of freedom.
Scalar | maxOilVaporizationFactor (unsigned, unsigned) const
| Returns the maximum value of the oil vaporization factor at the current time for a given degree of freedom.
Scalar | maxOilSaturation (unsigned) const
| Returns the maximum value of the oil saturation seen at the current time for a given degree of freedom.
template<class Context>
unsigned | pvtRegionIndex (const Context &, unsigned, unsigned) const
| Returns the index of the relevant region for thermodynmic properties.
template<class Context>
unsigned | satnumRegionIndex (const Context &, unsigned, unsigned) const
| Returns the index of the relevant region for saturation functions.
Scalar | satnumRegionIndex (unsigned) const
template<class Context>
unsigned | miscnumRegionIndex (const Context &, unsigned, unsigned) const
| Returns the index of the relevant region for solvent mixing functions.
template<class Context>
unsigned | plmixnumRegionIndex (const Context &, unsigned, unsigned) const
| Returns the index of the relevant region for polymer mixing functions.
template<class Context>
Scalar | rockCompressibility (const Context &, unsigned, unsigned) const
| Returns the compressibility of the porous medium of a cell.
Scalar | rockCompressibility (unsigned) const
| Returns the compressibility of the porous medium of a cell.
template<class Context>
Scalar | rockReferencePressure (const Context &, unsigned, unsigned) const
| Returns the reference pressure for rock the compressibility of a cell.
Scalar | rockReferencePressure (unsigned) const
| Returns the reference pressure for rock the compressibility of a cell.
Scalar | referenceTemperature () const
| Returns the reference temperature.
template<class Evaluation>
Scalar | rockCompPoroMultiplier (const IntensiveQuantities &, unsigned) const
| Returns the porosity multiplier due to water-induced rock compaction.
template<class LhsEval>
LhsEval | rockCompTransMultiplier (const IntensiveQuantities &, unsigned) const
Public Member Functions inherited from Opm::MultiPhaseBaseProblem< TypeTag >
| MultiPhaseBaseProblem (Simulator &simulator)
template<class Context>
void | intersectionIntrinsicPermeability (DimMatrix &result, const Context &context, unsigned intersectionIdx, unsigned timeIdx) const
| Returns the intrinsic permeability of an intersection.
template<class Context>
const DimMatrix & | intrinsicPermeability (const Context &, unsigned, unsigned) const
| Returns the intrinsic permeability tensor at a given position.
template<class Context>
Scalar | porosity (const Context &, unsigned, unsigned) const
| Returns the porosity [] of the porous medium for a given control volume.
template<class Context>
const SolidEnergyLawParams & | solidEnergyParams (const Context &, unsigned, unsigned) const
| Returns the parameter object for the energy storage law of the solid in a sub-control volume.
template<class Context>
const ThermalConductionLawParams & | thermalConductionParams (const Context &, unsigned, unsigned) const
| Returns the parameter object for the thermal conductivity law in a sub-control volume.
template<class Context>
Scalar | tortuosity (const Context &, unsigned, unsigned) const
| Define the tortuosity.
template<class Context>
Scalar | dispersivity (const Context &, unsigned, unsigned) const
| Define the dispersivity.
template<class Context>
const MaterialLawParams & | materialLawParams (const Context &, unsigned, unsigned) const
| Returns the material law parameters within a control volume.
template<class FluidState>
void | updateRelperms (std::array< Evaluation, numPhases > &mobility, DirectionalMobilityPtr &dirMob, FluidState &fluidState, unsigned globalSpaceIdx) const
template<class Context>
Scalar | temperature (const Context &, unsigned, unsigned) const
| Returns the temperature within a control volume.
Scalar | temperature () const
| Returns the temperature for an isothermal problem.
template<class Context>
const DimVector & | gravity (const Context &, unsigned, unsigned) const
| Returns the acceleration due to gravity .
const DimVector & | gravity () const
| Returns the acceleration due to gravity .
unsigned | markForGridAdaptation ()
| Mark grid cells for refinement or coarsening.
Public Member Functions inherited from Opm::FvBaseProblem< TypeTag >
| FvBaseProblem (Simulator &simulator)
bool | recycleFirstIterationStorage () const
| Return if the storage term of the first iteration is identical to the storage term for the solution of the previous time step.
unsigned | intensiveQuantityHistorySize () const
| Returns the required history size for intensive quantities cache.
std::string | outputDir () const
| Determine the directory for simulation output.
void | finishInit ()
| Called by the Opm::Simulator in order to initialize the problem.
void | prefetch (const Element &) const
| Allows to improve the performance by prefetching all data which is associated with a given element.
void | gridChanged ()
| Handle changes of the grid.
template<class Context>
void | boundary (BoundaryRateVector &, const Context &, unsigned, unsigned) const
| Evaluate the boundary conditions for a boundary segment.
template<class Context>
void | constraints (Constraints &, const Context &, unsigned, unsigned) const
| Evaluate the constraints for a control volume.
template<class Context>
void | source (RateVector &, const Context &, unsigned, unsigned) const
| Evaluate the source term for all phases within a given sub-control-volume.
template<class Context>
void | initial (PrimaryVariables &, const Context &, unsigned, unsigned) const
| Evaluate the initial value for a control volume.
template<class Context>
Scalar | extrusionFactor (const Context &, unsigned, unsigned) const
| Return how much the domain is extruded at a given sub-control volume.
Scalar | extrusionFactor () const
void | initialSolutionApplied ()
| Callback used by the model to indicate that the initial solution has been determined for all degrees of freedom.
void | beginEpisode ()
| Called at the beginning of an simulation episode.
void | beginTimeStep ()
| Called by the simulator before each time integration.
void | beginIteration ()
| Called by the simulator before each Newton-Raphson iteration.
void | endIteration ()
| Called by the simulator after each Newton-Raphson update.
void | endTimeStep ()
| Called by the simulator after each time integration.
void | endEpisode ()
| Called when the end of an simulation episode is reached.
void | finalize ()
| Called after the simulation has been run sucessfully.
void | timeIntegration ()
| Called by Opm::Simulator in order to do a time integration on the model.
Scalar | minTimeStepSize () const
| Returns the minimum allowable size of a time step.
unsigned | maxTimeIntegrationFailures () const
| Returns the maximum number of subsequent failures for the time integration before giving up.
bool | continueOnConvergenceError () const
| Returns if we should continue with a non-converged solution instead of giving up if we encounter a time step size smaller than the minimum time step size.
void | setNextTimeStepSize (Scalar dt)
| Impose the next time step size to be used externally.
Scalar | nextTimeStepSize () const
| Called by Opm::Simulator whenever a solution for a time step has been computed and the simulation time has been updated.
bool | shouldWriteRestartFile () const
| Returns true if a restart file should be written to disk.
bool | shouldWriteOutput () const
| Returns true if the current solution should be written to disk (i.e.
void | advanceTimeLevel ()
| Called by the simulator after everything which can be done about the current time step is finished and the model should be prepared to do the next time integration.
std::string | name () const
| The problem name.
const GridView & | gridView () const
| The GridView which used by the problem.
const GlobalPosition & | boundingBoxMin () const
| The coordinate of the corner of the GridView's bounding box with the smallest values.
const GlobalPosition & | boundingBoxMax () const
| The coordinate of the corner of the GridView's bounding box with the largest values.
const VertexMapper & | vertexMapper () const
| Returns the mapper for vertices to indices.
const ElementMapper & | elementMapper () const
| Returns the mapper for elements to indices.
Simulator & | simulator ()
| Returns Simulator object used by the simulation.
const Simulator & | simulator () const
| Returns Simulator object used by the simulation.
Model & | model ()
| Returns numerical model used for the problem.
const Model & | model () const
| Returns numerical model used for the problem.
NewtonMethod & | newtonMethod ()
| Returns object which implements the Newton method.
const NewtonMethod & | newtonMethod () const
| Returns object which implements the Newton method.
RestrictProlongOperator | restrictProlongOperator ()
| return restriction and prolongation operator
unsigned | markForGridAdaptation ()
| Mark grid cells for refinement or coarsening.
template<class Restarter>
void | serialize (Restarter &res)
| This method writes the complete state of the problem to the harddisk.
template<class Restarter>
void | deserialize (Restarter &res)
| This method restores the complete state of the problem from disk.
void | writeOutput (bool verbose=true)
| Write the relevant secondary variables of the current solution into an VTK output file.
VtkMultiWriter & | defaultVtkWriter () const
| Method to retrieve the VTK writer which should be used to write the default ouput after each time step to disk.

## Additional Inherited Members

Public Types inherited from Opm::FvBaseProblem< TypeTag >
using | RestrictProlongOperator = EmptyRestrictProlong
Static Public Member Functions inherited from Opm::MultiPhaseBaseProblem< TypeTag >
static void | registerParameters ()
| Register all run-time parameters for the problem and the model.
Static Public Member Functions inherited from Opm::FvBaseProblem< TypeTag >
static void | registerParameters ()
| Registers all available parameters for the problem and the model.
static std::string | helpPreamble (int, const char **argv)
| Returns the string that is printed before the list of command line parameters in the help message.
static std::string | briefDescription ()
| Returns a human readable description of the problem for the help message.
static int | handlePositionalParameter (std::function< void(const std::string &, const std::string &)>, std::set< std::string > &, std::string &errorMsg, int, const char **argv, int paramIdx, int)
| Handles positional command line parameters.
DimMatrix | toDimMatrix_ (Scalar val) const
| Converts a Scalar value to an isotropic Tensor.
Protected Member Functions inherited from Opm::FvBaseProblem< TypeTag >
bool | enableVtkOutput_ () const
DimVector | gravity_
Protected Attributes inherited from Opm::FvBaseProblem< TypeTag >
Scalar | nextTimeStepSize_

## Detailed Description

template<class TypeTag>
class Opm::BlackOilProblem< TypeTag >

Base class for all problems which use the black-oil model.

## Constructor & Destructor Documentation

## BlackOilProblem()

template<class TypeTag>

Opm::BlackOilProblem< TypeTag >::BlackOilProblem | ( | Simulator & | simulator | ) |

inline explicit

Parameters

  simulator | The manager object of the simulation

## Member Function Documentation

## maxGasDissolutionFactor()

template<class TypeTag>

Scalar Opm::BlackOilProblem< TypeTag >::maxGasDissolutionFactor | ( | unsigned | ,
|  | unsigned | ) const

inline

Returns the maximum value of the gas dissolution factor at the current time for a given degree of freedom.

This is required for the DRSDT keyword.

## maxOilSaturation()

template<class TypeTag>

Scalar Opm::BlackOilProblem< TypeTag >::maxOilSaturation | ( | unsigned |  | ) | const

inline

Returns the maximum value of the oil saturation seen at the current time for a given degree of freedom.

This is required for the VAPPARS keyword.

## maxOilVaporizationFactor()

template<class TypeTag>

Scalar Opm::BlackOilProblem< TypeTag >::maxOilVaporizationFactor | ( | unsigned | ,
|  | unsigned | ) const

inline

Returns the maximum value of the oil vaporization factor at the current time for a given degree of freedom.

This is required for the DRVDT keyword.

## referenceTemperature()

template<class TypeTag>

Scalar Opm::BlackOilProblem< TypeTag >::referenceTemperature | ( |  | ) | const

inline

Returns the reference temperature.

This is only relevant for temperature dependent quantities, in particular those needed by the module for energy conservation.

## rockCompPoroMultiplier()

template<class TypeTag>
template<class Evaluation>

Scalar Opm::BlackOilProblem< TypeTag >::rockCompPoroMultiplier | ( | const IntensiveQuantities & | ,
|  | unsigned | ) const

inline

Returns the porosity multiplier due to water-induced rock compaction.

This is a somewhat exotic feature. Most likely you will not need to touch this method.

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

- opm/models/blackoil/blackoilproblem.hh