1#ifndef OPM_VERTEQ_VERTEQ_HPP_INCLUDED
2#define OPM_VERTEQ_VERTEQ_HPP_INCLUDED
10#ifndef OPM_VERTEQ_VISIBILITY_HPP_INCLUDED
15struct FlowBoundaryConditions;
16struct UnstructuredGrid;
21class IncompPropertiesInterface;
79 const Opm::parameter::ParameterGroup& args,
80 const UnstructuredGrid& fullGrid,
81 const IncompPropertiesInterface& fullProps,
82 const Wells* fullWells,
83 const std::vector<double>& fullSrc,
84 const FlowBoundaryConditions* fullBcs,
85 const double* fullGravity);
100 virtual const UnstructuredGrid&
grid () = 0;
123 virtual const IncompPropertiesInterface&
props () = 0;
134 virtual const std::vector<double>&
src () = 0;
147 virtual const FlowBoundaryConditions*
bcs () = 0;
184 virtual void upscale (
const TwophaseState& fineScale,
185 TwophaseState& coarseScale) = 0;
208 virtual void downscale (
const TwophaseState& coarseScale,
209 TwophaseState& fineScale) = 0;
227 virtual void notify(
const TwophaseState& coarseScale) = 0;
Vertical Equilibrium Upscaling.
Definition: verteq.hpp:46
virtual const Wells * wells()=0
Accessor method for the list of upscaled wells.
static VertEq * create(const std::string &title, const Opm::parameter::ParameterGroup &args, const UnstructuredGrid &fullGrid, const IncompPropertiesInterface &fullProps, const Wells *fullWells, const std::vector< double > &fullSrc, const FlowBoundaryConditions *fullBcs, const double *fullGravity)
Pseudo-constructor of VertEqUpscaling objects.
virtual const FlowBoundaryConditions * bcs()=0
Accessor method for the list of boundary conditions in the upscaled grid.
virtual const IncompPropertiesInterface & props()=0
props Accessor method for the upscaled "fluid" objects
virtual const std::vector< double > & src()=0
Accessor method for the upscaled source terms.
virtual void downscale(const TwophaseState &coarseScale, TwophaseState &fineScale)=0
virtual const double * gravity()=0
Gravity that should be used in the upscaled, two- dimensional model.
virtual void notify(const TwophaseState &coarseScale)=0
virtual ~VertEq()
Definition: verteq.hpp:88
VertEq()
Definition: verteq.hpp:50
virtual void upscale(const TwophaseState &fineScale, TwophaseState &coarseScale)=0
virtual const UnstructuredGrid & grid()=0
Accessor method for the upscaled grid.
#define OPM_VERTEQ_PUBLIC
Definition: exc.hpp:19
Definition: opmfwd.hpp:15