Skip to content
Snippets Groups Projects
Commit a0e7421e authored by Timo Koch's avatar Timo Koch
Browse files

Merge branch 'handbook/staggeredDiscretization' into 'master'

[doc][handbook] Add first draft for staggered-grid discretization

See merge request !1060
parents 7a4a0d01 23641b8e
No related branches found
No related tags found
1 merge request!1060[doc][handbook] Add first draft for staggered-grid discretization
......@@ -90,7 +90,7 @@
[.\node[FirstLevel] {freeflow};
[.\node[SecondLevel] {\emph{models}};
\node[ThirdLevel] {Single-phase free flow models using Navier-Stokes
and algebraic turbulence models.};
and eddy-viscosity based Reynolds-averaged Navier-Stokes turbulence models.};
]
]
[.\node[FirstLevel] {io};
......
......@@ -202,11 +202,73 @@ should only be applied for structured grids
direction of the gradient between the two element/control
volume centers).
% \subsubsection{MPFA}\label{staggered}
% \subsubsection{MPFA}\label{cc_mpfa}
% TODO
% \subsubsection{NLTPFA}\label{staggered}
% \subsubsection{NLTPFA}\label{cc_nltpfa}
% TODO
% \subsection{Staggered Grid -- A Short Introduction}\label{staggered}
% TODO
\subsection{Staggered Grid -- A Short Introduction}\label{staggered}
\begin{figure}[ht]
\centering
\begin{tikzpicture}[scale=3.0,font=\normalsize]
\begin{scope}[shift={(0,2.5)}]
% control volume pressure
\fill[gray!40] (1,1) rectangle (2,2);
% control volume for vertical velocity
\fill[dumuxBlue!30] (0.0,0.5) rectangle (1.0,1.5);
% control volume for horizontal velocity
\fill[dumuxYellow!30] (0.5,0) rectangle (1.5,1);
% grid cells
\draw [thick] (0,0) grid (2,2);
% cell centers
\foreach \x in {0.5,...,1.5}
\foreach \y in {0.5,...,1.5}
\fill[gray](\x,\y) circle(0.06);
% velocity x
\foreach \x in {0,1,2}
\foreach \y in {0.5,...,1.5}
\draw[dumuxYellow,->,ultra thick](\x-0.15,\y) -- (\x+0.15,\y);
% velocity y
\foreach \x in {0.5,...,1.5}
\foreach \y in {0,...,2.0}
\draw[dumuxBlue,->,ultra thick](\x,\y-0.15) -- (\x,\y+0.15);
\end{scope}
% annotations
\begin{scope}[shift={(1.0,2.7)}]
\fill[gray](2.3,1.8) circle(0.06);
\draw(2.5,1.8) node[right, align=left] {cell-centered primary variables\\\color{gray}($p_\alpha$, $x^\kappa_\alpha$, $T$, $k$, $\varepsilon$, ...)};
\draw[dumuxYellow,->,ultra thick](2.2,1.4) -- (2.4,1.4);
\draw[dumuxYellow](2.5,1.4) node[right, align=left] {$v_{\alpha\textrm{,x}}$};
\draw[dumuxBlue,->,ultra thick](2.3,0.9) -- (2.3,1.1);
\draw[dumuxBlue](2.5,1.0) node[right, align=left] {$v_{\alpha\textrm{,y}}$};
\draw[thick](2.2,0.5) rectangle (2.4,0.7);
\draw(2.5,0.6) node[right, align=left] {finite volume mesh};
\draw[draw=none,fill=gray!40](2.2,0.1) rectangle (2.4,0.3);
\draw(2.5,0.2) node[right, align=left] {control volumes\\(cell-centered primary variables)};
\draw[draw=none,fill=dumuxYellow!30](1.9,-0.1) rectangle (2.1,-0.3);
\draw[draw=none,fill=dumuxBlue!30](2.2,-0.1) rectangle (2.4,-0.3);
\draw(2.5,-0.2) node[right, align=left] {staggered control volumes\\(velocity components)};
\end{scope}
\end{tikzpicture}
\caption{\label{pc:staggered} Discretization of the staggered-grid method}
\end{figure}
The staggered-grid or marker-and-cell method uses a cell-centered finite volume method
for the scalar primary variables.
The control volumes for the velocity components are shifted half-a-cell in each direction,
such that the velocity components are located on the edges of the
cell-centered finite volume mesh (see Figure~\ref{pc:staggered}).
As for the cell-centered method, the fluxes are evaluated at the edges
of each control volume with a two-point flux approximation, cf. \ref{cc}.\\
For cell-centered variables, the boundary handling is as for the cell-centered method.
For the velocity components, Dirichlet values for the component normal to the boundary
face can directly be applied.
For the tangential components the boundary values are treated with contribution of the boundary flux. \\
The staggered-grid method is robust, mass conservative, and free of pressure oscillations
but should, as the cell-centered TPFA method, only be applied for structured grids.
At the moment the staggered-grid is the base discretization for all free-flow models.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment