Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
dumux-repositories
dumux
Commits
30ead698
Commit
30ead698
authored
Nov 26, 2018
by
Holger Class
Committed by
Martin Schneider
Dec 18, 2018
Browse files
time discretization
parent
9a28187b
Changes
1
Hide whitespace changes
Inline
Side-by-side
doc/handbook/5_models.tex
View file @
30ead698
...
...
@@ -201,10 +201,49 @@ in the Doxygen documentation at
\url
{
http://www.dumux.org/doxygen-stable/html-
\DumuxVersion
/modules.php
}
.
The documentation includes a detailed description for every model.
\subsubsection
{
Temporal discretization
}
We discretize time with an explicit or implicit Euler
method.
% TODO: make section with more details on temporal discretization
\subsubsection
{
Time discretization
}
Our systems of partial differential equations are discretized in space and in time.
Let us consider the general case of a balance equation of the following form
\begin{equation}
\label
{
eq:generalbalance
}
\frac
{
\partial
m(u)
}{
\partial
t
}
+
\nabla\cdot\mathbf
{
f
}
(u,
\nabla
u) + q(u) = 0,
\end{equation}
seeking an unknown quantity
$
u
$
in terms of storage
$
m
$
, flux
$
\mathbf
{
f
}$
and source
$
q
$
.
All available Dumux models can be written mathematically in form of
\eqref
{
eq:generalbalance
}
with possibly vector-valued quantities
$
u
$
,
$
m
$
,
$
q
$
and a tensor-valued flux
$
\mathbf
{
f
}$
.
For the sake of simplicity, we assume scalar quantities
$
u
$
,
$
m
$
,
$
q
$
and a vector-valued
flux
$
\mathbf
{
f
}$
in the notation below.
For discretizing
\eqref
{
eq:generalbalance
}
we need to choose an
approximation for the temporal derivative
$
\partial
m
(
u
)/
\partial
t
$
.
While many elaborate methods for this approximation exist,
we focus on the simplest one of a first order difference quotient
\begin{equation}
\label
{
eq:euler
}
\frac
{
\partial
m(u
_{
k/k+1
}
)
}{
\partial
t
}
\approx
\frac
{
m(u
_{
k+1
}
) - m(u
_
k)
}{
\Delta
t
_{
k+1
}}
\end{equation}
for approximating the solution
$
u
$
at time
$
t
_
k
$
(forward) or
$
t
_{
k
+
1
}$
(backward).
The question of whether to choose the forward or the backward quotient leads to the
explicit and implicit Euler method, respectively.
In case of the former, inserting
\eqref
{
eq:euler
}
in
\eqref
{
eq:generalbalance
}
at time
$
t
_
k
$
leads to
\begin{equation}
\label
{
eq:expliciteuler
}
\frac
{
m(u
_{
k+1
}
) - m(u
_
k)
}{
\Delta
t
_{
k+1
}}
+
\nabla\cdot\mathbf
{
f
}
(u
_
k,
\nabla
u
_
k) + q(u
_
k) = 0,
\end{equation}
whereas the implicit Euler method is described as
\begin{equation}
\label
{
eq:impliciteuler
}
\frac
{
m(u
_{
k+1
}
) - m(u
_
k)
}{
\Delta
t
_{
k+1
}}
+
\nabla\cdot\mathbf
{
f
}
(u
_{
k+1
}
,
\nabla
u
_{
k+1
}
) + q(u
_{
k+1
}
) = 0.
\end{equation}
Once the solution
$
u
_
k
$
at time
$
t
_
k
$
is known, it is straightforward
to determine
$
m
(
u
_{
k
+
1
}
)
$
from
\eqref
{
eq:expliciteuler
}
,
while attempting to do the same based on
\eqref
{
eq:impliciteuler
}
involves the solution of a nonlinear system.
On the other hand, the explicit method
\eqref
{
eq:expliciteuler
}
is stable only
if the time step size
$
\Delta
t
_{
k
+
1
}$
is below a certain limit that depends
on the specific balance equation, whereas the implicit method
\eqref
{
eq:impliciteuler
}
is unconditionally stable.
\subsubsection
{
Algorithms to solve equations
}
The governing equations of each model can be solved monolithically or sequentially.
...
...
Timo Koch
@timok
mentioned in commit
a47c325a
·
Dec 18, 2018
mentioned in commit
a47c325a
mentioned in commit a47c325a10eca6ea83d1b420584b0925f9a4de2f
Toggle commit list
Timo Koch
@timok
mentioned in merge request
!1428 (merged)
·
Dec 18, 2018
mentioned in merge request
!1428 (merged)
mentioned in merge request !1428
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment