The base class for the problems of ECFV discretizations which deal with a multi-phase flow through a porous medium.
More...
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.
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.
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.
VtkMultiWriter & defaultVtkWriter () const
Method to retrieve the VTK writer which should be used to write the default ouput after each time step to disk.
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.