mirror of
https://github.com/OPM/opm-simulators.git
synced 2026-10-14 18:02:01 -05:00
change namespace from Dumux to Ewoms
eWoms hereby declares full independence. Humor aside, the main technical advantage of this is, that it is now possible to easily install both, Dumux and eWoms on a system using a package management system without bad tricks.
This commit is contained in:
1 parent
834b79a8dd
commit
3e55945ce5
24 files changed
+652
-835
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -29,7 +29,7 @@ This allows to calculate all quantities required for the mass-\/conservation equ
|
||||
By default $\mathrm{v}_\alpha$ is determined by using the standard multi-\/phase Darcy approach, i.\-e. \[ \mathbf{v}_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\text{grad}\, p_\alpha - \varrho_{\alpha} \mathbf{g} \right) \;, \] although the actual approach which is used can be specified via the {\ttfamily Velocity\-Module} property. For example, the velocity model can by changed to the Forchheimer approach by
|
||||
\begin{lstlisting}[style=eWomsCode]
|
||||
SET_TYPE_PROP(MyProblemTypeTag, VelocityModule,
|
||||
Dumux::BoxForchheimerVelocityModule<TypeTag>);
|
||||
Ewoms::BoxForchheimerVelocityModule<TypeTag>);
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ This model assumes a flow of $M \geq 1$ fluid phases $\alpha$, each of which is
|
||||
By default, the standard multi-\/phase Darcy approach is used to determine the velocity, i.\-e. \[ \mathbf{v}_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\text{grad}\, p_\alpha - \varrho_{\alpha} \mathbf{g} \right) \;, \] although the actual approach which is used can be specified via the {\ttfamily Velocity\-Module} property. For example, the velocity model can by changed to the Forchheimer approach by
|
||||
\begin{lstlisting}[style=eWomsCode]
|
||||
SET_TYPE_PROP(MyProblemTypeTag, VelocityModule,
|
||||
Dumux::BoxForchheimerVelocityModule<TypeTag>);
|
||||
Ewoms::BoxForchheimerVelocityModule<TypeTag>);
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
This model multi-\/phase flow of $M > 0$ immiscible fluids $\alpha$. By default, the standard multi-\/phase Darcy approach is used to determine the velocity, i.\-e. \[ \mathbf{v}_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\text{grad}\, p_\alpha - \varrho_{\alpha} \mathbf{g} \right) \;, \] although the actual approach which is used can be specified via the {\ttfamily Velocity\-Module} property. For example, the velocity model can by changed to the Forchheimer approach by
|
||||
\begin{lstlisting}[style=eWomsCode]
|
||||
SET_TYPE_PROP(MyProblemTypeTag, VelocityModule,
|
||||
Dumux::BoxForchheimerVelocityModule<TypeTag>);
|
||||
Ewoms::BoxForchheimerVelocityModule<TypeTag>);
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ This model implements a $M$-\/phase flow of a fluid mixture composed of $N$ chem
|
||||
By default, the standard multi-\/phase Darcy approach is used to determine the velocity, i.\-e. \[ \mathbf{v}_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\text{grad}\, p_\alpha - \varrho_{\alpha} \mathbf{g} \right) \;, \] although the actual approach which is used can be specified via the {\ttfamily Velocity\-Module} property. For example, the velocity model can by changed to the Forchheimer approach by
|
||||
\begin{lstlisting}[style=eWomsCode]
|
||||
SET_TYPE_PROP(MyProblemTypeTag, VelocityModule,
|
||||
Dumux::BoxForchheimerVelocityModule<TypeTag>);
|
||||
Ewoms::BoxForchheimerVelocityModule<TypeTag>);
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ This model assumes a flow of $M \geq 1$ fluid phases $\alpha$, each of which is
|
||||
By default, the standard multi-\/phase Darcy approach is used to determine the velocity, i.\-e. \[ \mathbf{v}_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\text{grad}\, p_\alpha - \varrho_{\alpha} \mathbf{g} \right) \;, \] although the actual approach which is used can be specified via the {\ttfamily Velocity\-Module} property. For example, the velocity model can by changed to the Forchheimer approach by
|
||||
\begin{lstlisting}[style=eWomsCode]
|
||||
SET_TYPE_PROP(MyProblemTypeTag, VelocityModule,
|
||||
Dumux::BoxForchheimerVelocityModule<TypeTag>);
|
||||
Ewoms::BoxForchheimerVelocityModule<TypeTag>);
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
version="1.0"
|
||||
sodipodi:docname="dumux_strucutre_flowchart_horizontal_explained.svg"
|
||||
sodipodi:docname="ewoms_structure.eps"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs4">
|
||||
@@ -234,13 +234,13 @@
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.0939471"
|
||||
inkscape:cx="344.81304"
|
||||
inkscape:cy="319.8014"
|
||||
inkscape:cx="346.64128"
|
||||
inkscape:cy="392.93108"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1180"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="995"
|
||||
inkscape:window-x="-2"
|
||||
inkscape:window-y="-3"
|
||||
showguides="false"
|
||||
@@ -298,7 +298,7 @@
|
||||
x="556.69971"
|
||||
y="55.761379" /></flowRegion><flowPara
|
||||
id="flowPara3183"
|
||||
style="font-size:12px">dumux</flowPara></flowRoot> <flowRoot
|
||||
style="font-size:12px">ewoms</flowPara></flowRoot> <flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot3185"
|
||||
style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
@@ -663,7 +663,7 @@
|
||||
x="339.13889"
|
||||
y="43.877808" /></flowRegion><flowPara
|
||||
id="flowPara2528"
|
||||
style="font-size:11px;text-align:start;text-anchor:start">Physical models using a sequentially (IMPET) discretization.</flowPara></flowRoot> <flowRoot
|
||||
style="font-size:11px;text-align:start;text-anchor:start">Physical models using a sequential (IMPET) discretization.</flowPara></flowRoot> <flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot2530"
|
||||
style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
|
||||
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
@@ -313,15 +313,15 @@ PDELab::GridOperatorSpace<Dune::PDELab::PowerGridFunctionSpace<Dune::\
|
||||
PDELab::GridFunctionSpace<Dune::GridView<Dune::DefaultLeafGridViewTraits\
|
||||
<const Dune::UGGrid<3>, (Dune::PartitionIteratorType)4u> >, Dune::\
|
||||
PDELab::Q1LocalFiniteElementMap<double, double, 3>, Dune::PDELab::\
|
||||
NoConstraints, Dumux::PDELab::BoxISTLVectorBackend<Dumux::Properties::\
|
||||
NoConstraints, Ewoms::PDELab::BoxISTLVectorBackend<Ewoms::Properties::\
|
||||
TTag::LensProblem> >, 2, Dune::PDELab::GridFunctionSpaceBlockwiseMapper>\
|
||||
, Dune::PDELab::PowerGridFunctionSpace<Dune::PDELab::GridFunctionSpace<\
|
||||
Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::UGGrid<3>, \
|
||||
(Dune::PartitionIteratorType)4u> >, Dune::PDELab::Q1LocalFiniteElementMap\
|
||||
<double, double, 3>, Dune::PDELab::NoConstraints, Dumux::PDELab::\
|
||||
BoxISTLVectorBackend<Dumux::Properties::TTag::LensProblem> >, 2, Dune::\
|
||||
PDELab::GridFunctionSpaceBlockwiseMapper>, Dumux::PDELab::BoxLocalOperator\
|
||||
<Dumux::Properties::TTag::LensProblem>, Dune::PDELab::\
|
||||
<double, double, 3>, Dune::PDELab::NoConstraints, Ewoms::PDELab::\
|
||||
BoxISTLVectorBackend<Ewoms::Properties::TTag::LensProblem> >, 2, Dune::\
|
||||
PDELab::GridFunctionSpaceBlockwiseMapper>, Ewoms::PDELab::BoxLocalOperator\
|
||||
<Ewoms::Properties::TTag::LensProblem>, Dune::PDELab::\
|
||||
ConstraintsTransformation<long unsigned int, double>, Dune::PDELab::\
|
||||
ConstraintsTransformation<long unsigned int, double>, Dune::PDELab::\
|
||||
ISTLBCRSMatrixBackend<2, 2>, true>::GridOperatorSpace()
|
||||
@@ -352,7 +352,7 @@ int main()
|
||||
typedef TTAG(LensProblem) TypeTag;
|
||||
typedef Dune::PDELab::NoConstraints Constraints;
|
||||
typedef Dune::PDELab::GridFunctionSpace<
|
||||
GridView, FEM, Constraints, Dumux::PDELab::BoxISTLVectorBackend<TypeTag>
|
||||
GridView, FEM, Constraints, Ewoms::PDELab::BoxISTLVectorBackend<TypeTag>
|
||||
>
|
||||
doubleGridFunctionSpace;
|
||||
typedef Dune::PDELab::PowerGridFunctionSpace<
|
||||
@@ -363,7 +363,7 @@ int main()
|
||||
GridFunctionSpace;
|
||||
typedef typename GridFunctionSpace::ConstraintsContainer<double>::Type
|
||||
ConstraintsTrafo;
|
||||
typedef Dumux::PDELab::BoxLocalOperator<TypeTag> LocalOperator;
|
||||
typedef Ewoms::PDELab::BoxLocalOperator<TypeTag> LocalOperator;
|
||||
typedef Dune::PDELab::GridOperatorSpace<
|
||||
GridFunctionSpace,
|
||||
GridFunctionSpace,
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
|
||||
% Dune occuring in text
|
||||
\newcommand{\Dune}{{DUNE}\xspace}
|
||||
% dumux occuring in text
|
||||
% ewoms occuring in text
|
||||
\newcommand{\Dumux}{\texorpdfstring{Du\-Mu$^\text{x}$\xspace}{DuMuX}}
|
||||
% eWoms occuring in text
|
||||
\newcommand{\eWoms}{eWoms\xspace}
|
||||
@@ -139,7 +139,7 @@
|
||||
|
||||
\title{
|
||||
\begin{center}
|
||||
%\includegraphics[width=0.7\textwidth]{../logo/dumux_logo_hires_whitebg.eps}
|
||||
%\includegraphics[width=0.7\textwidth]{../logo/ewoms_logo_hires_whitebg.eps}
|
||||
%\\[3cm]
|
||||
{\Huge The \eWoms Handbook}
|
||||
\end{center}
|
||||
|
||||
@@ -252,7 +252,7 @@ To make usage of parameter caches easier for the case where all cached
|
||||
quantities ought to be re-calculated if a quantity of a phase was
|
||||
changed, it is possible to only define the \texttt{updatePhase()}
|
||||
method and derive the parameter cache from
|
||||
\texttt{Dumux::ParameterCacheBase}.
|
||||
\texttt{Ewoms::ParameterCacheBase}.
|
||||
|
||||
\subsection{Exported Constants and Capabilities}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ everybody to work on code that has not been written by oneself.
|
||||
definition of a preprocessor macro that is used to make sure that
|
||||
the header file is only included once. If your header file is
|
||||
called 'myheaderfile.hh', this constant should be named
|
||||
\texttt{DUMUX\_MYHEADERFILE\_HH}.
|
||||
\texttt{EWOMS\_MYHEADERFILE\_HH}.
|
||||
\item Files: File names should exclusively consist of lower case
|
||||
letters. Header files get the suffix .hh, implementation files the
|
||||
suffix .cc
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
\chapter{Introduction}
|
||||
|
||||
\eWoms~\cite{EWOMS-HP} a generic framework for the simulation of
|
||||
multi-phase fluid flow and transport processes in porous media using
|
||||
continuum mechanical approaches. \eWoms is also an integral part of
|
||||
the open porous media initiative~\cite{OPM-HP} for which it implements
|
||||
the fully-implicit discretization schemes. \eWoms is based on the
|
||||
source code of the \Dumux~\cite{DUMUX-HP} simulation framework and
|
||||
aims to be a proper superset of \Dumux when it comes to features,
|
||||
\eWoms~\cite{EWOMS-HP} a generic simulation framework using continuum
|
||||
mechanical approaches with a focus on multi-phase fluid flow and
|
||||
transport processes in porous media. \eWoms is also an integral part
|
||||
of the open porous media initiative~\cite{OPM-HP} for which it
|
||||
implements the fully-implicit discretization schemes. \eWoms is based
|
||||
on the source code of the \Dumux~\cite{DUMUX-HP} simulation framework
|
||||
and aims to be a proper superset of \Dumux when it comes to features,
|
||||
while at the same time it delivers better performance and a
|
||||
higher-quality code base. To ease porting features from \Dumux to
|
||||
\eWoms, the \eWoms source code uses very similar naming and style
|
||||
|
||||
@@ -150,7 +150,7 @@ from the Doxygen documentation.
|
||||
The fully-implicit models described in this section are using the box
|
||||
scheme as described in Section \ref{box} for spatial and the implicit Euler
|
||||
method as temporal discretization. The models themselves are located in
|
||||
subdirectories of \texttt{dumux/boxmodels} of the \eWoms distribution.
|
||||
subdirectories of \texttt{ewoms/boxmodels} of the \eWoms distribution.
|
||||
|
||||
\subsubsection{The immiscible multi-phase model}
|
||||
\input{ModelDescriptions/immisciblemodel}
|
||||
|
||||
@@ -36,7 +36,7 @@ check_PROGRAMS = tutorial_decoupled tutorial_coupled
|
||||
noinst_HEADERS= *.hh
|
||||
EXTRA_DIST = CMakeLists.txt
|
||||
|
||||
tutorial_coupleddir = $(datadir)/dumux/tutorial
|
||||
tutorial_coupleddir = $(datadir)/ewoms/tutorial
|
||||
tutorial_coupled_SOURCES = tutorial_coupled.cc
|
||||
tutorial_coupled_DATA = $(tutorial_coupled_SOURCES)
|
||||
|
||||
@@ -56,7 +56,7 @@ directory is \texttt{new\_project}.
|
||||
|
||||
\begin{verbatim}
|
||||
...
|
||||
SUBDIRS = doc dumux m4 test tutorial new_project
|
||||
SUBDIRS = doc ewoms m4 test tutorial new_project
|
||||
...
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
@@ -35,10 +35,10 @@ how it was inherited.
|
||||
\section{\eWoms property system reference}
|
||||
|
||||
All source files which use the \eWoms property system should include
|
||||
the header file \texttt{dumux/ \hskip-1ex{}common/
|
||||
the header file \texttt{ewoms/ \hskip-1ex{}common/
|
||||
\hskip-1ex{}propertysystem.hh}. Declaration of type tags and
|
||||
property tags as well as defining properties must be done inside the
|
||||
namespace \texttt{Dumux::Properties}.
|
||||
namespace \texttt{Ewoms::Properties}.
|
||||
|
||||
\subsection*{Defining type tags}
|
||||
|
||||
@@ -53,7 +53,7 @@ once for a program.
|
||||
\vskip1ex\noindent
|
||||
Example:
|
||||
\begin{lstlisting}[style=eWomsCode]
|
||||
namespace Dumux {
|
||||
namespace Ewoms {
|
||||
namespace Properties {
|
||||
NEW_TYPE_TAG(MyBaseTypeTag1);
|
||||
NEW_TYPE_TAG(MyBaseTypeTag2);
|
||||
@@ -76,7 +76,7 @@ are used.
|
||||
\vskip1ex\noindent
|
||||
Example:
|
||||
\begin{lstlisting}[style=eWomsCode]
|
||||
namespace Dumux {
|
||||
namespace Ewoms {
|
||||
namespace Properties {
|
||||
NEW_PROP_TAG(MyPropertyTag);
|
||||
}}
|
||||
@@ -107,7 +107,7 @@ SET_SCALAR_PROP(TypeTagName, PropertyTagName, floatingPointValue);
|
||||
\vskip1ex\noindent
|
||||
Example:
|
||||
\begin{lstlisting}[style=eWomsCode]
|
||||
namespace Dumux {
|
||||
namespace Ewoms {
|
||||
namespace Properties {
|
||||
NEW_TYPE_TAG(MyTypeTag);
|
||||
|
||||
@@ -144,7 +144,7 @@ course derived type tags may set it again.
|
||||
\vskip1ex\noindent
|
||||
Example:
|
||||
\begin{lstlisting}[style=eWomsCode]
|
||||
namespace Dumux {
|
||||
namespace Ewoms {
|
||||
namespace Properties {
|
||||
NEW_TYPE_TAG(BaseTypeTag);
|
||||
NEW_TYPE_TAG(DerivedTypeTag, INHERITS_FROM(BaseTypeTag));
|
||||
@@ -257,10 +257,10 @@ diagram for the car types above might look like outlined in Figure
|
||||
Using the \eWoms property system, this inheritance hierarchy is
|
||||
defined by:
|
||||
\begin{lstlisting}[name=propsyscars,style=eWomsCode]
|
||||
#include <dumux/common/propertysystem.hh>
|
||||
#include <ewoms/common/propertysystem.hh>
|
||||
#include <iostream>
|
||||
|
||||
namespace Dumux {
|
||||
namespace Ewoms {
|
||||
namespace Properties {
|
||||
NEW_TYPE_TAG(CompactCar);
|
||||
NEW_TYPE_TAG(Truck);
|
||||
@@ -354,7 +354,7 @@ int main()
|
||||
std::cout << PROP_DIAGNOSTIC(TTAG(Sedan), TopSpeed);
|
||||
std::cout << PROP_DIAGNOSTIC(TTAG(HummerH1), CanonCaliber);
|
||||
|
||||
Dumux::Properties::print<TTAG(Sedan)>();
|
||||
Ewoms::Properties::print<TTAG(Sedan)>();
|
||||
}
|
||||
\end{lstlisting}
|
||||
will yield the following output:
|
||||
@@ -366,7 +366,7 @@ Properties for Sedan:
|
||||
int GasUsage = '7' defined at test_propertysystem.cc:67
|
||||
Inherited from CompactCar:
|
||||
int NumSeats = '5' defined at test_propertysystem.cc:55
|
||||
int TopSpeed = '::Dumux::Properties::GetProperty<TypeTag, ::Dumux::Properties::PTag::GasUsage>::p::value * 30' defined at test_propertysystem.cc:54
|
||||
int TopSpeed = '::Ewoms::Properties::GetProperty<TypeTag, ::Ewoms::Properties::PTag::GasUsage>::p::value * 30' defined at test_propertysystem.cc:54
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
We briefly describe the directory structure of \eWoms in terms
|
||||
of subdirectories, source files, and tests. For more details,
|
||||
the Doxygen documentation should be considered.
|
||||
\eWoms comes in form of a DUNE module \texttt{dumux}.
|
||||
\eWoms comes in form of a DUNE module \texttt{ewoms}.
|
||||
It has a similar structure as other DUNE modules like \texttt{dune-grid}.
|
||||
The following subdirectories are within the module's root directory,
|
||||
from now on assumed to be \texttt{/}:
|
||||
@@ -17,16 +17,16 @@ DUNE modules.
|
||||
this handbook in \texttt{handbook}, and the \eWoms logo in various formats in
|
||||
\texttt{logo}. The html documentation produced by Doxygen can be accessed as usual,
|
||||
namely, by opening \texttt{doc/doxygen/html/index.html} with a web browser.
|
||||
\item \texttt{dumux}: the \eWoms source files. See Section \ref{sec:dumux} for details.
|
||||
\item \texttt{ewoms}: the \eWoms source files. See Section \ref{sec:ewoms} for details.
|
||||
\item \texttt{test}: tests for each numerical model and the property system.
|
||||
See Section \ref{sec:test} for details.
|
||||
\item \texttt{tutorial}: contains the tutorials described in Chapter \ref{chp:tutorial}.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsection{The \texttt{dumux} directory}\label{sec:dumux}
|
||||
\subsection{The \texttt{ewoms} directory}\label{sec:ewoms}
|
||||
|
||||
The directory \texttt{dumux} contains the \eWoms source files. It consists of the following subdirectories (see Figure \ref{fig:dumux-structure}):
|
||||
The directory \texttt{ewoms} contains the \eWoms source files. It consists of the following subdirectories (see Figure \ref{fig:ewoms-structure}):
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
@@ -117,8 +117,8 @@ considered.
|
||||
\centering
|
||||
\includegraphics[width=\linewidth, keepaspectratio]{EPS/ewoms_structure.eps}
|
||||
\caption{
|
||||
\label{fig:dumux-structure}
|
||||
Structure \texttt{dumux} sub-directory of the \eWoms source tree.
|
||||
\label{fig:ewoms-structure}
|
||||
Structure \texttt{ewoms} sub-directory of the \eWoms source tree.
|
||||
}
|
||||
\end{figure}
|
||||
\end{landscape}
|
||||
|
||||
@@ -68,7 +68,7 @@ compiled and executed in order to solve the problem described above.
|
||||
|
||||
In \eWoms, this file is usually quite short, as most of the work for
|
||||
setting up the simulation is done by the generic startup routine
|
||||
\texttt{Dumux::start()}. The tasks left for the main source file are:
|
||||
\texttt{Ewoms::start()}. The tasks left for the main source file are:
|
||||
\begin{itemize}
|
||||
\item Inclusion of the necessary header files from line
|
||||
\ref{tutorial-coupled:include-begin} to line
|
||||
@@ -76,7 +76,7 @@ setting up the simulation is done by the generic startup routine
|
||||
\item Specifying the type tag of the problem which is going to be
|
||||
simulated at line \ref{tutorial-coupled:set-type-tag}.
|
||||
\item Starting the simulation using default \eWoms startup routine
|
||||
\texttt{Dumux::start()} on line \ref{tutorial-coupled:call-start}.
|
||||
\texttt{Ewoms::start()} on line \ref{tutorial-coupled:call-start}.
|
||||
\end{itemize}
|
||||
|
||||
The default \eWoms startup routine deals with parsing the command line
|
||||
@@ -132,7 +132,7 @@ using the \eWoms property system (for more information see chapter
|
||||
Next, an appropriate fluid system -- which specifies the thermodynamic
|
||||
relations of the fluid phases -- has to be chosen. By default, the
|
||||
fully-implicit immiscible model for two fluid phases uses
|
||||
\texttt{Dumux::FluidSystems::TwoPImmiscible}. This fluid system
|
||||
\texttt{Ewoms::FluidSystems::TwoPImmiscible}. This fluid system
|
||||
simplifies things considerably by assuming immiscibility of the
|
||||
phases, but it requires to explicitly specify the fluids used for the
|
||||
wetting and non-wetting phases. In this case, liquid water based on
|
||||
@@ -248,13 +248,13 @@ The \eWoms distribution includes representations of some common
|
||||
substances which can be used out of the box. The properties of pure
|
||||
substances (such as nitrogen, water, or the pseudo-component air) are
|
||||
provided by header files located in the folder
|
||||
\texttt{dumux/material/components}.
|
||||
\texttt{ewoms/material/components}.
|
||||
|
||||
When two or more substances are considered, interactions between these
|
||||
become relevant and the properties of these mixtures of substances --
|
||||
e.g. composition, density or enthalpy -- are required. In \eWoms, such
|
||||
interactions are defined by {\em fluid systems}, which are located in
|
||||
\texttt{dumux/material/fluidsystems}. A more thorough overview of the
|
||||
\texttt{ewoms/material/fluidsystems}. A more thorough overview of the
|
||||
\eWoms fluid framework can be found in
|
||||
chapter~\ref{sec:fluidframework}.
|
||||
|
||||
@@ -340,28 +340,28 @@ For visualizing the results using the program \texttt{paraview}, please refer to
|
||||
\begin{enumerate}
|
||||
\item Brine: Brine is thermodynamically very similar to pure water but
|
||||
also includes a fixed amount of salt in the liquid phase. Hence,
|
||||
the class \texttt{Dumux::Brine} calls back to a class which
|
||||
the class \texttt{Ewoms::Brine} calls back to a class which
|
||||
represents pure water. (This can be, for example
|
||||
\texttt{Dumux::H2O}, or \texttt{Dumux::SimpleH2O}.) The class which
|
||||
represents pure water is passed to \texttt{Dumux::Brine} as the
|
||||
\texttt{Ewoms::H2O}, or \texttt{Ewoms::SimpleH2O}.) The class which
|
||||
represents pure water is passed to \texttt{Ewoms::Brine} as the
|
||||
second template argument after the data type for scalar values,
|
||||
i.e. the full definition of the brine component is
|
||||
\texttt{Dumux::Brine<Scalar, Dumux::H2O<Scalar> >}. The file which
|
||||
\texttt{Ewoms::Brine<Scalar, Ewoms::H2O<Scalar> >}. The file which
|
||||
defines the brine component is located in the folder
|
||||
\texttt{dumux/material/components/}. Include this file and select
|
||||
\texttt{ewoms/material/components/}. Include this file and select
|
||||
use the brine component as the wetting phase.
|
||||
\item DNAPL: Now let us use a component that represents an oil that
|
||||
is heavier than water (in environmental engineering this class of
|
||||
substances is often called \textbf{d}ense
|
||||
\textbf{n}on-\textbf{a}queous \textbf{p}hase \textbf{l}iquid
|
||||
(DNAPL)) which is also located in the folder
|
||||
\texttt{dumux/material/components/}. Include the correct file and
|
||||
\texttt{ewoms/material/components/}. Include the correct file and
|
||||
use the DNAPL component as the non-wetting phase.
|
||||
\end{enumerate}
|
||||
If you want to take a closer look on how the fluid classes are defined
|
||||
and which substances are available in the \eWoms distribution, feel
|
||||
free to browse through the files in the directory
|
||||
\texttt{dumux/material/components} and read
|
||||
\texttt{ewoms/material/components} and read
|
||||
chapter~\ref{sec:fluidframework}.
|
||||
|
||||
\item \textbf{Use a Full-Fledged Fluid System} \\
|
||||
@@ -373,13 +373,13 @@ chapter~\ref{sec:fluidframework}.
|
||||
\ref{tutorial-coupled:2p-system-start}
|
||||
to \ref{tutorial-coupled:2p-system-end} in the problem file.\\
|
||||
Now include the file
|
||||
\texttt{dumux/material/fluidsystems/h2oairfluidsystem.hh}, and
|
||||
\texttt{ewoms/material/fluidsystems/h2oairfluidsystem.hh}, and
|
||||
instruct the model to use this fluid system by setting
|
||||
the \texttt{FluidSystem} property via:\\
|
||||
\begin{lstlisting}[style=eWomsCode]
|
||||
SET_TYPE_PROP(TutorialProblemCoupled,
|
||||
FluidSystem,
|
||||
Dumux::FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>)
|
||||
Ewoms::FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>)
|
||||
\end{lstlisting}
|
||||
However, this is a rather complicated fluid system which considers all
|
||||
fluid phases as a mixture of the components and also uses tabulated
|
||||
@@ -413,7 +413,7 @@ complex fluid system.
|
||||
line which contains the \texttt{EffToAbsLaw} typedef.
|
||||
\item Then, adapt the necessary parameters of the linear law and the
|
||||
respective \texttt{set}-functions can be found in the file
|
||||
\texttt{dumux/material/fluidmatrixinteractions/2p/linearmaterialparams.hh}.\\
|
||||
\texttt{ewoms/material/fluidmatrixinteractions/2p/linearmaterialparams.hh}.\\
|
||||
Call the \texttt{set}-functions from the constructor of the problem.
|
||||
\item Finally, re-compile and re-run the simulation. In order to
|
||||
successfully compile the simulation, you also have to include the
|
||||
@@ -461,8 +461,8 @@ relate to the file name, such as
|
||||
\texttt{Ex2TutorialProblemCoupled}. Make sure that you also adjust the
|
||||
guardian macros in lines \ref{tutorial-coupled:guardian1} and
|
||||
\ref{tutorial-coupled:guardian1} in the header files (e.g. change
|
||||
\mbox{\texttt{DUMUX\_TUTORIALPROBLEM\_COUPLED\_HH}} to
|
||||
\mbox{\texttt{DUMUX\_EX2\_TUTORIALPROBLEM\_COUPLED\_HH}}). Include the
|
||||
\mbox{\texttt{EWOMS\_TUTORIALPROBLEM\_COUPLED\_HH}} to
|
||||
\mbox{\texttt{EWOMS\_EX2\_TUTORIALPROBLEM\_COUPLED\_HH}}). Include the
|
||||
new problem file in \texttt{tutorial\_coupled.cc}. Besides adjusting
|
||||
the guardian macros, the new problem file should define and use a new
|
||||
type tag for the problem as well as a new problem class
|
||||
@@ -524,7 +524,7 @@ step size of $100\;\text{s}$.
|
||||
Create a new file for the benzene component called \texttt{benzene.hh}
|
||||
and implement a new component. (\textbf{Hint:} The easiest way to do
|
||||
this is to copy and modify one of the existing components located in
|
||||
the directory \texttt{dumux/material/components}.) Use benzene as a
|
||||
the directory \texttt{ewoms/material/components}.) Use benzene as a
|
||||
new non-wetting fluid and run the problem of Exercise 2 with water and
|
||||
benzene. Benzene has a density of $889.51 \, \text{kg} / \text{m}^3$
|
||||
and a viscosity of $0.00112 \, \text{Pa} \; \text{s}$.
|
||||
|
||||
@@ -49,7 +49,7 @@ can be retrieved by the \eWoms property system and only depend on this
|
||||
single type tag. For an introduction to the
|
||||
property system, see section \ref{sec:propertysystem}.
|
||||
|
||||
After this, \eWoms' default startup routine \texttt{Dumux::start()} is
|
||||
After this, \eWoms' default startup routine \texttt{Ewoms::start()} is
|
||||
called in line \ref{tutorial-decoupled:call-start}. This function deals
|
||||
with parsing the command line arguments,
|
||||
setting up the infrastructure necessary for \Dune, loading the grid, and
|
||||
@@ -195,11 +195,11 @@ Change the boundary conditions in the file \texttt{tutorialproblem\_decoupled.hh
|
||||
\item \textbf{Changing Fluids} \\
|
||||
Now change the fluids: Use DNAPL instead of LNAPL and brine instead of water. To do that you have to select different components:
|
||||
\begin{enumerate}
|
||||
\item Brine: First, you need to add an \texttt{\#include} directive for \texttt{brine.hh}. The class \texttt{Dumux::Brine} is an adapter class that slightly adapts the thermodynamic properties of pure water by adding some salt. Hence, the class \texttt{Dumux::Brine} uses a pure water class, such as \texttt{Dumux::H2O}, as a second template argument after the data type \texttt{<Scalar>} as a template argument.
|
||||
\item Brine: First, you need to add an \texttt{\#include} directive for \texttt{brine.hh}. The class \texttt{Ewoms::Brine} is an adapter class that slightly adapts the thermodynamic properties of pure water by adding some salt. Hence, the class \texttt{Ewoms::Brine} uses a pure water class, such as \texttt{Ewoms::H2O}, as a second template argument after the data type \texttt{<Scalar>} as a template argument.
|
||||
\item DNAPL: First, you need to change \texttt{\#include} directive from \texttt{lnapl.hh} to \texttt{dnapl.hh}. Then change the fluid used for the non-wetting phase from \texttt{LNAPL<Scalar>} to \texttt{DNAPL<Scalar>}
|
||||
\end{enumerate}
|
||||
If you want to take a closer look at how the fluid classes are defined and which substances are already available you may browse the files in the directory
|
||||
\texttt{/dumux/material/components}.
|
||||
\texttt{/ewoms/material/components}.
|
||||
|
||||
\item \textbf{Use an \eWoms fluid system}\label{dec-ex1-fluidsystem} \\
|
||||
\eWoms usually organizes fluid mixtures via a \textit{fluid system}, see also chapter \ref{sec:fluidframework}. In order to include a fluid system you first have to comment the lines \ref{tutorial-coupled:2p-system-start} to \ref{tutorial-coupled:2p-system-end} in the problem file.\\
|
||||
@@ -207,7 +207,7 @@ If you want to take a closer look at how the fluid classes are defined and which
|
||||
Now include the file \texttt{fluidsystems/h2oairsystem.hh} in the
|
||||
material folder, and set a property \texttt{FluidSystem} with the
|
||||
appropriate type,
|
||||
\texttt{Dumux::FluidSystems::H2OAir<Scalar>}. However, this rather
|
||||
\texttt{Ewoms::FluidSystems::H2OAir<Scalar>}. However, this rather
|
||||
complicated fluidsystem uses tabularized fluid data, which need to be
|
||||
initialized at startup (i.e. the tables need to be filled with values)
|
||||
in the constructor body of the current problem by adding
|
||||
@@ -254,8 +254,8 @@ name that relates to the file name, such as \texttt{Ex2TutorialProblemDecoupled}
|
||||
Make sure that you also adjust the guardian
|
||||
macros in lines \ref{tutorial-decoupled:guardian1} and \ref{tutorial-decoupled:guardian2}
|
||||
in the header files (e.g. change \\
|
||||
\texttt{DUMUX\_TUTORIALPROBLEM\_DECOUPLED\_HH} to
|
||||
\texttt{DUMUX\_EX2\_TUTORIALPROBLEM\_DECOUPLED\_HH}). Beside also adjusting the guardian macros,
|
||||
\texttt{EWOMS\_TUTORIALPROBLEM\_DECOUPLED\_HH} to
|
||||
\texttt{EWOMS\_EX2\_TUTORIALPROBLEM\_DECOUPLED\_HH}). Beside also adjusting the guardian macros,
|
||||
the new problem file should define and use a new type tag for the problem as well as a new problem class
|
||||
e.g. \texttt{Ex2TutorialProblemDecoupled}. Make sure to assign your newly defined spatial
|
||||
parameter class to the \texttt{SpatialParams} property for the new
|
||||
@@ -315,7 +315,7 @@ compile the program.
|
||||
\subsubsection{Exercise 3}
|
||||
Create a new file for benzene called \texttt{benzene.hh} and implement
|
||||
a new component. (You may get a hint by looking at existing components
|
||||
in the directory \verb+/dumux/material/components+.)
|
||||
in the directory \verb+/ewoms/material/components+.)
|
||||
|
||||
Use benzene as a new fluid and run the model of Exercise 2 with water
|
||||
and benzene. Benzene has a density of $889.51 \, \text{kg} / \text{m}^3$
|
||||
|
||||
@@ -4,11 +4,11 @@ check_PROGRAMS = tutorial_decoupled tutorial_coupled
|
||||
noinst_HEADERS= *.hh
|
||||
EXTRA_DIST = CMakeLists.txt
|
||||
|
||||
tutorial_decoupleddir = $(datadir)/dumux/tutorial
|
||||
tutorial_decoupleddir = $(datadir)/ewoms/tutorial
|
||||
tutorial_decoupled_SOURCES = tutorial_decoupled.cc
|
||||
tutorial_decoupled_DATA = $(tutorial_decoupled_SOURCES)
|
||||
|
||||
tutorial_coupleddir = $(datadir)/dumux/tutorial
|
||||
tutorial_coupleddir = $(datadir)/ewoms/tutorial
|
||||
tutorial_coupled_SOURCES = tutorial_coupled.cc
|
||||
tutorial_coupled_DATA = $(tutorial_coupled_SOURCES)
|
||||
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
*/
|
||||
#include "config.h" /*@\label{tutorial-coupled:include-begin}@*/
|
||||
#include "tutorialproblem_coupled.hh" /*@\label{tutorial-coupled:include-problem-header}@*/
|
||||
#include <dumux/common/start.hh> /*@\label{tutorial-coupled:include-end}@*/
|
||||
#include <ewoms/common/start.hh> /*@\label{tutorial-coupled:include-end}@*/
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
typedef TTAG(TutorialProblemCoupled) TypeTag; /*@\label{tutorial-coupled:set-type-tag}@*/
|
||||
return Dumux::start<TypeTag>(argc, argv); /*@\label{tutorial-coupled:call-start}@*/
|
||||
return Ewoms::start<TypeTag>(argc, argv); /*@\label{tutorial-coupled:call-start}@*/
|
||||
}
|
||||
@@ -26,7 +26,7 @@
|
||||
#include "config.h" /*@\label{tutorial-decoupled:include-begin}@*/
|
||||
|
||||
#include "tutorialproblem_decoupled.hh" /*@\label{tutorial-decoupled:include-problem-header}@*/
|
||||
#include <dumux/common/start.hh> /*@\label{tutorial-decoupled:include-end}@*/
|
||||
#include <ewoms/common/start.hh> /*@\label{tutorial-decoupled:include-end}@*/
|
||||
|
||||
////////////////////////
|
||||
// the main function
|
||||
@@ -34,5 +34,5 @@
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
typedef TTAG(TutorialProblemDecoupled) TypeTag; /*@\label{tutorial-decoupled:set-type-tag}@*/
|
||||
return Dumux::start<TypeTag>(argc, argv); /*@\label{tutorial-decoupled:call-start}@*/
|
||||
return Ewoms::start<TypeTag>(argc, argv); /*@\label{tutorial-decoupled:call-start}@*/
|
||||
}
|
||||
@@ -20,31 +20,31 @@
|
||||
/*!
|
||||
* \file
|
||||
*
|
||||
* \copydoc Dumux::TutorialProblemCoupled
|
||||
* \copydoc Ewoms::TutorialProblemCoupled
|
||||
*/
|
||||
#ifndef DUMUX_TUTORIAL_PROBLEM_COUPLED_HH // guardian macro /*@\label{tutorial-coupled:guardian1}@*/
|
||||
#define DUMUX_TUTORIAL_PROBLEM_COUPLED_HH // guardian macro /*@\label{tutorial-coupled:guardian2}@*/
|
||||
#ifndef EWOMS_TUTORIAL_PROBLEM_COUPLED_HH // guardian macro /*@\label{tutorial-coupled:guardian1}@*/
|
||||
#define EWOMS_TUTORIAL_PROBLEM_COUPLED_HH // guardian macro /*@\label{tutorial-coupled:guardian2}@*/
|
||||
|
||||
// The numerical model
|
||||
#include <dumux/boxmodels/immiscible/immisciblemodel.hh>
|
||||
#include <ewoms/boxmodels/immiscible/immisciblemodel.hh>
|
||||
|
||||
// The chemical species that are used
|
||||
#include <dumux/material/components/h2o.hh>
|
||||
#include <dumux/material/components/lnapl.hh>
|
||||
#include <ewoms/material/components/h2o.hh>
|
||||
#include <ewoms/material/components/lnapl.hh>
|
||||
|
||||
// The material laws
|
||||
#include <dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh> /*@\label{tutorial-coupled:rawLawInclude}@*/
|
||||
#include <dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
|
||||
#include <dumux/material/fluidmatrixinteractions/mp/2padapter.hh>
|
||||
#include <ewoms/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh> /*@\label{tutorial-coupled:rawLawInclude}@*/
|
||||
#include <ewoms/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
|
||||
#include <ewoms/material/fluidmatrixinteractions/mp/2padapter.hh>
|
||||
|
||||
// For the DUNE grid
|
||||
#include <dune/grid/yaspgrid.hh> /*@\label{tutorial-coupled:include-grid-manager}@*/
|
||||
#include <dumux/common/cubegridcreator.hh> /*@\label{tutorial-coupled:include-grid-creator}@*/
|
||||
#include <ewoms/common/cubegridcreator.hh> /*@\label{tutorial-coupled:include-grid-creator}@*/
|
||||
|
||||
// For Dune::FieldMatrix
|
||||
#include <dune/common/fmatrix.hh>
|
||||
|
||||
namespace Dumux {
|
||||
namespace Ewoms {
|
||||
|
||||
// forward declaration of the problem class
|
||||
template <class TypeTag>
|
||||
@@ -56,21 +56,21 @@ NEW_TYPE_TAG(TutorialProblemCoupled, INHERITS_FROM(BoxImmiscibleTwoPhase)); /*@\
|
||||
|
||||
// Set the "Problem" property
|
||||
SET_PROP(TutorialProblemCoupled, Problem) /*@\label{tutorial-coupled:set-problem}@*/
|
||||
{ typedef Dumux::TutorialProblemCoupled<TypeTag> type;};
|
||||
{ typedef Ewoms::TutorialProblemCoupled<TypeTag> type;};
|
||||
|
||||
// Set grid and the grid creator to be used
|
||||
SET_TYPE_PROP(TutorialProblemCoupled, Grid, Dune::YaspGrid</*dim=*/2>); /*@\label{tutorial-coupled:set-grid}@*/
|
||||
SET_TYPE_PROP(TutorialProblemCoupled, GridCreator, Dumux::CubeGridCreator<TypeTag>); /*@\label{tutorial-coupled:set-gridcreator}@*/
|
||||
SET_TYPE_PROP(TutorialProblemCoupled, GridCreator, Ewoms::CubeGridCreator<TypeTag>); /*@\label{tutorial-coupled:set-gridcreator}@*/
|
||||
|
||||
// Set the wetting phase /*@\label{tutorial-coupled:2p-system-start}@*/
|
||||
SET_TYPE_PROP(TutorialProblemCoupled, WettingPhase, /*@\label{tutorial-coupled:wettingPhase}@*/
|
||||
Dumux::LiquidPhase<typename GET_PROP_TYPE(TypeTag, Scalar),
|
||||
Dumux::H2O<typename GET_PROP_TYPE(TypeTag, Scalar)> >);
|
||||
Ewoms::LiquidPhase<typename GET_PROP_TYPE(TypeTag, Scalar),
|
||||
Ewoms::H2O<typename GET_PROP_TYPE(TypeTag, Scalar)> >);
|
||||
|
||||
// Set the non-wetting phase
|
||||
SET_TYPE_PROP(TutorialProblemCoupled, NonwettingPhase, /*@\label{tutorial-coupled:nonwettingPhase}@*/
|
||||
Dumux::LiquidPhase<typename GET_PROP_TYPE(TypeTag, Scalar),
|
||||
Dumux::LNAPL<typename GET_PROP_TYPE(TypeTag, Scalar)> >); /*@\label{tutorial-coupled:2p-system-end}@*/
|
||||
Ewoms::LiquidPhase<typename GET_PROP_TYPE(TypeTag, Scalar),
|
||||
Ewoms::LNAPL<typename GET_PROP_TYPE(TypeTag, Scalar)> >); /*@\label{tutorial-coupled:2p-system-end}@*/
|
||||
|
||||
// Set the material law
|
||||
SET_PROP(TutorialProblemCoupled, MaterialLaw)
|
||||
@@ -268,6 +268,6 @@ private:
|
||||
// small epsilon value
|
||||
Scalar eps_;
|
||||
};
|
||||
} // namespace Dumux
|
||||
} // namespace Ewoms
|
||||
|
||||
#endif
|
||||
@@ -22,34 +22,34 @@
|
||||
/*!
|
||||
* \file
|
||||
*
|
||||
* \copydoc Dumux::TutorialProblemDecoupled
|
||||
* \copydoc Ewoms::TutorialProblemDecoupled
|
||||
*/
|
||||
#ifndef DUMUX_TUTORIALPROBLEM_DECOUPLED_HH // guardian macro /*@\label{tutorial-decoupled:guardian1}@*/
|
||||
#define DUMUX_TUTORIALPROBLEM_DECOUPLED_HH // guardian macro /*@\label{tutorial-decoupled:guardian2}@*/
|
||||
#ifndef EWOMS_TUTORIALPROBLEM_DECOUPLED_HH // guardian macro /*@\label{tutorial-decoupled:guardian1}@*/
|
||||
#define EWOMS_TUTORIALPROBLEM_DECOUPLED_HH // guardian macro /*@\label{tutorial-decoupled:guardian2}@*/
|
||||
|
||||
// assign parameters dependent on space (e.g. spatial parameters)
|
||||
#include "tutorialspatialparams_decoupled.hh" /*@\label{tutorial-decoupled:spatialparameters}@*/
|
||||
|
||||
// dumux 2p-decoupled environment
|
||||
#include <dumux/decoupled/2p/diffusion/fv/fvpressureproperties2p.hh>
|
||||
#include <dumux/decoupled/2p/transport/fv/fvtransportproperties2p.hh>
|
||||
#include <dumux/decoupled/2p/impes/impesproblem2p.hh> /*@\label{tutorial-decoupled:parent-problem}@*/
|
||||
// eWoms includes
|
||||
#include <ewoms/decoupled/2p/diffusion/fv/fvpressureproperties2p.hh>
|
||||
#include <ewoms/decoupled/2p/transport/fv/fvtransportproperties2p.hh>
|
||||
#include <ewoms/decoupled/2p/impes/impesproblem2p.hh> /*@\label{tutorial-decoupled:parent-problem}@*/
|
||||
|
||||
// include cfl-criterion after coats: more suitable if the problem is not advection dominated
|
||||
#include<dumux/decoupled/2p/transport/fv/evalcflfluxcoats.hh>
|
||||
#include<ewoms/decoupled/2p/transport/fv/evalcflfluxcoats.hh>
|
||||
|
||||
// the components that are used
|
||||
#include <dumux/material/components/h2o.hh>
|
||||
#include <dumux/material/components/lnapl.hh>
|
||||
#include <ewoms/material/components/h2o.hh>
|
||||
#include <ewoms/material/components/lnapl.hh>
|
||||
|
||||
// the grid includes
|
||||
#include <dumux/common/cubegridcreator.hh>
|
||||
#include <ewoms/common/cubegridcreator.hh>
|
||||
#include <dune/grid/yaspgrid.hh>
|
||||
|
||||
// provides Dune::FieldVector
|
||||
#include <dune/common/fvector.hh>
|
||||
|
||||
namespace Dumux {
|
||||
namespace Ewoms {
|
||||
|
||||
template<class TypeTag>
|
||||
class TutorialProblemDecoupled;
|
||||
@@ -64,13 +64,13 @@ NEW_TYPE_TAG(TutorialProblemDecoupled, INHERITS_FROM(FVPressureTwoP, FVTransport
|
||||
// Set the problem property
|
||||
SET_TYPE_PROP(TutorialProblemDecoupled, /*@\label{tutorial-decoupled:set-problem}@*/
|
||||
Problem,
|
||||
Dumux::TutorialProblemDecoupled<TypeTag>);
|
||||
Ewoms::TutorialProblemDecoupled<TypeTag>);
|
||||
|
||||
// Set the grid type
|
||||
SET_TYPE_PROP(TutorialProblemDecoupled, Grid, Dune::YaspGrid<2>); /*@\label{tutorial-decoupled:set-grid-type}@*/
|
||||
|
||||
//Set the grid creator
|
||||
SET_TYPE_PROP(TutorialProblemDecoupled, GridCreator, Dumux::CubeGridCreator<TypeTag>); /*@\label{tutorial-decoupled:set-gridcreator}@*/
|
||||
SET_TYPE_PROP(TutorialProblemDecoupled, GridCreator, Ewoms::CubeGridCreator<TypeTag>); /*@\label{tutorial-decoupled:set-gridcreator}@*/
|
||||
|
||||
// Set the wetting phase
|
||||
SET_PROP(TutorialProblemDecoupled, WettingPhase) /*@\label{tutorial-decoupled:2p-system-start}@*/
|
||||
@@ -78,7 +78,7 @@ SET_PROP(TutorialProblemDecoupled, WettingPhase) /*@\label{tutorial-decoupled:2p
|
||||
private:
|
||||
typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
|
||||
public:
|
||||
typedef Dumux::LiquidPhase<Scalar, Dumux::H2O<Scalar> > type; /*@\label{tutorial-decoupled:wettingPhase}@*/
|
||||
typedef Ewoms::LiquidPhase<Scalar, Ewoms::H2O<Scalar> > type; /*@\label{tutorial-decoupled:wettingPhase}@*/
|
||||
};
|
||||
|
||||
// Set the non-wetting phase
|
||||
@@ -87,10 +87,10 @@ SET_PROP(TutorialProblemDecoupled, NonwettingPhase)
|
||||
private:
|
||||
typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
|
||||
public:
|
||||
typedef Dumux::LiquidPhase<Scalar, Dumux::LNAPL<Scalar> > type; /*@\label{tutorial-decoupled:nonwettingPhase}@*/
|
||||
typedef Ewoms::LiquidPhase<Scalar, Ewoms::LNAPL<Scalar> > type; /*@\label{tutorial-decoupled:nonwettingPhase}@*/
|
||||
}; /*@\label{tutorial-decoupled:2p-system-end}@*/
|
||||
|
||||
SET_TYPE_PROP(TutorialProblemDecoupled, EvalCflFluxFunction, Dumux::EvalCflFluxCoats<TypeTag>); /*@\label{tutorial-decoupled:cflflux}@*/
|
||||
SET_TYPE_PROP(TutorialProblemDecoupled, EvalCflFluxFunction, Ewoms::EvalCflFluxCoats<TypeTag>); /*@\label{tutorial-decoupled:cflflux}@*/
|
||||
SET_SCALAR_PROP(TutorialProblemDecoupled, ImpetCflFactor, 0.95); /*@\label{tutorial-decoupled:cflfactor}@*/
|
||||
|
||||
// Disable gravity
|
||||
|
||||
@@ -21,20 +21,20 @@
|
||||
*****************************************************************************/
|
||||
/*!
|
||||
* \file
|
||||
* \copydoc Dumux::TutorialSpatialParamsDecoupled
|
||||
* \copydoc Ewoms::TutorialSpatialParamsDecoupled
|
||||
*/
|
||||
#ifndef DUMUX_TUTORIAL_SPATIAL_PARAMETERS_DECOUPLED_HH
|
||||
#define DUMUX_TUTORIAL_SPATIAL_PARAMETERS_DECOUPLED_HH
|
||||
#ifndef EWOMS_TUTORIAL_SPATIAL_PARAMETERS_DECOUPLED_HH
|
||||
#define EWOMS_TUTORIAL_SPATIAL_PARAMETERS_DECOUPLED_HH
|
||||
|
||||
#include <dumux/decoupled/spatialparams/fvspatialparams.hh>
|
||||
#include <dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh>
|
||||
#include <dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh>
|
||||
#include <dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
|
||||
#include <ewoms/decoupled/spatialparams/fvspatialparams.hh>
|
||||
#include <ewoms/material/fluidmatrixinteractions/2p/linearmaterial.hh>
|
||||
#include <ewoms/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh>
|
||||
#include <ewoms/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
|
||||
|
||||
#include <dune/common/fvector.hh>
|
||||
#include <dune/common/fmatrix.hh>
|
||||
|
||||
namespace Dumux
|
||||
namespace Ewoms
|
||||
{
|
||||
|
||||
//forward declaration
|
||||
@@ -48,7 +48,7 @@ NEW_TYPE_TAG(TutorialSpatialParamsDecoupled);
|
||||
|
||||
// Set the spatial parameters
|
||||
SET_TYPE_PROP(TutorialSpatialParamsDecoupled, SpatialParams,
|
||||
Dumux::TutorialSpatialParamsDecoupled<TypeTag>); /*@\label{tutorial-decoupled:set-spatialparameters}@*/
|
||||
Ewoms::TutorialSpatialParamsDecoupled<TypeTag>); /*@\label{tutorial-decoupled:set-spatialparameters}@*/
|
||||
|
||||
// Set the material law
|
||||
SET_PROP(TutorialSpatialParamsDecoupled, MaterialLaw)
|
||||
|
||||
Reference in new issue
Block a user