My Project
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 >:
Opm::MultiPhaseBaseProblem< TypeTag > Opm::FvBaseProblem< 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 $[m^2]$ 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 $\mathrm{[K]}$ 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 $\mathrm{[K]}$ within a control volume.
 
Scalar temperature () const
 Returns the temperature $\mathrm{[K]}$ for an isothermal problem.
 
template<class Context >
const DimVector & gravity (const Context &, unsigned, unsigned) const
 Returns the acceleration due to gravity $\mathrm{[m/s^2]}$.
 
const DimVector & gravity () const
 Returns the acceleration due to gravity $\mathrm{[m/s^2]}$.
 
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.
 
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.
 
VtkMultiWriterdefaultVtkWriter () 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.
 
- Protected Member Functions inherited from Opm::MultiPhaseBaseProblem< TypeTag >
DimMatrix toDimMatrix_ (Scalar val) const
 Converts a Scalar value to an isotropic Tensor.
 
- Protected Attributes inherited from Opm::MultiPhaseBaseProblem< TypeTag >
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

Parameters
simulatorThe 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: