28 #ifndef EWOMS_DISCRETE_FRACTURE_MODEL_HH
29 #define EWOMS_DISCRETE_FRACTURE_MODEL_HH
31 #include <opm/material/densead/Math.hpp>
43 #include <opm/common/ErrorMacros.hpp>
44 #include <opm/common/Exceptions.hpp>
49 template <
class TypeTag>
54 namespace Properties {
112 template <
class TypeTag>
113 class DiscreteFractureModel :
public ImmiscibleModel<TypeTag>
115 typedef ImmiscibleModel<TypeTag> ParentType;
116 typedef typename GET_PROP_TYPE(TypeTag, Simulator) Simulator;
119 DiscreteFractureModel(Simulator& simulator)
120 : ParentType(simulator)
123 OPM_THROW(std::runtime_error,
124 "The discrete fracture model does not work in conjunction "
125 "with intensive quantities caching");
144 {
return "discretefracture"; }
146 void registerOutputModules_()
148 ParentType::registerOutputModules_();
static void registerParameters()
Register all run-time parameters for the multi-phase VTK output module.
Definition: vtkdiscretefracturemodule.hh:117
static void registerParameters()
Register all run-time parameters for the immiscible model.
Definition: immisciblemodel.hh:222
Defines the properties required for the immiscible multi-phase model which considers discrete fractur...
#define SET_BOOL_PROP(EffTypeTagName, PropTagName,...)
Set a property to a simple constant boolean value.
Definition: propertysystem.hh:361
This class expresses all intensive quantities of the discrete fracture model.
Contains the quantities which are are constant within a finite volume in the discret fracture immisci...
Definition: discretefractureintensivequantities.hh:48
Contains the quantities which are are constant within a finite volume in the discret fracture immisci...
The base class for the problems of ECFV discretizations which deal with a multi-phase flow through a ...
A fully-implicit multi-phase flow model which assumes immiscibility of the phases and is able to incl...
Definition: discretefracturemodel.hh:50
This class expresses all intensive quantities of the discrete fracture model.
Definition: discretefractureextensivequantities.hh:45
#define NEW_TYPE_TAG(...)
Define a new type tag.
Definition: propertysystem.hh:169
Calculates the local residual of the discrete fracture immiscible multi-phase model.
static std::string name()
Definition: discretefracturemodel.hh:143
#define INHERITS_FROM(...)
Syntactic sugar for NEW_TYPE_TAG.
Definition: propertysystem.hh:230
VTK output module for quantities which make sense for all models which deal with discrete fractures i...
Represents the primary variables used by the discrete fracture multi-phase model. ...
Definition: discretefractureprimaryvariables.hh:43
static void registerParameters()
Register all run-time parameters for the immiscible model.
Definition: discretefracturemodel.hh:132
#define EWOMS_GET_PARAM(TypeTag, ParamType, ParamName)
Retrieve a runtime parameter.
Definition: parametersystem.hh:99
The base class for the problems of ECFV discretizations which deal with a multi-phase flow through a ...
Definition: discretefractureproblem.hh:56
Represents the primary variables used by the discrete fracture multi-phase model. ...
#define SET_TYPE_PROP(EffTypeTagName, PropTagName,...)
Set a property which defines a type.
Definition: propertysystem.hh:377
A fully-implicit multi-phase flow model which assumes immiscibility of the phases.
VTK output module for quantities which make sense for all models which deal with discrete fractures i...
Definition: vtkdiscretefracturemodule.hh:84
Calculates the local residual of the discrete fracture immiscible multi-phase model.
Definition: discretefracturelocalresidual.hh:42