m (Move page script moved page Draft Samper 536119838 to Onate et al 2015a) |
|||
(29 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | Published in ''Comput. Meth. Appl. Mech. Engng.'', Vol. 293, pp. 191-206, 2015 | + | Published in ''Comput. Meth. Appl. Mech. Engng.'', Vol. 293, pp. 191-206, 2015<br /> |
+ | 10.1016/j.cma.2013.12.009 | ||
Line 395: | Line 396: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\displaystyle \int _\Omega {w}^T \rho {\partial {v} \over \partial t} d\Omega + \!\int _\Omega \delta {\boldsymbol \varepsilon }^T {D} {\boldsymbol \varepsilon } d\Omega + \!\int _\Omega \delta {\boldsymbol \varepsilon }^T {m} p - \int _\Omega {w}^T {b}d\Omega - \!\int _{\Gamma _t} \mathbf{w}^T \mathbf{t}^p d\Gamma =0 </math> | + | | style="text-align: center;" | <math>\displaystyle \int _\Omega {\bf w}^T \rho {\partial {\bf v} \over \partial t} d\Omega + \!\int _\Omega \delta {\boldsymbol \varepsilon }^T {\bf D} {\boldsymbol \varepsilon } d\Omega + \!\int _\Omega \delta {\boldsymbol \varepsilon }^T {\bf m} p - \int _\Omega {\bf w}^T {b}d\Omega - \!\int _{\Gamma _t} \mathbf{\bf w}^T \mathbf{\bf t}^p d\Gamma =0 </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (24) | | style="width: 5px;text-align: right;white-space: nowrap;" | (24) | ||
|} | |} | ||
− | In Eq.([[#eq-24|24]]) <math display="inline">{w},{v},{\boldsymbol \varepsilon }</math> are vectors containing the weighting functions, the velocities and the strain rates, respectively; <math display="inline">{b}</math> and <math display="inline">\mathbf{t}^p</math> are body force and surface tractions vectors, respectively; <math display="inline">{D}</math> is the viscous constitutive matrix and <math display="inline">{m}</math> is an auxiliary vector. These vectors are defined as (for 3D problems) | + | In Eq.([[#eq-24|24]]) <math display="inline">{\bf w},{\bf v},{\boldsymbol \varepsilon }</math> are vectors containing the weighting functions, the velocities and the strain rates, respectively; <math display="inline">{\bf b}</math> and <math display="inline">\mathbf{\bf t}^p</math> are body force and surface tractions vectors, respectively; <math display="inline">{\bf D}</math> is the viscous constitutive matrix and <math display="inline">{\bf m}</math> is an auxiliary vector. These vectors are defined as (for 3D problems) |
<span id="eq-25"></span> | <span id="eq-25"></span> | ||
Line 408: | Line 409: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\begin{array}{l}\mathbf{w} =[w_1,w_2,w_3]^T\quad ,\quad \mathbf{v} =[v_1,v_2,v_3]^T\\[.5cm] {\boldsymbol \varepsilon }= [\varepsilon _{11},\varepsilon _{22}, \varepsilon _{33},2\varepsilon _{12},2\varepsilon _{13}, 2\varepsilon _{23}]^T \quad ,\quad \mathbf{b} =[b_1,b_2,b_3]^T \quad ,\quad \mathbf{t}^p =[t_1^p,t_2^p,t_3^p]^T\\[.5cm] {D}=\mu \left[ \begin{array}{cccccc}\frac{4}{3} & -\frac{2}{3} &-\frac{2}{3} & 0 & 0 & 0 \\ & \frac{4}{3} & -\frac{2}{3} &0 &0 & 0 \\ & & \frac{4}{3} & 0 & 0 & 0 \\ & & & 1 & 0 & 0 \\ {Sym.} & & & & 1 & 0 \\ & & & & & 1 \\ \end{array} \right]\qquad ,\qquad {m}=[1,1,1,0,0,0]^T \end{array} </math> | + | | style="text-align: center;" | <math>\begin{array}{l}\mathbf{w} =[w_1,w_2,w_3]^T\quad ,\quad \mathbf{v} =[v_1,v_2,v_3]^T\\[.5cm] {\boldsymbol \varepsilon }= [\varepsilon _{11},\varepsilon _{22}, \varepsilon _{33},2\varepsilon _{12},2\varepsilon _{13}, 2\varepsilon _{23}]^T \quad ,\quad \mathbf{\bf b} =[b_1,b_2,b_3]^T \quad ,\quad \mathbf{\bf t}^p =[t_1^p,t_2^p,t_3^p]^T\\[.5cm] |
+ | {\bf D}=\mu \left[ \begin{array}{cccccc}\frac{4}{3} & -\frac{2}{3} &-\frac{2}{3} & 0 & 0 & 0 \\ & \frac{4}{3} & -\frac{2}{3} &0 &0 & 0 \\ & & \frac{4}{3} & 0 & 0 & 0 \\ & & & 1 & 0 & 0 \\ {Sym.} & & & & 1 & 0 \\ & & & & & 1 \\ \end{array} \right]\qquad ,\qquad {\bf m}=[1,1,1,0,0,0]^T \end{array} </math> | ||
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (25) | | style="width: 5px;text-align: right;white-space: nowrap;" | (25) | ||
|} | |} | ||
− | The 2D form of above expressions is straightforward. For instance, the 2D expression of matrix <math display="inline"> {D}</math> is obtained by deleting the rows and columns 3, 5 and 6 in Eq.([[#eq-25|25]]). | + | The 2D form of above expressions is straightforward. For instance, the 2D expression of matrix <math display="inline"> {\bf D}</math> is obtained by deleting the rows and columns 3, 5 and 6 in Eq.([[#eq-25|25]]). |
<br/> | <br/> | ||
− | '''Remark 1.''' From the definition of <math display="inline">{m}</math> and <math display="inline">{D}</math> and Eqs.([[#eq-2|2]]), ([[#eq-3|3]]) and ([[#eq-5|5]]) we deduce | + | '''Remark 1.''' From the definition of <math display="inline">{\bf m}</math> and <math display="inline">{\bf D}</math> and Eqs.([[#eq-2|2]]), ([[#eq-3|3]]) and ([[#eq-5|5]]) we deduce |
{| class="formulaSCP" style="width: 100%; text-align: left;" | {| class="formulaSCP" style="width: 100%; text-align: left;" | ||
Line 424: | Line 426: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>{\boldsymbol \sigma } = {s} + {m}p \quad ,\quad {s}= {D}{\boldsymbol \varepsilon } \quad \hbox{and}\quad \varepsilon _v= {m}^T {\boldsymbol \varepsilon } </math> | + | | style="text-align: center;" | <math>{\boldsymbol \sigma } = {\bf s} + {\bf m}p \quad ,\quad {\bf s}= {\bf D}{\boldsymbol \varepsilon } \quad \hbox{and}\quad \varepsilon _v= {\bf m}^T {\boldsymbol \varepsilon } </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (26) | | style="width: 5px;text-align: right;white-space: nowrap;" | (26) | ||
Line 512: | Line 514: | ||
<div id='img-1'></div> | <div id='img-1'></div> | ||
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;" | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;" | ||
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | | (a) | ||
+ | | (b) | ||
+ | | | ||
|- | |- | ||
− | |[[Image:Draft_Samper_536119838-Fig1a.png| | + | |[[Image:Draft_Samper_536119838-Fig1a.png|300px|]] |
− | |[[Image:Draft_Samper_536119838-Fig1b.png| | + | |[[Image:Draft_Samper_536119838-Fig1b.png|300px|]] |
+ | | [[File:Draft_Samper_536119838_2271_formulafig1.jpg]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
− | | ( | + | | colspan="2" |(c) |
+ | | | ||
|- | |- | ||
− | | colspan="2"|[[Image:Draft_Samper_536119838-Fig1c.png| | + | |colspan="2" | [[Image:Draft_Samper_536119838-Fig1c.png|400px|]] |
+ | | | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
− | | colspan=" | + | | colspan="3" | '''Figure 1:''' (a) Patch of four triangles associated to a central 3-noded triangle <math>e</math>. (b) Definition of <math>{\partial \varepsilon _v \over \partial n} </math> at the side <math>ij</math> of element <math>e</math>. (c) Equilibrium of tractions at the side <math>ij</math> adjacent to elements <math>e</math> and <math>a</math>. (d) Jump of <math>\frac{2}{3}\mu \varepsilon _v</math> across a side of element <math>e</math> |
|} | |} | ||
Line 607: | Line 616: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>v_i = \sum \limits _{j=1}^n N_j \bar v_i^j \quad ,\quad p = \bar p^e + \tilde p({x}) </math> | + | | style="text-align: center;" | <math>v_i = \sum \limits _{j=1}^n N_j \bar v_i^j \quad ,\quad p = \bar p^e + \tilde p({\bf x}) </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (36) | | style="width: 5px;text-align: right;white-space: nowrap;" | (36) | ||
|} | |} | ||
− | where <math display="inline">N_i</math> are the standard linear shape functions for simplicial elements, <math display="inline">n</math> is the number of element nodes (<math display="inline">n=3/4</math> for 2D/3D problems), <math display="inline">\bar{v}_i^j</math> denotes the value of the <math display="inline">i</math>th velocity component for the <math display="inline">j</math>th node of an element, <math display="inline">\bar p^e</math> is a constant pressure field over each element and <math display="inline"> \tilde {p}({x})</math> is a discontinuous linear pressure field chosen as (Figure [[#img-2|2]]) | + | where <math display="inline">N_i</math> are the standard linear shape functions for simplicial elements, <math display="inline">n</math> is the number of element nodes (<math display="inline">n=3/4</math> for 2D/3D problems), <math display="inline">\bar{v}_i^j</math> denotes the value of the <math display="inline">i</math>th velocity component for the <math display="inline">j</math>th node of an element, <math display="inline">\bar p^e</math> is a constant pressure field over each element and <math display="inline"> \tilde {p}({\bf x})</math> is a discontinuous linear pressure field chosen as (Figure [[#img-2|2]]) |
<span id="eq-37"></span> | <span id="eq-37"></span> | ||
Line 620: | Line 629: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\tilde {p}({x}) = ({x}_{c} - {x})^{T} {b} </math> | + | | style="text-align: center;" | <math>\tilde {p}({\bf x}) = ({\bf x}_{c} - {\bf x})^{T} {\bf b} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (37) | | style="width: 5px;text-align: right;white-space: nowrap;" | (37) | ||
Line 650: | Line 659: | ||
The actual unknowns of the problem are the nodal velocities <math display="inline">\bar v_i^j</math> and the constant pressure field <math display="inline">\bar p^e</math> for each element (Figure [[#img-3|3]]). | The actual unknowns of the problem are the nodal velocities <math display="inline">\bar v_i^j</math> and the constant pressure field <math display="inline">\bar p^e</math> for each element (Figure [[#img-3|3]]). | ||
− | We will choose now <math display="inline">N_e</math> piecewise constant unit weighting functions <math display="inline">q^e ({x})</math> so that <math display="inline">q^e ({x})=1</math> and <math display="inline"> {\partial q^e \over \partial x_i}=0 </math> if <math display="inline"> {x} \in \Omega ^e</math> and <math display="inline">q^e ({x}) =0</math> if <math display="inline"> {x} \not \in \Omega ^e</math>. With these assumptions the variational form ([[#eq-35|35]]) for the stabilized mass balance equation simplifies for 3-noded triangles to | + | We will choose now <math display="inline">N_e</math> piecewise constant unit weighting functions <math display="inline">q^e ({\bf x})</math> so that <math display="inline">q^e ({\bf x})=1</math> and <math display="inline"> {\partial q^e \over \partial x_i}=0 </math> if <math display="inline"> {x} \in \Omega ^e</math> and <math display="inline">q^e ({\bf x}) =0</math> if <math display="inline"> {x} \not \in \Omega ^e</math>. With these assumptions the variational form ([[#eq-35|35]]) for the stabilized mass balance equation simplifies for 3-noded triangles to |
<span id="eq-39"></span> | <span id="eq-39"></span> | ||
Line 683: | Line 692: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>{M} {\dot{\bar{v}}} + {K}\bar{v}+{Q}\bar {p}- {f}_v={0} </math> | + | | style="text-align: center;" | <math>{\bf M} {\dot{\bar{\bf v}}} + {\bf K}\bar{\bf v}+{\bf Q}\bar {\bf p}- {\bf f}_v={\bf 0} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (40.a) | | style="width: 5px;text-align: right;white-space: nowrap;" | (40.a) | ||
Line 694: | Line 703: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>{Q}^T \bar{v} + {S}\bar{p}-{f}_p={0} </math> | + | | style="text-align: center;" | <math>{\bf Q}^T \bar{\bf v} + {\bf S}\bar{\bf p}-{\bf f}_p={\bf 0} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (40.b) | | style="width: 5px;text-align: right;white-space: nowrap;" | (40.b) | ||
Line 707: | Line 716: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\bar{v} = \left\{\begin{matrix}\bar{v}^1\\\bar{v}^2\\\vdots \\ \bar{v}^N\end{matrix}\right\}~~,~~ \bar{v}^j = [\bar{v}^j_1,\bar{v}^j_2,\bar{v}^j_3]^T \quad \hbox{and } \bar{p} = [\bar{p}^1,\bar{p}^2,\cdots , \bar{p}^{N_e}]^{T} </math> | + | | style="text-align: center;" | <math>\bar{\bf v} = \left\{\begin{matrix}\bar{\bf v}^1\\\bar{\bf v}^2\\\vdots \\ \bar{\bf v}^N\end{matrix}\right\}~~,~~ \bar{\bf v}^j = [\bar{\bf v}^j_1,\bar{\bf v}^j_2,\bar{\bf v}^j_3]^T \quad \hbox{and } \bar{\bf p} = [\bar{p}^1,\bar{p}^2,\cdots , \bar{p}^{N_e}]^{T} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (40.c) | | style="width: 5px;text-align: right;white-space: nowrap;" | (40.c) | ||
Line 714: | Line 723: | ||
where <math display="inline">N</math> is the number of nodes in the mesh. The different matrices and vectors in Eqs.([[#6 FEM DISCRETIZATION|6]]a,b) are assembled from the element contributions given in Box 1 for 3-noded triangles. | where <math display="inline">N</math> is the number of nodes in the mesh. The different matrices and vectors in Eqs.([[#6 FEM DISCRETIZATION|6]]a,b) are assembled from the element contributions given in Box 1 for 3-noded triangles. | ||
− | < | + | <div class="center"> |
+ | {| class="formulaSCP" style="width: 80%; text-align: center;" | ||
+ | |-style="text-align: center; | ||
+ | | | ||
+ | {| style="text-align: center; margin:auto;width: 80%;font-size:85%;" | ||
+ | |<math>\begin{array}{l} | ||
+ | \displaystyle \textbf{M}_{ij}^e =\int_{\Omega^e}\rho \textbf{N}_i^T \textbf{N}_jd\Omega ~,~\textbf{K}^e_{ij} =\int_{\Omega^e} \textbf{B}_i^T \textbf{D}\textbf{B}_j d\Omega ~,~\textbf{Q}^e_{ij} =\int_{\Omega^e} \textbf{B}_i^T \textbf{m}d\Omega\\[.4cm] | ||
+ | \displaystyle {S}_{ee} = - 2 \left(\tau^{ea} + \tau^{eb}+\tau^{ec}\right)\quad ,\quad {S}_{eb} = 2\tau^{eb}~,~{S}_{ec} = 2\tau^{ec}~,~{S}_{ea} = 2\tau^{ea}\\[.4cm] | ||
+ | \displaystyle{\bf B}_i = \left[ \begin{matrix} | ||
+ | \displaystyle\frac{N_i}{x_1} &0\\ | ||
+ | 0& \displaystyle\frac{N_i}{x_2}\\ | ||
+ | \displaystyle\frac{N_i}{x_2}&\displaystyle\frac{N_i}{x_1}\\[.25cm] | ||
+ | \end{matrix} \right]\quad , \quad | ||
+ | {\bf N}_i = \left[ | ||
+ | \begin{array}{ccc} | ||
+ | N_i & 0 \\ | ||
+ | 0 & N_i \\ | ||
+ | \end{array} | ||
+ | \right] \quad \quad , \quad {\bf m} = [1,1,0]^T\\\\ | ||
+ | \displaystyle \textbf{f}^e_{v_i}= \int_{\Omega^e}\textbf{N}_i^T \textbf{b} d\Omega + \int_{\Gamma_t} \textbf{N}_i^T {\bf t}d\Gamma\\[.4cm] | ||
+ | \displaystyle f_{p_e}=-\sum\limits_{r=a,b,c} 2\tau^{er} \left( \frac{\rho l_{er}}{2} \frac{v_n}{t}+ | ||
+ | \left[\!\!\left[ 2\mu \frac{v_n}{n}+ ({\bf x}_c^T - {\bf x}_{er}^T) {\bf b}-{t}_n \right]\!\!\right]\right) | ||
+ | \end{array}</math> | ||
+ | |} | ||
+ | {| | ||
+ | |-style="text-align: left; margin:auto;width: 80%;font-size:85%;" | ||
+ | |where <math>l_{er}</math> is the length of the side connecting elements ''e'' and ''r'' and <math>{\bf x}_{er}</math> is the mid-point of the side. For continuous body forces between elements <math>\left[\!\left[{\bf x}_{er}^T {\bf b} \right]\!\right]=0</math> | ||
+ | |-style="text-align: left; margin:auto;width: 80%;font-size:85%;" | ||
+ | |The expression of <math>\tau^{er}</math> is given in Eqs.(45) and (46). | ||
+ | |} | ||
+ | |} | ||
+ | </div> | ||
+ | |||
+ | <div class="center" style="font-size: 75%;"> | ||
+ | '''Box 1'''. Element matrices and vectors in Eqs.(\ref{eq36}) for 3-noded triangles (Figure 1)</div> | ||
+ | |||
+ | |||
'''Remark 7.''' The FEM approximation ([[#eq-36|36]]) yields the strain rates and the stresses within an element in terms of the nodal velocities and pressure as | '''Remark 7.''' The FEM approximation ([[#eq-36|36]]) yields the strain rates and the stresses within an element in terms of the nodal velocities and pressure as | ||
Line 724: | Line 769: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\begin{array}{c}{\boldsymbol \varepsilon } = \sum \limits _{j=1}^n \mathbf{B}_j \bar {v}^j \quad ,\quad \varepsilon _v = \mathbf{m}^T \sum \limits _{j=1}^n \mathbf{B}_j \bar {v}^j\\ \displaystyle \mathbf{s} = \mathbf{D} \sum \limits _{j=1}^n \mathbf{B}_j \bar {v}^j \quad ,\quad {\boldsymbol \sigma } = \mathbf{D} \sum \limits _{j=1}^n \mathbf{B}_j \bar {v}^j + \mathbf{m} \bar p^e\end{array} </math> | + | | style="text-align: center;" | <math>\begin{array}{c}{\boldsymbol \varepsilon } = \sum \limits _{j=1}^n \mathbf{B}_j \bar {\bf v}^j \quad ,\quad \varepsilon _v = \mathbf{m}^T \sum \limits _{j=1}^n \mathbf{B}_j \bar {\bf v}^j\\ \displaystyle \mathbf{s} = \mathbf{D} \sum \limits _{j=1}^n \mathbf{B}_j \bar {\bf v}^j \quad ,\quad {\boldsymbol \sigma } = \mathbf{D} \sum \limits _{j=1}^n \mathbf{B}_j \bar {\bf v}^j + \mathbf{m} \bar p^e\end{array} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (41) | | style="width: 5px;text-align: right;white-space: nowrap;" | (41) | ||
Line 741: | Line 786: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>{M} \frac{{}^{n+1}\bar{v}-{}^{n}\bar{v}}{\Delta t} + {K} {}^{n+1}\bar{v}+{Q}{}^{n+1}\bar {p}-{f}_v={0} </math> | + | | style="text-align: center;" | <math>{\bf M} \frac{{}^{n+1}\bar{\bf v}-{}^{n}\bar{\bf v}}{\Delta t} + {\bf K} {}^{n+1}\bar{\bf v}+{\bf Q}{}^{n+1}\bar {\bf p}-{\bf f}_v={\bf 0} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (42.a) | | style="width: 5px;text-align: right;white-space: nowrap;" | (42.a) | ||
Line 752: | Line 797: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>{Q}^T {}^{n+1}\bar{v}+ {S} {}^{n+1}\bar{p}-{f}_p={0} </math> | + | | style="text-align: center;" | <math>{\bf Q}^T {}^{n+1}\bar{\bf v}+ {\bf S} {}^{n+1}\bar{\bf p}-{\bf f}_p={\bf 0} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (42.b) | | style="width: 5px;text-align: right;white-space: nowrap;" | (42.b) | ||
Line 765: | Line 810: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\begin{bmatrix}\frac{1}{\Delta t}{M}+ {K}& {Q} \\[.2cm] {Q}^T & {S} \end{bmatrix} \left\{\begin{matrix}{}^{n+1}\bar{v} \\[.2cm]{}^{n+1}\bar {p}\\[.2cm]\end{matrix}\right\}=\left\{\begin{matrix}{f}_v+ \frac{1}{\Delta t} {M} {}^{n}\bar{v}\\[.2cm] {f}_p \end{matrix}\right\} </math> | + | | style="text-align: center;" | <math>\begin{bmatrix}\frac{1}{\Delta t}{\bf M}+ {\bf K}& {\bf Q} \\[.2cm] {\bf Q}^T & {\bf S} \end{bmatrix} \left\{\begin{matrix}{}^{n+1}\bar{\bf v} \\[.2cm]{}^{n+1}\bar {\bf p}\\[.2cm]\end{matrix}\right\}=\left\{\begin{matrix}{\bf f}_v+ \frac{1}{\Delta t} {\bf M} {}^{n}\bar{\bf v}\\[.2cm] {\bf f}_p \end{matrix}\right\} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (43) | | style="width: 5px;text-align: right;white-space: nowrap;" | (43) | ||
Line 778: | Line 823: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\begin{bmatrix}{K}&{Q}\\[.2cm]{Q}^T & {S} \end{bmatrix} \left\{\begin{matrix}\bar{v} \\[.2cm]\bar {p} \end{matrix}\right\}= \left\{\begin{matrix}{f}_v\\[.2cm]{f}_p \end{matrix}\right\} </math> | + | | style="text-align: center;" | <math>\begin{bmatrix}{\bf K}&{\bf Q}\\[.2cm]{\bf Q}^T & {\bf S} \end{bmatrix} \left\{\begin{matrix}\bar{v} \\[.2cm]\bar {\bf p} \end{matrix}\right\}= \left\{\begin{matrix}{\bf f}_v\\[.2cm]{\bf f}_p \end{matrix}\right\} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (44) | | style="width: 5px;text-align: right;white-space: nowrap;" | (44) | ||
|} | |} | ||
− | Note that the terms involving the normal velocity to the element, the normal tractions to the side and the term emanating form the side discontinuous linear pressure field <math display="inline">\tilde p</math> have been incorporated into the force vector <math display="inline">{f}_p</math> in Eq.([[#eq-40.b|40.b]]). An obvious alternative will be to add the contribution of these terms to matrices <math display="inline">Q</math> and <math display="inline">S</math> in the l.h.s. of this equation. | + | Note that the terms involving the normal velocity to the element, the normal tractions to the side and the term emanating form the side discontinuous linear pressure field <math display="inline">\tilde p</math> have been incorporated into the force vector <math display="inline">{\bf f}_p</math> in Eq.([[#eq-40.b|40.b]]). An obvious alternative will be to add the contribution of these terms to matrices <math display="inline">\bf Q</math> and <math display="inline">\bf S</math> in the l.h.s. of this equation. |
'''Remark 8.''' The stabilization parameter <math display="inline">\tau </math> of Eq.([[#eq-20|20]]) is computed at each element boundary <math display="inline">ij</math> connecting elements <math display="inline">i</math> and <math display="inline">j</math> as | '''Remark 8.''' The stabilization parameter <math display="inline">\tau </math> of Eq.([[#eq-20|20]]) is computed at each element boundary <math display="inline">ij</math> connecting elements <math display="inline">i</math> and <math display="inline">j</math> as | ||
Line 951: | Line 996: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>{K}^e ={K}^e_0 + {K}^e_v + {K}^e_s \quad ,\quad {f}^e_v ={f}^e_{v_0} + {f}^e_s </math> | + | | style="text-align: center;" | <math>{\bf K}^e ={\bf K}^e_0 + {\bf K}^e_v + {\bf K}^e_s \quad ,\quad {\bf f}^e_v ={\bf f}^e_{v_0} + {\bf f}^e_s </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (54) | | style="width: 5px;text-align: right;white-space: nowrap;" | (54) | ||
|} | |} | ||
− | In Eq.([[#eq-54|54]]) <math display="inline">{K}^e_0</math> is the viscous contribution coinciding with the expression of <math display="inline">{K}^e</math> of Box 1 and <math display="inline"> {K}^e_v</math> and <math display="inline"> {K}^e_s</math> are the convective and stabilization contributions for the element given by | + | In Eq.([[#eq-54|54]]) <math display="inline">{\bf K}^e_0</math> is the viscous contribution coinciding with the expression of <math display="inline">{\bf K}^e</math> of Box 1 and <math display="inline"> {\bf K}^e_v</math> and <math display="inline"> {\bf K}^e_s</math> are the convective and stabilization contributions for the element given by |
<span id="eq-55.a"></span> | <span id="eq-55.a"></span> | ||
Line 969: | Line 1,014: | ||
|} | |} | ||
− | where <math display="inline">{I}_{ns}</math> is the <math display="inline">n_s \times n_s</math> unit matrix and | + | where <math display="inline">{\bf I}_{ns}</math> is the <math display="inline">n_s \times n_s</math> unit matrix and |
<span id="eq-55.b"></span> | <span id="eq-55.b"></span> | ||
Line 977: | Line 1,022: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\displaystyle{G} = \left[\begin{matrix}{\boldsymbol \nabla } & {0} & {0}\\ {0}&{\boldsymbol \nabla } & {0}\\ {0} & {0}& {\boldsymbol \nabla } \end{matrix} \right]~,~ \mathbf{H} = \left[\begin{matrix}{h}_1 & {0}& {0}\\ {0}& {h}_2 & {0}\\ {0} & {0}& {h}_3 \end{matrix} \right]~,~ \displaystyle {h}_i = \left\{\begin{matrix}h_{i_1}\\h_{i_2}\\h_{i_3} \end{matrix} \right\}~,~ {\boldsymbol \nabla } = \left\{\begin{matrix}\displaystyle {\partial \over \partial x_1}\\ \displaystyle {\partial \over \partial x_2}\\ \displaystyle {\partial \over \partial x_3} \end{matrix} \right\} </math> | + | | style="text-align: center;" | <math>\displaystyle{\bf G} = \left[\begin{matrix}{\boldsymbol \nabla } & {0} & {0}\\ {0}&{\boldsymbol \nabla } & {0}\\ {0} & {0}& {\boldsymbol \nabla } \end{matrix} \right]~,~ \mathbf{H} = \left[\begin{matrix}{\bf h}_1 & {\bf 0}& {\bf 0}\\ {\bf 0}& {\bf h}_2 & {\bf 0}\\ {\bf 0} & {\bf 0}& {\bf h}_3 \end{matrix} \right]~,~ \displaystyle {\bf h}_i = \left\{\begin{matrix}h_{i_1}\\h_{i_2}\\h_{i_3} \end{matrix} \right\}~,~ {\boldsymbol \nabla } = \left\{\begin{matrix}\displaystyle {\partial \over \partial x_1}\\ \displaystyle {\partial \over \partial x_2}\\ \displaystyle {\partial \over \partial x_3} \end{matrix} \right\} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (55.b) | | style="width: 5px;text-align: right;white-space: nowrap;" | (55.b) | ||
|} | |} | ||
− | In Eq.([[#eq-54|54]]) <math display="inline">{f}^e_{v_0}</math> coincides with the expression of <math display="inline">{f}^e_v</math> in Box 1 and <math display="inline"> {f}^e_s</math> is the contribution from the stabilization terms given by | + | In Eq.([[#eq-54|54]]) <math display="inline">{\bf f}^e_{v_0}</math> coincides with the expression of <math display="inline">{\bf f}^e_v</math> in Box 1 and <math display="inline"> {\bf f}^e_s</math> is the contribution from the stabilization terms given by |
<span id="eq-56"></span> | <span id="eq-56"></span> | ||
Line 990: | Line 1,035: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>{f}^e_{s_i} = \int _{\Omega ^e} \frac{1}{2} \mathbf{N}_i^T \mathbf{G}^T \mathbf{H} \mathbf{b} d\Omega </math> | + | | style="text-align: center;" | <math>{\bf f}^e_{s_i} = \int _{\Omega ^e} \frac{1}{2} \mathbf{N}_i^T \mathbf{G}^T \mathbf{H} \mathbf{b} d\Omega </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (56) | | style="width: 5px;text-align: right;white-space: nowrap;" | (56) | ||
Line 1,016: | Line 1,061: | ||
|} | |} | ||
− | where <math display="inline">\frac{Dv_i}{Dt}</math> is the ''material derivative'' of the <math display="inline">i</math>th velocity component <math display="inline">v_i ({}^n {x})</math> of a material point with coordinates <math display="inline">{}^n {x}</math> at time <math display="inline">t=t_n</math>. Also, the Cauchy stresses <math display="inline">\sigma _{ij}</math>, the body forces <math display="inline">b_i</math> and the coordinates <math display="inline">{}^{n+1}x_i</math> are referred to the ''updated configuration'' at time <math display="inline">t_{n+1}</math> <span id='citeF-4'></span>[[#cite-4|[4]]]. | + | where <math display="inline">\frac{Dv_i}{Dt}</math> is the ''material derivative'' of the <math display="inline">i</math>th velocity component <math display="inline">v_i ({}^n {\bf x})</math> of a material point with coordinates <math display="inline">{}^n {\bf x}</math> at time <math display="inline">t=t_n</math>. Also, the Cauchy stresses <math display="inline">\sigma _{ij}</math>, the body forces <math display="inline">b_i</math> and the coordinates <math display="inline">{}^{n+1}x_i</math> are referred to the ''updated configuration'' at time <math display="inline">t_{n+1}</math> <span id='citeF-4'></span>[[#cite-4|[4]]]. |
The material derivative of the velocity in the Lagrangian formulation is typically approximated as | The material derivative of the velocity in the Lagrangian formulation is typically approximated as | ||
Line 1,026: | Line 1,071: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\frac{Dv_i}{Dt} = \frac{{}^{n+1}v_i({}^{n+1}{x})-{}^nv_i({}^n{x})}{\Delta t} </math> | + | | style="text-align: center;" | <math>\frac{Dv_i}{Dt} = \frac{{}^{n+1}v_i({}^{n+1}{\bf x})-{}^nv_i({}^n{\bf x})}{\Delta t} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (58) | | style="width: 5px;text-align: right;white-space: nowrap;" | (58) | ||
|} | |} | ||
− | where <math display="inline">{}^nv_i({}^n{x})</math> denotes the value of the <math display="inline">i</math>th velocity component of the material point <math display="inline">{}^n {x}</math> at time <math display="inline">t_n</math>, etc. | + | where <math display="inline">{}^nv_i({}^n{\bf x})</math> denotes the value of the <math display="inline">i</math>th velocity component of the material point <math display="inline">{}^n {x}</math> at time <math display="inline">t_n</math>, etc. |
'''Remark 10.''' The material derivative in an Eulerian description is expressed in a ''fixed control domain'' as | '''Remark 10.''' The material derivative in an Eulerian description is expressed in a ''fixed control domain'' as | ||
Line 1,061: | Line 1,106: | ||
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;" | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;" | ||
|- | |- | ||
− | |||
|[[Image:Draft_Samper_536119838-fig_ex1_problem.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex1_problem.png|294px|]] | ||
− | + | |[[Image:Draft_Samper_536119838-fig_ex4_problem.png|294px|]] | |
− | + | |-style="text-align: center; font-size: 75%;" | |
+ | | (a) Eulerian extrusion problem. | ||
+ | | (b) Zhong's problem. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 4:''' Description of the steady-state examples. (a) fixed-mesh (Eulerian) extrusion problem and (b) the Zhong's problem. | | colspan="2" | '''Figure 4:''' Description of the steady-state examples. (a) fixed-mesh (Eulerian) extrusion problem and (b) the Zhong's problem. | ||
Line 1,071: | Line 1,117: | ||
===10.1 Fixed-mesh (Eulerian) extrusion problem=== | ===10.1 Fixed-mesh (Eulerian) extrusion problem=== | ||
− | This example deals with a flow entering a rectangular 2D domain from the left boundary with a unit normal velocity and moving to the right where it finds an impermeable slip wall that deviates the flow upwards and downwards <span id='citeF-20'></span>[[#cite-20|[20]]]. The 2D domain occupies the region: <math display="inline">(x,y) \in [0, 1] \times [-0.5, 0.5]</math> (Figure | + | This example deals with a flow entering a rectangular 2D domain from the left boundary with a unit normal velocity and moving to the right where it finds an impermeable slip wall that deviates the flow upwards and downwards <span id='citeF-20'></span>[[#cite-20|[20]]]. The 2D domain occupies the region: <math display="inline">(x,y) \in [0, 1] \times [-0.5, 0.5]</math> (Figure 4a). The upper-half and lower-half of the domain are occupied by two immiscible fluids which have the same density (<math display="inline">\rho _{1} = \rho _{2} = \rho </math>), but with distinct viscosities (<math display="inline">\mu _{1} \neq \mu _{2}</math>). This problem has an analytical solution which can be expressed as follows. |
<span id="eq-60"></span> | <span id="eq-60"></span> | ||
Line 1,079: | Line 1,125: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>{v}(x,y) = \begin{bmatrix}1 - x \\ y \end{bmatrix} , \quad p(x,y) = \left\{ \begin{array}{ll}\rho \left[x - \dfrac{1}{2}(x^{2} + y^{2}) -\dfrac{7}{24}\right]+ (\mu _{1} - \mu _{2}) & \forall y > 0 | + | | style="text-align: center;" | <math>{\bf v}(x,y) = \begin{bmatrix}1 - x \\ y \end{bmatrix} , \quad p(x,y) = \left\{ \begin{array}{ll}\rho \left[x - \dfrac{1}{2}(x^{2} + y^{2}) -\dfrac{7}{24}\right]+ (\mu _{1} - \mu _{2}) & \forall y > 0 |
\\ \rho \left[x - \dfrac{1}{2}(x^{2} + y^{2}) -\dfrac{7}{24}\right]- (\mu _{1} - \mu _{2}) & \forall y < 0 \end{array} \right. </math> | \\ \rho \left[x - \dfrac{1}{2}(x^{2} + y^{2}) -\dfrac{7}{24}\right]- (\mu _{1} - \mu _{2}) & \forall y < 0 \end{array} \right. </math> | ||
Line 1,096: | Line 1,142: | ||
|[[Image:Draft_Samper_536119838-fig_ex1_smesh_tri_grid_30_p_h.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex1_smesh_tri_grid_30_p_h.png|294px|]] | ||
|[[Image:Draft_Samper_536119838-fig_ex1_smesh_tri_grid_30_p_oL2.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex1_smesh_tri_grid_30_p_oL2.png|294px|]] | ||
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(a) Obtained solution <math>p^h</math>; structured mesh. | ||
+ | |(b) Best approximation <math>{\cal P}^h_{L^2}p</math>; structured mesh. | ||
|- | |- | ||
|[[Image:Draft_Samper_536119838-fig_ex1_umesh_tri_grid_30_p_h.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex1_umesh_tri_grid_30_p_h.png|294px|]] | ||
− | |[[Image:Draft_Samper_536119838-fig_ex1_umesh_tri_grid_30_p_oL2.png|294px| | + | |[[Image:Draft_Samper_536119838-fig_ex1_umesh_tri_grid_30_p_oL2.png|294px|]] |
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(c) Obtained solution <math>p^h</math>; unstructured mesh. | ||
+ | |(d) Best approximation <math>{\cal P}^h_{L^2}p</math>; unstructured mesh. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 5:''' Fixed-mesh (Eulerian) extrusion problem. The obtained pressure solutions compared with the corresponding best approximations. The material properties are chosen as <math>(\rho _{1}, \mu _{1}) = (5,5)</math> and <math>(\rho _{2}, \mu _{2}) = (5,1)</math>. | | colspan="2" | '''Figure 5:''' Fixed-mesh (Eulerian) extrusion problem. The obtained pressure solutions compared with the corresponding best approximations. The material properties are chosen as <math>(\rho _{1}, \mu _{1}) = (5,5)</math> and <math>(\rho _{2}, \mu _{2}) = (5,1)</math>. | ||
|} | |} | ||
− | Figure | + | Figure 5a illustrates the pressure solution <math display="inline">p^{h}</math> obtained by the P1-P0+ triangle. The domain is discretized using a symmetric structured mesh of <math display="inline">2 \times 30 \times 30</math> elements. The material properties are chosen to be: <math display="inline">\rho = 5</math>, <math display="inline">\mu _{1} = 5</math> and <math display="inline">\mu _{2} = 1</math>. The velocity boundary conditions are chosen to be of Dirichlet (essential) type, taking values given by the expression in Eq. ([[#eq-60|60]]). The indeterminacy of the pressure solution is removed by imposing the zero-mean pressure condition <span id='citeF-11'></span>[[#cite-11|[11]]]. The nonlinear convective terms in the Navier-Stokes equations are linearized using the Newton–Raphson method (Appendix A) and they converge in just two iterations for a tolerance of <math display="inline">10^{-6}</math>. |
− | Figure | + | Figure 5b illustrates the best approximation to the exact pressure solution <math display="inline">p</math> given in Eq. ([[#eq-60|60]]) from the discrete pressure space <math display="inline">Q^{h}</math> of piecewise constant pressure values over the elements of the considered mesh. The best approximation <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p</math> is chosen from <math display="inline">Q^{h}</math> using the <math display="inline">\hbox{L}^{2}</math> norm (<math display="inline">\| \star \| := \sqrt{\int _{\Omega } (\star )^{2} \mbox{d}\Omega }</math>) as the metric. Thus, <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p</math> is the <math display="inline">\hbox{L}^{2}</math> projection of <math display="inline">p</math> onto <math display="inline">Q^{h}</math>. It can be obtained as follows: Find <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p \in Q^{h}</math>, such that |
<span id="eq-61"></span> | <span id="eq-61"></span> | ||
Line 1,118: | Line 1,170: | ||
|} | |} | ||
− | Figure | + | Figure 5c illustrates the constant pressure solution <math display="inline">p^{h}</math> (termed <math display="inline">\bar p^e</math> in Section 6) obtained by the new P1-P0+ triangle and using an unstructured mesh. The unstructured mesh is generated by small random perturbations of the interior nodes (excluding the nodes on the interface) of the structured mesh followed by a Delaunay tessellation. Figure [[#img-5a|5d]] illustrates the best approximation <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p</math> obtained using the same mesh. |
<div id='img-6'></div> | <div id='img-6'></div> | ||
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;" | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;" | ||
|- | |- | ||
− | |||
|[[Image:Draft_Samper_536119838-fig_ex1_smesh_tri_grids_L2_vol_err.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex1_smesh_tri_grids_L2_vol_err.png|294px|]] | ||
− | + | |[[Image:Draft_Samper_536119838-fig_ex4_smesh_tri_grids_L2_vol_err.png|294px|]] | |
− | + | |-style="text-align: center; font-size: 75%;" | |
+ | |(a) Fixed-mesh (Eulerian) extrusion problem. | ||
+ | |(b) Zhong's problem. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 6:''' Error convergence in the <math>\hbox{L}^{2}</math> norm on mesh refinement for <math>p^{h}</math> and <math>(\boldsymbol \nabla \cdot {v}^{h})</math>. | | colspan="2" | '''Figure 6:''' Error convergence in the <math>\hbox{L}^{2}</math> norm on mesh refinement for <math>p^{h}</math> and <math>(\boldsymbol \nabla \cdot {v}^{h})</math>. | ||
|} | |} | ||
− | Figure | + | Figure 6a shows the convergence of the error <math display="inline">(p - p^{h})</math> in the <math display="inline">\hbox{L}^{2}</math> norm with respect to mesh refinement. This error is compared with the best approximation error <math display="inline">(p - \mathcal{P}^{h}_{\hbox{L}^{2}}p)</math>. To measure the convergence rate the domain is discretized by a sequence of symmetrical structured meshes of <math display="inline">2 \times n \times n</math> elements, using <math display="inline">n \in \{ 20,24,28,32,36,40,44,48,52,56\} </math>. The relative error in the pressure solutions are measured as follows. |
<span id="eq-62"></span> | <span id="eq-62"></span> | ||
Line 1,144: | Line 1,197: | ||
|} | |} | ||
− | As expected for a piecewise constant pressure approximation, the convergence rate is found to be one for both solutions. Further, the error line of the numerical solution <math display="inline">p^{h}</math> is found to be close to the error line of the best approximation <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p</math>, indicating the good accuracy of the obtained solution. Additionally, in Figure | + | As expected for a piecewise constant pressure approximation, the convergence rate is found to be one for both solutions. Further, the error line of the numerical solution <math display="inline">p^{h}</math> is found to be close to the error line of the best approximation <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p</math>, indicating the good accuracy of the obtained solution. Additionally, in Figure 6a the convergence in the <math display="inline">\hbox{L}^{2}</math> norm of the divergence of the velocity is also shown. As the exact solution is solenoidal, this error is measured as follows. |
<span id="eq-63"></span> | <span id="eq-63"></span> | ||
Line 1,152: | Line 1,205: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\| \boldsymbol \nabla \cdot {v}^{h} \| = \sqrt{\int _{\Omega } (\boldsymbol \nabla \cdot {v}^{h})^{2} \mbox{d}\Omega } </math> | + | | style="text-align: center;" | <math>\| \boldsymbol \nabla \cdot {\bf v}^{h} \| = \sqrt{\int _{\Omega } (\boldsymbol \nabla \cdot {\bf v}^{h})^{2} \mbox{d}\Omega } </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (63) | | style="width: 5px;text-align: right;white-space: nowrap;" | (63) | ||
|} | |} | ||
− | where <math display="inline">{v}^{h}</math> is the velocity solution obtained with the P1/P0+ triangle. The convergence rate for <math display="inline">\| \boldsymbol \nabla \cdot {v}^{h} \| </math> is found to be close to <math display="inline">1.5</math>, which is more than the expected first-order rate. This super-convergence for <math display="inline">\| \boldsymbol \nabla \cdot {v}^{h} \| </math> could be due to the smooth (linear, cf. Eq. ([[#eq-60|60]])) solution profile for the velocity. | + | where <math display="inline">{\bf v}^{h}</math> is the velocity solution obtained with the P1/P0+ triangle. The convergence rate for <math display="inline">\| \boldsymbol \nabla \cdot {\bf v}^{h} \| </math> is found to be close to <math display="inline">1.5</math>, which is more than the expected first-order rate. This super-convergence for <math display="inline">\| \boldsymbol \nabla \cdot {\bf v}^{h} \| </math> could be due to the smooth (linear, cf. Eq. ([[#eq-60|60]])) solution profile for the velocity. |
===10.2 Zhong's problem: buoyant Stokes flow with a columnar viscosity structure=== | ===10.2 Zhong's problem: buoyant Stokes flow with a columnar viscosity structure=== | ||
− | This example deals with the buoyancy-driven Stokes flow of a fluid with a columnar viscosity structure and was first presented in <span id='citeF-40'></span>[[#cite-40|[40]]]. It has been previously used as a benchmark in <span id='citeF-13'></span><span id='citeF-24'></span>[[#cite-13|[13,24]]]. It is an idealization of the mantle convection and the plate dynamics that occur in the subduction zones of the Earth. The temperature of the subducted plates are much colder than the ambient mantle which in turn leads to sharp lateral variations in the viscosity. The 2D domain (cf. Figure [[#img-4| | + | This example deals with the buoyancy-driven Stokes flow of a fluid with a columnar viscosity structure and was first presented in <span id='citeF-40'></span>[[#cite-40|[40]]]. It has been previously used as a benchmark in <span id='citeF-13'></span><span id='citeF-24'></span>[[#cite-13|[13,24]]]. It is an idealization of the mantle convection and the plate dynamics that occur in the subduction zones of the Earth. The temperature of the subducted plates are much colder than the ambient mantle which in turn leads to sharp lateral variations in the viscosity. The 2D domain (cf. Figure [[#img-4|4b]]) is a unit square: <math display="inline">(x,y) \in [0, 1] \times [0, 1]</math>. The left-half and right-half of the domain have viscosities given by <math display="inline">\mu _{1} = 1</math> and <math display="inline">\mu _{2} = 10^6</math>, respectively. The density and the acceleration due to gravity are specified as <math display="inline">\rho (x,y) = - \cos (\pi x) \sin (\pi y)</math> and <math display="inline">{\bf g} = (0,-1)</math>, respectively. Free-slip boundary conditions are imposed everywhere on the domain boundary. |
The evaluation <span id="fnc-1"></span>[[#fn-1|<sup>1</sup>]] of the analytical solution is described in <span id='citeF-40'></span>[[#cite-40|[40]]] using the method of separation of variables (used earlier in <span id='citeF-16'></span>[[#cite-16|[16]]]) and the propagator matrix techniques <span id='citeF-15'></span>[[#cite-15|[15]]]. The constant to fix the pressure is chosen such that the latter has a zero mean value over the domain. Due to a jump in the viscosities at the viscosity boundary (<math display="inline">x = 0.5</math>) and a non-zero directional derivative of the velocity along its normal, the pressure field acquires a jump across it. The expression for the pressure jump at the viscosity boundary can be written as follows. | The evaluation <span id="fnc-1"></span>[[#fn-1|<sup>1</sup>]] of the analytical solution is described in <span id='citeF-40'></span>[[#cite-40|[40]]] using the method of separation of variables (used earlier in <span id='citeF-16'></span>[[#cite-16|[16]]]) and the propagator matrix techniques <span id='citeF-15'></span>[[#cite-15|[15]]]. The constant to fix the pressure is chosen such that the latter has a zero mean value over the domain. Due to a jump in the viscosities at the viscosity boundary (<math display="inline">x = 0.5</math>) and a non-zero directional derivative of the velocity along its normal, the pressure field acquires a jump across it. The expression for the pressure jump at the viscosity boundary can be written as follows. | ||
Line 1,171: | Line 1,224: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>[ | + | | style="text-align: center;" | <math>[[p (x=0.5,y) ]] = \frac{2 |{g}| (\mu _{2}-\mu _{1})^2 \cosh ^2(\pi /2) \cos (\pi y)}{(\mu _{1}+\mu _{2})^2 \sinh ^2(\pi ) - \pi ^2 (\mu _{2}-\mu _{1})^2} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (64) | | style="width: 5px;text-align: right;white-space: nowrap;" | (64) | ||
Line 1,179: | Line 1,232: | ||
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;" | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;" | ||
|- | |- | ||
− | |||
|[[Image:Draft_Samper_536119838-fig_ex4_smesh_tri_grid_30_p_h.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex4_smesh_tri_grid_30_p_h.png|294px|]] | ||
+ | |[[Image:Draft_Samper_536119838-fig_ex4_smesh_tri_grid_30_p_oL2.png|294px|]] | ||
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(a) Obtained solution <math>p^h</math>; structured mesh. | ||
+ | |(b) Best approximation <math>{\cal P}^h_{L^2}p</math>; structured mesh. | ||
|- | |- | ||
− | |||
|[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_30_p_h.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_30_p_h.png|294px|]] | ||
− | + | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_30_p_oL2.png|294px|]] | |
− | + | |-style="text-align: center; font-size: 75%;" | |
+ | |(c) Obtained solution <math>p^h</math>; unstructured mesh. | ||
+ | |(d) Best approximation <math>{\cal P}^h_{L^2}p</math>; unstructured mesh. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 7:''' Zhong's problem: buoyancy-driven Stokes flow with a columnar viscosity structure in a square domain with slip walls. The density, the acceleration due to gravity and the viscosities are specified as <math>\rho = -\cos (\pi x) \sin (\pi y)</math>, <math>{g} = (0,-1)</math>, <math>\mu _{1} = 1</math> and <math>\mu _{2} = 10^6</math>, respectively. | | colspan="2" | '''Figure 7:''' Zhong's problem: buoyancy-driven Stokes flow with a columnar viscosity structure in a square domain with slip walls. The density, the acceleration due to gravity and the viscosities are specified as <math>\rho = -\cos (\pi x) \sin (\pi y)</math>, <math>{g} = (0,-1)</math>, <math>\mu _{1} = 1</math> and <math>\mu _{2} = 10^6</math>, respectively. | ||
|} | |} | ||
− | Figures | + | Figures 7a and 7c show the pressure solution <math display="inline">p^h</math> obtained by the P1-P0+ triangle using a structured mesh (<math display="inline">2 \times 30 \times 30</math> elements) and an unstructured mesh (<math display="inline">2 \times 30 \times 30</math> elements), respectively. The corresponding best approximations in the <math display="inline">\hbox{L}^{2}</math> norm <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p</math> are shown in Figures 7b and [[#img-7|7d]], respectively. |
− | Figure [[#img-6| | + | Figure [[#img-6|6b]] shows the convergence of the error <math display="inline">(p - p^{h})</math> in the <math display="inline">\hbox{L}^{2}</math> norm with respect to mesh refinement. This error is compared with the best approximation error <math display="inline">(p - \mathcal{P}^{h}_{\hbox{L}^{2}}p)</math>. As expected for a piecewise constant pressure approximation, the convergence rate is found to be one for both solutions. Further, the error line for the numerical solution <math display="inline">p^{h}</math> is found to be close to the error line of the best approximation <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p</math>, indicating the good accuracy of the obtained solution. Additionally, in Figure [[#img-6|6b]] the convergence in the <math display="inline">\hbox{L}^{2}</math> norm of the divergence of the velocity is also shown. As expected for a piecewise linear velocity approximation, a first-order convergence rate is found for <math display="inline">\| \boldsymbol \nabla \cdot {\bf v}^{h} \| </math>. |
<span id="fn-1"></span> | <span id="fn-1"></span> | ||
Line 1,199: | Line 1,256: | ||
===10.3 Moving-mesh (Lagrangian) extrusion problem=== | ===10.3 Moving-mesh (Lagrangian) extrusion problem=== | ||
− | This is a transient example where the initial configuration is a rectangular 2D domain occupied by two immiscible fluids contained (due to the action of gravity) in a region bounded with sufficiently high walls ( | + | This is a transient example where the initial configuration is a rectangular 2D domain occupied by two immiscible fluids contained (due to the action of gravity) in a region bounded with sufficiently high walls (Figure 8a). Both the walls and the floor are considered to be slippery. The floor and the left wall are fixed while the right wall is pushed towards left at a constant prescribed velocity <math display="inline">V_{p}</math>. This is a free surface problem with an interface between the two immiscible fluids and the shape of the domain varies due to the action of the right wall. The numerical solution is sought using a Lagrangian formulation of the problem (Section 9). |
<div id='img-8a'></div> | <div id='img-8a'></div> | ||
Line 1,206: | Line 1,263: | ||
|- | |- | ||
|[[Image:Draft_Samper_536119838-fig_ex2_problem.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_problem.png|294px|]] | ||
− | |[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_initial.png|294px| | + | |[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_initial.png|294px|]] |
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | | (a) Lagrangian) extrusion problem. | ||
+ | | (b) Lagrangian example with an unstable interface. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 8:''' Description of the transient examples. (a) moving-mesh (Lagrangian) extrusion problem and (b) Lagrangian example with fixed-walls and an unstable interface: the interface initially has a serrated profile. | | colspan="2" | '''Figure 8:''' Description of the transient examples. (a) moving-mesh (Lagrangian) extrusion problem and (b) Lagrangian example with fixed-walls and an unstable interface: the interface initially has a serrated profile. | ||
Line 1,217: | Line 1,277: | ||
|[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_initial.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_initial.png|294px|]] | ||
|[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_final.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_final.png|294px|]] | ||
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | | (a) initial state (t = 0); structured mesh. | ||
+ | |(b) final state (t = 0); structured mesh. | ||
|- | |- | ||
|[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_initial.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_initial.png|294px|]] | ||
− | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_final.png|294px| | + | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_final.png|294px|]] |
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(c) initial state (t = 0); unstructured mesh. | ||
+ | |(d) final state (t = 0); unstructured mesh. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 9:''' Moving-mesh (Lagrangian) extrusion problem: the initial (<math>t = 0</math>) and final (<math>t = 2</math>) configurations are independent to the choice of the mesh-type. | | colspan="2" | '''Figure 9:''' Moving-mesh (Lagrangian) extrusion problem: the initial (<math>t = 0</math>) and final (<math>t = 2</math>) configurations are independent to the choice of the mesh-type. | ||
Line 1,226: | Line 1,292: | ||
The fluid viscosities are chosen as <math display="inline">\mu _{1} = 1</math> and <math display="inline">\mu _{2} = 10</math>. The fluid densities are chosen as <math display="inline">\rho _{1} = 1</math> and <math display="inline">\rho _{2} = 5</math>. The acceleration due to gravity is taken as <math display="inline">[0,-10] \hbox{m/s}^{2}</math> and the prescribed velocity <math display="inline">V_{p} = 0.1 \hbox{m/s}</math>. The 2D domain has an initial length <math display="inline">l_{1} = 0.8 \hbox{m}</math> and height <math display="inline">l_{2} = 0.4 \hbox{m}</math>. The upper-half of the domain is occupied by the fluid with properties <math display="inline">\rho _{1}, \mu _{1}</math>. For these data, the dynamics is dominated by the viscous term and hence in the exact solution the inertial effects can be neglected. | The fluid viscosities are chosen as <math display="inline">\mu _{1} = 1</math> and <math display="inline">\mu _{2} = 10</math>. The fluid densities are chosen as <math display="inline">\rho _{1} = 1</math> and <math display="inline">\rho _{2} = 5</math>. The acceleration due to gravity is taken as <math display="inline">[0,-10] \hbox{m/s}^{2}</math> and the prescribed velocity <math display="inline">V_{p} = 0.1 \hbox{m/s}</math>. The 2D domain has an initial length <math display="inline">l_{1} = 0.8 \hbox{m}</math> and height <math display="inline">l_{2} = 0.4 \hbox{m}</math>. The upper-half of the domain is occupied by the fluid with properties <math display="inline">\rho _{1}, \mu _{1}</math>. For these data, the dynamics is dominated by the viscous term and hence in the exact solution the inertial effects can be neglected. | ||
− | As a shorthand notation, we denote by <math display="inline">{}^{0}{x}</math> and <math display="inline">{}^{t}{x}</math> as the positions of an arbitrary fluid particle at times <math display="inline">t = 0</math> and <math display="inline">t</math>, respectively. Similar notation is used for the rest of the dependent variables in the Lagrangian description, e.g. <math display="inline">{}^{0}{v}</math> and <math display="inline">^{t}{v}</math>. Using this notation and the expressions <math display="inline">L_{1} := (l_{1} - V_{p}t)</math> and <math display="inline">L_{2} := (l_{1}l_{2}/L_{1})</math>, the ''exact solution'' to this problem can be expressed as follows. | + | As a shorthand notation, we denote by <math display="inline">{}^{0}{\bf x}</math> and <math display="inline">{}^{t}{\bf x}</math> as the positions of an arbitrary fluid particle at times <math display="inline">t = 0</math> and <math display="inline">t</math>, respectively. Similar notation is used for the rest of the dependent variables in the Lagrangian description, e.g. <math display="inline">{}^{0}{\bf v}</math> and <math display="inline">^{t}{\bf v}</math>. Using this notation and the expressions <math display="inline">L_{1} := (l_{1} - V_{p}t)</math> and <math display="inline">L_{2} := (l_{1}l_{2}/L_{1})</math>, the ''exact solution'' to this problem can be expressed as follows. |
<span id="eq-65"></span> | <span id="eq-65"></span> | ||
Line 1,234: | Line 1,300: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>{}^{t}{x} = \begin{bmatrix}(L_{1}/l_{1}) & 0 \\ 0 & (L_{2}/l_{2}) \end{bmatrix} {}^{0}{v},\quad {}^{t}{v} := \frac{\mbox{d}}{\mbox{d}t}({x}^{t}) = \frac{v_{p}}{L_{1}} \begin{bmatrix}-1 & 0 \\ 0 & 1 \end{bmatrix} {}^{t}{v} </math> | + | | style="text-align: center;" | <math>{}^{t}{\bf x} = \begin{bmatrix}(L_{1}/l_{1}) & 0 \\ 0 & (L_{2}/l_{2}) \end{bmatrix} {}^{0}{\bf v},\quad {}^{t}{\bf v} := \frac{\mbox{d}}{\mbox{d}t}({\bf x}^{t}) = \frac{v_{p}}{L_{1}} \begin{bmatrix}-1 & 0 \\ 0 & 1 \end{bmatrix} {}^{t}{\bf v} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (65) | | style="width: 5px;text-align: right;white-space: nowrap;" | (65) | ||
Line 1,245: | Line 1,311: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>{}^{t}{a} := \frac{\mbox{d}}{\mbox{d}t}({}^{t}{v}) = \left(\frac{V_{p}}{L_{1}}\right)^{2} \begin{bmatrix}0 & 0 \\ 0 & 2 \end{bmatrix} {}^{t}{x},\quad {}^{t}\boldsymbol \nabla ({}^{t}{v}) := \frac{\mbox{d}}{\mbox{d}{}^{t}{x}}({}^{t}{v}) = \frac{V_{p}}{L_{1}} \begin{bmatrix}-1 & 0 \\ 0 & 1 \end{bmatrix} </math> | + | | style="text-align: center;" | <math>{}^{t}{\bf a} := \frac{\mbox{d}}{\mbox{d}t}({}^{t}{\bf v}) = \left(\frac{V_{p}}{L_{1}}\right)^{2} \begin{bmatrix}0 & 0 \\ 0 & 2 \end{bmatrix} {}^{t}{\bf x},\quad {}^{t}\boldsymbol \nabla ({}^{t}{\bf v}) := \frac{\mbox{d}}{\mbox{d}{}^{t}{\bf x}}({}^{t}{\bf v}) = \frac{V_{p}}{L_{1}} \begin{bmatrix}-1 & 0 \\ 0 & 1 \end{bmatrix} </math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | (66) | | style="width: 5px;text-align: right;white-space: nowrap;" | (66) | ||
Line 1,256: | Line 1,322: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>p ({x},t) = \left\{ \begin{array}{ll}\rho _{1} g (L_{2}-{}^{t}Y) & \hbox{ for} L_{2} \geq ^{t}Y > \dfrac{L_{2}}{2} | + | | style="text-align: center;" | <math>p ({\bf x},t) = \left\{ \begin{array}{ll}\rho _{1} g (L_{2}-{}^{t}Y) & \hbox{ for} L_{2} \geq ^{t}Y > \dfrac{L_{2}}{2} |
\\ \rho _{1} g\dfrac{L_{2}}{2} + 2(\mu _{2}-\mu _{1})\dfrac{V_{p}}{L_{1}} + \rho _{2}g\left(\dfrac{L_{2}}{2} - ^{t}Y\right)& \hbox{ for} \dfrac{L_{2}}{2} > ^{t}Y \geq 0 \end{array} \right. </math> | \\ \rho _{1} g\dfrac{L_{2}}{2} + 2(\mu _{2}-\mu _{1})\dfrac{V_{p}}{L_{1}} + \rho _{2}g\left(\dfrac{L_{2}}{2} - ^{t}Y\right)& \hbox{ for} \dfrac{L_{2}}{2} > ^{t}Y \geq 0 \end{array} \right. </math> | ||
Line 1,263: | Line 1,329: | ||
|} | |} | ||
− | where <math display="inline">^{t}{a}</math> denotes the acceleration of the fluid particle and <math display="inline">^{t}Y</math> is the y-coordinate of the trajectory <math display="inline">^{t}{x}</math>. The constant in the pressure solution given by Eq. ([[#eq-67|67]]) is chosen such that it takes a value zero at the free surface. In the numerical solution, no boundary conditions are imposed for the velocity at the free surface. On the rest of the boundary, Dirichlet (essential) conditions are imposed for the velocity. As the velocity boundary conditions are not exclusively of the Dirichlet type, no further conditions need to be imposed for the pressure. For the sake of simplicity the discretized (Lagrangian) equations are linearized using the Picard (Fixed-point) method. The configuration <math display="inline">^{t}{x}</math> is updated at every iteration. The time integration is done using the Newmark method with the choice <math display="inline">\theta = 1/2</math> and <math display="inline">\beta = 1/4</math> (zero dissipation; second-order accuracy). The time increment is chosen as <math display="inline">\Delta t = 0.1</math>s (Appendix B). | + | where <math display="inline">^{t}{\bf a}</math> denotes the acceleration of the fluid particle and <math display="inline">^{t}Y</math> is the y-coordinate of the trajectory <math display="inline">^{t}{x}</math>. The constant in the pressure solution given by Eq. ([[#eq-67|67]]) is chosen such that it takes a value zero at the free surface. In the numerical solution, no boundary conditions are imposed for the velocity at the free surface. On the rest of the boundary, Dirichlet (essential) conditions are imposed for the velocity. As the velocity boundary conditions are not exclusively of the Dirichlet type, no further conditions need to be imposed for the pressure. For the sake of simplicity the discretized (Lagrangian) equations are linearized using the Picard (Fixed-point) method. The configuration <math display="inline">^{t}{x}</math> is updated at every iteration. The time integration is done using the Newmark method with the choice <math display="inline">\theta = 1/2</math> and <math display="inline">\beta = 1/4</math> (zero dissipation; second-order accuracy). The time increment is chosen as <math display="inline">\Delta t = 0.1</math>s (Appendix B). |
− | Figure | + | Figure 9b illustrates the final configuration (at time <math display="inline">t = 2 \hbox{s}</math>) obtained with the P1-P0+ triangle using a symmetric structured mesh of <math display="inline">2 \times 24 \times 12</math> elements. The initial configuration is shown in Figure 9a. Figures 9c and [[#img-9a|9d]] show the initial and final configurations when using an unstructured mesh. For the initial domain area to be conserved the interface and the free surface should raise to a height of <math display="inline">0.2667 \hbox{m}</math> and <math display="inline">0.5333 \hbox{m}</math>, respectively. This is indeed observed in Figures 9b and [[#img-9a|9d]] showing the good area conservation properties for the P1/P0+ triangle. |
<div id='img-10a'></div> | <div id='img-10a'></div> | ||
Line 1,273: | Line 1,339: | ||
|[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_160_20.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_160_20.png|294px|]] | ||
|[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_160_20_BA.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_160_20_BA.png|294px|]] | ||
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(a) Obtained solution <math>p^{2,h}</math>; structured mesh. | ||
+ | |(b) Best approximation <math>{\cal P}^h_{L^2}p^2</math>; structured mesh. | ||
|- | |- | ||
|[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_160_20.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_160_20.png|294px|]] | ||
− | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_160_20_BA.png|294px| | + | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_160_20_BA.png|294px|]] |
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(c) Obtained solution <math>p^{2,h}</math>; unstructured mesh. | ||
+ | |(d) Best approximation <math>{\cal P}^h_{L^2}p^2</math>; unstructured mesh. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 10:''' Moving-mesh (Lagrangian) extrusion problem. The obtained pressure solutions at time <math>t = 2</math> are compared with the corresponding best approximations. The material properties are chosen as <math>(\rho _{1}, \mu _{1}) = (1,1)</math> and <math>(\rho _{2}, \mu _{2}) = (5,10)</math>. | | colspan="2" | '''Figure 10:''' Moving-mesh (Lagrangian) extrusion problem. The obtained pressure solutions at time <math>t = 2</math> are compared with the corresponding best approximations. The material properties are chosen as <math>(\rho _{1}, \mu _{1}) = (1,1)</math> and <math>(\rho _{2}, \mu _{2}) = (5,10)</math>. | ||
|} | |} | ||
− | Figure | + | Figure 10a shows the pressure solution <math display="inline">p^{2,h}</math> obtained using the structured mesh. As the two fluids have distinct densities, it leads to a jump in both the pressure and its gradient at the interface. Figure 10b shows the <math display="inline">\hbox{L}^{2}</math> projection of the exact pressure <math display="inline">p^{2}</math> given in Eq. ([[#eq-67|67]]) onto the discrete pressure space <math display="inline">Q^{h}</math> and is denoted as <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p^{2}</math>. For the sake of comparison, the constants in the discrete pressure solutions <math display="inline">p^{2,h}</math> and <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p^{2}</math> are chosen ''a posteriori'' such that the minimum value on the free surface is zero. Likewise, Figures 10c and [[#img-10a|10d]] show the pressure solutions <math display="inline">p^{2,h}</math> and <math display="inline">\mathcal{P}^{h}_{\hbox{L}^{2}}p^{2}</math> obtained on the unstructured mesh. |
<div id='img-11a'></div> | <div id='img-11a'></div> | ||
Line 1,288: | Line 1,360: | ||
|[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_0_0.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_0_0.png|294px|]] | ||
|[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_0_0_BA.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_0_0_BA.png|294px|]] | ||
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(a) Obtained solution <math>p^{2,h}</math>; structured mesh. | ||
+ | |(b) Best approximation <math>{\cal P}^h_{L^2}p^2</math>; structured mesh. | ||
|- | |- | ||
|[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_0_0.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_0_0.png|294px|]] | ||
− | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_0_0_BA.png|294px| | + | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_0_0_BA.png|294px|]] |
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(c) Obtained solution <math>p^{2,h}</math>; unstructured mesh. | ||
+ | |(d) Best approximation <math>{\cal P}^h_{L^2}p^2</math>; unstructured mesh. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 11:''' Moving-mesh (Lagrangian) extrusion problem: <math>p^{2,h}</math> and <math>\mathcal{P}^{h}_{\hbox{L}^{2}}p^{2}</math> projected onto the <math>x-z</math> plane. The material properties are chosen as <math>(\rho _{1}, \mu _{1}) = (1,1)</math> and <math>(\rho _{2}, \mu _{2}) = (5,10)</math>. | | colspan="2" | '''Figure 11:''' Moving-mesh (Lagrangian) extrusion problem: <math>p^{2,h}</math> and <math>\mathcal{P}^{h}_{\hbox{L}^{2}}p^{2}</math> projected onto the <math>x-z</math> plane. The material properties are chosen as <math>(\rho _{1}, \mu _{1}) = (1,1)</math> and <math>(\rho _{2}, \mu _{2}) = (5,10)</math>. | ||
Line 1,302: | Line 1,380: | ||
|- | |- | ||
|[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_160_20_enri.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_160_20_enri.png|294px|]] | ||
− | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_160_20_enri.png|294px| | + | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_160_20_enri.png|294px|]] |
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(a) Effective pressure <math>p^{2,h}</math>; structured mesh. | ||
+ | |(b) Effective pressure <math>p^{2,h}</math>; unstructured mesh. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 12:''' Moving-mesh (Lagrangian) extrusion problem: The effective pressure solutions at time <math>t = 2</math> which includes a prescribed linear field defined over each element. The material properties are chosen as <math>(\rho _{1}, \mu _{1}) = (1,1)</math> and <math>(\rho _{2}, \mu _{2}) = (5,10)</math>. | | colspan="2" | '''Figure 12:''' Moving-mesh (Lagrangian) extrusion problem: The effective pressure solutions at time <math>t = 2</math> which includes a prescribed linear field defined over each element. The material properties are chosen as <math>(\rho _{1}, \mu _{1}) = (1,1)</math> and <math>(\rho _{2}, \mu _{2}) = (5,10)</math>. | ||
|} | |} | ||
− | Figures | + | Figures 12a and [[#img-12a|12b]] illustrate the ''effective'' pressure solution obtained with the P1/P0+ triangle using the structured and the unstructured meshes, respectively. Recall that the effective pressure solution includes a prescribed linear field defined over each element given by Eq.([[#eq-37|37]]). A nearly identical figure is obtained by plotting the exact pressure solution given by Eq.([[#eq-67|67]]), thus indicating the good accuracy of the method. |
Finally, in Figure [[#img-13|13]] we present the time evolution of the error in the area for all the cases discussed in this section. The relative error in the area is measured in three different ways | Finally, in Figure [[#img-13|13]] we present the time evolution of the error in the area for all the cases discussed in this section. The relative error in the area is measured in three different ways | ||
Line 1,329: | Line 1,410: | ||
|- | |- | ||
|[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_vol_err.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex2_smesh_tri_grid_24_12_rho_diff_vol_err.png|294px|]] | ||
− | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_vol_err.png|294px| | + | |[[Image:Draft_Samper_536119838-fig_ex2_umesh_tri_grid_24_12_rho_diff_vol_err.png|294px|]] |
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(a) Area errors using a structured mesh. | ||
+ | |(b) Area errors using an unstructured mesh. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 13:''' Moving-mesh (Lagrangian) extrusion problem: time evolution of the area errors. The material properties are chosen as <math>(\rho _{1}, \mu _{1}) = (1,1)</math> and <math>(\rho _{2}, \mu _{2}) = (5,10)</math>. | | colspan="2" | '''Figure 13:''' Moving-mesh (Lagrangian) extrusion problem: time evolution of the area errors. The material properties are chosen as <math>(\rho _{1}, \mu _{1}) = (1,1)</math> and <math>(\rho _{2}, \mu _{2}) = (5,10)</math>. | ||
Line 1,336: | Line 1,420: | ||
===10.4 Lagrangian example with fixed-walls and an unstable interface=== | ===10.4 Lagrangian example with fixed-walls and an unstable interface=== | ||
− | Finally, we present another transient example where the two-fluid interface initially has a serrated profile (thus unstable) and becomes straight in due course. This configuration (Figure [[#img-8a| | + | Finally, we present another transient example where the two-fluid interface initially has a serrated profile (thus unstable) and becomes straight in due course. This configuration (Figure [[#img-8a|8b]]) is obtained by meshing the domain with an unstructured mesh and identifying the elements that occupy the upper-half of the domain to represent a fluid with lower density and the remaining elements to represent the other fluid with a higher density. |
To observe the interface evolution in a reasonable time period, fluid-pairs with low viscosities are chosen. Further, to avoid sloshing-like effects that arise due to the low viscosities, all the walls of the domain are fixed and are considered slippery. Thus, there are only buoyancy driven low-speed motions in the fluid due to its initial unstable configuration. | To observe the interface evolution in a reasonable time period, fluid-pairs with low viscosities are chosen. Further, to avoid sloshing-like effects that arise due to the low viscosities, all the walls of the domain are fixed and are considered slippery. Thus, there are only buoyancy driven low-speed motions in the fluid due to its initial unstable configuration. | ||
Line 1,342: | Line 1,426: | ||
Due to the small viscosities and low-speed motions, the pressure has a negligible jump across the interface. In order to have a visible pressure jump, we prescribe a fictitious over-pressure force at the interface given by the expression <math display="inline">{t}^{\hbox{I}} = -\gamma {n}</math>. Here <math display="inline">{n}</math> represents the outward normal to the interface with respect to the heavier fluid and <math display="inline">\gamma </math> represents the prescribed jump in the pressure value across the interface. | Due to the small viscosities and low-speed motions, the pressure has a negligible jump across the interface. In order to have a visible pressure jump, we prescribe a fictitious over-pressure force at the interface given by the expression <math display="inline">{t}^{\hbox{I}} = -\gamma {n}</math>. Here <math display="inline">{n}</math> represents the outward normal to the interface with respect to the heavier fluid and <math display="inline">\gamma </math> represents the prescribed jump in the pressure value across the interface. | ||
− | This problem is solved considering two fluid-pairs. For the first fluid-pair, the material properties of the fluids on top and bottom are taken as <math display="inline">(\rho _{1},\mu _{1}) = (1, 10^{-6})</math> and <math display="inline">(\rho _{2},\mu _{2}) = (5, 10^{-5})</math>, respectively. At the interface, the over-pressure force is taken as <math display="inline">\gamma = 5</math>. The second fluid-pair consists of sunflower oil on the top and water at the bottom. The material properties for sunflower oil and water at <math display="inline">25^{\circ } \hbox{C}</math> are (in International units) <math display="inline">(\rho _{1},\mu _{1}) = (919, 4.9 \times 10^{-2})</math> and <math display="inline">(\rho _{2},\mu _{2}) = (997, 8.9 \times 10^{-4})</math>, respectively. At the oil–water interface, the over-pressure force is taken as <math display="inline">\gamma = 1000</math>. The initial configuration is the same for both fluid-pairs, cf. figure [[#img-8a| | + | This problem is solved considering two fluid-pairs. For the first fluid-pair, the material properties of the fluids on top and bottom are taken as <math display="inline">(\rho _{1},\mu _{1}) = (1, 10^{-6})</math> and <math display="inline">(\rho _{2},\mu _{2}) = (5, 10^{-5})</math>, respectively. At the interface, the over-pressure force is taken as <math display="inline">\gamma = 5</math>. The second fluid-pair consists of sunflower oil on the top and water at the bottom. The material properties for sunflower oil and water at <math display="inline">25^{\circ } \hbox{C}</math> are (in International units) <math display="inline">(\rho _{1},\mu _{1}) = (919, 4.9 \times 10^{-2})</math> and <math display="inline">(\rho _{2},\mu _{2}) = (997, 8.9 \times 10^{-4})</math>, respectively. At the oil–water interface, the over-pressure force is taken as <math display="inline">\gamma = 1000</math>. The initial configuration is the same for both fluid-pairs, cf. figure [[#img-8a|8b]]. The time integration is done by the Newmark method with the choice <math display="inline">\theta = 1/2</math> and <math display="inline">\beta = 1/4</math> (zero-dissipation; second-order accuracy). The time increment is chosen as <math display="inline">\Delta t = 0.01</math>s. As no re-meshing is done, the simulation is stopped after <math display="inline">100</math> time steps, i.e. a simulation time of <math display="inline">1</math>s, to avoid numerical difficulties associated with severe mesh deformations. |
<div id='img-14a'></div> | <div id='img-14a'></div> | ||
Line 1,350: | Line 1,434: | ||
|[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_tl.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_tl.png|294px|]] | ||
|[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_tl.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_tl.png|294px|]] | ||
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(a) First fluid-pair interface length evolution. | ||
+ | |(b) Oil-Water interface length evolution. | ||
|- | |- | ||
|[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_final.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_final.png|294px|]] | ||
− | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_final.png|294px| | + | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_final.png|294px|]] |
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(c) First fluid-pair domain at ''t'' = 0.11s. | ||
+ | |(d) Oil-Water domain at ''t'' = 0.55s. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 14:''' Lagrangian example with fixed-walls and an unstable interface. The time evolution of the interface length and the domain when the former first attains a minimum are shown. The left column corresponds to a fluid-pair: <math>(\rho _{1},\mu _{1}) = (1, 10^{-6})</math>, <math>(\rho _{2},\mu _{2}) = (5, 10^{-5})</math> and <math>\gamma = 5</math>. The right column corresponds to oil–water interface: <math>(\rho _{1},\mu _{1}) = (919, 4.9 \times 10^{-2})</math> and <math>(\rho _{2},\mu _{2}) = (997, 8.9 \times 10^{-4})</math> and <math>\gamma = 1000</math>. | | colspan="2" | '''Figure 14:''' Lagrangian example with fixed-walls and an unstable interface. The time evolution of the interface length and the domain when the former first attains a minimum are shown. The left column corresponds to a fluid-pair: <math>(\rho _{1},\mu _{1}) = (1, 10^{-6})</math>, <math>(\rho _{2},\mu _{2}) = (5, 10^{-5})</math> and <math>\gamma = 5</math>. The right column corresponds to oil–water interface: <math>(\rho _{1},\mu _{1}) = (919, 4.9 \times 10^{-2})</math> and <math>(\rho _{2},\mu _{2}) = (997, 8.9 \times 10^{-4})</math> and <math>\gamma = 1000</math>. | ||
Line 1,363: | Line 1,453: | ||
|[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_160_20.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_160_20.png|294px|]] | ||
|[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_0_0.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_0_0.png|294px|]] | ||
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(a) Obtained solution <math>P^{0.11,h}</math>; 3D view. | ||
+ | |(b) <math>P^{0.11,h}</math> projected onto the <math>x - z</math> plane. | ||
|- | |- | ||
|[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_160_20.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_160_20.png|294px|]] | ||
− | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_0_0.png|294px| | + | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_0_0.png|294px|]] |
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(c) Obtained solution <math>P^{0.55,h}</math>; 3D view. | ||
+ | |(d) <math>P^{0.55,h}</math> projected onto the <math>x - z</math> plane. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 15:''' Lagrangian example with fixed-walls and an unstable interface. The obtained pressure solutions when the interface lengths first attain a minimum are shown. The top row corresponds to a fluid-pair: <math>(\rho _{1},\mu _{1}) = (1, 10^{-6})</math>, <math>(\rho _{2},\mu _{2}) = (5, 10^{-5})</math> and <math>\gamma = 5</math>. The bottom row corresponds to oil–water interface: <math>(\rho _{1},\mu _{1}) = (919, 4.9 \times 10^{-2})</math> and <math>(\rho _{2},\mu _{2}) = (997, 8.9 \times 10^{-4})</math> and <math>\gamma = 1000</math>. | | colspan="2" | '''Figure 15:''' Lagrangian example with fixed-walls and an unstable interface. The obtained pressure solutions when the interface lengths first attain a minimum are shown. The top row corresponds to a fluid-pair: <math>(\rho _{1},\mu _{1}) = (1, 10^{-6})</math>, <math>(\rho _{2},\mu _{2}) = (5, 10^{-5})</math> and <math>\gamma = 5</math>. The bottom row corresponds to oil–water interface: <math>(\rho _{1},\mu _{1}) = (919, 4.9 \times 10^{-2})</math> and <math>(\rho _{2},\mu _{2}) = (997, 8.9 \times 10^{-4})</math> and <math>\gamma = 1000</math>. | ||
Line 1,372: | Line 1,468: | ||
Due to the small viscosities, the profile of the interface will have an oscillatory behavior (possibly damped due to momentum distribution in all directions) and a steady state can be expected in due course. We use the total length of the interface as a metric to measure the “distance” of the perturbed state of the interface from the stable horizontal profile. For an oscillating interface profile, the interface length will have an oscillatory behavior and will take a minimum value equal to <math display="inline">0.8</math> (horizontal length of the domain) whenever the interface profile is horizontal. | Due to the small viscosities, the profile of the interface will have an oscillatory behavior (possibly damped due to momentum distribution in all directions) and a steady state can be expected in due course. We use the total length of the interface as a metric to measure the “distance” of the perturbed state of the interface from the stable horizontal profile. For an oscillating interface profile, the interface length will have an oscillatory behavior and will take a minimum value equal to <math display="inline">0.8</math> (horizontal length of the domain) whenever the interface profile is horizontal. | ||
− | Within the simulated time period, the P1-P0+ triangle is able to reproduce this oscillatory behavior of the interface for the first fluid-pair, cf. Figure | + | Within the simulated time period, the P1-P0+ triangle is able to reproduce this oscillatory behavior of the interface for the first fluid-pair, cf. Figure 14a. The interface length first attains a minimum value of <math display="inline">0.80014</math> in eleven time steps (at <math display="inline">t = 0.11</math>s). The interface at this instant attains a horizontal profile as shown in Figure 14c. However, near the end of the simulation we observe an unphysical increase in the interface length. This could be due to the numerical difficulties associated to mesh-distortion (recall that no re-meshing is done here). |
− | As the viscosities in the second fluid-pair (oil–water) are three orders of magnitude greater than those for the first fluid-pair, it is reasonable to expect a greater time scale for the former. Figure | + | As the viscosities in the second fluid-pair (oil–water) are three orders of magnitude greater than those for the first fluid-pair, it is reasonable to expect a greater time scale for the former. Figure 14b shows that the oil–water interface length gradually reduces (i.e. the interface flattens) and takes a minimum value of <math display="inline">0.80842</math> at <math display="inline">t = 0.55</math>s. The interface at this instant attains a nearly horizontal profile as shown in Figure [[#img-14a|14d]]. Past <math display="inline">t = 0.55</math>s, the interface length gradually returns back to its initial value. However, the trend near the end of the simulation shows an unphysical increase in the interface length, which again could be due to the numerical difficulties associated to mesh-distortion. |
− | Figure [[#img-15|15]] shows the pressure solutions obtained for the considered fluid-pairs when their interfaces first attain a minimum length. We observe jumps in the pressure across the interface equivalent to the prescribed over-pressure forces, i.e. <math display="inline">\gamma = 5</math> for the first fluid-pair (Figure | + | Figure [[#img-15|15]] shows the pressure solutions obtained for the considered fluid-pairs when their interfaces first attain a minimum length. We observe jumps in the pressure across the interface equivalent to the prescribed over-pressure forces, i.e. <math display="inline">\gamma = 5</math> for the first fluid-pair (Figure [[#img-15|15a]]) and <math display="inline">\gamma = 1000</math> for the oil–water fluid-pair (Figure [[#img-15|15c]]). Figures [[#img-15|15b]] and [[#img-15a|15d]] present the same result as shown in Figures [[#img-15|15a]] and [[#img-15|15c]], respectively, but with the solutions projected onto the <math display="inline">x-z</math> plane. In this view, all the inter-element jumps in the obtained pressure solutions are better seen. |
<div id='img-16a'></div> | <div id='img-16a'></div> | ||
Line 1,384: | Line 1,480: | ||
|[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_vol_err.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_vol_err.png|294px|]] | ||
|[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_vol_err_mod.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex3_umesh_tri_grid_24_12_unsteady2_rho_diff_vol_err_mod.png|294px|]] | ||
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(a) Signed relative error in areas. | ||
+ | |(b) Absolute relative error (log-scale) in areas. | ||
|- | |- | ||
|[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_vol_err.png|294px|]] | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_vol_err.png|294px|]] | ||
− | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_vol_err_mod.png|294px| | + | |[[Image:Draft_Samper_536119838-fig_ex4_umesh_tri_grid_24_12_unsteady2_rho_diff_vol_err_mod.png|294px|]] |
+ | |-style="text-align: center; font-size: 75%;" | ||
+ | |(c) Signed relative error in areas. | ||
+ | |(d) Absolute relative error (log-scale) in areas. | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="2" | '''Figure 16:''' Lagrangian example with fixed-walls and an unstable interface: time evolution of the area errors are shown. The top row corresponds to a fluid-pair: <math>(\rho _{1},\mu _{1}) = (1, 10^{-6})</math>, <math>(\rho _{2},\mu _{2}) = (5, 10^{-5})</math> and <math>\gamma = 5</math>. The bottom row corresponds to oil–water interface: <math>(\rho _{1},\mu _{1}) = (919, 4.9 \times 10^{-2})</math> and <math>(\rho _{2},\mu _{2}) = (997, 8.9 \times 10^{-4})</math> and <math>\gamma = 1000</math>. | | colspan="2" | '''Figure 16:''' Lagrangian example with fixed-walls and an unstable interface: time evolution of the area errors are shown. The top row corresponds to a fluid-pair: <math>(\rho _{1},\mu _{1}) = (1, 10^{-6})</math>, <math>(\rho _{2},\mu _{2}) = (5, 10^{-5})</math> and <math>\gamma = 5</math>. The bottom row corresponds to oil–water interface: <math>(\rho _{1},\mu _{1}) = (919, 4.9 \times 10^{-2})</math> and <math>(\rho _{2},\mu _{2}) = (997, 8.9 \times 10^{-4})</math> and <math>\gamma = 1000</math>. | ||
Line 1,403: | Line 1,505: | ||
The authors are grateful to Prof. Shijie Zhong and Dr. Thibault Duretz for sharing their codes to evaluate the analytical solution of the buoyant Stokes flow example with a columnar viscosity structure. | The authors are grateful to Prof. Shijie Zhong and Dr. Thibault Duretz for sharing their codes to evaluate the analytical solution of the buoyant Stokes flow example with a columnar viscosity structure. | ||
− | == | + | ==APPENDIX A. LINEARIZATION OF THE NAVIER-STOKES EQUATIONS== |
− | + | ||
− | + | ||
Consider the steady Navier–Stokes equations described in an Eulerian framework. The stabilized momentum and mass balance equations discretized in space by the FEM lead to the following system of equations, | Consider the steady Navier–Stokes equations described in an Eulerian framework. The stabilized momentum and mass balance equations discretized in space by the FEM lead to the following system of equations, | ||
Line 1,417: | Line 1,517: | ||
| style="text-align: center;" | <math>\begin{bmatrix}(\mathbf{K}_0 + \mathbf{K}_v+\mathbf{K}_s) & \mathbf{Q} | | style="text-align: center;" | <math>\begin{bmatrix}(\mathbf{K}_0 + \mathbf{K}_v+\mathbf{K}_s) & \mathbf{Q} | ||
− | \\ \mathbf{Q}^{\hbox{T}} & \mathbf{S} \end{bmatrix} \begin{Bmatrix}\bar{v} | + | \\ \mathbf{Q}^{\hbox{T}} & \mathbf{S} \end{bmatrix} \begin{Bmatrix}\bar{\bf v} |
− | \\ \bar {p} \end{Bmatrix} = \begin{Bmatrix}{f}_v | + | \\ \bar {\bf p} \end{Bmatrix} = \begin{Bmatrix}{\bf f}_v |
− | \\ {f}_p \end{Bmatrix} </math> | + | \\ {\bf f}_p \end{Bmatrix} </math> |
|} | |} | ||
− | | style="width: 5px;text-align: right;white-space: nowrap;" | (1) | + | | style="width: 5px;text-align: right;white-space: nowrap;" | (A.1) |
|} | |} | ||
− | It is assumed that the stabilization terms in matrices <math display="inline">\mathbf{K}_s</math> and <math display="inline">\mathbf{S}</math> and vector <math display="inline">{f}_p</math> are linear, i.e. they do not depend on the solution. The only nonlinear term that remains is, therefore, matrix <math display="inline">\mathbf{K}_v</math> obtained from the Galerkin FEM discretization of the convective term (Eq.(55a)). | + | It is assumed that the stabilization terms in matrices <math display="inline">\mathbf{K}_s</math> and <math display="inline">\mathbf{S}</math> and vector <math display="inline">{\bf f}_p</math> are linear, i.e. they do not depend on the solution. The only nonlinear term that remains is, therefore, matrix <math display="inline">\mathbf{K}_v</math> obtained from the Galerkin FEM discretization of the convective term (Eq.(55a)). |
The Newton–Raphson linearization of Eq.([[#eq-1|1]]) gives the following system of equations. | The Newton–Raphson linearization of Eq.([[#eq-1|1]]) gives the following system of equations. | ||
Line 1,438: | Line 1,538: | ||
| style="text-align: center;" | <math>\begin{bmatrix}\mathbf{H} & \mathbf{Q} | | style="text-align: center;" | <math>\begin{bmatrix}\mathbf{H} & \mathbf{Q} | ||
− | \\ \mathbf{Q}^{\hbox{T}} & \mathbf{S} \end{bmatrix} \begin{Bmatrix}\delta \bar{v} | + | \\ \mathbf{Q}^{\hbox{T}} & \mathbf{S} \end{bmatrix} \begin{Bmatrix}\delta \bar{\bf v} |
− | \\ \delta \bar {p} \end{Bmatrix} = \begin{Bmatrix}{f}_v - (\mathbf{K}_0 + \mathbf{K}_v+\mathbf{K}_s) \bar{v}^{m} - \mathbf{Q} \bar {p}^{m} | + | \\ \delta \bar {\bf p} \end{Bmatrix} = \begin{Bmatrix}{\bf f}_v - (\mathbf{K}_0 + \mathbf{K}_v+\mathbf{K}_s) \bar{\bf v}^{m} - \mathbf{Q} \bar {\bf p}^{m} |
− | \\ {f}_p - \mathbf{Q}^{\hbox{T}} \bar{v}^{m} - \mathbf{S}_{p} \bar {p}^{m} \end{Bmatrix} </math> | + | \\ {\bf f}_p - \mathbf{Q}^{\hbox{T}} \bar{\bf v}^{m} - \mathbf{S}_{p} \bar {\bf p}^{m} \end{Bmatrix} </math> |
|} | |} | ||
− | | style="width: 5px;text-align: right;white-space: nowrap;" | (2) | + | | style="width: 5px;text-align: right;white-space: nowrap;" | (A.2) |
|} | |} | ||
Line 1,457: | Line 1,557: | ||
| style="text-align: center;" | <math>\mathbf{H}^e = \mathbf{K}_0^e + \mathbf{K}_v^e + \bar{\mathbf{K}}_v^e + \mathbf{K}_s^e </math> | | style="text-align: center;" | <math>\mathbf{H}^e = \mathbf{K}_0^e + \mathbf{K}_v^e + \bar{\mathbf{K}}_v^e + \mathbf{K}_s^e </math> | ||
|} | |} | ||
− | | style="width: 5px;text-align: right;white-space: nowrap;" | (3) | + | | style="width: 5px;text-align: right;white-space: nowrap;" | (A.3) |
|} | |} | ||
Line 1,468: | Line 1,568: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\bar {K}^e_{v_{ij}} = \int _{\Omega ^e}\rho \mathbf{N}_i ({\boldsymbol \nabla } {v}^T)^T \mathbf{N}_jd\Omega </math> | + | | style="text-align: center;" | <math>\bar {\bf K}^e_{v_{ij}} = \int _{\Omega ^e}\rho \mathbf{N}_i ({\boldsymbol \nabla } {v}^T)^T \mathbf{N}_jd\Omega </math> |
|} | |} | ||
− | | style="width: 5px;text-align: right;white-space: nowrap;" | (4) | + | | style="width: 5px;text-align: right;white-space: nowrap;" | (A.4) |
|} | |} | ||
Line 1,481: | Line 1,581: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\bar{v}^{m+1} =\bar{v}^{m} +\delta \bar{v}\quad \hbox{and}\quad \bar{p}^{m+1} =\bar{p}^{m} +\delta \bar{p} </math> | + | | style="text-align: center;" | <math>\bar{\bf v}^{m+1} =\bar{\bf v}^{m} +\delta \bar{\bf v}\quad \hbox{and}\quad \bar{\bf p}^{m+1} =\bar{\bf p}^{m} +\delta \bar{\bf p} </math> |
|} | |} | ||
− | | style="width: 5px;text-align: right;white-space: nowrap;" | (5) | + | | style="width: 5px;text-align: right;white-space: nowrap;" | (A.5) |
|} | |} | ||
Line 1,496: | Line 1,596: | ||
| style="text-align: center;" | <math>\begin{bmatrix}(\mathbf{K} + \mathbf{K}_v^m + \mathbf{K}_s) & \mathbf{Q} | | style="text-align: center;" | <math>\begin{bmatrix}(\mathbf{K} + \mathbf{K}_v^m + \mathbf{K}_s) & \mathbf{Q} | ||
− | \\ \mathbf{Q}^{\hbox{T}} & \mathbf{S} \end{bmatrix} \begin{Bmatrix}\bar{v}^{m+1} | + | \\ \mathbf{Q}^{\hbox{T}} & \mathbf{S} \end{bmatrix} \begin{Bmatrix}\bar{\bf v}^{m+1} |
− | \\ \bar {p}^{m+1} \end{Bmatrix} = \begin{Bmatrix}{f}_v | + | \\ \bar {\bf p}^{m+1} \end{Bmatrix} = \begin{Bmatrix}{\bf f}_v |
− | \\ {f}_p \end{Bmatrix} </math> | + | \\ {\bf f}_p \end{Bmatrix} </math> |
|} | |} | ||
− | | style="width: 5px;text-align: right;white-space: nowrap;" | (6) | + | | style="width: 5px;text-align: right;white-space: nowrap;" | (A.6) |
|} | |} | ||
− | == | + | ==APPENDIX B. TIME INTEGRATION IN THE LAGRANGIAN FRAMEWORK== |
− | + | ||
− | + | ||
The momentum and the stabilized mass balance equations discretized in space by the FEM leads to the following system of equations in the Lagrangian framework | The momentum and the stabilized mass balance equations discretized in space by the FEM leads to the following system of equations in the Lagrangian framework | ||
Line 1,518: | Line 1,616: | ||
{| style="text-align: left; margin:auto;width: 100%;" | {| style="text-align: left; margin:auto;width: 100%;" | ||
|- | |- | ||
− | | style="text-align: center;" | <math>\mathbf{M}\bar{v} + \mathbf{K} \bar{v} + \mathbf{Q} \bar {p} = {f}_v </math> | + | | style="text-align: center;" | <math>\mathbf{M}\bar{\bf v} + \mathbf{K} \bar{\bf v} + \mathbf{Q} \bar {\bf p} = {\bf f}_v </math> |
− | | style="width: 5px;text-align: right;white-space: nowrap;" | (1) | + | | style="width: 5px;text-align: right;white-space: nowrap;" | (B.1) |
|- | |- | ||
− | | style="text-align: center;" | <math> \mathbf{Q}^{\hbox{T}} \bar{v} + \mathbf{S} \bar {p} = {f}_p </math> | + | | style="text-align: center;" | <math> \mathbf{Q}^{\hbox{T}} \bar{\bf v} + \mathbf{S} \bar {\bf p} = {\bf f}_p </math> |
− | | style="width: 5px;text-align: right;white-space: nowrap;" | (2) | + | | style="width: 5px;text-align: right;white-space: nowrap;" | (B.2) |
|} | |} | ||
|} | |} | ||
− | where, the matrices and vectors with sub-scripts are the ones that appear due to the stabilization of the mass balance equation. Let <math display="inline">\bar{a}= {\partial \bar v \over \partial t}</math> denote the vector of unknown nodal accelerations. The momentum balance equation, i.e. Eq.([[#eq-1|1]]), is a dynamic equation. On the contrary, the stabilized mass balance equation, i.e. Eq.([[#eq-2|2]]), is a quasi-static equation. | + | where, the matrices and vectors with sub-scripts are the ones that appear due to the stabilization of the mass balance equation. Let <math display="inline">\bar{a}= {\partial \bar v \over \partial t}</math> denote the vector of unknown nodal accelerations. The momentum balance equation, i.e. Eq.([[#eq-1|B.1]]), is a dynamic equation. On the contrary, the stabilized mass balance equation, i.e. Eq.([[#eq-2|B.2]]), is a quasi-static equation. |
− | Using the Newmark algorithm the balance equations given in Eqs.([[#eq-1|1]]) and ([[#eq-2|2]]) are integrated in time (<math display="inline">\{ {}^{n}\mathbf{x}, {}^{n}\mathbf{v}, {}^{n}\mathbf{a}, {}^{n}\bar {p}\} \rightarrow \{ {}^{n+1} {x}, {}^{n+1}\bar{v}, {}^{n+1}\bar{a}, {}^{n+1}\bar {p}\} </math>) as follows | + | Using the Newmark algorithm the balance equations given in Eqs.([[#eq-1|B.1]]) and ([[#eq-2|B.2]]) are integrated in time (<math display="inline">\{ {}^{n}\mathbf{x}, {}^{n}\mathbf{v}, {}^{n}\mathbf{a}, {}^{n}\bar {p}\} \rightarrow \{ {}^{n+1} {x}, {}^{n+1}\bar{v}, {}^{n+1}\bar{a}, {}^{n+1}\bar {p}\} </math>) as follows |
{| class="formulaSCP" style="width: 100%; text-align: left;" | {| class="formulaSCP" style="width: 100%; text-align: left;" | ||
Line 1,537: | Line 1,635: | ||
| style="text-align: center;" | <math>\begin{bmatrix}\dfrac{1}{\Delta t} \mathbf{M} + \theta ~{}^{n+1}\mathbf{K} & \theta ~{}^{n+1}\mathbf{Q} | | style="text-align: center;" | <math>\begin{bmatrix}\dfrac{1}{\Delta t} \mathbf{M} + \theta ~{}^{n+1}\mathbf{K} & \theta ~{}^{n+1}\mathbf{Q} | ||
− | \\ \theta \mathbf{Q}^{\hbox{T}} & \theta ~{}^{n+1}\mathbf{S} \end{bmatrix} \begin{Bmatrix}{}^{n+1}\bar{v} | + | \\ \theta \mathbf{Q}^{\hbox{T}} & \theta ~{}^{n+1}\mathbf{S} \end{bmatrix} \begin{Bmatrix}{}^{n+1}\bar{\bf v} |
− | \\ {}^{n+1}\bar {p} \end{Bmatrix} = \begin{Bmatrix}\theta ~{}^{n+1} {f}_v + {}^{n}{r}_m | + | \\ {}^{n+1}\bar {\bf p} \end{Bmatrix} = \begin{Bmatrix}\theta ~{}^{n+1} {\bf f}_v + {}^{n}{\bf r}_m |
− | \\ \theta ~{}^{n+1} {f}_p \end{Bmatrix} </math> | + | \\ \theta ~{}^{n+1} {\bf f}_p \end{Bmatrix} </math> |
|- | |- | ||
− | | style="text-align: center;" | <math> {}^{n}{r}_m := \frac{1}{\Delta t} \mathbf{M} {}^{n}\bar{v}- (1-\theta ) \left[{}^{n}\mathbf{K} {}^{n}\bar{v} + {}^{n}\mathbf{Q} {}^{n}\bar {p} - {}^{n}{f}_v \right]</math> | + | | style="text-align: center;" | <math> {}^{n}{\bf r}_m := \frac{1}{\Delta t} \mathbf{M} {}^{n}\bar{\bf v}- (1-\theta ) \left[{}^{n}\mathbf{K} {}^{n}\bar{\bf v} + {}^{n}\mathbf{Q} {}^{n}\bar {\bf p} - {}^{n}{\bf f}_v \right]</math> |
| style="width: 5px;text-align: right;white-space: nowrap;" | (6) | | style="width: 5px;text-align: right;white-space: nowrap;" | (6) | ||
|- | |- | ||
− | | style="text-align: center;" | <math> {}^{n+1}\bar{a} = \frac{1}{\theta \Delta t} \left(\bar{v}^{n+1} - {}^{n}\bar{v} \right)- \frac{(1-\theta )}{\theta } {}^{n}{a} </math> | + | | style="text-align: center;" | <math> {}^{n+1}\bar{\bf a} = \frac{1}{\theta \Delta t} \left(\bar{\bf v}^{n+1} - {}^{n}\bar{\bf v} \right)- \frac{(1-\theta )}{\theta } {}^{n}{\bf a} </math> |
|- | |- | ||
− | | style="text-align: center;" | <math> {}^{n+1}{x} = {}^{n}{x} + {\Delta t} {}^{n}\bar{v} + \frac{\Delta t^{2}}{2} \left[(1-2\beta ){}^{n}\bar{a} + 2\beta {}^{n+1}\bar{a} \right] </math> | + | | style="text-align: center;" | <math> {}^{n+1}{\bf x} = {}^{n}{\bf x} + {\Delta t} {}^{n}\bar{\bf v} + \frac{\Delta t^{2}}{2} \left[(1-2\beta ){}^{n}\bar{\bf a} + 2\beta {}^{n+1}\bar{\bf a} \right] </math> |
|} | |} | ||
|} | |} | ||
− | == | + | ==REFERENCES== |
<div id="cite-1"></div> | <div id="cite-1"></div> |
Published in Comput. Meth. Appl. Mech. Engng., Vol. 293, pp. 191-206, 2015
10.1016/j.cma.2013.12.009
We present a 3-noded triangle and a 4-noded tetrahedra with a continuous linear velocity and a discontinuous linear pressure field formed by the sum of an unknown constant pressure field and a prescribed linear field that satisfies the steady state momentum equations for a constant body force. The elements are termed P1/P0+ as the “effective” pressure field is linear, although the unknown pressure field is piecewise constant within each element. The elements have an excellent behaviour for incompressible viscous flow problems with discontinuous material properties formulated in either Eulerian or Lagrangian descriptions. The necessary numerical stabilization for dealing with the inf-sup condition imposed by the incompressibility constraint and high convective effects (in Eulerian flows) is introduced via the Finite Calculus (FIC) approach. For the sake of clarity, the element derivation is presented first for the simpler Stokes equations written in the standard Eulerian frame. The extension of the formulation to the Navier-Stokes equations written in the Eulerian and Lagrangian frameworks is straightforward and is presented in the second part of the paper.
The efficiency and accuracy of the new P1/P0+ triangle is verified by solving a set of incompressible multifluid flow problems using a Lagrangian approach and a classical Eulerian description. The excellent performance of the new triangular element in terms of mass conservation and general accuracy for analysis of fluids with discontinuous material properties is highlighted.
Keywords: P1/P0+ elements, Incompressible flow, Discontinuous material properties, Multifluids
Preservation of mass is a great challenge in the numerical study of incompressible flow problems. Mass losses can be introduced by the so-called stabilization terms which are typically added to the discretized forms of the momentum and mass balance equations in order to account for large values of the convective acceleration terms in the momentum equations in high Reynolds number flows and to satisfy the inf-sup condition imposed by the incompressibility constraint when equal order interpolation of the velocities and the pressure are used in mixed finite element methods [4,11,39].
Mass loss also typically occurs in the numerical study of free-surface incompressible flow problems using Eulerian and Lagrangian descriptions. In both cases, the inaccuracy in capturing the free surface can lead to considerable mass losses unless special numerical schemes are used [22].
An additional source of mass loss occurs in the numerical analysis of the so-called multifluid problems with discontinuous changes in the viscosity and/or the density in parts of the domain. Most numerical methods have difficulties for accurately capturing the jumps in the pressure and/or the pressure gradient at the interfaces between the different fluids [20,21,25].
The numerical study of multifluids via the FEM and similar computational techniques has been the subject of much research in last decades. Several authors have proposed alternative stabilized FEM procedures for accounting for the discontinuity in the pressure (and/or the pressure gradient) at the interface of fluids with different viscosity (and/or pressure). Among these formulations we note those based in injecting a discontinuous pressure field within the appropriate elements [2] and those based on using a stabilized formulation based on the introduction of stabilization terms including the jumps in the pressure and the viscous terms at the element boundaries [3,5,6,7,9,12,14,17,23].
In this work we present a new 3-noded triangle (and the 4-noded tetrahedron counterpart) with a continuous linear velocity and a discontinuous linear pressure field formed by the sum of an unknown constant pressure field and a prescribed linear field that satisfies the steady state momentum equations for a constant body force. The so-called P1/P0+ elements have an excellent behaviour for incompressible viscous flow problems formulated in Eulerian and Lagrangian descriptions. For the sake of clarity, the elements derivation is presented first for the simpler Stokes equations written in the standard Eulerian frame. The extension of the formulation to the Navier-Stokes equations written in the Eulerian and Lagrangian frameworks is straightforward and is presented in the second part of the paper. A motivation of this work is the study of multifluids problems using a Lagrangian formulation via the Particle Finite Element Method (PFEM) [10],[18]–[21],[25,32],[36]–[38] and similar procedures.
The success of the P1/P0+ formulation lays in the consistent derivation of a residual-based expression of the mass balance equation using the Finite Calculus (FIC) technique. The FIC approach in mechanics is based on expressing the equations of balance of mass and momentum in a domain of finite size and retaining higher order terms in the Taylor series expansion typically used for expressing the change in the transported variables within the balance domain. In addition to the standard terms of infinitesimal theory, the FIC forms of the balance equations contain derivatives of the classical differential equations in mechanics multiplied by characteristic distances in space and time. Examples of stabilized FIC-FEM formulations in fluid and solid mechanics can be found in [26]–[31],[33]–[35]. In our work we use the FIC forms of the mass balance equation in space and time for obtaining a variational residual form useful for finite element analysis.
The discretized stabilized variational form for the mass balance equation using a P1/P0+ approximation for the velocity/pressure variables involves the jumps in the viscous stresses, the pressure, the surface tractions and the acceleration term in the normal direction to each side (or face) of the elements. These stabilization terms resemble those proposed by other authors for similar fluid flow problems [3,9,12,14,17,23]. The method presented in this paper yields a consistent and extended form of the stabilization terms that has proven to give a superior behaviour in terms of mass conservation and overall stability in multifluids problems.
The lay-out of the paper is the following. In the next section we present the basic equations for an incompressible Stokes fluid. Next we derive the stabilized variational FIC form of the mass balance equation. Then the P1/P0+ finite element discretization for the 3-noded triangle and the 4-noded tetrahedron is presented and the key matrices and vectors of the discretized system of equations are given. Details of the solution of the FEM equations are given.
The extension of the general stabilized FIC-FEM formulation to Navier-Stokes flows using a standard Eulerian approach and a Lagrangian description is outlined.
The efficiency and accuracy of the new P1/P0+ triangle is verified by solving a set of transient incompressible multifluid flow problems using a Lagrangian approach and a steady state problem via a classical Eulerian description. The excellent performance of the P1/P0+ triangle in terms of mass conservation and general accuracy for fluid flow problems with discontinuous material properties is highlighted.
We write the governing equations for an incompressible Stokes flow problem as follows.
|
(1) |
In Eq.(1), and are the velocity and body force components along the th Cartesian axis, is the number of space dimension (i.e. for a 3D problem), is the analysis domain and are the Cauchy stresses that are split in the deviatoric () and pressure () components as
|
(2) |
where is the Kronecker delta. Note that the pressure is assumed to be positive for a tension state.
Summation of terms with repeated indices is assumed in Eq.(1) and in the following, unless otherwise specified.
The relationship between the deviatoric stresses and the strain rates has the standard form for a Newtonian fluid,
|
(3) |
where the strain rates are related to the velocities by
|
(4) |
In Eq.(4) is the volumetric strain rate defined as
|
(5) |
Substituting Eqs.(2) and (4) into (1) gives a useful form of the momentum equations as
|
(6) |
The boundary conditions at the Dirichlet () and Neumann/traction () boundaries are
|
(7.a) |
|
(7.b) |
where and , are the prescribed velocities and prescribed tractions on the and boundaries, respectively.
The mass balance equation for an incompressible fluid is written as
|
(8) |
Stabilized FEM techniques are needed for solving the general momentum equations in fluid mechanics when they are written in the Eulerian description. This is due to the effect of the convective acceleration terms that lead to loss of stability of standard Galerkin FEM. For Stokes flows (or for fluid flows formulated in the Lagrangian description) the convective terms vanish from the momentum equations and, consequently, the equations can be solved with the Galerkin FEM.
The problem, however, remains for obtaining stable solution for incompressible flows when an equal order interpolation is used for the velocities and the pressure, as it is the case for the element derived in the paper. This situation violates the so called inf-sup (or LBB) condition and, hence, there is a need to use stabilization techniques for solving the mass balance equation with the FEM [11,39].
In our work the stabilized form of the mass balance equation is obtained using the Finite Calculus (FIC) procedure [26]–[31],[33]–[35]. We will use both the second order form of the mass balance equation for an incompressible fluid obtained using the FIC method in space, as well as the FIC form of the mass balance equation in time. These forms have the following expressions.
|
(9) |
|
(10) |
Eq.(9) is obtained by expressing the balance of mass in a rectangular domain of finite size (with space dimensions for 2D problems) and retaining higher order terms in the Taylor series expansions than those typically used in the infinitesimal theory for expressing the change of mass along the sides of the balance domain. The characteristic lengths are related to the finite element sizes in the discretized problem, as it will be explained later.
Eq.(10), on the other hand, is obtained by expressing the balance of mass in a domain of infinitesimal size in space and of finite dimension in time, where is a characteristic time value.
In Eqs.(9) and (10) the terms involving and play the role of stabilization terms respectively. The form of the and parameters will be defined later. Note that for and the standard expression of the mass balance equation (8) is recovered in all cases.
The derivation of Eqs.(9) and (10) for a 1D problem are shown in [37].
We will derive next a more useful FIC form of the stabilized mass balance equation expressed in terms of the momentum equations.
From the momentum equations (6) we obtain (neglecting the space changes of the viscosity in the term involving )
|
(11) |
From the last equation we deduce
|
(12) |
In the last two equations is a static momentum term defined as
|
(13) |
Let us introduce from Eq.(12) intro Eq.(9). This gives, after small algebra
|
(14) |
Observing the term involving the time derivative of in Eq.(14) gives
|
(15) |
Substituting Eq.(15) into (14) gives
|
(16) |
On the other hand, from Eq.(10) we deduce
|
(17) |
Substituting Eq.(17) into (16) gives
|
(18) |
In the following we will assume where is a characteristic length that will be related to a typical average dimension of each finite element in the mesh. Multiplying Eq.(18) by gives, after grouping some terms,
|
(19) |
where is a stabilization parameter given by
|
(20) |
Eq.(19) is the FIC form of the stabilized mass balance equation. This equation will be taken as the starting point for deriving the stabilized FIC-FEM formulation. Note again that for , the standard form of the incompressibility condition (8) is obtained.
Multiplying Eq.(1) by arbitrary test functions (with dimension of velocity) and integrating over the analysis domain gives the standard weighted residual form of the momentum equations as
|
(21) |
Integrating by parts the term involving and making use of the Neumann boundary conditions (7.b), yields the standard principle of virtual power as [4,39]
|
(22) |
where is an arbitrary (virtual) strain rate field.
Substituting the expression of the stresses from Eq.(2) into (22) gives
|
(23) |
Eq.(23) can be written in matrix form as
|
(24) |
In Eq.(24) are vectors containing the weighting functions, the velocities and the strain rates, respectively; and are body force and surface tractions vectors, respectively; is the viscous constitutive matrix and is an auxiliary vector. These vectors are defined as (for 3D problems)
|
(25) |
The 2D form of above expressions is straightforward. For instance, the 2D expression of matrix is obtained by deleting the rows and columns 3, 5 and 6 in Eq.(25).
Remark 1. From the definition of and and Eqs.(2), (3) and (5) we deduce
|
(26) |
where are the stress and deviatoric stress vectors, respectively.
Multiplying equation (19) by arbitrary test functions (with dimension of pressure) defined over the analysis domain and integrating over gives
|
(27) |
Let us integrate by parts the second integral in Eq.(27) over a mesh of elements each one with area and boundary . This yields
|
(28) |
where are the components of the unit normal vector to the element boundary . Note that is a side for a 3-noded triangle and a face for a 4-noded tetrahedron.
Remark 2. In Eq.(28), the second integral over the domain involving is zero for a piecewise constant approximation of the weighting function over the elements. This situation occurs for the P1/P0+ elements presented in this work.
From the definition of of Eqs.(13) and (1) we deduce
|
(29) |
Multiplying by the normal components gives
|
(30) |
where is the projection of the velocity in the direction of the normal to the element boundary and is the derivative of in the normal direction.
The term at an element boundary connecting elements and can be computed as
|
(31) |
where and denote the values of the relevant magnitude at the external and internal points adjacent to the element boundary, respectively and is the characteristic length of the boundary. For triangles is taken as the side lenght (Figure 1). For 4-noded tetrahedra where is the area of the triangular face connecting elements and .
Eq.(31) is just a simple (yet effective) model for computing at the element boundary. Indeed, more sophisticated procedures can be used [9].
From the Neumann boundary conditions (7b) and Eq.(31) we deduce
|
where indices and – denote values at the external and internal sides and of the element boundary, respectively. In Eqs.(5.2) and are the normal tractions respectively acting at and (Figure 1c).
Substituting Eqs.(5.2) into (31) gives
|
(33) |
where denotes the jump of the magnitude across the element boundary , i.e. .
From the equilibrium of tractions at the element boundaries we obtain
|
(34) |
where is the external normal traction acting on the element side in the direction of the normal to (Figure 1). Clearly for unloaded boundaries and, consequently, .
We note that above derivations are independent of the choice of and .
Substituting Eq.(33) into (30) and this one into (28) gives the final stabilized variational form of the mass balance equation as
|
(35) |
where are the lengths of the element sides.
For element boundaries laying on the Dirichlet boundary , and the boundary term vanishes from Eq.(35). This is justified by the fact that both and are zero at .
Remark 3. At element boundaries laying on an external Neumann boundary , , and, hence, at .
Remark 4. The boundary integral in Eq.(35) resembles the jump stabilization terms across element sides proposed by different authors for fluid flow problems [3,9,12,14,17,23]. It is remarkable that Eq.(35) emanates naturally from the FIC formulation. Also, the form of Eq.(35) introduces the effect of the acceleration in the normal direction to the element side, as well as the effect of the external surface tractions acting on the element side. These two terms have proven to be important for the improved mass conservation and overall stability of the numerical solution of the multifluid problems solved in this paper and also for free surface homogeneous fluid flows [37].
Remark 5. For steady state problems the acceleration term vanishes from the boundary integral in Eq.(35).
We discretize the analysis domain into a mesh of finite elements in the standard manner. In our work we will choose simple 3-noded triangles (for 2D problems) and 4-noded tetrahedra (for 3D problems). The velocity is linearly interpolated in terms of the nodal values, while a discontinuous linear interpolation for the pressure over each element is chosen, i.e.
|
(36) |
where are the standard linear shape functions for simplicial elements, is the number of element nodes ( for 2D/3D problems), denotes the value of the th velocity component for the th node of an element, is a constant pressure field over each element and is a discontinuous linear pressure field chosen as (Figure 2)
|
(37) |
where are the coordinates of the element midpoint.
Note that satisfies the steady state form of the momentum equation for a linear velocity field and constant body forces , i.e.
|
(38) |
The actual unknowns of the problem are the nodal velocities and the constant pressure field for each element (Figure 3).
We will choose now piecewise constant unit weighting functions so that and if and if . With these assumptions the variational form (35) for the stabilized mass balance equation simplifies for 3-noded triangles to
|
(39) |
where the sum in the second term extends over the three sides of each triangular element and is the length of the th element side.
![]() |
Figure 3: Nodal velocities and element pressure variables at a patch of four 3-noded triangles |
Remark 6. For 4-noded tetrahedra the sum in Eq.(39) extends over the four faces of the tetrahedra and is a characteristic distance for the th face with area computed as where is the area of the face.
Substituting the approximation (36) into Eqs.(39) and (24) and choosing a Galerkin form with gives the discretized expression of the momentum and (stabilized) mass balance equations as
|
(40.a) |
|
(40.b) |
with
|
(40.c) |
where is the number of nodes in the mesh. The different matrices and vectors in Eqs.(6a,b) are assembled from the element contributions given in Box 1 for 3-noded triangles.
|
Remark 7. The FEM approximation (36) yields the strain rates and the stresses within an element in terms of the nodal velocities and pressure as
|
(41) |
where is given in Box 1 for 2D problems.
The discretized form in time of the system of Eqs.(6) is expressed as
|
(42.a) |
|
(42.b) |
A symmetric monolithic form of Eq.(7) can be written as
|
(43) |
The steady state form of Eq.(43) is simply
|
(44) |
Note that the terms involving the normal velocity to the element, the normal tractions to the side and the term emanating form the side discontinuous linear pressure field have been incorporated into the force vector in Eq.(40.b). An obvious alternative will be to add the contribution of these terms to matrices and in the l.h.s. of this equation.
Remark 8. The stabilization parameter of Eq.(20) is computed at each element boundary connecting elements and as
|
(45.a) |
where is a characteristic length of the element boundary. For triangles is taken as the side length. For 4-noded tetrahedra , where is the area of the face connecting elements and . The material parameters and are computed as
|
(45.b) |
where indices and denote the element where the material parameter is computed.
Remark 9. For the steady state case the stabilization parameter of Eq.(45.a) is computed as
|
(46) |
with being the velocity vector of the mid-point of the boundary connecting elements and .
The above expressions of the stabilization parameter are similar to those used by many stabilization methods [11,39].
The momentum equations for Navier-Stokes flows are written in the Eulerian framework as
|
(47) |
Note that the difference with Eq.(1) is that the convective acceleration terms are now accounted for in Eq.(47).
The constitutive equation and the boundary conditions are identical to Eqs.(2)–(4) and (7), respectively.
The mass balance equation is given by Eq.(8). The stabilized form is given by Eq.(19).
The FEM solution of the Navier-Stokes equation for incompressible fluids requires a stabilized numerical method that can capture the internal layers introduced by the convective acceleration terms, as well as for satisfying the inf-sup condition introduced by the incompressibility constraint. Different stabilization procedures have been proposed in the past two decades. An overview can be found in [11,39]. In our work we use the FIC approach for obtaining stabilized FEM solutions for the Navier-Stokes equations [26]–[31],[33]–[35].
In the FIC method the momentum equations are derived in a balance domain of finite size. This yields a non-local form of the equations. For the th momentum equation we have
|
(48) |
where are characteristic distances that define the balance domain [28]–[30].
For consistency reasons, in the FIC method the Neumann boundary conditions expressing balance of tractions at the boundary are also derived in a finite domain adjacent to the boundary. The modified Neumann boundary conditions are written as
|
(49) |
where .
Applying the standard weighted residual procedure to Eq.(48) we obtain
|
(50) |
where are standard weighting functions.
Integrating by parts the second integral in (50) assuming that on and using the modified Neumann boundary conditions (49) we obtain
|
(51) |
The characteristic distances can be defined in a number of ways. For instance choosing
|
(52) |
where is a characteristic distance for element , reproduces the standard SUPG method [11,39].
The effect of sharp internal gradients in the solution can be introduced by defining as
|
(53) |
The first term in the r.h.s. of Eq.(53) introduces the SUPG stabilization while the second term introduces a shock-capturing type of stabilization. In Eq.(53) and are appropriate characteristic distances for 1D elements . The simplest choice for simplicial 2D and 3D elements is .
As for the treatment of the mass balance equation, the same procedure explained in Section 5.2 has been applied. Hence, the stabilized mass balance expression is identical to Eq.(19). Also, the corresponding variational form of the mass balance equation coincides with Eq.(35).
The final system of discretized equations using P1/P0+ elements is identical to Eq.(6). For 3-noded triangles, all matrices and vectors coincide with the expressions of Box 1 except and which are now given by (for each element)
|
(54) |
In Eq.(54) is the viscous contribution coinciding with the expression of of Box 1 and and are the convective and stabilization contributions for the element given by
|
(55.a) |
where is the unit matrix and
|
(55.b) |
In Eq.(54) coincides with the expression of in Box 1 and is the contribution from the stabilization terms given by
|
(56) |
The general form of of Eq.(53) can be used in (56) to introduce SUPG and/or shock capturing effects in the stabilized formulation, as appropriate.
For the problems we are solving in this work the velocity field is free from internal layers. Therefore, good results are obtained with the standard Galerkin form of the momentum equations neglecting the stabilization term. The full stabilized formulation expressed by Eq.(51), with given by Eq.(53), should however be used for the general solution of Navier-Stokes problems involving high gradients of the velocity.
The formulation presented in Sections 2–6 for Stokes flows in an Eulerian framework can be easily particularized for analysis of a viscous fluid flow using a Lagrangian description of the motion [4].
The relevant change is the definition of the acceleration term in the momentum equations. In the updated Lagrangian formulation these are written as [4]
|
(57) |
where is the material derivative of the th velocity component of a material point with coordinates at time . Also, the Cauchy stresses , the body forces and the coordinates are referred to the updated configuration at time [4].
The material derivative of the velocity in the Lagrangian formulation is typically approximated as
|
(58) |
where denotes the value of the th velocity component of the material point at time , etc.
Remark 10. The material derivative in an Eulerian description is expressed in a fixed control domain as
|
(59) |
Eq.(59) is the form used in the Eulerian formulation of the Navier-Stokes equations (see Eq.(47)). Neglecting the convective acceleration term in Eq.(59) yields the expression used in Eq.(1) for Stokes flows.
A difficulty in the Lagrangian formulation of flow problems is the need for tracking the motion of the material points in space and time. The authors have developed in recent years a particular class of Lagrangian method for analysis of fluid flow problems termed the Particle Finite Element Method (PFEM, www.cimne.com/pfem). The PFEM treats the nodes in a continuum as virtual particles that can freely move and even separate from the main domain representing, for instance, the effect of water drops in a splashing fluid or soil particles in an excavation problem. A finite element mesh connects the nodes defining the discretized domain where the governing equations are solved using the FEM. An advantage of the Lagrangian formulation in the PFEM is that the convective terms disappear from the fluid equations. The difficulty is however transferred to the problem of adequately (and efficiently) moving the mesh node using a fast mesh regeneration procedure at each time step. The theory and applications of the PFEM are reported in [1,8],[18]–[21],[25,32],[36]–[38].
The particularization of the formulation of the P1/P0+ triangle presented in Sections 2–6 to the Lagrangian analysis of viscous flows is straightforward and simply implies computing the acceleration term with the expression given by Eq.(58). The rest of the terms are identical to those given in those sections.
In this work we have applied the Lagrangian formulation of the P1/P0+ triangle to the study of multifluid problems with relatively small changes of the geometry of the fluid domain. The application of the P1/P0+ triangle and tetrahedra to a wider class of Lagrangian flow problems using the PFEM will be the subject of further work of the authors.
In this section we present the solutions obtained by the FIC method for four benchmark problems. The first two examples are steady state problems formulated in the Eulerian framework. The last two examples are transient problems formulated in the Lagrangian framework. In all these examples, the pressure solution has a strong discontinuity across the interface where the fluid viscosities are relevant and distinct. These pressure jumps occur either due to a relevant normal derivative of the velocity or in its absence due to a prescribed over-pressure force at the interface.
![]() |
![]() |
(a) Eulerian extrusion problem. | (b) Zhong's problem. |
Figure 4: Description of the steady-state examples. (a) fixed-mesh (Eulerian) extrusion problem and (b) the Zhong's problem. |
This example deals with a flow entering a rectangular 2D domain from the left boundary with a unit normal velocity and moving to the right where it finds an impermeable slip wall that deviates the flow upwards and downwards [20]. The 2D domain occupies the region: (Figure 4a). The upper-half and lower-half of the domain are occupied by two immiscible fluids which have the same density (), but with distinct viscosities (). This problem has an analytical solution which can be expressed as follows.
|
(60) |
As the pressure solution is known up to a constant, in Eq. (60) the later is chosen such that the pressure has a zero mean value over the domain. At the interface (), due to a jump in the viscosities and a relevant directional derivative of the velocity along its normal, the pressure field has a jump across it.
Remark 11. This is a steady state example involving the solution of the Navier-Stokes equations solved in the Eulerian framework (Section 8). Generally, the presence of the convective term in the momentum equation triggers both global and local numerical instabilities which needs to be stabilized. However, these instabilities are manifested only when the solution of the continuous problem involves layers. In examples like the current one velocity field does not contain layers. Hence, in this problem, we can obtain a good numerical approximation to the velocity even without convective stabilization.
Figure 5a illustrates the pressure solution obtained by the P1-P0+ triangle. The domain is discretized using a symmetric structured mesh of elements. The material properties are chosen to be: , and . The velocity boundary conditions are chosen to be of Dirichlet (essential) type, taking values given by the expression in Eq. (60). The indeterminacy of the pressure solution is removed by imposing the zero-mean pressure condition [11]. The nonlinear convective terms in the Navier-Stokes equations are linearized using the Newton–Raphson method (Appendix A) and they converge in just two iterations for a tolerance of .
Figure 5b illustrates the best approximation to the exact pressure solution given in Eq. (60) from the discrete pressure space of piecewise constant pressure values over the elements of the considered mesh. The best approximation is chosen from using the norm () as the metric. Thus, is the projection of onto . It can be obtained as follows: Find , such that
|
(61) |
Figure 5c illustrates the constant pressure solution (termed in Section 6) obtained by the new P1-P0+ triangle and using an unstructured mesh. The unstructured mesh is generated by small random perturbations of the interior nodes (excluding the nodes on the interface) of the structured mesh followed by a Delaunay tessellation. Figure 5d illustrates the best approximation obtained using the same mesh.
![]() |
![]() |
(a) Fixed-mesh (Eulerian) extrusion problem. | (b) Zhong's problem. |
Figure 6: Error convergence in the norm on mesh refinement for and . |
Figure 6a shows the convergence of the error in the norm with respect to mesh refinement. This error is compared with the best approximation error . To measure the convergence rate the domain is discretized by a sequence of symmetrical structured meshes of elements, using . The relative error in the pressure solutions are measured as follows.
|
(62) |
As expected for a piecewise constant pressure approximation, the convergence rate is found to be one for both solutions. Further, the error line of the numerical solution is found to be close to the error line of the best approximation , indicating the good accuracy of the obtained solution. Additionally, in Figure 6a the convergence in the norm of the divergence of the velocity is also shown. As the exact solution is solenoidal, this error is measured as follows.
|
(63) |
where is the velocity solution obtained with the P1/P0+ triangle. The convergence rate for is found to be close to , which is more than the expected first-order rate. This super-convergence for could be due to the smooth (linear, cf. Eq. (60)) solution profile for the velocity.
This example deals with the buoyancy-driven Stokes flow of a fluid with a columnar viscosity structure and was first presented in [40]. It has been previously used as a benchmark in [13,24]. It is an idealization of the mantle convection and the plate dynamics that occur in the subduction zones of the Earth. The temperature of the subducted plates are much colder than the ambient mantle which in turn leads to sharp lateral variations in the viscosity. The 2D domain (cf. Figure 4b) is a unit square: . The left-half and right-half of the domain have viscosities given by and , respectively. The density and the acceleration due to gravity are specified as and , respectively. Free-slip boundary conditions are imposed everywhere on the domain boundary.
The evaluation 1 of the analytical solution is described in [40] using the method of separation of variables (used earlier in [16]) and the propagator matrix techniques [15]. The constant to fix the pressure is chosen such that the latter has a zero mean value over the domain. Due to a jump in the viscosities at the viscosity boundary () and a non-zero directional derivative of the velocity along its normal, the pressure field acquires a jump across it. The expression for the pressure jump at the viscosity boundary can be written as follows.
|
(64) |
Figures 7a and 7c show the pressure solution obtained by the P1-P0+ triangle using a structured mesh ( elements) and an unstructured mesh ( elements), respectively. The corresponding best approximations in the norm are shown in Figures 7b and 7d, respectively.
Figure 6b shows the convergence of the error in the norm with respect to mesh refinement. This error is compared with the best approximation error . As expected for a piecewise constant pressure approximation, the convergence rate is found to be one for both solutions. Further, the error line for the numerical solution is found to be close to the error line of the best approximation , indicating the good accuracy of the obtained solution. Additionally, in Figure 6b the convergence in the norm of the divergence of the velocity is also shown. As expected for a piecewise linear velocity approximation, a first-order convergence rate is found for .
(1) The algebraic work involved to arrive at a closed form analytical expression of the solution is very tedious which includes the symbolic inversion of a matrix. Thus, the analytical solution is often computed numerically for a specified problem data.
This is a transient example where the initial configuration is a rectangular 2D domain occupied by two immiscible fluids contained (due to the action of gravity) in a region bounded with sufficiently high walls (Figure 8a). Both the walls and the floor are considered to be slippery. The floor and the left wall are fixed while the right wall is pushed towards left at a constant prescribed velocity . This is a free surface problem with an interface between the two immiscible fluids and the shape of the domain varies due to the action of the right wall. The numerical solution is sought using a Lagrangian formulation of the problem (Section 9).
The fluid viscosities are chosen as and . The fluid densities are chosen as and . The acceleration due to gravity is taken as and the prescribed velocity . The 2D domain has an initial length and height . The upper-half of the domain is occupied by the fluid with properties . For these data, the dynamics is dominated by the viscous term and hence in the exact solution the inertial effects can be neglected.
As a shorthand notation, we denote by and as the positions of an arbitrary fluid particle at times and , respectively. Similar notation is used for the rest of the dependent variables in the Lagrangian description, e.g. and . Using this notation and the expressions and , the exact solution to this problem can be expressed as follows.
|
(65) |
|
(66) |
|
(67) |
where denotes the acceleration of the fluid particle and is the y-coordinate of the trajectory . The constant in the pressure solution given by Eq. (67) is chosen such that it takes a value zero at the free surface. In the numerical solution, no boundary conditions are imposed for the velocity at the free surface. On the rest of the boundary, Dirichlet (essential) conditions are imposed for the velocity. As the velocity boundary conditions are not exclusively of the Dirichlet type, no further conditions need to be imposed for the pressure. For the sake of simplicity the discretized (Lagrangian) equations are linearized using the Picard (Fixed-point) method. The configuration is updated at every iteration. The time integration is done using the Newmark method with the choice and (zero dissipation; second-order accuracy). The time increment is chosen as s (Appendix B).
Figure 9b illustrates the final configuration (at time ) obtained with the P1-P0+ triangle using a symmetric structured mesh of elements. The initial configuration is shown in Figure 9a. Figures 9c and 9d show the initial and final configurations when using an unstructured mesh. For the initial domain area to be conserved the interface and the free surface should raise to a height of and , respectively. This is indeed observed in Figures 9b and 9d showing the good area conservation properties for the P1/P0+ triangle.
Figure 10a shows the pressure solution obtained using the structured mesh. As the two fluids have distinct densities, it leads to a jump in both the pressure and its gradient at the interface. Figure 10b shows the projection of the exact pressure given in Eq. (67) onto the discrete pressure space and is denoted as . For the sake of comparison, the constants in the discrete pressure solutions and are chosen a posteriori such that the minimum value on the free surface is zero. Likewise, Figures 10c and 10d show the pressure solutions and obtained on the unstructured mesh.
Figure 11 presents the same results as shown in Figure 10 but with the solutions projected onto the plane. In this view, the inter-element jumps in the obtained solution can be better compared with those in the best approximation . We see that on both meshes the obtained solution is in good agreement with the best approximation .
Figures 12a and 12b illustrate the effective pressure solution obtained with the P1/P0+ triangle using the structured and the unstructured meshes, respectively. Recall that the effective pressure solution includes a prescribed linear field defined over each element given by Eq.(37). A nearly identical figure is obtained by plotting the exact pressure solution given by Eq.(67), thus indicating the good accuracy of the method.
Finally, in Figure 13 we present the time evolution of the error in the area for all the cases discussed in this section. The relative error in the area is measured in three different ways
|
(68) |
where and represent the initial and current (at time ) areas of an element with index . and denote the regions occupied by the two immiscible fluids, respectively and is the domain. The indices and refer to the upper-half and lower-half regions of the domain. is the relative error in the total area of both fluids. and are the relative errors in the total area of the fluids occupying the regions and , respectively. For the simulated time period (s), the maximum relative error is below for , and .
Finally, we present another transient example where the two-fluid interface initially has a serrated profile (thus unstable) and becomes straight in due course. This configuration (Figure 8b) is obtained by meshing the domain with an unstructured mesh and identifying the elements that occupy the upper-half of the domain to represent a fluid with lower density and the remaining elements to represent the other fluid with a higher density.
To observe the interface evolution in a reasonable time period, fluid-pairs with low viscosities are chosen. Further, to avoid sloshing-like effects that arise due to the low viscosities, all the walls of the domain are fixed and are considered slippery. Thus, there are only buoyancy driven low-speed motions in the fluid due to its initial unstable configuration.
Due to the small viscosities and low-speed motions, the pressure has a negligible jump across the interface. In order to have a visible pressure jump, we prescribe a fictitious over-pressure force at the interface given by the expression . Here represents the outward normal to the interface with respect to the heavier fluid and represents the prescribed jump in the pressure value across the interface.
This problem is solved considering two fluid-pairs. For the first fluid-pair, the material properties of the fluids on top and bottom are taken as and , respectively. At the interface, the over-pressure force is taken as . The second fluid-pair consists of sunflower oil on the top and water at the bottom. The material properties for sunflower oil and water at are (in International units) and , respectively. At the oil–water interface, the over-pressure force is taken as . The initial configuration is the same for both fluid-pairs, cf. figure 8b. The time integration is done by the Newmark method with the choice and (zero-dissipation; second-order accuracy). The time increment is chosen as s. As no re-meshing is done, the simulation is stopped after time steps, i.e. a simulation time of s, to avoid numerical difficulties associated with severe mesh deformations.
Due to the small viscosities, the profile of the interface will have an oscillatory behavior (possibly damped due to momentum distribution in all directions) and a steady state can be expected in due course. We use the total length of the interface as a metric to measure the “distance” of the perturbed state of the interface from the stable horizontal profile. For an oscillating interface profile, the interface length will have an oscillatory behavior and will take a minimum value equal to (horizontal length of the domain) whenever the interface profile is horizontal.
Within the simulated time period, the P1-P0+ triangle is able to reproduce this oscillatory behavior of the interface for the first fluid-pair, cf. Figure 14a. The interface length first attains a minimum value of in eleven time steps (at s). The interface at this instant attains a horizontal profile as shown in Figure 14c. However, near the end of the simulation we observe an unphysical increase in the interface length. This could be due to the numerical difficulties associated to mesh-distortion (recall that no re-meshing is done here).
As the viscosities in the second fluid-pair (oil–water) are three orders of magnitude greater than those for the first fluid-pair, it is reasonable to expect a greater time scale for the former. Figure 14b shows that the oil–water interface length gradually reduces (i.e. the interface flattens) and takes a minimum value of at s. The interface at this instant attains a nearly horizontal profile as shown in Figure 14d. Past s, the interface length gradually returns back to its initial value. However, the trend near the end of the simulation shows an unphysical increase in the interface length, which again could be due to the numerical difficulties associated to mesh-distortion.
Figure 15 shows the pressure solutions obtained for the considered fluid-pairs when their interfaces first attain a minimum length. We observe jumps in the pressure across the interface equivalent to the prescribed over-pressure forces, i.e. for the first fluid-pair (Figure 15a) and for the oil–water fluid-pair (Figure 15c). Figures 15b and 15d present the same result as shown in Figures 15a and 15c, respectively, but with the solutions projected onto the plane. In this view, all the inter-element jumps in the obtained pressure solutions are better seen.
The time evolution of the area-errors is shown in Figure 16 (both signed and absolute relative errors). The area-errors are measured in the same way as it is done earlier in section 10.3, i.e. using the expressions given in Eq. (68). For the simulated time period and the first fluid-pair, we find , and . Likewise for the oil–water fluid-pair we find , and . These results indicate the good area preservation property of the P1-P0+ triangle.
We have presented a 3-noded triangle and a 4-noded tetrahedra with a continuous linear velocity and a discontinuous linear pressure field formed by the sum of an unknown constant pressure field and a prescribed linear field that satisfies the steady state momentum equations for a constant body force. In the so called P1/P0+ elements the “effective” pressure field is linear, although the unknown pressure field is piecewise constant within each element. The P1/P0+ elements have shown an excellent behaviour in terms of accuracy and mass conservation for incompressible viscous flow problems with discontinuous material properties formulated in either Eulerian or Lagrangian descriptions.
This research was supported by project HFLUIDS of the Ministerio de Educación y Ciencia of Spain and projects SAFECON and REALTIME of the European Research Council.
The authors are grateful to Prof. Shijie Zhong and Dr. Thibault Duretz for sharing their codes to evaluate the analytical solution of the buoyant Stokes flow example with a columnar viscosity structure.
Consider the steady Navier–Stokes equations described in an Eulerian framework. The stabilized momentum and mass balance equations discretized in space by the FEM lead to the following system of equations,
|
(A.1) |
It is assumed that the stabilization terms in matrices and and vector are linear, i.e. they do not depend on the solution. The only nonlinear term that remains is, therefore, matrix obtained from the Galerkin FEM discretization of the convective term (Eq.(55a)).
The Newton–Raphson linearization of Eq.(1) gives the following system of equations.
|
(A.2) |
with
|
(A.3) |
where matrices and are given in Eqs.(54) and (8) and
|
(A.4) |
In Eq.(2) index denotes the iterations. Hence,
|
(A.5) |
The Picard linearization of Eq.(1) yields the following system of equations
|
(A.6) |
The momentum and the stabilized mass balance equations discretized in space by the FEM leads to the following system of equations in the Lagrangian framework
|
where, the matrices and vectors with sub-scripts are the ones that appear due to the stabilization of the mass balance equation. Let denote the vector of unknown nodal accelerations. The momentum balance equation, i.e. Eq.(B.1), is a dynamic equation. On the contrary, the stabilized mass balance equation, i.e. Eq.(B.2), is a quasi-static equation.
Using the Newmark algorithm the balance equations given in Eqs.(B.1) and (B.2) are integrated in time () as follows
|
[1] R. Aubry, S.R. Idelsohn, E. Oñate, Particle finite element method in fluid mechanics including thermal convection–diffusion, Comput. Struct. 83 (2004) 1459–-75.
[2] R.F. Ausas , G.C. Buscaglia, S.R. Idelsohn, A new enrichment space for the treatment of discontinuous pressures in multi-fluid flows, Int. J. Numer. Meth. Fluids 70 (7) (2012) 829–850.
[3] R. Araya, G.R. Barrechea, F. Valentin, Stabilized finite element methods based on multiscale enrichment for the Stokes problem, Siam J. Numer. Anal. 44 (1) (2006) 322–-348.
[4] T. Belytschko, W.K. Liu, B. Moran, Non linear finite element for continua and structures, 2d Edition, Wiley, 2013.
[5] E. Burman, M. Fernández, P. Hansbo, Edge stabilizatio n for the incompressible Navier–Stokes equations: a continuous interior penalty finite element method, Tech. Report RR-5349, INRIA, Le Chesnay, France, 2004.
[6] E. Burman, P. Hansbo, A unified stabilized method for Stokes’ and Darcy equations, Tech. Report 2002-15, Chalmers Finite Element Center, Göteborg, Sweden, 2002.
[7] A. Caiazzo, M.A. Fernández, V. Martin, Analysis of a stabilized finite element method for fluid flows through a porous interface, Applied Mathematics Letters 24 (2011) 2124–2127.
[8] J.M. Carbonell, E. Oñate, B. Suárez, Modelling of tunnelling processes and cutting tool wear with the Particle Finite Element Method (PFEM), Accepted in Comput. Mech. (2013) DOI:10.1007/s00466-013-0835-x.
[9] R. Codina, S. Badia, On the design of discontinuous Galerkin methods for elliptic problems based on hybrid formulation, Comput. Methods Appl. Mech. Engrg. (2013) http://dx.doi.org/10.1016/j.cma.2013.05.004.
[10] F. Del Pin, S.R. Idelsohn, E. Oñate, R. Aubry, The ALE/Lagrangian Particle Finite Element Method: A new approach to computation of free-surface flows and fluid–object interactions, Computers & Fluids 36 (1) (2007) 27–38.
[11] J. Donea, A. Huerta, Finite element method for flow problems, J. Wiley & Sons, 2003, pp. 362.
[12] J. Douglas, J. Wang, An absolutely stabilized finite element method for the Stokes problem, Math. Comp. 52 (186) (1989) 495–508.
[13] T. Duretz, D. A. May, T. V. Gerya, P. J. Tackley, Discretization errors and free surface stabilization in the finite difference and marker-in-cell method for applied geodynamics: A numerical study, Geochemistry, Geophysics, Geosystems 12 (7) (2011).
[14] M.A. Fernández, J.-F. Gerbeau, V. Martin, Numerical simulation of blood flows through a porous interface, ESAIM: Mathematical Modelling and Numerical Analysis 42 (2008) 961–990.
[15] F. Gilbert, G. E. Backus, Propagator matrices in elastic wave and vibration problems, Geophysics 31 (2) (1966) 326–332.
[16] B. H. Hager, R. J. O'Connell, A simple global model of plate dynamics and mantle convection, Journal of Geophysical Research 86 (B6) (1981) 4843–4867.
[17] T.J.R. Hughes, L.P. Franca, A new finite element formulation for computational fluid dynamics: VII. The Stokes problem with various well-posed boundary conditions: Symmetric formulations that converge for all velocity/pressure spaces, Comput. Methods Appl. Mech. Engrg. 65 (1987) 85–-96.
[18] S.R. Idelsohn, E. Oñate, F. Del Pin, The particle finite element method: a powerful tool to solve incompressible flows with free-surfaces and breaking waves, Int. J. Numer. Methods Engrg. 61 (2004) 964–989.
[19] S.R. Idelsohn, E. Oñate, F. Del Pin, Fluid-structure interaction with the Particle Finite Element Method, Comput. Methods Appl. Mech. Engrg. 195 (2006) 2100–2113.
[20] S.R. Idelsohn, M. Mier-Torrecilla, E. Oñate, Multi-fluid flows with the Particle Finite Element Method, Comput Methods Appl Mech Engrg. 198 (2009) 2750–2767.
[21] S.R. Idelsohn, M. Mier-Torrecilla, R. Nigro, E. Oñate, On the analysis of heterogeneous fluids with jumps in the viscosity using a discontinuous pressure field, Comput. Mech. 46 (1) (2010) 115–124
[22] S.R. Idelsohn, E. Oñate, The challenge of mass conservation in the solution of free-surface flows with the fractional-step method: Problems and solutions, Int. J. Numer. Meth. Biomed. Engng. 26 (2010) 1313–-1330.
[23] N. Kechar, D. Silvester, Analysis of a locally stabilized mixed finite element method for the Stokes problem, Math. Comp. 58 (1992) 1–-10.
[24] M. Kronbichler, T. Heister, W. Bangerth, High accuracy mantle convection simulation through modern numerical methods, Geophysical Journal International 191 (1) (2012) 12–29.
[25] M. Mier-Torrecilla, S.R. Idelsohn, E. Oñate, Advances in the simulation of multi-fluid flows with the particle finite element method. Application to bubble dynamics, Int. J. Numer. Meth. Fluids 67 (2011) 1516–-1539.
[26] E. Oñate, Derivation of stabilized equations for advective-diffusive transport and fluid flow problems, Comput. Meth. Appl. Mech. Engng. 151 (1998) 233–267.
[27] E. Oñate, A stabilized finite element method for incompressible viscous flows using a finite increment calculus formulation, Comput Methods Appl Mech Engrg. 182 (1–2) (2000) 355–370.
[28] E. Oñate, J. García, A finite element method for fluid-structure interaction with surface waves using a finite calculus formulation, Comput. Meth. Appl. Mech. Engrg. 191 (2001) 635–660.
[29] E. Oñate, Multiscale computational analysis in mechanics using finite calculus: an introduction, Comput. Meth. Appl. Mech. Engrg. 192(28-30) (2003) 3043–3059.
[30] E. Oñate, Possibilities of finite calculus in computational mechanics, Int. J. Num. Meth. Engng. 60 (1) (2004) 255–281.
[31] E. Oñate, J. Rojek, R.L. Taylor, O.C. Zienkiewicz, Finite calculus formulation for incompressible solids using linear triangles and tetrahedra, Int. J. Numer. Meth. Engng. 59 (11) (2004a) 1473–1500.
[32] E. Oñate, S.R. Idelsohn, F. Del Pin, R. Aubry, The particle finite element method. An overview, Int. J. Comput. Methods 1 (2) (2004b) 267–307.
[33] E. Oñate, A. Valls, J. García, FIC/FEM formulation with matrix stabilizing terms for incompressible flows at low and high Reynold's numbers, Comput. Mech. 38 (4-5) (2006) 440–455.
[34] E. Oñate, J. García, S.R. Idelsohn, F. Del Pin, Finite calculus formulation for finite element analysis of incompressible flows. Eulerian, ALE and Lagrangian approaches, Comput. Meth. Appl. Mech. Engng. 195 (2006b) 3001–3037.
[35] E. Oñate, A. Valls, J. García, Computation of turbulent flows using a finite calculus-finite element formulation, Int. J. Numer. Meth. Engng. 54 (2007) 609–637.
[36] E. Oñate, M.A. Celigueta, S.R. Idelsohn, F. Salazar, B. Suárez, Possibilities of the particle finite element method for fluid-soil-structure interaction problems, Comput. Mech. 48(3) (2011) 307–318.
[37] E. Oñate, A. Franci, J.M. Carbonell, A FIC-based stabilized Lagrangian formulation with negligible mass losses for incompressible fluids. Application to free-surface flows using PFEM, Publication CIMNE, No. PI394. Submitted to Int. J. Num. Meth. Fluids, 2013.
[38] P. Ryzhakov, R. Rossi, S.R. Idelsohn, E. Oñate, A monolithic Lagrangian approach for fluid-structure interaction problems, Comput. Mech. 46 (6) 2010 883–899.
[39] O.C. Zienkiewicz, R.L. Taylor, P. Nithiarasu, The finite element method for fluid dynamics, Elsevier, 2006.
[40] S. Zhong. Analytic solutions for Stokes’ flow with lateral variations in viscosity, Geophysical Journal International 124 (1) 1996 18–28.
Published on 01/01/2015
DOI: 10.1016/j.cma.2013.12.009
Licence: CC BY-NC-SA license