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

The base class for the problems of ECFV discretizations which deal with a multi-phase flow through a porous medium. More...

`#include <discretefractureproblem.hh>`

Inheritance diagram for Opm::DiscreteFractureProblem< TypeTag >:

## Public Member Functions

| DiscreteFractureProblem (Simulator &simulator)
template<class Context>
void | fractureFaceIntrinsicPermeability (DimMatrix &result, const Context &context, unsigned localFaceIdx, unsigned timeIdx) const
| Returns the intrinsic permeability of a face due to a fracture.
template<class Context>
const DimMatrix & | fractureIntrinsicPermeability (const Context &, unsigned, unsigned) const
| Returns the intrinsic permeability tensor at a given position due to a fracture.
template<class Context>
Scalar | fracturePorosity (const Context &, unsigned, unsigned) const
| Returns the porosity [] inside fractures for a given control volume.
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::DiscreteFractureProblem< TypeTag >

The base class for the problems of ECFV discretizations which deal with a multi-phase flow through a porous medium.

## Constructor & Destructor Documentation

## DiscreteFractureProblem()

template<class TypeTag>

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

inline explicit

## Member Function Documentation

## fractureFaceIntrinsicPermeability()

template<class TypeTag>
template<class Context>

void Opm::DiscreteFractureProblem< TypeTag >::fractureFaceIntrinsicPermeability | ( | DimMatrix & | result,
|  | const Context & | context,
|  | unsigned | localFaceIdx,
|  | unsigned | timeIdx ) const

inline

Returns the intrinsic permeability of a face due to a fracture.

This method is specific to the finite volume discretizations. If left unspecified, it calls the intrinsicPermeability() methods for the face's interior and exterior finite volume and averages them harmonically. Note that if this function is defined, the intrinsicPermeability() method does not need to be defined by the problem (if a finite-volume discretization is used).

## fractureIntrinsicPermeability()

template<class TypeTag>
template<class Context>

const DimMatrix & Opm::DiscreteFractureProblem< TypeTag >::fractureIntrinsicPermeability | ( | const Context & | ,
|  | unsigned | ,
|  | unsigned | ) const

inline

Returns the intrinsic permeability tensor at a given position due to a fracture.

Parameters

  context | Reference to the object which represents the current execution context.
  spaceIdx | The local index of spatial entity defined by the context
  timeIdx | The index used by the time discretization.

## fracturePorosity()

template<class TypeTag>
template<class Context>

Scalar Opm::DiscreteFractureProblem< TypeTag >::fracturePorosity | ( | const Context & | ,
|  | unsigned | ,
|  | unsigned | ) const

inline

Returns the porosity [] inside fractures for a given control volume.

Parameters

  context | Reference to the object which represents the current execution context.
  spaceIdx | The local index of spatial entity defined by the context
  timeIdx | The index used by the time discretization.

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

- opm/models/discretefracture/discretefractureproblem.hh