re-added decoupled model descriptions to handbook, updated completely outdated decoupled2p2c, removed unneccessary file.

This commit is contained in:
Benjamin Faigle
2011-11-29 14:01:54 +00:00
committed by Andreas Lauser
parent 89ff5ad8fc
commit 6e537d5670
5 changed files with 103 additions and 43 deletions

View File

@@ -0,0 +1,7 @@
The model implements the decoupled equations of two-phase flow of two completely immiscible fluids. These equations can be derived from the two-phase flow equations shown for the two-phase box model (\doxyref{TwoPBoxModel}{p.}{classDune_1_1TwoPBoxModel}). The first equation to solve is a pressure equation of elliptic character. The second one is a saturation equation, which can be hyperbolic or parabolic.
This model allows different combinations of primary variables, which can be $p_w$-$S_w$, $p_w$-$S_n$, $p_n$-$S_w$, $p_n$-$S_n$, or $p$-$S_w$ and $p$-$S_n$, where $p$ is no phase pressure but a global pressure.
As the equations are only weakly coupled they do not have to be solved simultaneously but can be solved sequentially. First the pressure equation is solved implicitly, second the saturation equation can be solved explicitly. This solution procedure is called \doxyref{IMPES}{p.}{classDune_1_1IMPES} algorithm (IMplicit Pressure Explicit Saturation).
In comparison to a fully coupled model, different discretization methods can be applied to the different equations. So far, the pressure equation is discretized using a cell centered finite volume scheme (optionally with multi point flux approximation), a mimetic finite difference scheme or a finite element scheme. The saturation equation is discretized using a cell centered finite volume scheme. Default time discretization scheme is an explicit Euler scheme.

View File

@@ -0,0 +1,19 @@
This module provides an Finite-Volume implementation for a compressible two-phase system with two components. An IMPES-like method is used for the sequential solution of the problem, where we first implicitly solve for a pressure field, and perform an explicit transport step afterwards. Isothermal conditions and local thermodynamic equilibrium are assumed, diffusion is neglected. Gravity and capillary pressure is regarded, wich is explicitly noted here because both effects increase the coupling of the pressure and transport step: Gravity forces depend on the fluid density (which is dependent on composition and pressure, a.o.t), whereas capillary pressure is dependent on the saturation (that is quantifyable after flash calculations that depend again on pressure and composition are performed).
The pressure equation is given as
\begin{equation}
c_{total}\frac{\partial p}{\partial t} + \sum_{\kappa} \frac{\partial v_{total}}{\partial C^{\kappa}} \nabla \cdot \left( \sum_{\alpha} X^{\kappa}_{\alpha} \varrho_{\alpha} \bf{v}_{\alpha}\right)
= \sum_{\kappa} \frac{\partial v_{total}}{\partial C^{\kappa}} q^{\kappa},
\end{equation}
where $\bf{v}_{\alpha} = - \lambda_{\alpha} \bf{K} \left(\nabla p_{\alpha} + \rho_{\alpha} \bf{g} \right) $ denotes the phase velocity.
$ c_{total} $ represents the total compressibility, for constant porosity this yields $ - \frac{\partial V_{total}}{\partial p_{\alpha}}$,
$p_{\alpha} $ denotes the phase pressure, $ \bf{K} $ the absolute permeability, $ \lambda_{\alpha} $ the phase mobility,
$ \rho_{\alpha} $ the phase density and $ \bf{g}$ the gravity constant and $ C^{\kappa} $ the total Component concentration.
See paper SPE 99619 or \cite{Chen2000} for derivation.
The partial derivatives of the actual fluid volume $ v_{total} $ are gained numerically by performing an predicitive transport step and using the changes in mass in a secant method. In the sequential solution procedure, the secondary variables of the last time-step
are used to gain the next pressure field and for the transport step, which leads to a trunctuation error. This error is dampened in the pressure step, for details see \cite{Fritz2010}.
The transport step is described by
\[ \frac{\partial C^\kappa}{\partial t} = - \nabla \cdot \sum{{\bf v_\alpha} \varrho_\alpha X_\alpha^\kappa} + q^\kappa \; . \]
After the mass is transported, flash calculations determine the saturation an composition, and the secondary variables are updated to complete the time-step.

View File

@@ -1,4 +1,4 @@
% This file was created with JabRef 2.3.1. % This file was created with JabRef 2.6.
% Encoding: UTF-8 % Encoding: UTF-8
@BOOK{DEBOOR1978, @BOOK{DEBOOR1978,
@@ -269,6 +269,30 @@
publisher = {Springer} publisher = {Springer}
} }
@ARTICLE{Chen2000,
author = {Z. Chen and Q. Guan and R.E. Ewing},
title = {Analysis of a compositional model for fluid flow in porous media},
journal = {SIAM Journal on Applied Mathematics},
year = {2000},
volume = {60},
pages = {747-777},
number = {3},
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}
}
@BOOK{CLASS2007, @BOOK{CLASS2007,
title = {Models for Non-Isothermal Compositional Gas-Liquid Flow and Transport title = {Models for Non-Isothermal Compositional Gas-Liquid Flow and Transport
in Porous Media}, in Porous Media},
@@ -386,6 +410,16 @@
note = {CS-93-56} note = {CS-93-56}
} }
@PHDTHESIS{Fritz2010,
author = {Jochen Fritz},
title = {A Decoupled Model for Compositional Non-Isothermal Multiphase Flow
in Porous Media and Multiphysics Approaches for Two-Phase Flow},
school = {Universit\"at Stuttgart},
year = {2010},
owner = {rodrigog},
timestamp = {2011.02.07}
}
@ARTICLE{A3:gimse:1992, @ARTICLE{A3:gimse:1992,
author = {Gimse, Tore and Risebro, Nils Henrik}, author = {Gimse, Tore and Risebro, Nils Henrik},
title = {Solution of the Cauchy Problem for a Conservation Law with a Discontinuous title = {Solution of the Cauchy Problem for a Conservation Law with a Discontinuous
@@ -737,7 +771,8 @@
@MISC{IAPWS1997, @MISC{IAPWS1997,
author = {IAPWS (The International Association for the Properties of Water author = {IAPWS (The International Association for the Properties of Water
and Steam)}, and Steam)},
title = {Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam}, title = {Revised Release on the IAPWS Industrial Formulation 1997 for the
Thermodynamic Properties of Water and Steam},
howpublished = {http://www.iapws.org/IF97-Rev.pdf}, howpublished = {http://www.iapws.org/IF97-Rev.pdf},
year = {1997} year = {1997}
} }
@@ -854,11 +889,6 @@
edition = {1} edition = {1}
} }
@MISC{APACHE-SUBVERSION-HP,
title = {The Apache Subversion Website: \url{http://subversion.apache.org/}},
key = {APACHE-SUBVERSION}
}
@MISC{ALBERTA-HP, @MISC{ALBERTA-HP,
title = {The {ALBERTA} Website: \url{http://www.alberta-fem.de/}}, title = {The {ALBERTA} Website: \url{http://www.alberta-fem.de/}},
key = {ALBERTA} key = {ALBERTA}
@@ -869,8 +899,18 @@
key = {ALU} key = {ALU}
} }
@MISC{APACHE-SUBVERSION-HP,
title = {The Apache Subversion Website: \url{http://subversion.apache.org/}},
key = {APACHE-SUBVERSION}
}
@MISC{BOOST-HP,
title = {The {Boost} Homepage: \url{http://www.boost.org/}},
key = {BOOST}
}
@MISC{DOXYGEN-HP, @MISC{DOXYGEN-HP,
title ={Doxgen's Homepage: \url{http://www.stack.nl/~dimitri/doxygen/}}, title = {Doxgen's Homepage: \url{http://www.stack.nl/~dimitri/doxygen/}},
key = {DOXYGEN} key = {DOXYGEN}
} }
@@ -879,30 +919,11 @@
key = {DUMUX} key = {DUMUX}
} }
@MISC{DUNE-HP,
title = {The {DUNE} Project: \url{http://www.dune-project.org/}},
key = {DUNE}
}
@MISC{DUNE-BS, @MISC{DUNE-BS,
title = {{DUNE} Build System Howto: \url{http://www.dune-project.org/doc/buildsystem/buildsystem.pdf}}, title = {{DUNE} Build System Howto: \url{http://www.dune-project.org/doc/buildsystem/buildsystem.pdf}},
key = {DUNE-BS} key = {DUNE-BS}
} }
@MISC{DUNE-INST,
title = {Installation notes to {DUNE}: \url{http://www.dune-project.org/doc/installation-notes.html}},
key = {DUNE-INST}
}
@MISC{DUNE-USER-WIKI,
title = {{DUNE} User Wiki: \url{http://users.dune-project.org/}},
key = {DUNE-USER-WIKI}
}
@MISC{DUNE-MAIN-WIKI,
title = {{DUNE} Main Wiki: \url{http://users.dune-project.org/projects/main-wiki/wiki/}},
key = {DUNE-MAIN-WIKI}
}
@MISC{DUNE-DOWNLOAD-SVN, @MISC{DUNE-DOWNLOAD-SVN,
title = {Download of {DUNE} via SVN: \url{http://www.dune-project.org/downloadsvn.html}}, title = {Download of {DUNE} via SVN: \url{http://www.dune-project.org/downloadsvn.html}},
key = {DUNE-DOWNLOAD-SVN} key = {DUNE-DOWNLOAD-SVN}
@@ -912,37 +933,54 @@
title = {Use of external libraries in DUNE \url{http://www.dune-project.org/external_libraries/index.html}}, title = {Use of external libraries in DUNE \url{http://www.dune-project.org/external_libraries/index.html}},
key = {DUNE-EXTERNAL-LIBRARIES} key = {DUNE-EXTERNAL-LIBRARIES}
} }
@MISC{DUNE-EXT-MOD, @MISC{DUNE-EXT-MOD,
title = {Use of external modules in DUNE \url{http://www.dune-project.org/downloadext.html}}, title = {Use of external modules in DUNE \url{http://www.dune-project.org/downloadext.html}},
key = {DUNE-EXTERNAL-MODULES} key = {DUNE-EXTERNAL-MODULES}
} }
@MISC{DUNE-HP,
title = {The {DUNE} Project: \url{http://www.dune-project.org/}},
key = {DUNE}
}
@MISC{DUNE-INST,
title = {Installation notes to {DUNE}: \url{http://www.dune-project.org/doc/installation-notes.html}},
key = {DUNE-INST}
}
@MISC{DUNE-MAIN-WIKI,
title = {{DUNE} Main Wiki: \url{http://users.dune-project.org/projects/main-wiki/wiki/}},
key = {DUNE-MAIN-WIKI}
}
@MISC{DUNE-USER-WIKI,
title = {{DUNE} User Wiki: \url{http://users.dune-project.org/}},
key = {DUNE-USER-WIKI}
}
@MISC{FENICS-HP, @MISC{FENICS-HP,
title = {The {FEniCS} Project: \url{http://www.fenicsproject.org/}}, title = {The {FEniCS} Project: \url{http://www.fenicsproject.org/}},
key = {FENICS} key = {FENICS}
} }
@MISC{GNU-BS,
title = {wikipedia about GNU build system: \url{http://en.wikipedia.org/wiki/GNU_build_system}},
key = {WIKIPED-GNU-BS}
}
@MISC{STL-REF-HP, @MISC{STL-REF-HP,
title = {A {STL} Reference: \url{http://www.cplusplus.com/reference/stl/}}, title = {A {STL} Reference: \url{http://www.cplusplus.com/reference/stl/}},
key = {STL} key = {STL}
} }
@MISC{BOOST-HP,
title = {The {Boost} Homepage: \url{http://www.boost.org/}},
key = {BOOST}
}
@MISC{UG-HP, @MISC{UG-HP,
title = {The {UG} Homepage: \url{http://atlas.gcsc.uni-frankfurt.de/~ug/}}, title = {The {UG} Homepage: \url{http://atlas.gcsc.uni-frankfurt.de/~ug/}},
key = {UG} key = {UG}
} }
@MISC{WIKIPED-ALIASING, @MISC{WIKIPED-ALIASING,
title = {wikipedia about aliasing an optimzation: \url{http://en.wikipedia.org/wiki/Aliasing\_(computing)}}, title = {wikipedia about aliasing an optimzation: \url{http://en.wikipedia.org/wiki/Aliasing\_(computing)}},
key = {WikipediaAliasing} key = {WikipediaAliasing}
} }
@MISC{GNU-BS,
title = {wikipedia about GNU build system: \url{http://en.wikipedia.org/wiki/GNU_build_system}},
key = {WIKIPED-GNU-BS}
}

View File

@@ -178,7 +178,8 @@ from the Doxygen documentation. \textbf{TODO}: Unify notation.
\subsubsection{FractionalFlow Model} \subsubsection{FractionalFlow Model}
\input{ModelDescriptions/2pdecoupledmodel} \input{ModelDescriptions/2pdecoupledmodel}
\input{models_decoupled2p2c} \subsubsection{Decoupled Compositional Models}
\input{ModelDescriptions/decoupled2p2c}

View File

@@ -1,5 +0,0 @@
\subsubsection{Decoupled2p2c}
(Extracted from decoupled2p2c.hh:)
\input{ModelDescriptions/decoupled2p2c}