run pre-commit with updated .pre-commit-config.yaml

This commit is contained in:
Kai Bao committed 2025-10-13 21:56:30 +02:00
1 parent 253c9de64c
commit c8fae0abcc
92 files changed
+10251 -10276

No files matched your search

-1
View File
@@ -672,4 +672,3 @@ may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-1
View File
@@ -23,4 +23,3 @@ INPUT += @abs_top_srcdir@/opm/
# the \include command).
# EXAMPLE_PATH += @abs_top_srcdir@/examples/
@@ -38,4 +38,3 @@ The primary variables used by this model are\-:
\item The pressure of the phase with the lowest index
\item The two saturations of the phases with the lowest indices
\end{itemize}
@@ -32,4 +32,3 @@ The model uses the following primary variables\-:
\item The total molar concentration of each component\-: $c^\kappa = \sum_\alpha S_\alpha x_\alpha^\kappa \rho_{mol, \alpha}$
\item The absolute temperature \$\-T\$ in Kelvins if the energy equation enabled.
\end{itemize}
@@ -21,4 +21,3 @@ The model uses the following primary variables\-:
\item The saturations $S_\alpha$ of the $M - 1$ phases that exhibit the lowest indices
\item The absolute temperature $T$ in Kelvin if energy is conserved via the energy equation
\end{itemize}
@@ -34,4 +34,3 @@ The model assumes local thermodynamic equilibrium and uses the following primary
\item The saturations of the first $M-1$ phases $S_1, \dots, S_{M-1}$
\item Temperature $T$ if the energy equation is enabled
\end{itemize}
@@ -48,4 +48,3 @@ The model always requires $N$ primary variables, but their interpretation is dep
\end{itemize}
This model is then discretized using a fully-\/coupled vertex centered finite volume (box) scheme as spatial and the implicit Euler method as temporal discretization.
@@ -9,4 +9,3 @@ In the unsaturated zone, Richards' equation is frequently used to approximate th
In contrast to the \char`\"{}full\char`\"{} two-\/phase model, the Richards model assumes that the non-\/wetting fluid is gas and that it thus exhibits a much lower viscosity than the (liquid) wetting phase. (This assumption is quite realistic in many applications\-: For example, at atmospheric pressure and at room temperature, the viscosity of air is only about $1\%$ of the viscosity of liquid water.) As a consequence, the $\frac{k_{r\alpha}}{\mu_\alpha}$ term typically is much larger for the gas phase than for the wetting phase. Using this reasoning, the Richards model assumes that $\frac{k_{rn}}{\mu_n}$ is infinitely large compared to the same term of the liquid phase. This implies that the pressure of the gas phase is equivalent to the static pressure distribution and that therefore, mass conservation only needs to be considered for the liquid phase.
The model thus choses the absolute pressure of the wetting phase $p_w$ as its only primary variable. The wetting phase saturation is calculated using the inverse of the capillary pressure, i.\-e. \[ S_w = p_c^{-1}(p_n - p_w) \] holds, where $p_n$ is a reference pressure given by the problem's {\ttfamily reference\-Pressure()} method. Nota bene, that the last step assumes that the capillary pressure-\/saturation curve can be uniquely inverted, i.\-e. it is not possible to set the capillary pressure to zero if the Richards model ought to be used!
@@ -9,4 +9,3 @@ This model implements Navier-\/\-Stokes flow of a single fluid. By default, it s
If the property {\ttfamily Enable\-Navier\-Stokes} is set to {\ttfamily true}, an additional convective momentum flux term (Navier term) gets included into the momentum conservation equations which allows to capture turbolent flow regimes. This additional term is given by \[ \varrho \left(\mathbf{v} \cdot \boldsymbol{\nabla} \right) \mathbf{v} \;. \]
These equations are discretized by a fully-\/coupled vertex-\/centered finite volume (box) scheme in space and using the implicit Euler method in time. Be aware, that this discretization scheme is quite unstable for the Navier-\/\-Stokes equations and quickly leads to unphysical oscillations in the calculated solution. We intend to use a more appropriate discretization scheme in the future, though.
+1 -1
View File
@@ -2,7 +2,7 @@
Landscape
Center
Metric
A4
A4
100.00
Single
-2
+1 -1
View File
@@ -2,7 +2,7 @@
Landscape
Center
Metric
A4
A4
100.00
Single
-2
+1 -1
View File
@@ -2,7 +2,7 @@
Landscape
Center
Metric
A4
A4
100.00
Single
-2
+1 -1
View File
@@ -2,7 +2,7 @@
Landscape
Center
Metric
A4
A4
100.00
Single
-2
+14 -14
View File
@@ -1,8 +1,8 @@
\section{Box method - A short introduction}\label{box}
For the spatial discretization the so called BOX-method is used which unites the advantages of the finite-volume (FV) and finite-element (FE) methods.
For the spatial discretization the so called BOX-method is used which unites the advantages of the finite-volume (FV) and finite-element (FE) methods.
First, the model domain $G$ is discretized with a FE mesh consisting of nodes i and corresponding elements $E_k$. Then, a secondary FV mesh is constructed by connecting the midpoints and barycenters of the elements surrounding node i creating a box $B_i$ around node i (see Figure \ref{pc:box}a).
First, the model domain $G$ is discretized with a FE mesh consisting of nodes i and corresponding elements $E_k$. Then, a secondary FV mesh is constructed by connecting the midpoints and barycenters of the elements surrounding node i creating a box $B_i$ around node i (see Figure \ref{pc:box}a).
\begin{figure} [h]
\includegraphics[width=0.8\linewidth,keepaspectratio]{EPS/box_disc}
@@ -32,33 +32,33 @@ Like the FE method, the BOX-method follows the principle of weighted residuals.
\begin{minipage}[b]{0.47\textwidth}
\begin{equation}
\label{eq:p}
\label{eq:p}
\tilde p = \sum_i N_i \hat{p_i}
\end{equation}
\begin{equation}
\label{eq:v}
\label{eq:v}
\tilde{\mathbf v} = \sum_i N_i \hat{\mathbf v}
\end{equation}
\begin{equation}
\label{eq:x}
\tilde x^\kappa = \sum_i N_i \hat x^\kappa
\label{eq:x}
\tilde x^\kappa = \sum_i N_i \hat x^\kappa
\end{equation}
\end{minipage}
\hfill
\begin{minipage}[b]{0.47\textwidth}
\begin{equation}
\label{eq:dp}
\label{eq:dp}
\nabla \tilde p = \sum_i \nabla N_i \hat{p_i}
\end{equation}
\begin{equation}
\label{eq:dv}
\label{eq:dv}
\nabla \tilde{\mathbf v} = \sum_i \nabla N_i \hat{\mathbf v}
\end{equation}
\begin{equation}
\label{eq:dx}
\label{eq:dx}
\nabla \tilde x^\kappa = \sum_i \nabla N_i \hat x^\kappa .
\end{equation}
\end{minipage}
\end{minipage}
Due to the approximation with node values and basis functions the differential equations are not exactly fulfilled anymore but a residual $\varepsilon$ is produced.
@@ -96,7 +96,7 @@ where $V_i$ is the volume of the FV box $B_i$ associated with node i. The applic
V_i \frac{\partial \hat u_i}{\partial t} + \int_{\partial G} \left[ W_j \cdot F(\tilde u)\right] \cdot \mathbf n \: d\varGamma_G + \int_G \nabla W_j \cdot F(\tilde u) \: dG- V_i \cdot q = 0 \, .
\end{equation}
Defining the weighting function $W_j$ to be piecewisely constant over a control volume box $B_i$
Defining the weighting function $W_j$ to be piecewisely constant over a control volume box $B_i$
\begin{equation}
W_j(x) = \begin{cases}
@@ -108,13 +108,13 @@ Defining the weighting function $W_j$ to be piecewisely constant over a control
causes $\nabla W_j = 0$:
\begin{equation}
\label{eq:disc1}
\label{eq:disc1}
V_i \frac{\partial \hat u_i}{\partial t} + \int_{\partial B_i} \left[ W_j \cdot F(\tilde u)\right] \cdot \mathbf n \; d{\varGamma}_{B_i} - V_i \cdot q = 0 .
\end{equation}
The consideration of the time discretization and inserting $W_j = 1$ finally lead to the discretized form which will be applied to the mathematical flow and transport equations:
\begin{equation}
\label{eq:discfin}
V_i \frac{\hat u_i^{n+1} - \hat u_i^{n}}{\Delta t} + \int_{\partial B_i} F(\tilde u^{n+1}) \cdot \mathbf n \; d{\varGamma}_{B_i} - V_i \: q^{n+1} \: = 0
\label{eq:discfin}
V_i \frac{\hat u_i^{n+1} - \hat u_i^{n}}{\Delta t} + \int_{\partial B_i} F(\tilde u^{n+1}) \cdot \mathbf n \; d{\varGamma}_{B_i} - V_i \: q^{n+1} \: = 0
\end{equation}
+13 -13
View File
@@ -138,11 +138,11 @@ executed is dynamically determined at run time.
// The base class
class Car
{public:
virtual double gasUsage()
virtual double gasUsage()
{ return 4.5; };/*@\label{designpatterns:virtual-usage}@*/
virtual double fuelTankSize() = 0;/*@\label{designpatterns:totally-virtual}@*/
double range(double fuelTankFillLevel)
double range(double fuelTankFillLevel)
{ return 100*fuelTankFillLevel*fuelTankSize()/gasUsage(); }
};
\end{lstlisting}
@@ -192,7 +192,7 @@ S-Class.
\end{example}
\begin{exc}
What happens if \dots
What happens if \dots
\begin{itemize}
\item \dots the \texttt{gasUsage} method is removed from the \texttt{Lupo} class?
\item \dots the \texttt{virtual} qualifier is removed in front of the
@@ -234,16 +234,16 @@ the called method cannot be dynamically changed at runtime.
can be implemented like this:
\begin{lstlisting}[name=staticcars,basicstyle=\ttfamily\scriptsize,numbers=left,numberstyle=\tiny, numbersep=5pt]
// The base class. The 'Imp' template parameter is the
// type of implementation, i.e. the derived class
// type of implementation, i.e. the derived class
template <class Imp>
class Car
{public:
double gasUsage()
double gasUsage()
{ return 4.5; };
double fuelTankSize()
double fuelTankSize()
{ throw "The derived class needs to implement the fuelTankSize() method"; };
double range(double fuelTankFillLevel)
double range(double fuelTankFillLevel)
{ return 100*fuelTankFillLevel*asImp_().fuelTankSize()/asImp_().gasUsage(); }
protected:
@@ -361,7 +361,7 @@ int main()
Dune::PDELab::GridFunctionSpaceBlockwiseMapper
>
GridFunctionSpace;
typedef typename GridFunctionSpace::ConstraintsContainer<double>::Type
typedef typename GridFunctionSpace::ConstraintsContainer<double>::Type
ConstraintsTrafo;
typedef Ewoms::PDELab::BoxLocalOperator<TypeTag> LocalOperator;
typedef Dune::PDELab::GridOperatorSpace<
@@ -383,7 +383,7 @@ not pose a severe problem as long as the type (in this case the grid
operator space) needs to be specified exactly once in the whole
program. If, on the other hand, it needs to be consistend over
multiple locations in the source code, measures have to be taken in
order to keep the code maintainable.
order to keep the code maintainable.
\section{Traits Classes}
@@ -394,7 +394,7 @@ class. Instead of writing
template <class A, class B, class C, class D>
class MyClass {};
\end{lstlisting}
one can use
one can use
\begin{lstlisting}[basicstyle=\ttfamily\scriptsize,numbers=left,numberstyle=\tiny, numbersep=5pt]
template <class Traits>
class MyClass {};
@@ -402,7 +402,7 @@ class MyClass {};
where the \texttt{Traits} class contains public type definitions for
\texttt{A}, \texttt{B}, \texttt{C} and \texttt{D}, e.g.
\begin{lstlisting}[basicstyle=\ttfamily\scriptsize,numbers=left,numberstyle=\tiny, numbersep=5pt]
struct MyTraits
struct MyTraits
{
typedef float A;
typedef double B;
+6 -7
View File
@@ -280,15 +280,15 @@
owner = {faigle},
review = {3phase model derivation finite element discretizattion Beschreibung
des sequenziellen numerischen L\"osungsschemas verwendete ELLAM methode
Trangenstein + pC
assumpt: no mass transfer between water and gas/oil (black oil)
rho_w = const
s(p, ...) und nicht s(p+pc, ...)},
timestamp = {2011.11.29}
}
@@ -1012,4 +1012,3 @@
title = {wikipedia about aliasing data location in memory: \url{http://en.wikipedia.org/wiki/Aliasing\_(computing)}},
key = {WikipediaAliasing}
}
+2 -2
View File
@@ -12,7 +12,7 @@
\definecolor{bashgray}{gray}{0.92}
\definecolor{cppgray}{gray}{0.95}
\lstset{language=C++, basicstyle=\ttfamily,
\lstset{language=C++, basicstyle=\ttfamily,
keywordstyle=\color{black}\bfseries, tabsize=4, stringstyle=\ttfamily,
extendedchars=true, escapeinside={/*@}{@*/}}
@@ -138,7 +138,7 @@
}
% a new counter
% you can give a label to it and thus reference it
% syntax: \numberThis{printedTextToBeLabeled}{label}
% syntax: \numberThis{printedTextToBeLabeled}{label}
% if you wanted a \newline after a numbered thing, you could just add a empty line after ``\label{#2}''
\newcounter{thingCounter}
\renewcommand{\thethingCounter}{\arabic{thingCounter}}
+9 -9
View File
@@ -64,7 +64,7 @@ The \eWoms fluid framework currently features the following concepts
\section{Fluid States}
Fluid state objects express the complete thermodynamic state of a
system at a given spatial and temporal position.
system at a given spatial and temporal position.
\subsection{Exported Constants}
@@ -144,7 +144,7 @@ Also, \textbf{all} fluid states \textbf{must} provide the following methods:
arbitrary, but in the context of the \eWoms fluid framework, we
assume that it is the same for all fluid phases, i.e.
$f_\alpha^{\kappa,0} = f_\beta^{\kappa,0}$.
Assuming thermal equilibrium, there is a one-to-one mapping between
a component's chemical potential $\zeta^\kappa_\alpha$ and its
fugacity $f^\kappa_\alpha$. With the above assumptions, chemical
@@ -165,7 +165,7 @@ Also, \textbf{all} fluid states \textbf{must} provide the following methods:
\item[viscosity():] Returns the dynamic viscosity
$\mu_\alpha$ of fluid phase $\alpha$.
\end{description}
\subsection{Available Fluid States}
Currently, the following fluid states are provided by \eWoms:
\begin{description}
@@ -309,15 +309,15 @@ only needs to provide the following thermodynamic relations:
parameter cache, a phase and a component index, return the calculate
the molecular diffusion coefficient for the component in the fluid
phase.
Molecular diffusion of a component $\kappa$ in phase $\alpha$ is
caused by a gradient of the chemical potential. Using some
simplifying assumptions~\cite{reid1987}, they can be also expressed
in terms of mole fraction gradients, i.e. the equation used for mass
fluxes due to molecular diffusion is
\[
\[
J^\kappa_\alpha = - \rho_{mol,\alpha} D^\kappa_\alpha\ \mathbf{grad} x^\kappa_\alpha\;,
\]
\]
where $\rho_{mol,\alpha}$ is the molar density of phase $\alpha$,
$x^\kappa_\alpha$ is the mole fraction of component $\kappa$ in
phase $\alpha$, $D^\kappa_\alpha$ is the diffusion coefficient and
@@ -404,7 +404,7 @@ provides the following constraint solvers:
\sum_{\alpha=1}^M \saturation_\alpha = 1
\]
\item $M - 1$ constraints are given by the capillary pressures:
\[
\[
p_\beta = p_\alpha + p_{c\beta\alpha} \;,
\]
for all phases $\alpha$, $\beta$
@@ -430,7 +430,7 @@ system of equations is closed.
non-ideal mixtures.
\end{description}
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+2 -2
View File
@@ -15,7 +15,7 @@ in the next chapter.
\input{quickstart-guide}
\input{parameters}
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+4 -4
View File
@@ -13,7 +13,7 @@ like splitting hairs to you, but they do make it much easier for
everybody to work on code that has not been written by oneself.
\begin{itemize}
\item Naming:
\item Naming:
\begin{itemize}
\item Comments: They are helpful! Use comments extensively to explain
what your code does, but please refrain from adding trivial
@@ -65,7 +65,7 @@ everybody to work on code that has not been written by oneself.
\begin{itemize}
\item Method parameters
\item Template parameters
\item Return values
\item Return values
\item Exceptions thrown by a method
\end{itemize}
Since we all know that writing documentation is not well-liked and is
@@ -84,7 +84,7 @@ everybody to work on code that has not been written by oneself.
removed. Use those assertations freely!
\end{itemize}
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+10 -10
View File
@@ -58,7 +58,7 @@ autotools (\texttt{autoconf}, \texttt{automake}, \texttt{autogen},
\texttt{libtool}), as well as the GNU variant of \texttt{make} called
gmake must be available in a recent enough version. For example Ubuntu
Linux provides these tools by means of the packages \texttt{autoconf},
\texttt{automake}, \texttt{libtool} and the package
\texttt{automake}, \texttt{libtool} and the package
\texttt{build-essential} includes the \Cplusplus compiler
\texttt{g++} and \texttt{make}.
@@ -156,15 +156,15 @@ the actual name of the \emph{ewoms base directory} is
\begin{lstlisting}[style=Bash]
$ mkdir ~/src
$ cd ~/src
$ tar xzvf path_to_tarball_of/dune-common-2.2.0.tar.gz
$ tar xzvf path_to_tarball_of/dune-grid-2.2.0.tar.gz
$ tar xzvf path_to_tarball_of/dune-geometry-2.2.0.tar.gz
$ tar xzvf path_to_tarball_of/dune-istl-2.2.0.tar.gz
$ tar xzvf path_to_tarball_of/dune-localfunctions-2.2.0.tar.gz
$ tar xzvf path_to_tarball_of/dune-common-2.2.0.tar.gz
$ tar xzvf path_to_tarball_of/dune-grid-2.2.0.tar.gz
$ tar xzvf path_to_tarball_of/dune-geometry-2.2.0.tar.gz
$ tar xzvf path_to_tarball_of/dune-istl-2.2.0.tar.gz
$ tar xzvf path_to_tarball_of/dune-localfunctions-2.2.0.tar.gz
$ tar xzvf path_to_tarball_of/ewoms-2.2.0.tar.gz
\end{lstlisting}
\paragraph{Obtaining \Dune and \eWoms from software repositories}
\paragraph{Obtaining \Dune and \eWoms from software repositories}
Direct access to a software repositories for downloading code can be
convenient to always follow the changes of done to the software
@@ -362,7 +362,7 @@ libraries you use.
\item \textbf{METIS}: This is a dependency of ALUGrid, if you are
going to run it parallel.
Available for non-commercial use at
\texttt{\url{http://glaros.dtc.umn.edu/gkhome/metis/metis/overview}}
@@ -373,7 +373,7 @@ libraries you use.
some external libraries.
\end{itemize}
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+3 -3
View File
@@ -38,7 +38,7 @@ underlying grid libraries\footnote{In fact, the performance penalty
resulting from the use of \Dune's grid interface is usually
negligible~\cite{BURRI2006}.}.
\begin{figure}[hbt]
\centering
\centering
\includegraphics[width=.5\linewidth, keepaspectratio]{EPS/dunedesign}
\caption{
\label{fig:dune-design}
@@ -87,7 +87,7 @@ schemes as well as nonlinear and linear solvers, to general concepts
for model coupling. Moreover, \eWoms includes ready-to-use numerical
models and a few example applications.
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+30 -30
View File
@@ -1,10 +1,10 @@
\chapter[Models]{Physical and numerical models}
\section{Physical and mathematical description}
\section{Physical and mathematical description}
Characteristic of compositional multiphase models is that the phases
are not only matter of a single chemical substance. Instead, their
composition in general includes several species, and for the mass transfer,
composition in general includes several species, and for the mass transfer,
the component behavior is quite different from the phase behavior. In the following, we
give some basic definitions and assumptions that are required for the
formulation of the model concept below. As an example, we take a
@@ -17,7 +17,7 @@ systems is straightforward and can be found, e.\ g., in
Model Concept}
\textbf{Components:}
The term \emph{component} stands for constituents of the phases which
can be associated with a unique chemical species, or, more generally, with
can be associated with a unique chemical species, or, more generally, with
a group of species exploiting similar physical behavior. In this work, we
assume a water-gas-NAPL system composed of the phases water (subscript
$\text{w}$), gas ($\text{g}$), and NAPL ($\text{n}$). These phases are
@@ -37,12 +37,12 @@ For the nonisothermal multiphase processes in porous media under
consideration, we state that the assumption of local thermal
equilibrium is valid since flow velocities are small. We neglect
chemical reactions and biological decomposition and assume chemical
equilibrium. Mechanical equilibrium is not valid in a porous medium,
equilibrium. Mechanical equilibrium is not valid in a porous medium,
since discontinuities in pressure can occur across a fluid-fluid
interface due to capillary effects.
\textbf{Notation:} The index $\alpha \in \{\text{w}, \text{n}, \text{g}\}$ refers
to the phase, while the superscript $\kappa \in \{\text{w}, \text{a}, \text{c}\}$ refers
\textbf{Notation:} The index $\alpha \in \{\text{w}, \text{n}, \text{g}\}$ refers
to the phase, while the superscript $\kappa \in \{\text{w}, \text{a}, \text{c}\}$ refers
to the component. \\
\begin{tabular}{llll}
$p_\alpha$ & phase pressure & $\phi$ & porosity \\
@@ -70,21 +70,21 @@ molar mass balance can be written as:
\begin{multline}
\label{A3:eqmass1}
\phi \frac{\partial (\sum_\alpha \varrho_{\text{mol}, \alpha}
x_\alpha^\kappa S_\alpha )}{\partial t}
x_\alpha^\kappa S_\alpha )}{\partial t}
- \sum\limits_\alpha \Div \left( \frac{k_{\text{r}
\alpha}}{\mu_\alpha} \varrho_{\text{mol}, \alpha}
x_\alpha^\kappa K (\grad p_\alpha -
\varrho_{\alpha} \boldsymbol{g}) \right) \\
%
%
%
- \sum\limits_\alpha \Div \left( \tau \phi S_\alpha D_\alpha^\kappa \varrho_{\text{mol},
\alpha} \grad x_\alpha^\kappa \right)
\alpha} \grad x_\alpha^\kappa \right)
- q^\kappa = 0, \qquad \kappa \in \{\text{w,a,c}\}.
\end{multline}
The component mass balance can also be written in terms of mass fractions
The component mass balance can also be written in terms of mass fractions
by replacing molar densities by mass densities and mole by mass fractions.
To obtain a single conserved quantity in the temporal derivative, the total
To obtain a single conserved quantity in the temporal derivative, the total
concentration, representing the mass of one component per unit volume, is defined as
\begin{displaymath}
C^\kappa = \sum_\alpha \phi S_\alpha \varrho_{\text{mass},\alpha} X_\alpha^\kappa \; .
@@ -93,7 +93,7 @@ Using this definition, the component mass balance is written as:
\begin{multline}
\label{A3:eqmass2}
\frac{\partial C^\kappa}{\partial t} =
\frac{\partial C^\kappa}{\partial t} =
\sum\limits_\alpha \Div \left( \frac{k_{\text{r}
\alpha}}{\mu_\alpha} \varrho_{\text{mass}, \alpha}
X_\alpha^\kappa K (\grad p_\alpha +
@@ -101,14 +101,14 @@ Using this definition, the component mass balance is written as:
%
%
+ \sum\limits_\alpha \Div \left( \tau \phi S_\alpha D_\alpha^\kappa \varrho_{\text{mass},
\alpha} \grad X_\alpha^\kappa \right)
\alpha} \grad X_\alpha^\kappa \right)
+ q^\kappa = 0, \qquad \kappa \in \{\text{w,a,c}\}.
\end{multline}
In the case of non-isothermal systems, we further have to balance the
thermal energy. We assume fully reversible processes, such that entropy
is not needed as a model parameter. Furthermore, we neglect
is not needed as a model parameter. Furthermore, we neglect
dissipative effects and the heat transport due to molecular
diffusion. The energy balance can then be
formulated as:
@@ -118,18 +118,18 @@ formulated as:
\phi \frac{\partial \left( \sum_\alpha \varrho_{\alpha}
u_\alpha S_\alpha \right)}{\partial t} + \left( 1 -
\phi \right) \frac{\partial \varrho_{\text{s}} c_{\text{s}}
T}{\partial t}
T}{\partial t}
- \Div \left( \lambda_{\text{pm}} \grad T \right)
\\
- \sum\limits_\alpha \Div \left( \frac{k_{\text{r}
\alpha}}{\mu_\alpha} \varrho_{\alpha} h_\alpha
K \left( \grad p_\alpha - \varrho_{\alpha}
\boldsymbol{g} \right) \right)
\boldsymbol{g} \right) \right)
- q^h \; = \; 0.
\end{multline}
In order to close the system, supplementary constraints for capillary pressure, saturations and mole
fractions are needed, \cite{A3:helmig:1997}.
fractions are needed, \cite{A3:helmig:1997}.
According to the Gibbsian phase rule, the number of degrees of freedom
in a non-isothermal compositional multiphase system is equal to the
number of components plus one. This means we need as many independent
@@ -140,40 +140,40 @@ fractions, temperature, pressures, etc.
\input{box}
\section{Available models}
The following description of the available models is automatically extracted
\section{Available models}
The following description of the available models is automatically extracted
from the Doxygen documentation.
% \textbf{TODO}: Unify notation.
% \textbf{TODO}: Unify notation.
\subsection{Fully-implicit models}
\subsection{Fully-implicit models}
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{ewoms/boxmodels} of the \eWoms distribution.
\subsubsection{The immiscible multi-phase model}
\subsubsection{The immiscible multi-phase model}
\input{ModelDescriptions/immisciblemodel}
\subsubsection{The miscible multi-phase NCP model}
\subsubsection{The miscible multi-phase NCP model}
\input{ModelDescriptions/pvsmodel}
\subsubsection{The miscible multi-phase PVS model}
\subsubsection{The miscible multi-phase PVS model}
\input{ModelDescriptions/pvsmodel}
\subsubsection{The miscible multi-phase flash model}
\subsubsection{The miscible multi-phase flash model}
\input{ModelDescriptions/flashmodel}
\subsubsection{The Richards model}
\subsubsection{The Richards model}
\input{ModelDescriptions/richardsmodel}
\subsubsection{The black-oil model}
\subsubsection{The black-oil model}
\input{ModelDescriptions/blackoilmodel}
\subsubsection{The (Navier-)Stokes model}
\subsubsection{The (Navier-)Stokes model}
\input{ModelDescriptions/stokesmodel}
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+3 -3
View File
@@ -55,7 +55,7 @@ searched for. Bringing \eqref{NewtonGen} into the form used the linear
solvers
\begin{equation}
\label{GenSysEq}
\textbf{A}\textbf{x} - \textbf{b} = 0
\textbf{A}\textbf{x} - \textbf{b} = 0
\end{equation}
leads to
\begin{itemize}
@@ -68,7 +68,7 @@ Once $\textbf{u}^{r} - \textbf{u}^{r+1}$ has been calculated, \eWoms
updates the current solution in \texttt{NewtonController::update()}
and starts the next iteration if the scheme has not yet converged.
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+2 -2
View File
@@ -35,7 +35,7 @@ adapted.
An additional hint: Always watch out for parameters which are unknown
to the simulation, as this is \emph{very} useful for spotting typos.
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+7 -7
View File
@@ -153,7 +153,7 @@ NEW_PROP_TAG(TestProp);
SET_TYPE_PROP(BaseTypeTag, TestProp, int);
UNSET_PROP(DerivedTypeTag, TestProp);
// trying to access the 'TestProp' property for 'DerivedTypeTag'
// trying to access the 'TestProp' property for 'DerivedTypeTag'
// will trigger a compiler error!
}}
\end{lstlisting}
@@ -197,12 +197,12 @@ Example:\nolinebreak
template <TypeTag>
class MyClass {
// retrieve the ::value attribute of the 'NumEq' property
enum { numEq = GET_PROP(TypeTag, NumEq)::value };
enum { numEq = GET_PROP(TypeTag, NumEq)::value };
// retrieve the ::value attribute of the 'NumPhases' property using the convenience macro
enum { numPhases = GET_PROP_VALUE(TypeTag, NumPhases) };
enum { numPhases = GET_PROP_VALUE(TypeTag, NumPhases) };
// retrieve the ::type attribute of the 'Scalar' property
typedef typename GET_PROP(TypeTag, Scalar)::type Scalar;
typedef typename GET_PROP(TypeTag, Scalar)::type Scalar;
// retrieve the ::type attribute of the 'Vector' property using the convenience macro
typedef typename GET_PROP_TYPE(TypeTag, Vector) Vector;
};
@@ -238,7 +238,7 @@ diagram for the car types above might look like outlined in Figure
\ref{fig:car-hierarchy}.
\begin{figure}[t]
\centering
\centering
\subfloat[]{
\includegraphics[width=.6\textwidth]{EPS/car-hierarchy.eps}
\label{fig:car-hierarchy}
@@ -296,7 +296,7 @@ the following:
of seats is $2$, it uses $\unitfrac[18]{l}{100km}$ and has a cargo payload of
$\unit[35]{t}$.
\item A tank exhibits a top speed of $\unitfrac[60]{km}{h}$, uses $\unitfrac[65]{l}{100km}$
and features a $\unit[120]{mm}$ diameter canon
and features a $\unit[120]{mm}$ diameter canon
\item A sedan has a gas usage of $\unitfrac[7]{l}{100km}$, as well as an automatic
transmission, in every other aspect it is like a compact car.
\item A pick-up truck has a top speed of $\unitfrac[120]{km}{h}$ and a payload of
@@ -370,7 +370,7 @@ Properties for Sedan:
\end{lstlisting}
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
+2 -2
View File
@@ -67,7 +67,7 @@ option files than as something fixed; feel free to copy and modify
them. To avoid confusion, it is helpful to rename your
customized option files, though.
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+4 -4
View File
@@ -11,13 +11,13 @@ found in the tutorials in the following chapter.
\item Go to the directory \texttt{test}. There, various test
application folders can be found. Let us consider as example
the one for the fully-implicit models, \texttt{boxmodels}:
\item Enter the folder \texttt{boxmodels}.
\item Enter the folder \texttt{boxmodels}.
\item By default, the \texttt{dunecontrol} command only compiles the
parts of \Dune modules that are necessary to build modules depending
on the given module. For \eWoms, \texttt{dunecontrol} does not build
anything by default, because \eWoms only provides \Cplusplus
template classes but no libraries that need compilation. To compile
the test simulation for the "lens" problem which uses the fully-implicit
the test simulation for the "lens" problem which uses the fully-implicit
model that assumes immisciblility, enter
\begin{lstlisting}[style=Bash]
make lens_immiscible
@@ -81,7 +81,7 @@ simulation together with a brief description, by running
visualization tool of your choice as you will be using it a lot.
\end{enumerate}
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+27 -27
View File
@@ -1,39 +1,39 @@
\chapter{Directory structure}
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{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{/}:
\begin{itemize}
\item \texttt{CMake}: the configuration options
for building \eWoms using CMake. See the file \texttt{INSTALL.cmake} in
the root directory of the \eWoms distribution for details. Of course,
it is also possible to use the DUNE buildsystem just like for the other
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{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{/}:
\begin{itemize}
\item \texttt{CMake}: the configuration options
for building \eWoms using CMake. See the file \texttt{INSTALL.cmake} in
the root directory of the \eWoms distribution for details. Of course,
it is also possible to use the DUNE buildsystem just like for the other
DUNE modules.
\item \texttt{doc}: contains the Doxygen documentation in \texttt{doxygen},
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{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}.
\item \texttt{doc}: contains the Doxygen documentation in \texttt{doxygen},
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{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{ewoms} directory}\label{sec:ewoms}
The directory \texttt{ewoms} contains the \eWoms source files. It consists of the following subdirectories (see Figure \ref{fig:ewoms-structure}):
The directory \texttt{ewoms} contains the \eWoms source files. It consists of the following subdirectories (see Figure \ref{fig:ewoms-structure}):
\begin{itemize}
\begin{itemize}
\item \texttt{boxmodels}: The fully implicit vertex-centered finite
volume (box) method. This directory features the following
sub-directories
\begin{itemize}
\begin{itemize}
\item \texttt{common}: The infrastructural code shared by all box
models; For example it contains the file
\texttt{boxfvelementgeometry.hh} which is used by the box scheme to
@@ -42,7 +42,7 @@ The directory \texttt{ewoms} contains the \eWoms source files. It consists of th
re-used by multiple models, like a generic plug-in for the energy
equation, models for determining the filter velocity, or plugins
describing molecular diffusion.
\item Each of the other subdirectories contains
\item Each of the other subdirectories contains
a physical numerical model which uses the box discretization.
\end{itemize}
@@ -109,7 +109,7 @@ considered.
\begin{landscape}
\begin{figure}[hbt]
\centering
\centering
\includegraphics[width=\linewidth, keepaspectratio]{EPS/ewoms_structure.eps}
\caption{
\label{fig:ewoms-structure}
@@ -118,7 +118,7 @@ considered.
\end{figure}
\end{landscape}
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+1 -1
View File
@@ -1,3 +1,3 @@
\section[New model]{How to implement a new model}
TODO: describe how to impelment a new model
TODO: describe how to impelment a new model
+2 -2
View File
@@ -24,7 +24,7 @@ directory.
\input{tutorial1}
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+9 -9
View File
@@ -50,7 +50,7 @@ The solved equations are the mass balances of water and oil:
-
\nabla \cdot \left( \varrho_{o} \, \frac{k_{ro}}{\mu_{o}} \, \mathbf{K}\;\nabla p_o \right)
-
q_o
q_o
& =
0
\end{align}
@@ -238,7 +238,7 @@ and the analogous \texttt{bboxMin()} method are provided by the
problem's base class.
In addition to these methods, there might be some additional
model-specific methods.
model-specific methods.
\subsection{Defining fluid properties}
\label{tutorial1:description-fluid-class}
@@ -298,12 +298,12 @@ even not at all.
program if you use command line parameters. In both cases, don't
forget run the simulation before re-inspecting the results using
\texttt{paraview}.
\item \textbf{Boundary Conditions} \\
Change the boundary conditions in the problem file
\texttt{tutorial1problem.hh} so that water enters from the
bottom and oil is extracted from the top boundary. The right and the
left boundary should be closed for both, water and oil.
left boundary should be closed for both, water and oil.
Note that in \eWoms, flux boundary conditions are specified as
fluxes of the conserved quantities into the direction of the outer
@@ -389,7 +389,7 @@ chapter~\ref{sec:fluidframework}.
instruct the model to use this fluid system by setting
the \texttt{FluidSystem} property via:\\
\begin{lstlisting}[style=eWomsCode]
SET_TYPE_PROP(Tutorial1Problem,
SET_TYPE_PROP(Tutorial1Problem,
FluidSystem,
Ewoms::FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>)
\end{lstlisting}
@@ -434,7 +434,7 @@ complex fluid system.
directory as the header for the regularized Brooks-Corey law,
\texttt{regularizedbrookscorey.hh}.
\end{itemize}
\item \textbf{Heterogeneities} \\
Set up a model domain with the soil properties given in Figure
\ref{tutorial1:exercise1_d}. Adjust the boundary conditions
@@ -499,7 +499,7 @@ step size of $100\;\text{s}$.
\psfrag{Lin2}{$\lambda = 1.8$, $p_e = 1000\;\text{Pa}$}
\psfrag{K2}{K $= 10^{-9}\;\text{m}^2$}
\psfrag{phi2}{$\phi = 0.15$}
\psfrag{BC1}{\textsc{Brooks}-\textsc{Corey} Law}
\psfrag{BC1}{\textsc{Brooks}-\textsc{Corey} Law}
\psfrag{BC2}{$\lambda = 2$, $p_e = 1500\;\text{Pa}$}
\psfrag{H1y}{$50\;\text{m}$}
\psfrag{H2y}{$15\;\text{m}$}
@@ -542,7 +542,7 @@ and a viscosity of $0.00112 \, \text{Pa} \; \text{s}$.
\clearpage \newpage
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
%%% End:
+1 -2
View File
@@ -269,7 +269,7 @@ Configuration of Metis partitioner. You can request a configuration to
be read from a JSON file by giving the filename here, ending with
extension '.json.' See
http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/manual.pdf for
available METIS options. Default: "default"
available METIS options. Default: "default"
.TP
\fB\-\-milu\-variant\fR=\fI\,STRING\/\fR
Specify which variant of the modified\-ILU preconditioner ought to be used. Possible variants are: ilu (default, plain ILU), milu_1 (lump diagonal with dropped row entries), milu_2 (lump diagonal with the sum of the absolute values of the dropped row entries), milu_3 (if diagonal is positive add sum of dropped row entries, otherwise subtract them), milu_4 (if diagonal is positive add sum of dropped row entries, otherwise do nothing. Default: "ilu"
@@ -555,4 +555,3 @@ Try to detect and correct oscillations or stagnation during the Newton method. D
.TP
\fB\-\-water\-only\-threshold\fR=\fI\,SCALAR\/\fR
Cells with water saturation above or equal is considered one\-phase water only. Default: 1
+2 -2
View File
@@ -52,8 +52,8 @@
#include <opm/simulators/flow/MixingRateControls.hpp>
#include <opm/simulators/flow/OutputBlackoilModule.hpp>
#include <opm/simulators/flow/VtkTracerModule.hpp>
#include <opm/simulators/flow/HybridNewton.hpp>
#include <opm/simulators/flow/HybridNewtonConfig.hpp>
#include <opm/simulators/flow/HybridNewton.hpp>
#include <opm/simulators/flow/HybridNewtonConfig.hpp>
#include <opm/simulators/utils/satfunc/SatfuncConsistencyCheckManager.hpp>
@@ -68,7 +68,7 @@ void registerFlowProblemParameters()
Parameters::Register<Parameters::NumSatfuncConsistencySamplePoints>
("Maximum number of reported failures for each individual saturation function consistency check");
Parameters::Register<Parameters::HyNeConfigFile>
("Use config files for Hybrid Newton");
@@ -59,7 +59,7 @@ struct RestartWritingInterval { static constexpr int value = 0xffffff; }; // dis
// Path to the config file containing all Hybrid Newton parameters
struct HyNeConfigFile { static constexpr auto value = "hybridNewtonConfig.json"; };
// Wheter or not to use Hybrid Newton nonlinear preconditioning
struct UseHyNe { static constexpr bool value = false; };
struct UseHyNe { static constexpr bool value = false; };
} // namespace Opm::Parameters
+34 -34
View File
@@ -29,7 +29,7 @@
#include <opm/ml/ml_model.hpp>
#include <string>
#include <string>
#include <vector>
namespace Opm {
@@ -97,11 +97,11 @@ public:
* invalid fluid system is encountered.
*/
void tryApplyHybridNewton()
{
// Check if flag activated
{
// Check if flag activated
if (!Parameters::Get<Parameters::UseHyNe>())
return;
validateFluidSystem();
if (!configsLoaded_) {
@@ -152,7 +152,7 @@ protected:
{
const auto& eclState = simulator_.vanguard().eclState();
const auto& phases = eclState.runspec().phases();
bool hasWater = phases.active(Phase::WATER);
bool hasGas = phases.active(Phase::GAS);
bool hasOil = phases.active(Phase::OIL);
@@ -160,7 +160,7 @@ protected:
// Check for three-phase black oil system
if (!(hasWater && hasOil && hasGas && !hasSolvent)) {
OPM_THROW(std::runtime_error,
OPM_THROW(std::runtime_error,
"HybridNewton: Unsupported fluid system. Only three-phase black oil is supported.");
}
}
@@ -205,7 +205,7 @@ protected:
return false;
}
/*!
* \brief Construct the input feature tensor for the Hybrid Newton model.
*
@@ -363,7 +363,7 @@ protected:
* output tensor. Scaling and transformations defined in the configuration
* are applied automatically.
*
* \param input The input tensor of shape
* \param input The input tensor of shape
* [(# of scalar features) + (# of per-cell features × n_cells)].
* \param config The HybridNewtonConfig specifying model path and output
* feature definitions.
@@ -378,14 +378,14 @@ protected:
{
const auto& features = config.output_features;
const int n_features = features.size();
ML::NNModel<Evaluation> model;
model.loadModel(config.model_path);
ML::Tensor<Evaluation> output(1, config.n_cells * n_features);
model.apply(input, output);
return output;
return output;
}
/*!
@@ -416,10 +416,10 @@ protected:
* or if state consistency cannot be enforced.
*/
void updateInitialGuess(
ML::Tensor<Evaluation>& output,
const HybridNewtonConfig& config
ML::Tensor<Evaluation>& output,
const HybridNewtonConfig& config
)
{
{
const auto& features = config.output_features;
FeatureFlags flags = flagFeatures(features);
@@ -436,35 +436,35 @@ protected:
// Temp variables per cell
Scalar sw_val = -1.0;
Scalar so_val = -1.0;
Scalar sg_val = -1.0;
Scalar sg_val = -1.0;
Scalar po_val = -1.0;
for (const auto& [name, spec] : features) {
auto scaled_value = getValue(output(feature_idx * config.n_cells + i));
// Inverse scaling
Scalar raw_value = spec.scaler.unscale(scaled_value);
// Inverse transform
raw_value = spec.transform.applyInverse(raw_value);
if (spec.is_delta) {
if (spec.actual_name == "PRESSURE") {
raw_value = raw_value + unitSyst.from_si(UnitSystem::measure::pressure, getValue(fs.pressure(oilPhaseIdx)));
} else if (spec.actual_name == "SWAT") {
raw_value += getValue(fs.saturation(waterPhaseIdx));
} else if (spec.actual_name == "SOIL") {
raw_value += getValue(fs.saturation(oilPhaseIdx));
} else if (spec.actual_name == "SGAS") {
raw_value += getValue(fs.saturation(gasPhaseIdx));
} else if (spec.actual_name == "RS") {
raw_value = raw_value + unitSyst.from_si(UnitSystem::measure::gas_oil_ratio, getValue(fs.Rs()));
} else if (spec.actual_name == "RV") {
raw_value = raw_value + unitSyst.from_si(UnitSystem::measure::oil_gas_ratio, getValue(fs.Rv()));
} else {
OPM_THROW(std::runtime_error, "Unknown delta feature: " + name);
}
if (spec.is_delta) {
if (spec.actual_name == "PRESSURE") {
raw_value = raw_value + unitSyst.from_si(UnitSystem::measure::pressure, getValue(fs.pressure(oilPhaseIdx)));
} else if (spec.actual_name == "SWAT") {
raw_value += getValue(fs.saturation(waterPhaseIdx));
} else if (spec.actual_name == "SOIL") {
raw_value += getValue(fs.saturation(oilPhaseIdx));
} else if (spec.actual_name == "SGAS") {
raw_value += getValue(fs.saturation(gasPhaseIdx));
} else if (spec.actual_name == "RS") {
raw_value = raw_value + unitSyst.from_si(UnitSystem::measure::gas_oil_ratio, getValue(fs.Rs()));
} else if (spec.actual_name == "RV") {
raw_value = raw_value + unitSyst.from_si(UnitSystem::measure::oil_gas_ratio, getValue(fs.Rv()));
} else {
OPM_THROW(std::runtime_error, "Unknown delta feature: " + name);
}
}
if (spec.actual_name == "PRESSURE") {
@@ -477,7 +477,7 @@ protected:
sg_val = raw_value;
} else if (spec.actual_name == "RS") {
if constexpr (compositionSwitchEnabled) {
raw_value = unitSyst.to_si(UnitSystem::measure::gas_oil_ratio, raw_value);
raw_value = unitSyst.to_si(UnitSystem::measure::gas_oil_ratio, raw_value);
fs.setRs(raw_value);
}
} else if (spec.actual_name == "RV") {
@@ -542,7 +542,7 @@ protected:
simulator_.model().invalidateAndUpdateIntensiveQuantities(/*timeIdx*/0);
}
struct FeatureFlags {
bool has_SWAT = false;
bool has_SOIL = false;
@@ -550,7 +550,7 @@ protected:
bool has_PRESSURE = false;
};
FeatureFlags flagFeatures(const std::vector<std::pair<std::string, FeatureSpec>>& features)
FeatureFlags flagFeatures(const std::vector<std::pair<std::string, FeatureSpec>>& features)
{
FeatureFlags flags;
+1 -1
View File
@@ -209,7 +209,7 @@ public:
);
}
}
private:
/*!
* \brief Load cell indices from a plain text file.
@@ -83,4 +83,3 @@ void amgclSolverBackend<Scalar,block_size>::solve_cuda(Scalar* b)
INSTANTIATE_TYPE(double)
} // namespace Opm::Accelerator
@@ -267,4 +267,3 @@ template class WellContributionsCuda<float>;
#endif
} //namespace Opm
@@ -462,7 +462,7 @@ copy_system_to_gpu(std::shared_ptr<BlockedMatrix<Scalar>> matrix,
if (verbosity >= 3) {
cudaStreamSynchronize(stream);
c_copy += t.stop();
std::ostringstream out;
out << "---cusparseSolver::copy_system_to_gpu(): " << t.elapsed() << " s";
@@ -481,7 +481,7 @@ update_system_on_gpu(std::shared_ptr<BlockedMatrix<Scalar>> matrix,
cudaMemcpyAsync(d_b, b, N * sizeof(Scalar), cudaMemcpyHostToDevice, stream);
cudaMemsetAsync(d_x, 0, sizeof(Scalar) * N, stream);
#if COPY_ROW_BY_ROW
int sum = 0;
for (int i = 0; i < Nb; ++i) {
@@ -506,7 +506,7 @@ update_system_on_gpu(std::shared_ptr<BlockedMatrix<Scalar>> matrix,
if (use_multithreading)
copyThread->join();
cudaMemcpyAsync(d_mVals, jacMatrix->nnzValues,
cudaMemcpyAsync(d_mVals, jacMatrix->nnzValues,
nnzbs_prec * block_size * block_size * sizeof(Scalar),
cudaMemcpyHostToDevice, stream);
} else {
@@ -190,7 +190,7 @@ dispatchQuasiImpesWeights(const GpuSparseMatrixWrapper<T>& matrix,
dispatchQuasiImpesWeights<T, transpose, blocksize - 1>(
matrix, pressureVarIndex, weights, diagonalIndices, numberOfRows);
} else {
throw std::runtime_error("Unsupported block size for getQuasiImpesWeights: " +
throw std::runtime_error("Unsupported block size for getQuasiImpesWeights: " +
std::to_string(matrix.blockSize()) + ". Only block sizes 1-3 are supported.");
}
} else {
@@ -41,4 +41,4 @@ RUN /test/common/clone_opm_repos.sh
# Entrypoint: use unbuffered mode so logs appear in order
ENTRYPOINT ["/usr/bin/python3", "-u", "/test/common/entrypoint.py"]
# No default arguments passed to entrypoint
CMD []
CMD []
@@ -7,7 +7,7 @@ It ensures that adding ML-based approximations does not degrade solver performan
## Dependencies
In a similar way as for opm-common ML module, these tests require **TensorFlow** to be installed.
In a similar way as for opm-common ML module, these tests require **TensorFlow** to be installed.
The CPU version is enough for this test and allows faster installation.
```bash
pip install tensorflow-cpu
@@ -42,7 +42,7 @@ class TestHybridNewton(unittest.TestCase):
cls.unrst, cls.times = extract_unrst_variables(".", cls.deck_file)
cls.rd_init["PERMX"] = [10**2] * len(cls.unrst["PRESSURE"][0])
cls.n_cells = len(cls.unrst["PRESSURE"][0])
def _run_cases(self, cases):
models_dir = Path('.') / "models"
os.makedirs(models_dir, exist_ok=True)
@@ -56,7 +56,7 @@ class TestHybridNewton(unittest.TestCase):
# Run hybrid Newton test
hybrid_iters = self._run_hybrid_newton_test(json_path)
return hybrid_iters
def _build_case_models(self, case, models_dir):
models_to_write = []
@@ -94,14 +94,14 @@ class TestHybridNewton(unittest.TestCase):
])
model.layers[0].set_weights([np.zeros((input_flat.shape[0], output_flat.shape[0])), output_flat])
apply_time = self.times[start_idx]
active_cells = list(range(self.n_cells))
models_dir.mkdir(exist_ok=True)
model_name = "_".join(input_features) + "__TO__" + "_".join(output_features) + f"_{start_idx}_{end_idx}.model"
model_path = models_dir / model_name
export_model(model, model_path)
models_to_write.append({
"input_features": input_features,
"output_features": output_features,
@@ -137,7 +137,7 @@ class TestHybridNewton(unittest.TestCase):
print(f"Running hybrid Newton simulation with config {json_path}...")
subprocess.run(cmd,
stdout=subprocess.DEVNULL,
stdout=subprocess.DEVNULL,
check=True)
hybrid_iters = extract_newtit_from_file(Path('.') / Path(self.deck_file).stem)
@@ -157,7 +157,7 @@ class TestHybridNewton(unittest.TestCase):
def test_multi_model_cases(self):
self._run_cases(MULTI_MODEL_CASES)
def test_zero_newton_cases(self):
hybrid_iters = self._run_cases(ZERO_NEWTON_CASES)
print(f"Hybrid Newton iterations all_features: {hybrid_iters}")
@@ -361,7 +361,7 @@ SCALING_CASES = [
"input_features": ["PRESSURE"], "scaling_input": ["standard"],
"output_features": ["PRESSURE"], "scaling_output": ["standard"]},
{"label": "scaling_SGAS_SWAT_standard", "mode": "single", "start_idx": 1, "end_idx": 2,
"input_features": ["SGAS", "SWAT"], "scaling_input": ["standard", "none"],
"input_features": ["SGAS", "SWAT"], "scaling_input": ["standard", "none"],
"output_features": ["SGAS", "SWAT"], "scaling_output": ["none", "standard"]},
{"label": "scaling_PRESSURE_SWAT_minmax", "mode": "single", "start_idx": 1, "end_idx": 2,
"input_features": ["PRESSURE", "SWAT"], "scaling_input": ["minmax", "none"],
@@ -6,7 +6,7 @@
-- Copyright (C) 2019 SINTEF
-- Copyright (C) 2020 Equinor
-- This simulation deck is for flow_onephase
-- This simulation deck is for flow_onephase
-- to simulate water injection/production
-- in a water single-phase system
@@ -68,11 +68,11 @@ INIT
-- -------------------------------------------------------------------------
NOECHO
DX
-- There are in total 300 cells with length 1000ft in x-direction
DX
-- There are in total 300 cells with length 1000ft in x-direction
300*1000 /
DY
-- There are in total 300 cells with length 1000ft in y-direction
-- There are in total 300 cells with length 1000ft in y-direction
300*1000 /
DZ
-- The layers are 20, 30 and 50 ft thick, in each layer there are 100 cells
@@ -122,7 +122,7 @@ ROCK
14.7 3E-6 /
DENSITY
-- Density (lb per ft³) at surface cond. of
-- Density (lb per ft³) at surface cond. of
-- oil, water and gas, respectively (in that order)
-- Using values from Norne:
@@ -138,7 +138,7 @@ PRESSURE
/
SUMMARY
-- -------------------------------------------------------------------------
-- -------------------------------------------------------------------------
WBHP
'INJ'
'PROD'
@@ -177,8 +177,8 @@ COMPDAT
'PROD' 10 10 3 3 'OPEN' 1* 1* 0.5 /
'INJ' 1 1 1 1 'OPEN' 1* 1* 0.5 /
/
-- Coordinates in item 2-5 are retreived from Odeh's figure 1 and 2
-- Item 9 is the well bore internal diameter,
-- Coordinates in item 2-5 are retreived from Odeh's figure 1 and 2
-- Item 9 is the well bore internal diameter,
-- the radius is given to be 0.25ft in Odeh's paper
+30 -30
View File
@@ -5,7 +5,7 @@
-- Copyright (C) 2015 Statoil
-- This simulation is based on the data given in
-- This simulation is based on the data given in
-- 'Comparison of Solutions to a Three-Dimensional
-- Black-Oil Reservoir Simulation Problem' by Aziz S. Odeh,
-- Journal of Petroleum Technology, January 1981
@@ -72,11 +72,11 @@ INIT
-- -------------------------------------------------------------------------
NOECHO
DX
-- There are in total 300 cells with length 1000ft in x-direction
DX
-- There are in total 300 cells with length 1000ft in x-direction
300*1000 /
DY
-- There are in total 300 cells with length 1000ft in y-direction
-- There are in total 300 cells with length 1000ft in y-direction
300*1000 /
DZ
-- The layers are 20, 30 and 50 ft thick, in each layer there are 100 cells
@@ -135,9 +135,9 @@ SWOF
-- the coeffisient is set to 10e-5, S_{orw}=0 and S_{wi}=0.12
-- Column 3: oil relative permeability when only oil and water are present
-- - we will use the same values as in column 3 in SGOF.
-- This is not really correct, but since only the first
-- This is not really correct, but since only the first
-- two values are of importance, this does not really matter
-- Column 4: water-oil capillary pressure (psi)
-- Column 4: water-oil capillary pressure (psi)
0.12 0 1 0
0.18 4.64876033057851E-008 1 0
@@ -177,7 +177,7 @@ SGOF
0.5 0.72 0.001 0
0.6 0.87 0.0001 0
0.7 0.94 0.000 0
0.85 0.98 0.000 0
0.85 0.98 0.000 0
0.88 0.984 0.000 0 /
--1.00 1.0 0.000 0 /
-- Warning from Eclipse: first sat. value in SWOF + last sat. value in SGOF
@@ -187,7 +187,7 @@ SGOF
-- gas sat. and krw. between gas sat. 0.85 and 1.00 (the last two values given)
DENSITY
-- Density (lb per ft³) at surface cond. of
-- Density (lb per ft³) at surface cond. of
-- oil, water and gas, respectively (in that order)
-- Using values from Norne:
@@ -199,9 +199,9 @@ DENSITY
PVDG
-- Column 1: gas phase pressure (psia)
-- Column 2: gas formation volume factor (rb per Mscf)
-- - in Odeh's paper the units are said to be given in rb per bbl,
-- but this is assumed to be a mistake: FVF-values in Odeh's paper
-- are given in rb per scf, not rb per bbl. This will be in
-- - in Odeh's paper the units are said to be given in rb per bbl,
-- but this is assumed to be a mistake: FVF-values in Odeh's paper
-- are given in rb per scf, not rb per bbl. This will be in
-- agreement with conventions
-- Column 3: gas viscosity (cP)
@@ -231,10 +231,10 @@ PVTO
0.6360 2014.7 1.4350 0.6950 /
0.7750 2514.7 1.5000 0.6410 /
0.9300 3014.7 1.5650 0.5940 /
1.2700 4014.7 1.6950 0.5100
1.2700 4014.7 1.6950 0.5100
9014.7 1.5790 0.7400 /
1.6180 5014.7 1.8270 0.4490
9014.7 1.7370 0.6310 /
1.6180 5014.7 1.8270 0.4490
9014.7 1.7370 0.6310 /
-- It is required to enter data for undersaturated oil for the highest GOR
-- (i.e. the last row) in the PVTO table.
-- In order to fulfill this requirement, values for oil FVF and viscosity
@@ -243,7 +243,7 @@ PVTO
-- and the FVF when keeping the pressure constant at 9014.7psia.
-- From Odeh we know that (at 9014.7psia) the FVF is 2.357 at GOR=2.984
-- for saturated oil and that the FVF is 1.579 at GOR=1.27 for undersaturated oil,
-- so it is possible to use the assumption described above.
-- so it is possible to use the assumption described above.
-- An equivalent approximation for the viscosity has been used.
/
@@ -253,7 +253,7 @@ SOLUTION
EQUIL
-- Item 1: datum depth (ft)
-- Item 2: pressure at datum depth (psia)
-- - Odeh's table 1 says that initial reservoir pressure is
-- - Odeh's table 1 says that initial reservoir pressure is
-- 4800 psi at 8400ft, which explains choice of item 1 and 2
-- Item 3: depth of water-oil contact (ft)
-- - chosen to be directly under the reservoir
@@ -272,14 +272,14 @@ EQUIL
RSVD
-- Dissolved GOR is initially constant with depth through the reservoir.
-- The reason is that the initial reservoir pressure given is higher
---than the bubble point presssure of 4014.7psia, meaning that there is no
-- The reason is that the initial reservoir pressure given is higher
---than the bubble point presssure of 4014.7psia, meaning that there is no
-- free gas initially present.
8300 1.270
8450 1.270 /
SUMMARY
-- -------------------------------------------------------------------------
-- -------------------------------------------------------------------------
-- 1a) Oil rate vs time
FOPR
@@ -377,7 +377,7 @@ RPTRST
-- If no resolution (i.e. case 1), the two following lines must be added:
DRSDT
0 /
-- if DRSDT is set to 0, GOR cannot rise and free gas does not
-- if DRSDT is set to 0, GOR cannot rise and free gas does not
-- dissolve in undersaturated oil -> constant bubble point pressure
WELSPECS
@@ -394,8 +394,8 @@ COMPDAT
'PROD' 10 10 3 3 'OPEN' 1* 1* 0.5 /
'INJ' 1 1 1 1 'OPEN' 1* 1* 0.5 /
/
-- Coordinates in item 2-5 are retreived from Odeh's figure 1 and 2
-- Item 9 is the well bore internal diameter,
-- Coordinates in item 2-5 are retreived from Odeh's figure 1 and 2
-- Item 9 is the well bore internal diameter,
-- the radius is given to be 0.25ft in Odeh's paper
@@ -425,14 +425,14 @@ TSTEP
10*1 /
--Advance the simulater once a month for TEN years:
--31 28 31 30 31 30 31 31 30 31 30 31 /
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31 /
--Advance the simulator once a year for TEN years:
+30 -30
View File
@@ -5,7 +5,7 @@
-- Copyright (C) 2015 Statoil
-- This simulation is based on the data given in
-- This simulation is based on the data given in
-- 'Comparison of Solutions to a Three-Dimensional
-- Black-Oil Reservoir Simulation Problem' by Aziz S. Odeh,
-- Journal of Petroleum Technology, January 1981
@@ -75,11 +75,11 @@ INIT
-- -------------------------------------------------------------------------
NOECHO
DX
-- There are in total 300 cells with length 1000ft in x-direction
DX
-- There are in total 300 cells with length 1000ft in x-direction
300*1000 /
DY
-- There are in total 300 cells with length 1000ft in y-direction
-- There are in total 300 cells with length 1000ft in y-direction
300*1000 /
DZ
-- The layers are 20, 30 and 50 ft thick, in each layer there are 100 cells
@@ -138,9 +138,9 @@ SWOF
-- the coeffisient is set to 10e-5, S_{orw}=0 and S_{wi}=0.12
-- Column 3: oil relative permeability when only oil and water are present
-- - we will use the same values as in column 3 in SGOF.
-- This is not really correct, but since only the first
-- This is not really correct, but since only the first
-- two values are of importance, this does not really matter
-- Column 4: water-oil capillary pressure (psi)
-- Column 4: water-oil capillary pressure (psi)
0.12 0 1 0
0.18 4.64876033057851E-008 1 0
@@ -180,7 +180,7 @@ SGOF
0.5 0.72 0.001 0
0.6 0.87 0.0001 0
0.7 0.94 0.000 0
0.85 0.98 0.000 0
0.85 0.98 0.000 0
0.88 0.984 0.000 0 /
--1.00 1.0 0.000 0 /
-- Warning from Eclipse: first sat. value in SWOF + last sat. value in SGOF
@@ -190,7 +190,7 @@ SGOF
-- gas sat. and krw. between gas sat. 0.85 and 1.00 (the last two values given)
DENSITY
-- Density (lb per ft³) at surface cond. of
-- Density (lb per ft³) at surface cond. of
-- oil, water and gas, respectively (in that order)
-- Using values from Norne:
@@ -202,9 +202,9 @@ DENSITY
PVDG
-- Column 1: gas phase pressure (psia)
-- Column 2: gas formation volume factor (rb per Mscf)
-- - in Odeh's paper the units are said to be given in rb per bbl,
-- but this is assumed to be a mistake: FVF-values in Odeh's paper
-- are given in rb per scf, not rb per bbl. This will be in
-- - in Odeh's paper the units are said to be given in rb per bbl,
-- but this is assumed to be a mistake: FVF-values in Odeh's paper
-- are given in rb per scf, not rb per bbl. This will be in
-- agreement with conventions
-- Column 3: gas viscosity (cP)
@@ -234,10 +234,10 @@ PVTO
0.6360 2014.7 1.4350 0.6950 /
0.7750 2514.7 1.5000 0.6410 /
0.9300 3014.7 1.5650 0.5940 /
1.2700 4014.7 1.6950 0.5100
1.2700 4014.7 1.6950 0.5100
9014.7 1.5790 0.7400 /
1.6180 5014.7 1.8270 0.4490
9014.7 1.7370 0.6310 /
1.6180 5014.7 1.8270 0.4490
9014.7 1.7370 0.6310 /
-- It is required to enter data for undersaturated oil for the highest GOR
-- (i.e. the last row) in the PVTO table.
-- In order to fulfill this requirement, values for oil FVF and viscosity
@@ -246,7 +246,7 @@ PVTO
-- and the FVF when keeping the pressure constant at 9014.7psia.
-- From Odeh we know that (at 9014.7psia) the FVF is 2.357 at GOR=2.984
-- for saturated oil and that the FVF is 1.579 at GOR=1.27 for undersaturated oil,
-- so it is possible to use the assumption described above.
-- so it is possible to use the assumption described above.
-- An equivalent approximation for the viscosity has been used.
/
@@ -256,7 +256,7 @@ SOLUTION
EQUIL
-- Item 1: datum depth (ft)
-- Item 2: pressure at datum depth (psia)
-- - Odeh's table 1 says that initial reservoir pressure is
-- - Odeh's table 1 says that initial reservoir pressure is
-- 4800 psi at 8400ft, which explains choice of item 1 and 2
-- Item 3: depth of water-oil contact (ft)
-- - chosen to be directly under the reservoir
@@ -275,14 +275,14 @@ EQUIL
RSVD
-- Dissolved GOR is initially constant with depth through the reservoir.
-- The reason is that the initial reservoir pressure given is higher
---than the bubble point presssure of 4014.7psia, meaning that there is no
-- The reason is that the initial reservoir pressure given is higher
---than the bubble point presssure of 4014.7psia, meaning that there is no
-- free gas initially present.
8300 1.270
8450 1.270 /
SUMMARY
-- -------------------------------------------------------------------------
-- -------------------------------------------------------------------------
-- 1a) Oil rate vs time
FOPR
@@ -380,7 +380,7 @@ RPTRST
-- If no resolution (i.e. case 1), the two following lines must be added:
DRSDT
0 /
-- if DRSDT is set to 0, GOR cannot rise and free gas does not
-- if DRSDT is set to 0, GOR cannot rise and free gas does not
-- dissolve in undersaturated oil -> constant bubble point pressure
WELSPECS
@@ -397,8 +397,8 @@ COMPDAT
'PROD' 10 10 3 3 'OPEN' 1* 1* 0.5 /
'INJ' 1 1 1 1 'OPEN' 1* 1* 0.5 /
/
-- Coordinates in item 2-5 are retreived from Odeh's figure 1 and 2
-- Item 9 is the well bore internal diameter,
-- Coordinates in item 2-5 are retreived from Odeh's figure 1 and 2
-- Item 9 is the well bore internal diameter,
-- the radius is given to be 0.25ft in Odeh's paper
@@ -424,14 +424,14 @@ WCONINJE
TSTEP
--Advance the simulater once a month for TEN years:
31 28 31 30 31 30 31 31 30 31 30 31 /
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31
--31 28 31 30 31 30 31 31 30 31 30 31 /
--Advance the simulator once a year for TEN years:
@@ -13,7 +13,7 @@ RUNSPEC
-- -------------------------------------------------------------------------
TITLE
SPE1 - CASE 2 - 2Phase GAS-WATER case
SPE1 - CASE 2 - 2Phase GAS-WATER case
DIMENS
10 10 3 /
@@ -28,7 +28,7 @@ EQLDIMS
TABDIMS
/
-- oil is removed to facilitate a gas water test case
-- oil is removed to facilitate a gas water test case
WATER
GAS
@@ -63,11 +63,11 @@ INIT
-- -------------------------------------------------------------------------
NOECHO
DX
-- There are in total 300 cells with length 1000ft in x-direction
DX
-- There are in total 300 cells with length 1000ft in x-direction
300*1000 /
DY
-- There are in total 300 cells with length 1000ft in y-direction
-- There are in total 300 cells with length 1000ft in y-direction
300*1000 /
DZ
-- The layers are 20, 30 and 50 ft thick, in each layer there are 100 cells
@@ -121,7 +121,7 @@ PVTW
.0 1.0 3.03E-06 .5 0.0 /
DENSITY
-- Density (lb per ft³) at surface cond. of
-- Density (lb per ft³) at surface cond. of
-- oil, water and gas, respectively (in that order)
-- Using values from Norne:
@@ -133,9 +133,9 @@ DENSITY
PVDG
-- Column 1: gas phase pressure (psia)
-- Column 2: gas formation volume factor (rb per Mscf)
-- - in Odeh's paper the units are said to be given in rb per bbl,
-- but this is assumed to be a mistake: FVF-values in Odeh's paper
-- are given in rb per scf, not rb per bbl. This will be in
-- - in Odeh's paper the units are said to be given in rb per bbl,
-- but this is assumed to be a mistake: FVF-values in Odeh's paper
-- are given in rb per scf, not rb per bbl. This will be in
-- agreement with conventions
-- Column 3: gas viscosity (cP)
@@ -159,9 +159,9 @@ PRESSURE
SWAT
100*0.7 100*0.5 100*0.3 /
SUMMARY
-- -------------------------------------------------------------------------
-- -------------------------------------------------------------------------
-- 2b) Gas saturation at grid points given in Odeh's paper
BGSAT
@@ -220,7 +220,7 @@ WCONINJE
TSTEP
--Advance the simulater once a month for ONE year:
31 28 31 30 31 30 31 31 30 31 30 31/
31 28 31 30 31 30 31 31 30 31 30 31/
END
+5 -6
View File
@@ -86,10 +86,10 @@ INCLUDE
INCLUDE
'include/permx_model5.grdecl' /
PORO
6000*0.28 /
6000*0.28 /
COPY
PERMX PERMY /
@@ -98,7 +98,7 @@ COPY
MULTIPLY
PERMZ 0.1 /
/
/
RPTGRID
'ALLNNC' /
@@ -114,7 +114,7 @@ EDIT
-- actual maximum value is 35719 in this case
-- a max max value of 32000 should affect 76 cells
-- there are in other words 108 cells
-- there are in other words 108 cells
-- mean value without maxvalue tranz: 13351
-- mean value with maxvalue tranz: 13326
@@ -152,7 +152,7 @@ EQLNUM
EQUALS
FIPNUM 1 1 20 1 14 1 10 /
FIPNUM 2 1 20 15 30 1 10 /
/
/
SATNUM
6000*1 /
@@ -315,4 +315,3 @@ DATES
/
END
+3 -3
View File
@@ -12,7 +12,7 @@ START
SCHEDULE
TSTEP
1.0 2*5.0
1.0 2*5.0
/
TSTEP
@@ -20,7 +20,7 @@ TSTEP
/
TSTEP
19.0
19.0
/
TSTEP
@@ -40,7 +40,7 @@ TSTEP
/
TSTEP
11.0
11.0
/
TSTEP
+1708 -1710
View File
File diff suppressed because it is too large. Load diff
+1707 -1707
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -21,7 +21,7 @@ DIMENS
TABDIMS
1 1 40 20 1 20 /
EQLDIMS
-- NTEQUL
1 /
+3 -3
View File
@@ -30,8 +30,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
@@ -101,7 +101,7 @@ SGOF
PVTW
--RefPres Bw Comp Vw Cv
1. 1.0 4.0E-5 0.96 0.0 /
ROCK
--RefPres Comp
+1883 -1883
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -21,7 +21,7 @@ DIMENS
TABDIMS
1 1 40 20 1 20 /
EQLDIMS
-- NTEQUL
1 /
+5 -5
View File
@@ -17,7 +17,7 @@ DIMENS
GRID
DX
DX
100*1 /
DY
100*1 /
@@ -73,7 +73,7 @@ SGOF
0.5 0.72 0.001 0
0.6 0.87 0.0001 0
0.7 0.94 0.000 0
0.85 0.98 0.000 0
0.85 0.98 0.000 0
0.88 0.984 0.000 0 /
DENSITY
@@ -99,10 +99,10 @@ PVTO
0.6360 2014.7 1.4350 0.6950 /
0.7750 2514.7 1.5000 0.6410 /
0.9300 3014.7 1.5650 0.5940 /
1.2700 4014.7 1.6950 0.5100
1.2700 4014.7 1.6950 0.5100
9014.7 1.5790 0.7400 /
1.6180 5014.7 1.8270 0.4490
9014.7 1.7370 0.6310 /
1.6180 5014.7 1.8270 0.4490
9014.7 1.7370 0.6310 /
/
SOLUTION
+1 -1
View File
@@ -21,7 +21,7 @@ DIMENS
TABDIMS
1 1 40 20 1 20 /
EQLDIMS
-- NTEQUL
1 /
+3 -3
View File
@@ -30,8 +30,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
@@ -101,7 +101,7 @@ SGOF
PVTW
--RefPres Bw Comp Vw Cv
1. 1.0 4.0E-5 0.96 0.0 /
ROCK
--RefPres Comp
-1
View File
@@ -108,4 +108,3 @@ SCHEDULE
TSTEP
1 /
+2 -2
View File
@@ -30,8 +30,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
+2 -2
View File
@@ -30,8 +30,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
-1
View File
@@ -94,4 +94,3 @@ SCHEDULE
TSTEP
1 /
+4 -4
View File
@@ -32,8 +32,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
@@ -113,7 +113,7 @@ SGOF
PVTW
--RefPres Bw Comp Vw Cv
1. 1.0 4.0E-5 0.96 0.0 /
ROCK
--RefPres Comp
@@ -146,4 +146,4 @@ RPTSCHED
'PRES' 'PGAS' 'PWAT' 'SOIL' 'SWAT' 'SGAS' 'RV' 'RVW' 'RESTART=3' 'NEWTON=2' /
END
END
+3 -3
View File
@@ -31,8 +31,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
@@ -113,7 +113,7 @@ SGOF
PVTW
--RefPres Bw Comp Vw Cv
1. 1.0 4.0E-5 0.96 0.0 /
ROCK
--RefPres Comp
+4 -4
View File
@@ -32,8 +32,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
@@ -117,7 +117,7 @@ SGOF
PVTW
--RefPres Bw Comp Vw Cv
1. 1.0 4.0E-5 0.96 0.0 /
ROCK
--RefPres Comp
@@ -136,7 +136,7 @@ EQUIL
PBVD
0 1.0
50 150. /
PDVD
50. 150.
100. 100 /
+4 -4
View File
@@ -32,8 +32,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
@@ -116,7 +116,7 @@ SGOF
PVTW
--RefPres Bw Comp Vw Cv
1. 1.0 4.0E-5 0.96 0.0 /
ROCK
--RefPres Comp
@@ -135,7 +135,7 @@ EQUIL
RSVD
0 0.0
100 100. /
RVVD
0. 0.
100. 0.0001 /
+5 -5
View File
@@ -33,8 +33,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
@@ -125,7 +125,7 @@ SGOF
PVTW
--RefPres Bw Comp Vw Cv
1. 1.0 4.0E-5 0.96 0.0 /
ROCK
--RefPres Comp
@@ -144,7 +144,7 @@ EQUIL
RSVD
0 0.0
100 100. /
RVVD
0. 0.
100. 0.0001 /
@@ -170,4 +170,4 @@ RPTSCHED
'PRES' 'PGAS' 'PWAT' 'SOIL' 'SWAT' 'SGAS' 'RS' 'RV' 'RVW' 'RESTART=3' 'NEWTON=2' /
END
END
+3 -3
View File
@@ -31,8 +31,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
@@ -104,7 +104,7 @@ SGOF
PVTW
--RefPres Bw Comp Vw Cv
1. 1.0 4.0E-5 0.96 0.0 /
ROCK
--RefPres Comp
+1 -1
View File
@@ -185,4 +185,4 @@ BOOST_AUTO_TEST_CASE(BlackOilFluidSystemOnGpu)
OPM_GPU_SAFE_CALL(cudaFree(gpuComputedValPtr));
}
}
+416 -416
View File
@@ -5,441 +5,441 @@
-- Copyright (C) 2025 Equinor
PVTG
-- PRESSURE RSG B-GAS VISCOSITY
-- BAR (CP)
50.00 0.00000497 0.024958 0.01441
0.00000248 0.024958 0.01440
0.00000000 0.024958 0.01440 /
70.00 0.00000521 0.017639 0.01491
0.00000261 0.017641 0.01490
0.00000000 0.017643 0.01490 /
90.00 0.00000627 0.013608 0.01547
0.00000313 0.013611 0.01546
0.00000000 0.013615 0.01544 /
110.00 0.00000798 0.011072 0.01609
0.00000399 0.011076 0.01607
0.00000000 0.011081 0.01605 /
130.00 0.00001041 0.009340 0.01677
0.00000520 0.009346 0.01674
0.00000000 0.009352 0.01671 /
150.00 0.00001365 0.008092 0.01752
0.00000683 0.008099 0.01748
0.00000000 0.008106 0.01743 /
170.00 0.00001786 0.007156 0.01834
0.00000893 0.007164 0.01827
0.00000000 0.007172 0.01819 /
190.00 0.00002316 0.006433 0.01923
0.00001158 0.006442 0.01912
0.00000000 0.006451 0.01900 /
210.00 0.00002972 0.005861 0.02019
0.00001486 0.005871 0.02001
0.00000000 0.005881 0.01984 /
230.00 0.00003767 0.005402 0.02121
0.00001883 0.005412 0.02095
0.00000000 0.005422 0.02071 /
250.80 0.00004756 0.005013 0.02234
0.00002378 0.005022 0.02197
0.00000000 0.005032 0.02162 /
268.42 0.00005757 0.004737 0.02335
0.00002878 0.004746 0.02287
0.00000000 0.004754 0.02240 /
285.33 0.00006853 0.004511 0.02438
0.00003427 0.004518 0.02375
0.00000000 0.004525 0.02315 /
301.59 0.00008041 0.004323 0.02542
0.00004020 0.004327 0.02463
0.00000000 0.004332 0.02387 /
317.23 0.00009313 0.004165 0.02648
0.00004657 0.004166 0.02549
0.00000000 0.004169 0.02456 /
332.29 0.00010668 0.004031 0.02755
0.00005334 0.004029 0.02634
0.00000000 0.004028 0.02522 /
346.80 0.00012100 0.003917 0.02863
0.00006050 0.003911 0.02719
0.00000000 0.003906 0.02585 /
360.80 0.00013607 0.003819 0.02974
0.00006803 0.003808 0.02803
0.00000000 0.003799 0.02645 /
374.31 0.00015188 0.003735 0.03087
0.00007594 0.003718 0.02887
0.00000000 0.003705 0.02703 /
387.36 0.00016843 0.003662 0.03202
0.00008421 0.003639 0.02970
0.00000000 0.003621 0.02758 /
399.99 0.00018571 0.003598 0.03320
0.00009286 0.003570 0.03053
0.00000000 0.003545 0.02810 /
412.21 0.00020375 0.003543 0.03442
0.00010188 0.003508 0.03137
0.00000000 0.003477 0.02861 /
424.05 0.00022256 0.003496 0.03566
0.00011128 0.003453 0.03220
0.00000000 0.003416 0.02909 /
435.53 0.00024218 0.003454 0.03695
0.00012109 0.003404 0.03305
0.00000000 0.003360 0.02956 /
446.68 0.00026266 0.003419 0.03828
0.00013133 0.003360 0.03390
0.00000000 0.003309 0.03000 /
457.51 0.00028404 0.003388 0.03967
0.00014202 0.003320 0.03477
0.00000000 0.003262 0.03043 /
468.04 0.00030639 0.003362 0.04110
0.00015319 0.003285 0.03566
0.00000000 0.003218 0.03085 /
478.30 0.00032980 0.003341 0.04261
0.00016490 0.003253 0.03656
0.00000000 0.003178 0.03125 /
488.30 0.00035436 0.003323 0.04418
0.00017718 0.003225 0.03749
0.00000000 0.003140 0.03164 /
498.06 0.00038020 0.003310 0.04583
0.00019010 0.003200 0.03845
0.00000000 0.003105 0.03202 /
507.59 0.00040745 0.003300 0.04758
0.00020373 0.003178 0.03944
0.00000000 0.003073 0.03238 /
516.92 0.00043630 0.003293 0.04943
0.00021815 0.003158 0.04048
0.00000000 0.003042 0.03273 /
526.06 0.00046694 0.003290 0.05141
0.00023347 0.003141 0.04156
0.00000000 0.003013 0.03308 /
535.02 0.00049963 0.003291 0.05353
0.00024981 0.003126 0.04271
0.00000000 0.002986 0.03342 /
543.83 0.00053469 0.003295 0.05582
0.00026734 0.003114 0.04393
0.00000000 0.002960 0.03374 /
552.49 0.00057251 0.003303 0.05830
0.00028625 0.003105 0.04523
0.00000000 0.002935 0.03407 /
561.04 0.00061359 0.003315 0.06103
0.00030679 0.003098 0.04664
0.00000000 0.002912 0.03438 /
569.48 0.00065855 0.003332 0.06405
0.00032928 0.003093 0.04818
0.00000000 0.002890 0.03469 /
577.82 0.00070820 0.003354 0.06744
0.00035410 0.003092 0.04988
0.00000000 0.002868 0.03500 /
586.09 0.00076355 0.003382 0.07127
0.00038178 0.003094 0.05178
0.00000000 0.002847 0.03530 /
594.29 0.00082592 0.003418 0.07567
0.00041296 0.003099 0.05394
0.00000000 0.002828 0.03560 /
/
PVTG
PVTO
-- RSO PRESSURE B-OIL VISCOSITY
-- (BAR) (CP)
20.59 50.00 1.10615 1.180
75.00 1.10164 1.247
100.00 1.09744 1.315
125.00 1.09351 1.384
-- PRESSURE RSG B-GAS VISCOSITY
-- BAR (CP)
50.00 0.00000497 0.024958 0.01441
0.00000248 0.024958 0.01440
0.00000000 0.024958 0.01440 /
70.00 0.00000521 0.017639 0.01491
0.00000261 0.017641 0.01490
0.00000000 0.017643 0.01490 /
90.00 0.00000627 0.013608 0.01547
0.00000313 0.013611 0.01546
0.00000000 0.013615 0.01544 /
110.00 0.00000798 0.011072 0.01609
0.00000399 0.011076 0.01607
0.00000000 0.011081 0.01605 /
130.00 0.00001041 0.009340 0.01677
0.00000520 0.009346 0.01674
0.00000000 0.009352 0.01671 /
150.00 0.00001365 0.008092 0.01752
0.00000683 0.008099 0.01748
0.00000000 0.008106 0.01743 /
170.00 0.00001786 0.007156 0.01834
0.00000893 0.007164 0.01827
0.00000000 0.007172 0.01819 /
190.00 0.00002316 0.006433 0.01923
0.00001158 0.006442 0.01912
0.00000000 0.006451 0.01900 /
210.00 0.00002972 0.005861 0.02019
0.00001486 0.005871 0.02001
0.00000000 0.005881 0.01984 /
230.00 0.00003767 0.005402 0.02121
0.00001883 0.005412 0.02095
0.00000000 0.005422 0.02071 /
250.80 0.00004756 0.005013 0.02234
0.00002378 0.005022 0.02197
0.00000000 0.005032 0.02162 /
268.42 0.00005757 0.004737 0.02335
0.00002878 0.004746 0.02287
0.00000000 0.004754 0.02240 /
285.33 0.00006853 0.004511 0.02438
0.00003427 0.004518 0.02375
0.00000000 0.004525 0.02315 /
301.59 0.00008041 0.004323 0.02542
0.00004020 0.004327 0.02463
0.00000000 0.004332 0.02387 /
317.23 0.00009313 0.004165 0.02648
0.00004657 0.004166 0.02549
0.00000000 0.004169 0.02456 /
332.29 0.00010668 0.004031 0.02755
0.00005334 0.004029 0.02634
0.00000000 0.004028 0.02522 /
346.80 0.00012100 0.003917 0.02863
0.00006050 0.003911 0.02719
0.00000000 0.003906 0.02585 /
360.80 0.00013607 0.003819 0.02974
0.00006803 0.003808 0.02803
0.00000000 0.003799 0.02645 /
374.31 0.00015188 0.003735 0.03087
0.00007594 0.003718 0.02887
0.00000000 0.003705 0.02703 /
387.36 0.00016843 0.003662 0.03202
0.00008421 0.003639 0.02970
0.00000000 0.003621 0.02758 /
399.99 0.00018571 0.003598 0.03320
0.00009286 0.003570 0.03053
0.00000000 0.003545 0.02810 /
412.21 0.00020375 0.003543 0.03442
0.00010188 0.003508 0.03137
0.00000000 0.003477 0.02861 /
424.05 0.00022256 0.003496 0.03566
0.00011128 0.003453 0.03220
0.00000000 0.003416 0.02909 /
435.53 0.00024218 0.003454 0.03695
0.00012109 0.003404 0.03305
0.00000000 0.003360 0.02956 /
446.68 0.00026266 0.003419 0.03828
0.00013133 0.003360 0.03390
0.00000000 0.003309 0.03000 /
457.51 0.00028404 0.003388 0.03967
0.00014202 0.003320 0.03477
0.00000000 0.003262 0.03043 /
468.04 0.00030639 0.003362 0.04110
0.00015319 0.003285 0.03566
0.00000000 0.003218 0.03085 /
478.30 0.00032980 0.003341 0.04261
0.00016490 0.003253 0.03656
0.00000000 0.003178 0.03125 /
488.30 0.00035436 0.003323 0.04418
0.00017718 0.003225 0.03749
0.00000000 0.003140 0.03164 /
498.06 0.00038020 0.003310 0.04583
0.00019010 0.003200 0.03845
0.00000000 0.003105 0.03202 /
507.59 0.00040745 0.003300 0.04758
0.00020373 0.003178 0.03944
0.00000000 0.003073 0.03238 /
516.92 0.00043630 0.003293 0.04943
0.00021815 0.003158 0.04048
0.00000000 0.003042 0.03273 /
526.06 0.00046694 0.003290 0.05141
0.00023347 0.003141 0.04156
0.00000000 0.003013 0.03308 /
535.02 0.00049963 0.003291 0.05353
0.00024981 0.003126 0.04271
0.00000000 0.002986 0.03342 /
543.83 0.00053469 0.003295 0.05582
0.00026734 0.003114 0.04393
0.00000000 0.002960 0.03374 /
552.49 0.00057251 0.003303 0.05830
0.00028625 0.003105 0.04523
0.00000000 0.002935 0.03407 /
561.04 0.00061359 0.003315 0.06103
0.00030679 0.003098 0.04664
0.00000000 0.002912 0.03438 /
569.48 0.00065855 0.003332 0.06405
0.00032928 0.003093 0.04818
0.00000000 0.002890 0.03469 /
577.82 0.00070820 0.003354 0.06744
0.00035410 0.003092 0.04988
0.00000000 0.002868 0.03500 /
586.09 0.00076355 0.003382 0.07127
0.00038178 0.003094 0.05178
0.00000000 0.002847 0.03530 /
594.29 0.00082592 0.003418 0.07567
0.00041296 0.003099 0.05394
0.00000000 0.002828 0.03560 /
/
PVTO
-- RSO PRESSURE B-OIL VISCOSITY
-- (BAR) (CP)
20.59 50.00 1.10615 1.180
75.00 1.10164 1.247
100.00 1.09744 1.315
125.00 1.09351 1.384
150.00 1.08984 1.453 /
28.19 70.00 1.12522 1.066
95.00 1.12047 1.124
120.00 1.11604 1.182
145.00 1.11191 1.241
28.19 70.00 1.12522 1.066
95.00 1.12047 1.124
120.00 1.11604 1.182
145.00 1.11191 1.241
170.00 1.10804 1.300 /
36.01 90.00 1.14458 0.964
115.00 1.13959 1.014
140.00 1.13494 1.064
165.00 1.13060 1.115
36.01 90.00 1.14458 0.964
115.00 1.13959 1.014
140.00 1.13494 1.064
165.00 1.13060 1.115
190.00 1.12653 1.166 /
44.09 110.00 1.16437 0.880
135.00 1.15915 0.924
160.00 1.15428 0.968
185.00 1.14973 1.012
44.09 110.00 1.16437 0.880
135.00 1.15915 0.924
160.00 1.15428 0.968
185.00 1.14973 1.012
210.00 1.14547 1.056 /
52.46 130.00 1.18467 0.805
155.00 1.17921 0.843
180.00 1.17413 0.882
205.00 1.16937 0.920
52.46 130.00 1.18467 0.805
155.00 1.17921 0.843
180.00 1.17413 0.882
205.00 1.16937 0.920
230.00 1.16491 0.959 /
61.13 150.00 1.20555 0.746
175.00 1.19985 0.780
200.00 1.19454 0.814
225.00 1.18958 0.849
61.13 150.00 1.20555 0.746
175.00 1.19985 0.780
200.00 1.19454 0.814
225.00 1.18958 0.849
250.00 1.18492 0.883 /
70.14 170.00 1.22704 0.698
195.00 1.22111 0.729
220.00 1.21558 0.759
245.00 1.21040 0.790
70.14 170.00 1.22704 0.698
195.00 1.22111 0.729
220.00 1.21558 0.759
245.00 1.21040 0.790
270.00 1.20555 0.821 /
79.50 190.00 1.24922 0.658
215.00 1.24305 0.686
240.00 1.23729 0.714
265.00 1.23190 0.742
79.50 190.00 1.24922 0.658
215.00 1.24305 0.686
240.00 1.23729 0.714
265.00 1.23190 0.742
290.00 1.22685 0.770 /
89.24 210.00 1.27214 0.637
235.00 1.26573 0.664
260.00 1.25974 0.693
285.00 1.25414 0.725
89.24 210.00 1.27214 0.637
235.00 1.26573 0.664
260.00 1.25974 0.693
285.00 1.25414 0.725
310.00 1.24888 0.760 /
99.39 230.00 1.29586 0.622
255.00 1.28921 0.641
280.00 1.28300 0.661
305.00 1.27718 0.680
99.39 230.00 1.29586 0.622
255.00 1.28921 0.641
280.00 1.28300 0.661
305.00 1.27718 0.680
330.00 1.27171 0.699 /
110.41 250.80 1.32148 0.610
275.80 1.31457 0.628
300.80 1.30812 0.647
325.80 1.30207 0.665
110.41 250.80 1.32148 0.610
275.80 1.31457 0.628
300.80 1.30812 0.647
325.80 1.30207 0.665
350.80 1.29638 0.682 /
120.32 268.42 1.34449 0.576
293.42 1.33735 0.593
318.42 1.33068 0.609
343.42 1.32442 0.626
368.42 1.31853 0.642 /
130.23 285.33 1.36737 0.5335
310.33 1.36001 0.5487
335.33 1.35313 0.5638
360.33 1.34667 0.5787
385.33 1.34059 0.5934 /
140.12 301.59 1.39015 0.4956
326.59 1.38257 0.5094
351.59 1.37548 0.5230
376.59 1.36882 0.5365
401.59 1.36255 0.5498 /
150.01 317.23 1.41282 0.4614
342.23 1.40503 0.4739
367.23 1.39773 0.4863
392.23 1.39088 0.4986
417.23 1.38443 0.5107 /
159.89 332.29 1.43539 0.43042
357.29 1.42739 0.44183
382.29 1.41990 0.45312
407.29 1.41286 0.46430
432.29 1.40622 0.47537 /
169.76 346.80 1.45788 0.41191
371.80 1.44967 0.42260
396.80 1.44198 0.43318
421.80 1.43475 0.44365
446.80 1.42794 0.45402 /
179.63 360.80 1.48028 0.39503
385.80 1.47187 0.40508
410.80 1.46398 0.41502
435.80 1.45657 0.42487
460.80 1.44958 0.43461 /
189.48 374.31 1.50260 0.37959
399.31 1.49399 0.38907
424.31 1.48591 0.39845
449.31 1.47832 0.40773
474.31 1.47116 0.41692 /
199.34 387.36 1.52484 0.36543
412.36 1.51603 0.37439
437.36 1.50777 0.38326
462.36 1.50000 0.39203
487.36 1.49267 0.40072 /
209.18 399.99 1.54700 0.35239
424.99 1.53800 0.36089
449.99 1.52956 0.36929
474.99 1.52161 0.37762
499.99 1.51411 0.38585 /
219.02 412.21 1.56910 0.34035
437.21 1.55991 0.34843
462.21 1.55128 0.35642
487.21 1.54316 0.36433
512.21 1.53549 0.37216 /
228.85 424.05 1.59112 0.32921
449.05 1.58174 0.33691
474.05 1.57294 0.34453
499.05 1.56464 0.35206
524.05 1.55681 0.35952 /
238.67 435.53 1.61307 0.31888
460.53 1.60351 0.32623
485.53 1.59453 0.33350
510.53 1.58606 0.34070
535.53 1.57807 0.34782 /
248.48 446.68 1.63496 0.30927
471.68 1.62522 0.31630
496.68 1.61606 0.32326
521.68 1.60743 0.33014
546.68 1.59927 0.33695 /
258.29 457.51 1.65678 0.30032
482.51 1.64686 0.30706
507.51 1.63753 0.31373
532.51 1.62873 0.32032
557.51 1.62042 0.32685 /
268.09 468.04 1.67853 0.29196
493.04 1.66843 0.29843
518.04 1.65893 0.30483
543.04 1.64997 0.31117
568.04 1.64150 0.31743 /
277.89 478.30 1.70022 0.28414
503.30 1.68994 0.29037
528.30 1.68028 0.29652
553.30 1.67116 0.30261
578.30 1.66253 0.30864 /
287.68 488.30 1.72184 0.27681
513.30 1.71139 0.28281
538.30 1.70156 0.28874
563.30 1.69228 0.29460
588.30 1.68350 0.30040 /
297.46 498.06 1.74339 0.26994
523.06 1.73277 0.27572
548.06 1.72278 0.28144
573.06 1.71334 0.28709
598.06 1.70442 0.29269 /
307.23 507.59 1.76487 0.26347
532.59 1.75409 0.26906
557.59 1.74393 0.27458
582.59 1.73434 0.28004
607.59 1.72527 0.28544 /
317.00 516.92 1.78628 0.25738
541.92 1.77533 0.26279
566.92 1.76502 0.26812
591.92 1.75528 0.27340
616.92 1.74606 0.27863 /
326.76 526.06 1.80761 0.25165
551.06 1.79651 0.25688
576.06 1.78604 0.26204
601.06 1.77615 0.26716
626.06 1.76679 0.27221 /
336.51 535.02 1.82887 0.24623
560.02 1.81761 0.25130
585.02 1.80699 0.25631
610.02 1.79696 0.26126
635.02 1.78746 0.26616 /
346.26 543.83 1.85005 0.24112
568.83 1.83864 0.24603
593.83 1.82787 0.25089
618.83 1.81770 0.25570
643.83 1.80806 0.26045 /
356.00 552.49 1.87115 0.23628
577.49 1.85959 0.24105
602.49 1.84868 0.24577
627.49 1.83836 0.25043
652.49 1.82858 0.25505 /
365.73 561.04 1.89217 0.23170
586.04 1.88046 0.23634
611.04 1.86940 0.24092
636.04 1.85895 0.24546
661.04 1.84904 0.24994 /
375.46 569.48 1.91309 0.22736
594.48 1.90124 0.23187
619.48 1.89004 0.23633
644.48 1.87946 0.24074
669.48 1.86942 0.24510 /
385.18 577.82 1.93391 0.22325
602.82 1.92192 0.22764
627.82 1.91060 0.23198
652.82 1.89988 0.23627
677.82 1.88971 0.24052 /
394.89 586.09 1.95464 0.21934
611.09 1.94252 0.22362
636.09 1.93106 0.22785
661.09 1.92021 0.23204
686.09 1.90993 0.23617 /
404.60 594.29 1.97527 0.21564
619.29 1.96301 0.21981
644.29 1.95143 0.22393
669.29 1.94046 0.22801
120.32 268.42 1.34449 0.576
293.42 1.33735 0.593
318.42 1.33068 0.609
343.42 1.32442 0.626
368.42 1.31853 0.642 /
130.23 285.33 1.36737 0.5335
310.33 1.36001 0.5487
335.33 1.35313 0.5638
360.33 1.34667 0.5787
385.33 1.34059 0.5934 /
140.12 301.59 1.39015 0.4956
326.59 1.38257 0.5094
351.59 1.37548 0.5230
376.59 1.36882 0.5365
401.59 1.36255 0.5498 /
150.01 317.23 1.41282 0.4614
342.23 1.40503 0.4739
367.23 1.39773 0.4863
392.23 1.39088 0.4986
417.23 1.38443 0.5107 /
159.89 332.29 1.43539 0.43042
357.29 1.42739 0.44183
382.29 1.41990 0.45312
407.29 1.41286 0.46430
432.29 1.40622 0.47537 /
169.76 346.80 1.45788 0.41191
371.80 1.44967 0.42260
396.80 1.44198 0.43318
421.80 1.43475 0.44365
446.80 1.42794 0.45402 /
179.63 360.80 1.48028 0.39503
385.80 1.47187 0.40508
410.80 1.46398 0.41502
435.80 1.45657 0.42487
460.80 1.44958 0.43461 /
189.48 374.31 1.50260 0.37959
399.31 1.49399 0.38907
424.31 1.48591 0.39845
449.31 1.47832 0.40773
474.31 1.47116 0.41692 /
199.34 387.36 1.52484 0.36543
412.36 1.51603 0.37439
437.36 1.50777 0.38326
462.36 1.50000 0.39203
487.36 1.49267 0.40072 /
209.18 399.99 1.54700 0.35239
424.99 1.53800 0.36089
449.99 1.52956 0.36929
474.99 1.52161 0.37762
499.99 1.51411 0.38585 /
219.02 412.21 1.56910 0.34035
437.21 1.55991 0.34843
462.21 1.55128 0.35642
487.21 1.54316 0.36433
512.21 1.53549 0.37216 /
228.85 424.05 1.59112 0.32921
449.05 1.58174 0.33691
474.05 1.57294 0.34453
499.05 1.56464 0.35206
524.05 1.55681 0.35952 /
238.67 435.53 1.61307 0.31888
460.53 1.60351 0.32623
485.53 1.59453 0.33350
510.53 1.58606 0.34070
535.53 1.57807 0.34782 /
248.48 446.68 1.63496 0.30927
471.68 1.62522 0.31630
496.68 1.61606 0.32326
521.68 1.60743 0.33014
546.68 1.59927 0.33695 /
258.29 457.51 1.65678 0.30032
482.51 1.64686 0.30706
507.51 1.63753 0.31373
532.51 1.62873 0.32032
557.51 1.62042 0.32685 /
268.09 468.04 1.67853 0.29196
493.04 1.66843 0.29843
518.04 1.65893 0.30483
543.04 1.64997 0.31117
568.04 1.64150 0.31743 /
277.89 478.30 1.70022 0.28414
503.30 1.68994 0.29037
528.30 1.68028 0.29652
553.30 1.67116 0.30261
578.30 1.66253 0.30864 /
287.68 488.30 1.72184 0.27681
513.30 1.71139 0.28281
538.30 1.70156 0.28874
563.30 1.69228 0.29460
588.30 1.68350 0.30040 /
297.46 498.06 1.74339 0.26994
523.06 1.73277 0.27572
548.06 1.72278 0.28144
573.06 1.71334 0.28709
598.06 1.70442 0.29269 /
307.23 507.59 1.76487 0.26347
532.59 1.75409 0.26906
557.59 1.74393 0.27458
582.59 1.73434 0.28004
607.59 1.72527 0.28544 /
317.00 516.92 1.78628 0.25738
541.92 1.77533 0.26279
566.92 1.76502 0.26812
591.92 1.75528 0.27340
616.92 1.74606 0.27863 /
326.76 526.06 1.80761 0.25165
551.06 1.79651 0.25688
576.06 1.78604 0.26204
601.06 1.77615 0.26716
626.06 1.76679 0.27221 /
336.51 535.02 1.82887 0.24623
560.02 1.81761 0.25130
585.02 1.80699 0.25631
610.02 1.79696 0.26126
635.02 1.78746 0.26616 /
346.26 543.83 1.85005 0.24112
568.83 1.83864 0.24603
593.83 1.82787 0.25089
618.83 1.81770 0.25570
643.83 1.80806 0.26045 /
356.00 552.49 1.87115 0.23628
577.49 1.85959 0.24105
602.49 1.84868 0.24577
627.49 1.83836 0.25043
652.49 1.82858 0.25505 /
365.73 561.04 1.89217 0.23170
586.04 1.88046 0.23634
611.04 1.86940 0.24092
636.04 1.85895 0.24546
661.04 1.84904 0.24994 /
375.46 569.48 1.91309 0.22736
594.48 1.90124 0.23187
619.48 1.89004 0.23633
644.48 1.87946 0.24074
669.48 1.86942 0.24510 /
385.18 577.82 1.93391 0.22325
602.82 1.92192 0.22764
627.82 1.91060 0.23198
652.82 1.89988 0.23627
677.82 1.88971 0.24052 /
394.89 586.09 1.95464 0.21934
611.09 1.94252 0.22362
636.09 1.93106 0.22785
661.09 1.92021 0.23204
686.09 1.90993 0.23617 /
404.60 594.29 1.97527 0.21564
619.29 1.96301 0.21981
644.29 1.95143 0.22393
669.29 1.94046 0.22801
694.29 1.93005 0.23204 /
/
-- AVERAGE GAS DENSITY AT STD CONDITIONS = 0.854 KG/M3
-- AVERAGE OIL DENSITY AT STD CONDITIONS = 859.5 KG/M3
-- AVERAGE GAS DENSITY AT STD CONDITIONS = 0.854 KG/M3
-- AVERAGE OIL DENSITY AT STD CONDITIONS = 859.5 KG/M3
---------------------------------------------------------------------
-- ROCK COMPRESSIBILITY
--
-- REF.PRES. COMPR.
ROCK
277.0 4.84E-5 /
-- ==================================================================
-- PVT PROPERTIES OF WATER
--
@@ -447,13 +447,13 @@ ROCK
-- ==========================================================
PVTW
277.0 1.038 4.67E-5 0.318 0.0 /
---------------------------------------------------------------------
-- SURFACE DENSITIE OF RESERVOIR FLUIDS
-- OIL WATER GAS
DENSITY
859.5 1033.0 0.854 / Justert 22/7
--------------------------------------------------------------------
--
-- End of file --------
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+12 -12
View File
@@ -7,22 +7,22 @@
VFPPROD
-- Table Datum Depth Rate Type WFR Type GFR Type THP Type ALQ Type UNITS TAB Type
4 114.60 LIQ WCT GOR THP GRAT METRIC BHP /
-- FLO: LIQ rates
-- Table Datum Depth Rate Type WFR Type GFR Type THP Type ALQ Type UNITS TAB Type
4 114.60 LIQ WCT GOR THP GRAT METRIC BHP /
-- FLO: LIQ rates
20.0 30.0 70.0 134.0 180.0 242.0 325.0
437.0 586.0 787.0 1057.0 1419.0 1906.0 2559.0
3436.0 4614.0 6195.0 8319.0 11171.0 /
-- thp values
2.00 10.00 15.00 20.00 23.00 35.00 /
-- WFR: WCT values
3436.0 4614.0 6195.0 8319.0 11171.0 /
-- thp values
2.00 10.00 15.00 20.00 23.00 35.00 /
-- WFR: WCT values
0.000 0.110 0.220 0.330 0.440 0.550 0.660
0.770 0.880 0.990 /
-- GFR: GOR values
0.770 0.880 0.990 /
-- GFR: GOR values
20.0 30.0 33.9 40.0 50.0 75.0 100.0
500.0 1000.0 /
-- ALQ: GRAT values
0.0 50000.0 100000.0 150000.0 200000.0 300000.0 /
500.0 1000.0 /
-- ALQ: GRAT values
0.0 50000.0 100000.0 150000.0 200000.0 300000.0 /
1 1 1 1 13.977 13.688 12.372 11.188 10.053 8.939 7.827 7.159 6.834
6.644 6.151 5.567 5.256 5.391 6.029 7.246 9.175 12.047
+12 -12
View File
@@ -7,22 +7,22 @@
VFPPROD
-- Table Datum Depth Rate Type WFR Type GFR Type THP Type ALQ Type UNITS TAB Type
5 114.60 LIQ WCT GOR THP GRAT METRIC BHP /
-- FLO: LIQ rates
-- Table Datum Depth Rate Type WFR Type GFR Type THP Type ALQ Type UNITS TAB Type
5 114.60 LIQ WCT GOR THP GRAT METRIC BHP /
-- FLO: LIQ rates
20.0 30.0 70.0 134.0 180.0 242.0 325.0
437.0 586.0 787.0 1057.0 1419.0 1906.0 2559.0
3436.0 4614.0 6195.0 8319.0 11171.0 /
-- thp values
2.00 10.00 15.00 20.00 23.00 35.00 /
-- WFR: WCT values
3436.0 4614.0 6195.0 8319.0 11171.0 /
-- thp values
2.00 10.00 15.00 20.00 23.00 35.00 /
-- WFR: WCT values
0.000 0.110 0.220 0.330 0.440 0.550 0.660
0.770 0.880 0.990 /
-- GFR: GOR values
0.770 0.880 0.990 /
-- GFR: GOR values
20.0 30.0 33.9 40.0 50.0 75.0 100.0
500.0 1000.0 /
-- ALQ: GRAT values
0.0 50000.0 100000.0 150000.0 200000.0 300000.0 /
500.0 1000.0 /
-- ALQ: GRAT values
0.0 50000.0 100000.0 150000.0 200000.0 300000.0 /
1 1 1 1 12.744 12.454 11.134 9.942 8.802 7.681 6.560 5.879 5.537
5.325 4.801 4.176 3.810 3.871 4.410 5.494 7.244 9.876
+12 -12
View File
@@ -7,22 +7,22 @@
VFPPROD
-- Table Datum Depth Rate Type WFR Type GFR Type THP Type ALQ Type UNITS TAB Type
5 275 GAS WGR GOR THP ' ' METRIC BHP /
-- FLO: GAS rates
-- Table Datum Depth Rate Type WFR Type GFR Type THP Type ALQ Type UNITS TAB Type
5 275 GAS WGR GOR THP ' ' METRIC BHP /
-- FLO: GAS rates
100000.0 300000.0 500000.0 700000.0 999999.9 1300000.0 1600000.0
1999999.9 2500000.3 3000000.0 3500000.0 3999999.8 4500000.0 5000000.5
5500000.0 6000000.0 6500000.0 7000000.0 7999999.5 10000001.0 /
-- thp values
5500000.0 6000000.0 6500000.0 7000000.0 7999999.5 10000001.0 /
-- thp values
20.00 25.00 35.00 40.00 50.00 60.00
70.00 90.00 110.00 150.00 /
-- WFR: WGR values
0.00000000 0.00000010 0.00001000 0.00005000 0.00010000 /
-- GFR: GOR values
70.00 90.00 110.00 150.00 /
-- WFR: WGR values
0.00000000 0.00000010 0.00001000 0.00005000 0.00010000 /
-- GFR: GOR values
500.0 1000.0 2000.0 3000.0 4000.0 5000.0 7000.0
10000.0 15000.0 /
-- ALQ: values
0.0 /
10000.0 15000.0 /
-- ALQ: values
0.0 /
1 1 1 1 24.918 23.748 27.318 32.838 42.768 53.588 63.328 75.558 90.298
104.598 118.578 132.418 146.518 160.858 175.498 190.678 206.488 227.308
-1
View File
@@ -1506,4 +1506,3 @@ PERMX
0.14709764E+04 0.16659023E+05 0.91258506E+04 0.10829997E+05
0.11630896E+05 0.88984668E+04 0.25481331E+04 0.94009336E+04
/
+18 -18
View File
@@ -225,22 +225,22 @@ PVTO
/
PVDG
-- Table number: 1
10.0000 0.266161 0.0108
15.0000 0.127259 0.0116
25.0000 0.062022 0.0123
45.0000 0.030190 0.0131
65.0000 0.019752 0.0137
84.0000 0.014799 0.0144
100.0000 0.012136 0.0149
115.0000 0.010358 0.0155
145.0000 0.007993 0.0170
175.0000 0.006524 0.0191
205.0000 0.005556 0.0218
235.0000 0.004901 0.0254
265.0000 0.004461 0.0301
305.0000 0.004112 0.0388
355.0000 0.003966 0.0568
405.0000 0.003850 0.0884
455.0000 0.003763 0.1363
505.0000 0.003699 0.1746
10.0000 0.266161 0.0108
15.0000 0.127259 0.0116
25.0000 0.062022 0.0123
45.0000 0.030190 0.0131
65.0000 0.019752 0.0137
84.0000 0.014799 0.0144
100.0000 0.012136 0.0149
115.0000 0.010358 0.0155
145.0000 0.007993 0.0170
175.0000 0.006524 0.0191
205.0000 0.005556 0.0218
235.0000 0.004901 0.0254
265.0000 0.004461 0.0301
305.0000 0.004112 0.0388
355.0000 0.003966 0.0568
405.0000 0.003850 0.0884
455.0000 0.003763 0.1363
505.0000 0.003699 0.1746
/
+5 -6
View File
@@ -6,7 +6,7 @@
-- Copyright (C) 2020 Equinor
SWOF
-- SATNUM: 1
-- SATNUM: 1
-- Sw Krw Krow Pcow
0.05000000 0.00000000 1.00000000 1.21172000
0.07375000 0.00000546 0.95901480 0.54995750
@@ -49,10 +49,10 @@ SWOF
0.94820710 0.69285860 0.00013490 0.00306180
0.97625000 0.81657620 0.00001540 0.00288569
1.00000000 1.00000000 0.00000000 0.00274810
/
/
SGOF
-- SATNUM: 1
SGOF
-- SATNUM: 1
-- Sg Krg Krog Pcog
0.00000000 0.00000000 1.00000000 0
0.02500000 0.00102100 0.95689900 0
@@ -92,5 +92,4 @@ SGOF
0.87500000 0.91290400 0.00000000 0
0.90000000 0.91540400 0.00000000 0
0.95000000 1.00000000 0.00000000 0
/
/
+24 -25
View File
@@ -53,66 +53,66 @@ FGLIR
-----------------
RPR
1 2 /
1 2 /
ROIP
1 2 /
1 2 /
RRPV
1 2 /
1 2 /
RHPV
1 2 /
1 2 /
RWIP
1 2 /
1 2 /
ROE
1 2 /
1 2 /
ROEW
1 2 /
1 2 /
ROPT
1 2 /
1 2 /
RWPT
1 2 /
1 2 /
RWIT
1 2 /
1 2 /
-- custom region ABC
-- custom region ABC
RPR__ABC
1 2 3 /
1 2 3 /
ROIP_ABC
1 2 3 /
1 2 3 /
RRPV_ABC
1 2 3 /
1 2 3 /
RHPV_ABC
1 2 3 /
1 2 3 /
RWIP_ABC
1 2 3 /
1 2 3 /
ROE__ABC
1 2 3 /
1 2 3 /
ROEW_ABC
1 2 3 /
1 2 3 /
ROPT_ABC
1 2 3 /
1 2 3 /
RWPT_ABC
1 2 3 /
1 2 3 /
RWIT_ABC
1 2 3 /
1 2 3 /
-----------------
-- Well Data
@@ -183,13 +183,13 @@ WWCTH
WGIR
'F-*' 'G-*' /
WWIR
'F-*' 'G-*' /
WGIRH
'F-*' 'G-*' /
WWIRH
'F-*' 'G-*' /
@@ -201,7 +201,7 @@ WBHP
WTHP
'B-*' /
-- potentials
-- potentials
WGIP
'F-*' 'G-*' /
@@ -311,4 +311,3 @@ GGPI
GGLIR
'B1' 'M5N' 'M5S' 'PLAT-A' /
File diff suppressed because it is too large. Load diff
+12 -12
View File
@@ -7,24 +7,24 @@
VFPPROD
-- Table Datum Depth Rate Type WFR Type GFR Type THP Type ALQ Type UNITS TAB Type
1 1836.00 LIQ WCT GOR THP GRAT METRIC BHP /
-- FLO: LIQ rates
-- Table Datum Depth Rate Type WFR Type GFR Type THP Type ALQ Type UNITS TAB Type
1 1836.00 LIQ WCT GOR THP GRAT METRIC BHP /
-- FLO: LIQ rates
20.0 30.0 40.0 55.0 75.0 103.0 141.0
193.0 265.0 363.0 500.0 750.0 1000.0 1500.0
2000.0 3000.0 4000.0 5000.0 6000.0 7100.0 10000.0
/
-- thp values
10.00 15.00 20.00 25.00 35.00 /
-- WFR: WCT values
/
-- thp values
10.00 15.00 20.00 25.00 35.00 /
-- WFR: WCT values
0.000 0.110 0.220 0.330 0.440 0.550 0.660
0.770 0.880 0.990 /
-- GFR: GOR values
0.770 0.880 0.990 /
-- GFR: GOR values
20.0 30.0 35.0 40.0 50.0 75.0 100.0
500.0 1000.0 /
-- ALQ: GRAT values
500.0 1000.0 /
-- ALQ: GRAT values
0.0 31000.0 63000.0 94000.0 125000.0 156000.0 188000.0
219000.0 /
219000.0 /
1 1 1 1 164.405 163.866 163.337 162.548 161.680 160.633 159.597 158.312 156.719
154.999 153.283 151.458 150.673 150.563 151.233 153.863 157.653 162.333
-1
View File
@@ -67,4 +67,3 @@ PVDG
3200. 0.6871 .0165
3600. 0.6035 .0170
4000. 0.5432 .0175 /
-1
View File
@@ -546,4 +546,3 @@ PVTO
284.50 1.26716 0.74427
318.50 1.26164 0.77857 /
/
+3 -3
View File
@@ -8,7 +8,7 @@
RUNSPEC
TITLE
DIMENS
10 10 3 /
@@ -38,7 +38,7 @@ GRID
-- -------------------------------------------------------------------------
NOECHO
DX
DX
300*1000 /
DY
300*1000 /
@@ -95,5 +95,5 @@ SGOF
0.5 0.72 0.001 0
0.6 0.87 0.0001 0
0.7 0.94 0.000 0
0.85 0.98 0.000 0
0.85 0.98 0.000 0
0.88 0.984 0.000 0 /
+10 -10
View File
@@ -23,7 +23,7 @@ DIMENS
WELLDIMS
30 10 2 30 /
ENDSCALE
--DIR REV NTENDP NSENDP
'NODIR' 'REVERS' 1 20 /
@@ -37,8 +37,8 @@ NSTACK
EQLDIMS
-- NTEQUL
1 /
1 /
FMTOUT
FMTIN
@@ -112,11 +112,11 @@ SCALECRS
-- YES /
NO/
ENPTVD
-- Depth swl swcr swu sgl sgcr sgu sowcr sogcr
-- Sandstone
ENPTVD
-- Depth swl swcr swu sgl sgcr sgu sowcr sogcr
-- Sandstone
2.5 .1 0.2 0.9 .0 0.1 0.9 0.2 0.2
7.5 .1 0.2 0.7 .0 0.1 0.9 0.2 0.2
7.5 .1 0.2 0.7 .0 0.1 0.9 0.2 0.2
12.5 .1 0.4 0.9 .0 0.1 0.9 0.2 0.2
17.5 .1 0.4 0.7 .0 0.1 0.9 0.2 0.2
22.5 .2 0.2 0.9 .0 0.1 0.9 0.2 0.2
@@ -126,7 +126,7 @@ ENPTVD
42.5 .1 0.2 0.9 .0 0.1 0.9 0.2 0.2
47.5 .1 0.2 0.9 .0 0.1 0.9 0.2 0.2
50.0 .1 0.2 0.9 .0 0.1 0.9 0.2 0.2 /
/
/
SWOF
0.1 0.0 1.0 0.9
@@ -149,7 +149,7 @@ SGOF
PVTW
--RefPres Bw Comp Vw Cv
1. 1.0 4.0E-5 0.96 0.0 /
ROCK
--RefPres Comp
@@ -174,7 +174,7 @@ EQUIL
RSVD
0 0.0
100 100. /
RVVD
0. 0.
100. 0.0001 /
+6 -7
View File
@@ -10,10 +10,10 @@ TITLE
UNIT TEST
START
START
1 NOV 1979 /
OIL
OIL
GAS
WATER
@@ -24,13 +24,13 @@ DIMENS
10 10 10 /
GRID
DXV
DXV
10*10 /
DYV
DYV
10*10 /
DZV
DZV
10*10 /
DEPTHZ
@@ -75,7 +75,7 @@ COMPDAT
'OP_3' 7 7 3 3 'OPEN' 1* 18.032 0.311 1608.615 1* 1* 'Y' 18.526 /
'OP_3' 7 7 4 4 'OPEN' 1* 56.817 0.311 5047.177 1* 1* 'Y' 18.155 /
'OP_3' 7 7 5 5 'OPEN' 1* 4.728 0.311 420.067 1* 1* 'Y' 18.162 /
/
/
DATES
1 JUN 1980/
@@ -122,4 +122,3 @@ DATES
/
END
+1 -2
View File
@@ -74,7 +74,7 @@ DATES -- Step2
/
WCONPROD
WCONPROD
'PROD1' 'SHUT' /
/
@@ -97,4 +97,3 @@ WCONHIST
/
END
+2 -2
View File
@@ -26,7 +26,7 @@ DZV
10.0 20.0 30.0 10.0 5.0 /
TOPS
100*10 /
100*10 /
PERMX
500*0.25 /
@@ -37,7 +37,7 @@ COPY
/
PORO
500*0.15 /
500*0.15 /
SCHEDULE
+1 -1
View File
@@ -25,7 +25,7 @@ DYV
/
DZ
100*20.0
100*20.0
/
TOPS