You do not have permission to edit this page, for the following reason:
You can view and copy the source of this page.
<!-- metadata commented in wiki content
==STABILIZATION VIA FINITE CALCULUS IN FINITEELEMENT COMPUTATIONS==
'''
Eugenio Oñate '''
{|
|-
| International Center for Numerical
|-
| Methods in Engineering (CIMNE)
|-
| Universidad Politecnica de Cataluna
|-
| Campus Norte UPC, 08034 Barcelona, Spain
|-
| Email: [mailto:onate@cimne.upc.es onate@cimne.upc.es]
|-
| Web page: [http://www.cimne.upc.es http://www.cimne.upc.es]
|-
| Dedicated to Tom Hughes on the occasion of his 60th birthday
|}
-->
==Abstract==
The expression “finite calculus” refers to the derivation of the governing differential equations in mechanics by invoking balance of fluxes, forces, etc. in a space-time domain of finite size. The governing equations resulting from this approach are different from those of infinitesimal calculus theory and they incorporate new terms which depend on the dimensions of the balance domain. The new governing equations allow to derive naturally stabilized numerical schemes using any discretization procedure. The paper discusses the possibilities of the finite calculus method for the finite element solution of convection-diffusion problems with sharp gradients and incompressible fluid flow.
'''Keywords''' Stabilization, finite calculus, finite element method.
==1 INTRODUCTION==
It is well known that standard numerical methods such as the central finite difference (FD) method, the Galerkin finite element (FE) method and the finite volume (FV) method, among others, lead to unstable numerical solutions when applied to problems involving different scales, multiple constraints and/or high gradients. Examples of these situations are typical in the solution of convection-diffusion problems, incompressible problems in fluid and solid mechanics and strain or strain rate localization problems in solids and compressible fluids using the standard Galerkin FE method or central scheme in FD and FV methods <span id='citeF-1'></span>[[#cite-1|[1]],<span id='citeF-2'></span>[[#cite-2|2]]]. Similar instabilities are found in the application of meshless methods to those problems <span id='citeF-3'></span> <span id='citeF-4'></span> <span id='citeF-5'></span>[[#cite-3|[3]]-[[#cite-5|5]]].
The sources of the numerical instabilities in FE, FD and FV methods, for instance, have been sought in the apparent unability of the Galerkin FE method and the analogous central difference scheme in FD and FV methods, to provide a numerical procedure able to capture the different scales appearing in the solution for all ranges of the physical parameters. Typical examples are the spurious numerical oscillations in convection-diffusion problems for high values of the convective terms. The same type of oscillations are found in regions next to sharp internal layers appearing in high speed compressible flows (shocks) or in strain localization problems (shear bands) in solids. A similar problem of different nature emerges in the solution of incompressible problems in fluid and solid mechanics. Here the difficulties in satisfying the incompressibility constraint limit the choices of the approximation for the velocity (or displacement) variables and the pressure <span id='citeF-1'></span>[[#cite-1|[1]]].
The solution of above problems has been attempted in a number of ways. The underdiffusive character of the central difference scheme for treating advective-diffusive problems has been corrected in an ad-hoc manner by adding the so called “artificial diffusion” terms to the standard governing equation <span id='citeF-2'></span>[[#cite-2|[2]]]. The same idea has been successfully applied to derive stabilized FV and FE methods for convection-diffusion and fluid-flow problems <span id='citeF-1'></span>[[#cite-1|[1]],<span id='citeF-2'></span>[[#cite-2|2]]]. Other stabilized FD schemes are based on the “upwind” computation of the first derivatives appearing in the convective operator <span id='citeF-2'></span>[[#cite-2|[2]]]. The counterpart of upwind techniques in the FEM are the so called Petrov-Galerkin methods <span id='citeF-1'></span>[[#cite-1|[1]],<span id='citeF-6'></span>[[#cite-6|6]],<span id='citeF-7'></span>[[#cite-7|7]]]. Among the many methods of this kind we can name the SUPG method <span id='citeF-8'></span><span id='citeF-9'></span>[[#cite-8|[8]]-<span id='citeF-10'></span>[[#cite-10|10]]], the Galerkin Least Square (GLS) method <span id='citeF-11'></span>[[#cite-11|[11]],<span id='citeF-12'></span>[[#cite-12|12]]] the Characteristic Galerkin method <span id='citeF-13'></span><span id='citeF-14'></span>[[#cite-13|[13]]-<span id='citeF-15'></span>[[#cite-15|15]]] the Characteristic Based Split (CBS) method <span id='citeF-16'></span>[[#cite-16|[16]],<span id='citeF-17'></span>[[#cite-17|17]]] and the Subgrid Scale (SS) method <span id='citeF-18'></span><span id='citeF-19'></span><span id='citeF-20'></span>[[#cite-18|[18]]-<span id='citeF-21'></span>[[#cite-21|21]]].
The Finite Calculus (FIC) is a different route to derive stabilized numerical methods. The starting point are the modified governing differential equations of the problem derived by expressing the balance of fluxes (or equilibrium of forces) in a space-time domain of finite size <span id='citeF-22'></span>[[#cite-22|[22]]]. This introduces naturally new terms in the classical differential equations of the infinitesimal theory which are a function of the balance domain dimensions. The merit of the modified equations via the FIC approach is that they lead to stabilized schemes using ''any'' numerical method. In addition, the different stabilized FD, FE and FV methods typically used in practice can be ''recovered'' using the FIC equations <span id='citeF-22'></span>[[#cite-22|[22]],<span id='citeF-23'></span>[[#cite-23|23]]]. Moreover, these equations are the basis for deriving a procedure for computing the stabilization parameters <span id='citeF-24'></span>[[#cite-24|[24]],<span id='citeF-25'></span>[[#cite-25|25]]].
Most stabilized FEM schemes can be framed within an extended Galerkin approach where the standard Galerkin expression is modified by adding adequate residual-based terms as
<span id='eq-1'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>[\hbox{Galerkin}] +\sum \limits _e \int _{\Omega ^e} [\tau ^e] {\boldsymbol P} (N_k) \cdot {\boldsymbol r} d\Omega =0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (1)
|}
where [Galerkin] denotes the standard Galerkin expression, <math display="inline">{\boldsymbol P}(N_j)</math> is a vector which terms depend on the shape functions <math display="inline">N_j</math> (and the physical parameters of the problem), '''r''' is the vector of residuals of the finite element equations and <math display="inline">[\tau ^e]</math> is a matrix of stabilization parameters.
The computation of the stabilization parameters is still an open problem and much effort has been devoted to this topic <span id='citeF-1'></span>[[#cite-1|[1]],<span id='citeF-2'></span>[[#cite-2|2]],<span id='citeF-7'></span>[[#cite-7|7]]-<span id='citeF-21'></span>[[#cite-21|21]],<span id='citeF-36'></span>[[#cite-36|36]]].
Different stabilized methods can be derived from Eq.([[#eq-1|1]]) by chosing expressions for matrices '''P''' and <math display="inline">[\tau ^e]</math>. In this paper we will focus in the stabilized finite element formulation using the FIC method. The equivalent form of Eq.([[#eq-1|1]]) is written in the FIC formulation as <span id='citeF-1'></span>[[#cite-1|[1]]-<span id='citeF-7'></span>[[#cite-7|7]]]
<span id='eq-2'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _\Omega N_k r_i d\Omega + \sum \limits _e \int _{\Omega ^e} {h_j\over 2} {\partial N_k\over \partial x_j} r_i d\Omega =0\quad i=1,n_r </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2)
|}
where <math display="inline">n_{r}</math> is the number of residual equations, <math display="inline">r_i</math> is the <math display="inline">i</math>th residual equation and <math display="inline">h_j</math> are characteristic length parameters which are typically of the order of the element dimensions.
The FIC formulation has been used in conjunction with the finite element formulation to solve a variety of problems in convection-diffusion <span id='citeF-23'></span>[[#cite-23|[23]]-<span id='citeF-27'></span>[[#cite-27|27]]] incompressible fluid dynamics involving free surfaces <span id='citeF-28'></span>[[#cite-28|[28]]-<span id='citeF-32'></span>[[#cite-32|32]]] and non linear solid mechanics problems allowing for large strains <span id='citeF-28'></span>[[#cite-28|[28]],<span id='citeF-41'></span>[[#cite-41|41]],<span id='citeF-42'></span>[[#cite-42|42]]] using in all cases linear triangles and tetrahedra with equal interpolation for all variables.
The layout of the paper is the following. In the next section the main concepts of the FIC method are introduced. Applications of the FIC method to convection-diffusion problems with sharp gradients are detailed and some examples of application are given. Finally the possibilities of the FIC method in incompressible fluid mechanics are discussed and a finite element formulation is presented.
==2 THE FINITE CALCULUS METHOD==
We will consider a convection-diffusion problem in a 1D domain <math display="inline">\Omega </math> of length <math display="inline">L</math>. The equation of balance of fluxes in a subdomain of size <math display="inline">d</math> belonging to <math display="inline">\Omega </math> (Figure [[#img-1|1]]) is written as
<span id='eq-3'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>q_A - q_B=0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3)
|}
where <math display="inline">q_A</math> and <math display="inline">q_B</math> are the incoming and outgoing fluxes at points <math display="inline">A</math> and <math display="inline">B</math>, respectively. The flux <math display="inline">q</math> includes both convective and diffusive terms; i.e. <math display="inline">q=v\phi - k{d\phi \over dx}</math>, where <math display="inline">\phi </math> is the transported variable (i.e. the temperature in a thermal problem), <math display="inline">v</math> is the velocity and <math display="inline">k</math> is the diffusitivity of the material.
<div id='img-1'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Samper_674218428-majesus2.png|300px|Equilibrium of fluxes in a space balance domain of finite size]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 1:''' Equilibrium of fluxes in a space balance domain of finite size
|}
Let us express now the fluxes <math display="inline">q_A</math> and <math display="inline">q_B</math> in terms of the flux at an arbitrary point <math display="inline">C</math> within the balance domain (Figure [[#img-1|1]]). Expanding <math display="inline">q_A</math> and <math display="inline">q_B</math> in Taylor series around point <math display="inline">C</math> up to second order terms gives
<span id='eq-4'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>q_A= q_C - d_1 \frac{dq}{d x}\vert _C+ \frac{d^2_1}{2}\frac{d^2q}{dx^2}\vert _C + O(d^3_1)\quad ,\quad q_B= q_C + d_2 \frac{dq}{d x}\vert _C+\frac{d^2_2}{2}\frac{d^2q}{dx^2}\vert _C + O(d^3_2) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4)
|}
Substituting Equation ([[#eq-2|2]]) into Equation ([[#eq-1|1]]) gives after simplification
<span id='eq-5'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\frac{dq}{dx}-\underline{\frac{h}{2} \frac{d^2q}{dx^2}}=0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5)
|}
where <math display="inline">h=d_1-d_2</math> and all the derivatives are computed at the arbitrary point <math display="inline">C</math>.
Standard calculus theory assumes that the domain <math display="inline">d</math> is of infinitesimal size and the resulting balance equation is simply <math display="inline">{dq\over dx}=0</math>. We will relax this assumption and allow the space balance domain to have a ''finite size''. The new balance equation ([[#eq-3|3]]) incorporates now the underlined term which introduces the ''characteristic length'' <math display="inline">h</math>. Obviously, accounting for higher order terms in Equation ([[#eq-2|2]]) would lead to new terms in Equation ([[#eq-3|3]]) involving higher powers of <math display="inline">h</math>.
Distance <math display="inline">h</math> in Equation ([[#eq-3|3]]) can be interpreted as a free parameter depending on the location of point <math display="inline">C</math> within the balance domain. Note that <math display="inline">-d\le h\le d</math> and, hence, <math display="inline">h</math> can take a negative value. At the discrete solution level the domain <math display="inline">d</math> should be replaced by the balance domain around a node. This gives for an equal size discretization <math display="inline">-l^e\le h \le l^e</math> where <math display="inline">l^e</math> is the element or cell dimension. The fact that Equation ([[#eq-3|3]]) is the ''exact balance equation'' (up to second order terms) for any 1D domain of finite size and that the position of point <math display="inline">C</math> is arbitrary, can be used to derive numerical schemes with enhanced properties simply by computing the characteristic length parameter from an adequate “optimality” rule leading to an smaller error in the numerical solution <span id='citeF-22'></span>[[#cite-22|[22]]-<span id='citeF-24'></span>[[#cite-24|24]]].
Consider, for instance, Equation ([[#eq-3|3]]) applied to the 1D convection-diffusion problem. Neglecting third order derivatives of <math display="inline">\phi </math>, Equation ([[#eq-3|3]]) can be rewritten in terms of <math display="inline">\phi </math> as
<span id='eq-6'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>-v \frac{d\phi }{dx}+\left(k+\frac{v h}{2}\right)\frac{d^2\phi }{dx^2}=0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (6)
|}
We see clearly that the FIC method introduces ''naturally'' an additional diffusion term in the standard convection-diffusion equation. This is the basis of the popular “artificial diffusion” procedure <span id='citeF-1'></span>[[#cite-1|[1]],<span id='citeF-2'></span>[[#cite-2|2]],<span id='citeF-6'></span>[[#cite-6|6]]] where the characteristic length <math display="inline">h</math> is typically expressed as a function of the cell or element dimension. The ''critical'' value of <math display="inline">h</math> can be computed by introducing an optimality condition, such as obtaining a physically meaningful solution. An interpretation of the FIC equations as a modified residual method is presented in <span id='citeF-28'></span>[[#cite-28|[28]]].
Equation ([[#eq-3|3]]) can be extended to account for source terms. The modified governing equation can then be written in compact form as
<span id='eq-7'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r- \underline{\frac{h}{2} \frac{dr}{dx}}=0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (7)
|}
with
<span id='eq-8'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r : = -v \frac{d\phi }{dx}+ \frac{d}{dx}\left(k \frac{d\phi }{dx}\right)+ Q </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (8)
|}
where <math display="inline">Q</math> is the external source.
The essential (Dirichlet) boundary condition for eqn. ([[#eq-7|7]]) is the standard one (i.e. <math display="inline">\phi =\bar \phi </math> on <math display="inline">\Gamma _\phi </math> where <math display="inline">\Gamma _\phi </math> is the boundary whete the prescribed value <math display="inline">\bar \phi </math> is imposed). For consistency a stabilized Neumann boundary condition must be obtained.
<div id='img-2'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Samper_674218428-Neumann.png|300px|Balance domain next to a Neumann boundary point B]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 2:''' Balance domain next to a Neumann boundary point B
|}
The length of the balance segment <math display="inline">AB</math> next to a Neumann boundary is taken as one half of the characteristic length <math display="inline">h</math> for the interior domain (Figure [[#img-2|2]]). The balance equation, assuming a constant distribution for the source <math display="inline">Q</math> over <math display="inline">AB</math>, is
<span id='eq-9'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\bar q - q(x_A) - [u \phi ]_{A} - \frac{h}{2} Q = 0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (9)
|}
where <math display="inline">\bar q</math> is the prescribed total flux at <math display="inline">x=L</math> and <math display="inline">x_A=x_B-\frac{h}{2}</math>.
Using a second order expansion for the advective and diffusive fluxes at point <math display="inline">A</math> gives <span id='citeF-22'></span>[[#cite-22|[22]]]
<span id="eq-10"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>-u \phi + k \frac{\mathrm{d} \phi }{\mathrm{d} x} + \bar q - \underline{\frac{h}{2} r} \qquad on \quad x=L </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (10)
|}
where <math display="inline">r</math> is given by eqn. ([[#eq-8|8]]).
Note that for <math display="inline">h=0</math> the infinitesimal form of the 1D Neumann boundary condition is obtained.
The underlined terms in Equations ([[#eq-7|7]]) and ([[#eq-10|10]]) introduce the necessary stabilization in the discrete solution using whatever numerical scheme.
The time dimension can be simply accounted for the FIC method by considering the balance equation in a space-time slab domain. Application of the FIC method to the transient convection-diffusion equations and to fluid flow problems can be found in <span id='citeF-23'></span>[[#cite-23|[23]],<span id='citeF-26'></span>[[#cite-26|26]],<span id='citeF-29'></span>[[#cite-29|29]]-<span id='citeF-33'></span>[[#cite-33|33]]]. Quite generally the FIC equation can be written for any problem in mechanics as <span id='citeF-22'></span>[[#cite-22|[22]]]
<span id='eq-11'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r_i - \underline{\frac{h_j}{2}{\partial r_i \over \partial x_j}}-\underline{\frac{\delta }{2}{\partial r_i \over \partial t}}=0 \quad , \begin{array}{l}i=1,n_b\\ j=1,n_d \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (11)
|}
where <math display="inline">r_i</math> is the ith standard differential equation of the infinitesimal theory, <math display="inline">h_j</math> are characteristic length parameters, <math display="inline">\delta </math> is a time stabilization parameter and <math display="inline">t</math> the time; <math display="inline">n_b</math> and <math display="inline">n_d</math> are respectively the number of balance equations and the number of space dimensions of the problem (i.e., <math display="inline">n_d =2</math> for 2D problems, etc.). Indeed for the transient case the initial boundary conditions must be specified. The usual sum convention for repeated indexes is used in the text unless otherwise specified.
For example, in the case of the convection-diffusion problem <math display="inline">n_b=1</math> and Equation ([[#eq-8|8]]) is particularized as
<span id='eq-12'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r- \underline{\frac{h_j}{2}{\partial r \over \partial x_j}}\frac{h_j}{2}{\partial r \over \partial x_j}-\underline{\frac{\delta }{2}{\partial r \over \partial t}}\frac{\delta }{2}{\partial r \over \partial t}=0\quad , \qquad j=1,n_d </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (12)
|}
with
<span id='eq-13'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r:=-\left(\displaystyle {\partial \phi \over \partial t}+v_j \displaystyle {\partial \phi \over \partial x_j}\right)+ \displaystyle \frac{d}{dx_j}\left(k \displaystyle \frac{d\phi }{dx_j}\right)+ Q </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (13)
|}
For a transient solid mechanics problems Equation (11) applies with <math display="inline">n_b=n_d</math> and
<span id='eq-14'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r_i:= -\rho \frac{\partial ^2u_i}{\partial t^2}+ {\partial \sigma _{ij} \over \partial x_j}+b_i\quad , \quad i,j=1,n_d </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (14)
|}
where <math display="inline">u_i</math> are the displacements, <math display="inline">\sigma _{ij}</math> are the stresses and <math display="inline">b_i</math> the external body forces.
The modified Neumann boundary conditions in the FIC formulation can be written in the general case as <span id='citeF-22'></span>[[#cite-22|[22]]]
<span id='eq-15'></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>q_{ij}n_j - \bar t_i - \underline{{h_j\over 2} n_j r_i}{h_j\over 2} n_j r_i =0\quad \hbox{on } \Gamma _q \quad i=1,n_b \quad j=1,n_d </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (15)
|}
where <math display="inline">q_{ij}</math> are the generalized “fluxes” (such as the heat fluxes in a thermal problem or the stresses in solid or fluid mechanics), <math display="inline">\bar t_i</math> are the prescribed boundary fluxes and <math display="inline">n_j</math> are the components of the outward normal to the Neumann boundary <math display="inline">\Gamma _q</math>.
In above equations we have underlined once more the terms introduced by the FIC approach which are essential for deriving stabilized numerical formulations.
==3 WHAT DO THE CHARACTERISTIC PARAMETERS MEAN?==
The characteristic parameters in the space and time dimension (<math display="inline">h_i</math> and <math display="inline">\delta </math>) can be interpreted as free ''intrinsic parameters'' giving the “exact” expression of the balance equations (up to first order terms) in a space-time domain of finite size.
Let us consider now the discretized solution of the modified governing equations. For simplicity we will focuss here in the simplest scalar 1D problem. The variable <math display="inline">\phi </math> is approximated as <math display="inline">\phi \simeq \hat \phi </math> where <math display="inline">\hat \phi </math> denotes the approximated solution. The values of <math display="inline">\hat \phi </math> are now expressed in terms of a finite set of parameters using any discretization procedure (finite elements, finite diferences, etc.). The discretized FIC governing equation would read now
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\hat r- \frac{h}{2}{\partial \hat r \over \partial x}-\frac{\delta }{2}{\partial \hat r \over \partial t}=r_{\bar \Omega }\quad , \qquad \hbox{in } \bar \Omega </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (16)
|}
where <math display="inline">\hat r:=r (\hat \phi )</math> and <math display="inline">r_{\bar \Omega }</math> is the residual of the discretized FIC equations.
The meaning of the characteristic parameters <math display="inline">h</math> and <math display="inline">\delta </math> in the discretized equation (16) changes (although the same simbols than in Eqs.(11) and (12) have been kept). The <math display="inline">h</math> and <math display="inline">\delta </math> parameters become now ''of the order of magnitude of the discrete domain'' where the balance laws are satisfied. In practice, this means that
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\begin{array}{c}-l \le h\le l\\ 0\le \delta \le \Delta t\end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (17)
|}
where <math display="inline">l</math> is the grid dimension in the space discretization (i.e. the element size in the FEM or the cell size in the FDM) and <math display="inline">\Delta t</math> is the time step used to solve the transient problem.
The values of the characteristic parameters can be found now in order to obtain an ''a correct numerical solution''. The meaning of “correct solution” must be obviously properly defined. Ideally, this would be a solution giving “exact” values at a discrete number of points (i.e. the nodes in a FE mesh). This is infortunatelly impossible for practical problems (with the exception of very simple 1D and 2D cases) and, in practice, <math display="inline">h</math> and <math display="inline">\delta </math> are computed making use of some chosen optimality rule, such as ensuring that the error of the numerical solution diminishes for appropriate values of the characteristic parameters <span id='citeF-22'></span>[[#cite-22|22]]. This suffices in practice to obtain physically sound (stable) numerical results for any range of the physical parameters of the problem, always within the limitation of the discretization method chosen.
It is quite usual to accept that the characteristic parameters are ''constant'' within each element. This assumption is not justificable “a priori” and, in general, we should regard those parameters as functions of the space and time dimension and of the solution at each point of the analysis domain.
==4 FINITE ELEMENT DISCRETIZATION OF THE FIC EQUATIONS FOR ADVECTIVE-DIFFUSIVE PROBLEMS==
Let us consider the FIC governing equations for the steady-state advective-diffusive problem defined in vector form for the multidimensional case as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r - {1\over 2}{\boldsymbol h}^T {\boldsymbol \nabla }r=0\quad \hbox{in } \Omega </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (18)
|}
with
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\phi -\bar \phi =0 \quad \hbox{on } \Gamma _\phi </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (20a)
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> {\boldsymbol n}^T {\boldsymbol D} {\boldsymbol \nabla }\phi + \bar {\boldsymbol q} - {1\over 2}{\boldsymbol h}^T{\boldsymbol n} r =0 \quad \hbox{on } \Gamma _q</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (20b)
|}
with
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r:= - {\boldsymbol v}^T {\boldsymbol \nabla } \phi + {\boldsymbol \nabla }^{\!\! T} {\boldsymbol D} {\boldsymbol \nabla }\phi + Q </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (21)
|}
In above equations <math display="inline">\boldsymbol h</math> is the characteristic length vector, <math display="inline">{\boldsymbol \nabla }</math> is the gradient vector, <math display="inline">{\boldsymbol D}</math> is the diffusivity matrix, <math display="inline">{\boldsymbol n}</math> is the normal vector and <math display="inline">{\boldsymbol v}</math> is the velocity vector.
A finite element interpolation of the unknown <math display="inline">\phi </math> can be written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\phi \simeq \hat \phi =\sum N_i \hat \phi _i </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (22)
|}
where <math display="inline">N_i</math> are the shape functions and <math display="inline">\hat \phi _i</math> are the nodal values of the approximate function <math display="inline">\hat \phi </math> <span id='citeF-1'></span>[[#cite-1|1]].
Application of the Galerkin FE method to Equations (12)-(13b) gives, after integrating by parts the term <math display="inline">{\boldsymbol \nabla }r</math> (and neglecting the space derivatives of <math display="inline">{\boldsymbol h}</math>)
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _\Omega \!\!N_i \hat r d\Omega -\!\!\!\int _{\Gamma _q} \!\!N_i ({\boldsymbol n}^T {\boldsymbol D} {\boldsymbol \nabla }\hat \phi +\bar q_n)d\Gamma + \!\!\sum \limits _e {1\over 2} \int _{\Omega ^e}\!\! ({\boldsymbol \nabla } {\boldsymbol h}^T {\boldsymbol \nabla } N_i + N_i{\boldsymbol \nabla }^{\!\! T} {\boldsymbol h}) \hat r d\Omega =0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (23)
|}
The last integral in Equation (23) has been expressed as the sum of the element contributions to allow for interelement discontinuities in the term <math display="inline">{\boldsymbol \nabla }\hat r</math>, where <math display="inline">\hat r = r (\hat \phi )</math> is the residual of the FE solution of the infinitesimal equations.
Note that the residual terms have disappeared from the Neumann boundary <math display="inline">\Gamma _q</math>. This is due to the consistency of the FIC terms in Equation (20b).
The last term in the third integral involving the derivatives of '''h''' vanishes if '''h''' is assumed to be constant wihtin each element.
===4.1 Equivalence with SUPG form===
The definition of vector <math display="inline"> \boldsymbol h</math> is a crucial step as the quality of the stabilized solution depends on the module and direction of <math display="inline"> \boldsymbol h</math>.
We could, for instance, assume that vector <math display="inline">\boldsymbol h</math> is ''parallel'' to the velocity <math display="inline">\boldsymbol v</math>, i.e. <math display="inline">{\boldsymbol h}= h{{\boldsymbol v}\over \vert {\boldsymbol v}\vert }</math> where <math display="inline">h</math> is a characteristic length. Under these conditions, Equation (23) reads (for '''h''' assumed to be constant within each element)
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _\Omega N_i \hat r d\Omega - \int _{\Gamma _q} N_i ({\boldsymbol n}^T {\boldsymbol D} {\boldsymbol \nabla }\hat \phi +\bar q_n)d\Omega{+} \sum \limits _e \int _{\Omega ^e} {h\over 2\vert {\boldsymbol v}\vert } {\boldsymbol v}^T{\boldsymbol \nabla } N_i \hat rd\Omega =0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (24)
|}
Equation (24) coincides precisely with the so called Streamline-Upwind-Petrov-Galerkin (SUPG) method <span id='citeF-1'></span>[[#cite-1|1]]. The ratio <math display="inline">\displaystyle{h\over 2\vert {\boldsymbol v}\vert }</math> has dimensions of time and it is termed element ''intrinsic time'' parameter <math display="inline">\tau </math>.
It is important to note that the SUPG expression is a ''particular case'' of the more general FIC formulation. This explains the limitations of the SUPG method to provide stabilized numerical results in the vicinity of sharp gradients of the solution transverse to the flow direction. In general, the adequate direction of <math display="inline">{\boldsymbol h}</math> is not coincident with that of <math display="inline">{\boldsymbol v}</math> and the components of <math display="inline">{\boldsymbol h}</math> introduce the necessary stabilization along the streamlines and the transverse directions to the flow. In this manner, the FIC method reproduces the best-features of the so-called stabilized discontinuity-capturing schemes <span id='citeF-1'></span>[[#cite-1|1]].
==5 INTERPRETATION OF THE DISCRETE SOLUTION OF THE FIC EQUATIONS==
Let us consider the solution of a physical problem in a space domain <math display="inline">\Omega </math>, governed by a differential equation <math display="inline">r(\phi ) =0</math> in <math display="inline">\Omega </math> with the corresponding boundary conditions. The “exact” (analytical) solution of the problem will be a function giving the sought distribution of <math display="inline">\phi </math> for any value of the geometrical and physical parameters of the problem. Obviously, since the analytical solution is difficult to find (practically impossible for real situations), an approximate numerical solution is found <math display="inline">\phi \simeq \hat \phi </math> by solving the problem <math display="inline">\hat r =0</math>, with <math display="inline">\hat r = r(\hat \phi )</math>, using a particular discretization method (such as the FEM). The distribution of <math display="inline">\phi </math> in <math display="inline">\Omega </math> is now obtained for specific values of the geometrical and physical parameters. The accuracy of the numerical solution depends on the discretization parameters, such as the number of elements and the approximating functions chosen in the FEM. Figure 1 shows a schematic representation of the distribution of <math display="inline">\hat \phi </math> along a line for different discretizations <math display="inline">M_1,M_2,\cdots , M_n</math> where <math display="inline">M_1</math> and <math display="inline">M_n</math> are the coarser and finer meshes, respectively. Obviously for <math display="inline">n</math> being sufficiently large a good approximation of <math display="inline">\phi </math> will be obtained and for <math display="inline">M_\infty </math> the numerical solution <math display="inline">\hat \phi </math> will coincide with the “exact” (and probably unreachable) analytical solution <math display="inline">\phi </math> at all points. Indeed in some problems the <math display="inline">M_\infty </math> solution can be found by a “clever” choice of the discretization parameters.
An unstable solution will occur when for some (typically coarse) discretizations, the numerical solution provides non physical or very unaccurate values of <math display="inline"> \hat \phi </math>. A situation of this kind is represented by curves <math display="inline">M_1</math> and <math display="inline">M_2</math> of the left hand side of Figure 1. These unstabilities will disappear by an appropriate mesh refinement (curves <math display="inline">M_3,M_4 \cdots </math> in Figure 1) at the obvious increase of the computational cost.
In the FIC formulation the starting point are the modified differential equations of the problem as previously described. These equations are however not useful to find an analytical solution, <math display="inline">\phi (x)</math>, for the physical problem. Nevertheless, the numerical solution of the FIC equation can be readily found. Moreover, by adequately choosing the values of the characteristic length parameter <math display="inline">h</math>, the numerical solution of the FIC equations will be always stable (physically sound) for any discretization level chosen.
This process is schematically represented in Figure 1 where it is shown that the numerical oscillations for the coarser discretizations <math display="inline">M_1</math> and <math display="inline">M_2</math> dissapear when using the FIC procedure.
We can conclude the FIC approach allows us to obtain a ''better numerical solution for a given discretization''. Indeed, as in the standard infinitesimal case, the choice of <math display="inline">M_\infty </math> will yield the (unreachable) exact analytical solution and this ensures the consistency of the method.
<div id='img-3'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Samper_674218428-Fig13con215.png|600px|Schematic representation of the numerical solution of a physical problem using standard infinitesimal calculus and finite calculus.]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 3:''' Schematic representation of the numerical solution of a physical problem using standard infinitesimal calculus and finite calculus.
|}
==6 COMPUTATION OF THE CHARACTERISTIC LENGTH VECTOR==
The computation of the characteristic lengths is a crucial step as its value affect to the stability (and accuracy) of the numerical solution. This problem is common to all stabilized FE methods and different approaches to compute the stabilization parameters using typically extensions of the optimal values for simple 1D case (giving a nodally exact solution) have been proposed <span id='citeF-1'></span>[[#cite-1|1]].
The computation the characteristic length values in 2D and 3D problems is of much higher complexity than in 1D problems. Indeed in 1D situations <math display="inline">h</math> is an escalar (either positive or negative) while it becomes a vector 2D/3D problems. Moreover, numerical experiments indicate that in 2D/3D situations the direction of vector '''h''' is crucial in order to obtain stabilized numerical solutions in problems where boundary layers and arbitrary internal sharp layers exist. It is well known that the SUPG assumption ('''h''' being parallel to '''u''') generally does not suffice to give stable results in those cases <span id='citeF-1'></span>[[#cite-1|1]]. Conversely, the numerical results in those cases are more insensitive to the module of '''h''' which can be taken of the order of a typical element dimension.
Much effort has been spent by the author in the past in order to derive numerical schemes for computing vector '''h''' in an iterative manner. The interested reader can find details on the different procedures in <span id='citeF-22'></span>[[#cite-22|22]].
We present here a new approach for computing vector '''h''' which is general and applicable to all FIC equations in mechanics.
The basis of the method is to ''assume that vector h is a function of the gradient of the numerical solution''. The simplest choice for convection-diffusion problems is
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\boldsymbol h}={\boldsymbol H} {\boldsymbol \nabla } \hat \phi </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (25)
|}
where '''H''' is a matrix which terms are a function of the element size and the inverse of the gradient vector components. The following simple expression of <math display="inline">{\boldsymbol H}</math> for 2D problems has found to give excellent numerical results in practice <span id='citeF-43'></span>[[#cite-43|43]]
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\boldsymbol H} =h\left[\begin{matrix}\displaystyle \left({\partial \hat \phi \over \partial x}\right)^{-1} &0\\ 0 & \displaystyle \left({\partial \hat \phi \over \partial y}\right)^{-1}\\\end{matrix}\right] </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (26)
|}
where <math display="inline">h</math> is a characteristic length parameter. As mentioned above the value of this length is not so relevant in practice. The rationale for choosing Eqs.(25) is explained in <span id='citeF-43'></span>[[#cite-43|43]].
A simple expression for computing the length <math display="inline">h^e</math> for each element is
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>h^e=\max \left|{\boldsymbol l}_i^T {{\boldsymbol \nabla } \hat \phi \over \vert {\boldsymbol \nabla } \hat \phi \vert }\right|\quad ,\qquad i=1,n_l </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (27)
|}
where <math display="inline">{\boldsymbol l}_i</math> are the element side vectors and <math display="inline">n_l</math> is the number of sides for each element (i.e. <math display="inline">n_l=3</math> for triangles, etc.).
Substituting Eq.(25) into the weighted residual form (23) gives
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _\Omega N_i \hat r d\Omega + \sum \limits _e {1\over 2} \int _{\Omega ^e} h \left[{\boldsymbol \nabla }^{\!\! T} N_i {\boldsymbol H} {\boldsymbol \nabla }\hat \phi + N_i {\boldsymbol \nabla }^{\!\! T} {\boldsymbol H} {\boldsymbol \nabla }\hat \phi \right]\hat r d\Omega + b.t.=0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (28)
|}
where ''b.t.'' stands for the boundary integral terms.
Let us assume now that a linear interpolation is taken for <math display="inline">\phi </math> in Eq.(22). This allows to neglect the second term of the second integral in (28). The new expression can be written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _\Omega N_i \hat r d\Omega + \sum \limits _e {1\over 2} \int _{\Omega ^e} ({\boldsymbol \nabla }^{\!\! T} N_i) \hat r {\boldsymbol H} {\boldsymbol \nabla }\phi d\Omega + b.t.=0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (29)
|}
We see now clearly that the second integral has the form of a Laplacian matrix where the term <math display="inline">\displaystyle{\hat r \over 2}{\boldsymbol H}</math> takes the role of a diffusivity matrix.
Let us integrate now the diffusion term within the first integral of Eq.(29). This gives after small algebra
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\sum \limits _e \int _{\Omega ^e} \left[N_i {\boldsymbol v}^T {\boldsymbol \nabla }\hat \phi + ({\boldsymbol \nabla }^{\!\! T} N_i) {\boldsymbol D}^* {\boldsymbol \nabla } \hat \phi \right]d\Omega - \int _\Omega N_i Q d\Omega + \int _{\Gamma _q} N_i \bar q_n d\Gamma =0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (30)
|}
where the diffusivity matrix <math display="inline">{\boldsymbol D}^*</math> is
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\boldsymbol D}^* = {\boldsymbol D} + {\vert \hat r \vert \over 2}{\boldsymbol H} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (31)
|}
and '''I''' is the unit matrix. In Eq.(29) the absolute value of <math display="inline">\vert \hat r \vert </math> is taken to ensure a positive value of the new diffusivity terms.
Eq.(30) yields the final system of discretized equations in the standard form
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\boldsymbol K} {\boldsymbol a} ={\boldsymbol f} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (32)
|}
where the stiffness matrix '''K''' and the nodal vector '''f''' are assembled from the element contributions
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\boldsymbol K}_{ij}^e = \int _{\Omega ^e} ({\boldsymbol \nabla }^{\!\! T} N_i) {\boldsymbol D}^* {\boldsymbol \nabla }N_jd\Omega </math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (33)
|-
| style="text-align: center;" | <math> {\boldsymbol f}_{i}^e = \int _{\Omega ^e}N_i Q d\Omega </math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (34)
|}
|}
An iterative algorithm giving a stabilized solution can be implemented as follows
<ol>
<li>Compute an initial solution <math display="inline">{\boldsymbol a}^1</math> solving Eq.(33) for an initial value of <math display="inline">{\boldsymbol D}^*</math>. Typically one can chose
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>
^1{\boldsymbol D}^*={\boldsymbol D}+{h^e \over 2}\left[\begin{matrix}\vert u\vert &0\\ 0 & \vert v\vert \\\end{matrix}\right] </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (35)
|}</li>
<li>Compute enhanced values of the gradient <math display="inline">\overline{{\boldsymbol \nabla }\hat \phi }</math>. This can be performed using a derivative recovery scheme <span id='citeF-1'></span>[[#cite-1|1]]. </li>
<li>Compute updated element values of the characteristic length vector <math display="inline">{}^{i+1}{\boldsymbol h}</math>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>
{}^{i+1}{\boldsymbol h}^e = h^e \left.\begin{matrix}{}^{^i}\\\\\end{matrix}\right.\!\!\!\left[{\overline{{\boldsymbol \nabla }\hat \phi }\over \vert \overline{{\boldsymbol \nabla }\hat \phi }\vert }\right]^e </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (36)
|}</li>
where <math display="inline">{}^i\bar{(\cdot )}^e</math> denotes mean enhanced values for element <math display="inline">e</math> for the <math display="inline">i</math>th iteration.
<li>Compute the element residuals using the enhanced derivative field by
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>
{}^i \bar{\hat r}^e = \int _{\Omega ^e} \left[{}^i \bar{\hat r} - {1\over 2} [{}^{i+1}{\boldsymbol h}^e]^T {\boldsymbol \nabla } {}^i \bar{\hat r}\right]d\Omega </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (37)
|}</li>
<li>Check for convergence of element residuals
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>
{\left[\sum \limits _e ({}^i \bar{\hat r}^e)^2\right]^{1/2}\over NQ \Omega ^e }\le \varepsilon _r </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (38)
|}</li>
where <math display="inline">\varepsilon _r</math> is a prescribed tolerance (typically <math display="inline">\varepsilon _r \simeq 10^{-4}</math>) and <math display="inline">N</math> is the total number of elements in the mesh.
The term in the denominator in Eq.(38) is chosen so as to scale the residual error. For <math display="inline">Q=0</math> the denominator should be replaced by <math display="inline">N[\Omega ^e]^{1/2} \vert {\boldsymbol v}_{max}\vert \bar \phi _{max}</math> where <math display="inline">{\boldsymbol v}_{max}</math> is the maximum value of the velocity vector in the mesh, <math display="inline">\bar \phi _{max}</math> is the maximum prescribed value of <math display="inline">\phi </math> at the Dirichlet boundary and <math display="inline">n_d=2/3</math> for 2D/3D problems.
<li>Repeat steps 1–5 until convergence is satisfied using the updated value of <math display="inline">{\boldsymbol D}^*</math>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>
^i{\boldsymbol D}^* = {\boldsymbol D} + {\vert {}^i \bar{\hat r} \vert \over 2} {}^i {\boldsymbol H} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (39)
|}</li>
</ol>
Numerical experimentals have shown that above process yields a converged stabilized solution in 2–3 iterations. Details and extensions of this scheme including numerical results can be found in <span id='citeF-43'></span>[[#cite-43|43]].
==7 GENERALIZATION OF THE FIC STABILIZATION PROCESS WITH GRADIENT ORIENTED CHARACTERISTIC LENGTH VECTORS==
The FIC stabilization process described in previous section can be generalized by choosing vector '''h''' in the direction of the solution gradient as follows.
Let us consider a more general expression of the FIC equation (11) for a multidimensional problem where a different expression for '''h''' is chosen for each balance equation (for simplicity we restrict onselves to steady state problems only)
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r_i - {1\over 2} {\boldsymbol \nabla }^T {\boldsymbol h}_i r_i =0\quad \hbox{no sum in }i\quad ;\quad i=1,n_b~;~j=1,n_d </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (40)
|}
where <math display="inline">n_b</math> and <math display="inline">n_d</math> were defined in Eq.(11).
We choose the characteristic length vectors <math display="inline">{\boldsymbol h}_i</math> as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\boldsymbol h}_i=h_i {{\boldsymbol \nabla } u_i\over \vert {\boldsymbol \nabla } u_i\vert }\qquad \hbox{no sum in }i </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (41)
|}
where <math display="inline">u_j</math> is an appropriate variable corresponding to the <math display="inline">i</math>th balance equation. For instance in a fluid mechanics problem <math display="inline">u_i</math> would be the velocity along the <math display="inline">i</math>th axis.
The weak form of Eq.(40) is obtained after finite element discretization as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _{\Omega ^e} N_k \hat r_i d\Omega + \sum \limits _e {1\over 2} \int _{\Omega ^e} {h_i\hat r_i \over \vert {\boldsymbol \nabla }\hat u_i\vert } {\boldsymbol \nabla }^{\!\! T} N_k {\boldsymbol \nabla }\hat u_i d\Omega + b.t.=0\quad \hbox{no sum in }i </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (42)
|}
We note that the stabilization term plays the role of a Laplacian which introduces a residual-type diffusion into the Galerkin equation.
The procedure is particularized next for the equations of an incompressible fluid.
==8 FIC METHOD FOR INCOMPRESSIBLE FLUID MECHANICS==
The FIC method can be applied to derive the modified equations of momentum, mass and energy conservation in fluid mechanics. The general form of these equations for a compressible fluid was presented in <span id='citeF-22'></span>[[#cite-22|22]]. We will consider here the particular case of a ''viscous incompressible fluid''. The FIC equations for the momentum and mass balance in this case can be written as (neglecting time stabilization terms)
===Momentum===
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r_{m_i} - \underline{{1\over 2} h_{m_j}^i{\partial r_{m_i} \over \partial x_j}}{1\over 2} h_{m_j}^i{\partial r_{m_i} \over \partial x_j}=0 \qquad \hbox{no sum in }i </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (43)
|}
===Mass balance===
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r_d - \underline{{1\over 2} h_{d_j} {\partial r_d \over \partial x_j}}{1\over 2} h_{d_j} {\partial r_d \over \partial x_j}=0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (44)
|}
where
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>r_{m_i} = \rho \left({\partial v_i \over \partial t}+v_j {\partial v_i \over \partial x_j}\right)+ {\partial p \over \partial x_i}- {\partial s_{ij} \over \partial x_j}-b_i</math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (45)
|-
| style="text-align: center;" | <math> r_d = {\partial v_i \over \partial x_i}\qquad i,j = 1, n_d </math>
| style="width: 5px;text-align: right;white-space: nowrap;" | (46)
|}
|}
Above <math display="inline">v_i</math> is the velocity along the ith global axis, <math display="inline">\rho </math> is the (constant) density of the fluid, <math display="inline">p</math> is the absolute pressure (defined positive in compression), <math display="inline">b_i</math> are body forces and <math display="inline">s_{ij}</math> are the viscous deviatoric stresses related to the viscosity <math display="inline">\mu </math> by the standard expression
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>s_{ij}=2\mu \left(\dot \varepsilon _{ij} - \delta _{ij} {1\over 3} {\partial v_k \over \partial x_k}\right) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (47)
|}
where <math display="inline">\delta _{ij}</math> is the Kronecker delta and the strain rates <math display="inline">\dot \varepsilon _{ij}</math> are
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\dot \varepsilon _{ij}={1\over 2} \left({\partial v_i \over \partial x_j}+{\partial v_j \over \partial x_i}\right) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (48)
|}
The FIC boundary conditions are written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>n_j \sigma _{ij} -t_i + \underline{{1\over 2} h_{m_j} n_j r_{m_i}}{1\over 2} h_{m_j} n_j r_{m_i}=0 \quad \hbox{on }\Gamma _t </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (49)
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>v_j - \bar v_j =0 \quad \hbox{on }\Gamma _u </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (50)
|}
and the initial condition <math display="inline">v_j =v_j^0</math> for <math display="inline">t=t_0</math>.
In Equation (45) <math display="inline">\sigma _{ij}= s_{ij}-p\delta _{ij}</math> are the total stresses, <math display="inline">t_i</math> and <math display="inline">\bar u_j</math> are prescribed tractions and displacements on the boundaries <math display="inline">\Gamma _t</math> and <math display="inline">\Gamma _u</math>, respectively and <math display="inline">n_j</math> are the components of the unit normal vector to the boundary. The sign in front the stabilization term in Equation (49) is positive due to the definition of <math display="inline">r_{m_i}</math> in Eq.(45).
The <math display="inline">h_{m_j}^i</math> and <math display="inline">h_{d_j}</math> in above equations are characteristic lengths of the domain where balance of momentum and mass is enforced. In Equation (49) the lengths <math display="inline">h_{m_j}</math> define the domain where equilibrium of boundary tractions is established <span id='citeF-22'></span>[[#cite-22|22]].
Equations (43)–(50) are the starting point for deriving stabilized finite element methods for solving the incompressible Navier-Stokes equations using an equal order interpolation for the velocity and the pressure variables.
The weighted residual form of the momentum and mass balance equations can be written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _\Omega \delta v_i \left[r_{m_i} - {h^i_{m_j}\over 2} {\partial r_{m_i} \over \partial x_j}\right]d\Omega + \int _{\Gamma _t} \delta v_i \left(\sigma _{ij}n_j - t_i + {h_j\over 2} n_j r_{m_i}\right)d\Gamma =0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (51)
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _\Omega q \left(r_d - {h_{d_j}\over 2} {\partial r_{d} \over \partial x_j}\right)d\Omega =0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (52)
|}
where <math display="inline">\delta v_i</math> and <math display="inline">q</math> are arbitrary weighting functions representing virtual velocity and virtual pressure fields. Here and in the following no sum applies to the <math display="inline">i</math>th superindex <math display="inline">i</math> of <math display="inline">h^i_{m_j}</math>.
Integrating by parts Eqs.(51) and (52) gives
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _\Omega \delta v_i r_{m_i}d\Omega + \int _{\Gamma _t} \delta v_i \left(\sigma _{ij}n_j - t_i\right)d\Gamma + \sum \limits _e \int _{\Omega ^e} { h^i_{m_j}\over 2}{\partial \delta v_i \over \partial x_j} r_{m_i}d\Omega =0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (53)
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _\Omega q r_d d\Omega + \sum \limits _e \int _{\Omega ^e} {h_{d_j}\over 2} {\partial q \over \partial x_j}d\Omega =0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (54)
|}
In the derivation of Eqs.(53) and (54) the following assumptions have been made.
<ol>
<li><math display="inline">h_{m_j}^i \equiv h_{m_j}</math> at the Neumann boundary. This allows to elliminate the residual of the momentum equations at that boundary after the integration by parts. </li>
<li>The volumetric strain rate <math display="inline">r_d</math> vanishes at the boundary. </li>
<li>The characteristic lengths <math display="inline">h_{m_j}^i</math> and <math display="inline">h_{d_j}</math> are constant within each element. </li>
</ol>
===8.1 Gradient-form of the characteristic lengths===
The following gradient-based expressions are taken for the characteristic lengths in the momentum and mass balance equations
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\boldsymbol h}^i_{m} = h^i_m {{\boldsymbol \nabla }v_i\over \vert {\boldsymbol \nabla }v_i\vert }\quad \hbox{no sum in }i</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (55a)
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\boldsymbol h}_{d} = h_d {{\boldsymbol \nabla }p\over \vert {\boldsymbol \nabla }p\vert }</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (55b)
|}
The distances <math display="inline">h^i_{m}</math> and <math display="inline">h_d</math> are computed as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>h^i_{m}= \hbox{max} \left|{\boldsymbol l}_j^T {{\boldsymbol \nabla } v_i\over \vert{\boldsymbol \nabla } v_i\vert } \right|\quad j=1,n_l</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (56a)
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>h_d = \hbox{max} \left|{\boldsymbol l}_j^T {{\boldsymbol \nabla } p\over \vert {\boldsymbol \nabla } p\vert } \right|\quad j=1,n_l </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (56b)
|}
Substituting Eqs.(55) into (53) and (54) gives after integration by parts of the deviatoric stress and pressure term of <math display="inline">r_{m_i}</math> in Eq.(53)
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \begin{array}{r} \displaystyle \int _\Omega \left[\delta v_i\rho \left({\partial v_i \over \partial t}+v_j {\partial {v_i} \over \partial x_j}\right)+ \delta \dot \varepsilon _{ij}(\tau _{ij}- \delta _{ij}p )\right]\, d\Omega - \int _{\Omega } \delta v_i b_i \,d\Omega -\\ \displaystyle - \int _{\Gamma _t} \delta v_i t_i\,d\Gamma + \sum \limits _e \!\int _{\Omega ^e} {h_m^i r_{m_i}\over 2\vert {\boldsymbol \nabla } v_i\vert }{\partial \delta v_i \over \partial x_j} {\partial v_i \over \partial x_j} \,d\Omega =0 \end{array} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (57a)
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\int _\Omega q r_d \,d\Omega + \sum \limits _e \int _{\Omega ^e} {h_d r_d\over 2\vert {\boldsymbol \nabla } p\vert }{\partial q \over \partial x_j} {\partial p \over \partial x_j} \,d\Omega =0</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (57b)
|}
We see clearly that the stabilization terms in both equations take the form of a Laplacian matrix as it is desirable.
We introduce now a standard equal order linear finite element interpolation of the velocity and pressure fields as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| 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 = \sum \limits _{j=1}^{n} N_j \bar p_j </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (58)
|}
where <math display="inline">N_j</math> are the linear shape functions, <math display="inline">n</math> is the number of nodes per element and <math display="inline">\overline{(\cdot )}</math> denotes nodal variables.
Substituting Eqs.(58) into (57) leads to the following system of equations
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\boldsymbol M} \dot{\bar{\boldsymbol v}} + [{\boldsymbol K}(\mu ) + {\boldsymbol A} (\bar{\boldsymbol v})+\bar {\boldsymbol L} (\bar {\boldsymbol v} )] \bar{\boldsymbol v}- {\boldsymbol G} \bar {\boldsymbol p} ={\boldsymbol f} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (59a)
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>{\boldsymbol G}^T \bar{\boldsymbol v}+ {\boldsymbol L} (\tau _p ) \bar {\boldsymbol p} = 0</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (59b)
|}
where for 2D problems
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\displaystyle M_{ij}\!\!\!\!=\!\!\!\! \int _{\Omega ^e} \rho N_iN_j d\Omega \quad ,\quad A_{ij}= \int _{\Omega ^e} N_i \rho {\boldsymbol v}^T {\boldsymbol \nabla } N_j d\Omega \quad ,\quad {\boldsymbol \nabla }= \left[{\partial \over \partial x_1},{\partial \over \partial x_2}\right]^T </math>
|-
| style="text-align: center;" |
|-
| style="text-align: center;" | <math> \bar{\boldsymbol L}_{ij}\!\!\!\!=\!\!\!\! \left[\begin{matrix}{\boldsymbol L}_{ij}^1 &0&0\\ 0&{\boldsymbol L}_{ij}^2 &0\\ 0&0& {\boldsymbol L}_{ij}^3\\\end{matrix}\right] d\Omega \quad ,\quad L_{ij}^k=\int _{\Omega ^e} \tau _k ({\boldsymbol \nabla }^{\!\! T} N_i) {\boldsymbol \nabla }N_jd\Omega \quad ,\quad \tau _i={\vert h_m^i r_{m_i}\vert \over 2\vert {\boldsymbol \nabla } v_i\vert }</math>
|-
| style="text-align: center;" |
|-
| style="text-align: center;" | <math> \displaystyle {K}_{ij}\!\!\!\!=\!\!\!\! \int _{\Omega ^e}\mu ({\boldsymbol \nabla }^{\!\! T}N_i) {\boldsymbol \nabla } N_j d\Omega \quad ,\quad \displaystyle {\boldsymbol G}_{ij}= \int _{\Omega ^e}({\boldsymbol \nabla } N_i)N_j d\Omega </math>
|-
| style="text-align: center;" |
|-
| style="text-align: center;" | <math> \displaystyle L_{ij}\!\!\!\!=\!\!\!\!\int _{\Omega ^e} \tau _p ({\boldsymbol \nabla }^{\!\! T} N_i) {\boldsymbol \nabla } N_j d\Omega \quad ,\quad \tau _p= {\vert h_d r_d\vert \over 2\vert{\boldsymbol \nabla }p\vert } </math>
|-
| style="text-align: center;" |
|-
| style="text-align: center;" | <math> \displaystyle {\boldsymbol f}_i\!\!\!\! =\!\!\!\! \int _{\Omega ^e} N_i {\boldsymbol b}d\Omega + \int _{\Gamma ^e}N_i {\boldsymbol t} d\Gamma \quad ,\quad {\boldsymbol b}=[b_1,b_2]^T \quad ,\quad {\boldsymbol t}=[t_1,t_2]^T </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (63)
|}
It is interesting to analyze the steady-state form of Eqs.(59) for the Stokes flow case where the convective terms are neglected. Now the convective matrix '''A''' and the stabilization matrix '''L''' can be made equal to zero in the momentum equations and the resulting system can be written as
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math>\left[\begin{matrix}{\boldsymbol K} (\mu ) & -{\boldsymbol G}\\ -{\boldsymbol G}^T & - {\boldsymbol L} (\tau _p)\\\end{matrix}\right]\left\{\begin{matrix}\bar {\boldsymbol h}\\ \bar {\boldsymbol p}\\\end{matrix}\right\}= \left\{\begin{matrix}\bar {\boldsymbol f}\\ {\boldsymbol 0}\\\end{matrix}\right\} </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (64)
|}
The stability of the numerical solution is ensured by the presence of matrix '''L''' guaranteeing a positive definitiveness of the equation system ''for any choice of the approximations for v and'' <math display="inline">p</math>, thus overcoming the Babuska-Brezzi conditions <span id='citeF-1'></span>[[#cite-1|1]].
The extension of above procedure to derive stabilized equations for incompressible solid mechanics problems is straight forward making use of the well known analogy between the Stokes equations for an incompressible flow and those of incompressible elasticity.
Applications of the FIC method here proposed to incompressible problems in fluid and solid mechanics can be found in <span id='citeF-44'></span>[[#cite-44|44]].
==9 CONCLUDING REMARKS==
We have presented in this paper the possibilities of the finite calculus (FIC) method for deriving stabilized finite element formulations for a variety of problems in mechanics. In all cases the modified differential equations derived via the FIC method yield naturally a discretized system of equations with intrinsic stabilizations properties. These equations are more general than other standard stabilization methods (such as SUPG) and they allow to obtain correct numerical solutions for complex problems involving boundary layers and sharp internal layers. The key to the succes of the FIC method is the correct selection of the characteristic vector '''h'''. We have presented a new gradient-based definition of '''h''' which introduces naturally stabilization terms of laplacian-type in the equations for convective-diffusive transport and incompressible fluid flow problems.
Numerical examples with applications of the formulation here presented can be found in <span id='citeF-43'></span>[[#cite-43|43]].
==ACKNOWLEDGEMENTS==
Thanks are given to Profs. J. García, S.R. Idelsohn, R.L. Taylor and O.C. Zienkiewicz for many useful discussions.
==References==
<div id="cite-1"></div>
[[#citeF-1|[1]]] Zienkiewicz OC, Taylor RL. ''The finite element method''. 5th Edition, 3 Volumes, Butterworth–Heinemann, (2000).
<div id="cite-2"></div>
[[#citeF-2|[2]]] Hirsch C. ''Numerical computation of internal and external flow'', J. Wiley, Vol. 1 1988, Vol. 2, 1990.
<div id="cite-3"></div>
[[#citeF-3|[3]]] Oñate E, Idelsohn SR, Zienkiewicz OC, Taylor RL. A finite point method in computational mechanics. Applications to convective transport and fluid flow. ''Int. J. Num. Meth. Engng.'', 39, 3839–3866, (1996).
<div id="cite-4"></div>
[[#citeF-4|[4]]] Oñate E, Idelsohn S. A mesh free finite point method for advective-diffusive transport and fluid flow problems. ''Comput. Mechanics'', 21, 283–292, (1988).
<div id="cite-5"></div>
[[#citeF-5|[5]]] Oñate E, Sacco C, Idelsohn S. A finite point method for incompressible flow problems. ''Computing and Visualization in Science'', 2, 67–75, (2000).
<div id="cite-6"></div>
[[#citeF-6|[6]]] Brooks A, Hughes TJR. Streamline upwind/Petrov-Galerkin formulation for convection dominated flows with particular emphasis on the incompressible Navier-Stokes equations. ''Comput. Methods Appl. Mech. Engrg.'', 32, 199–259, (1982).
<div id="cite-7"></div>
[[#citeF-7|[7]]] Codina R. Comparison of some finite element methods for solving the diffusion-convection-reaction equation. ''Comput. Methods Appl. Mech. Engrg.'', 156, 185–210, (1998).
<div id="cite-8"></div>
[[#citeF-8|[8]]] Hughes TJR, Mallet M. A new finite element formulations for computational fluid dynamics: III. The generalized streamline operator for multidimensional advective-diffusive systems. ''Comput Methods Appl. Mech. Engrg.'', 58, 305–328, (1986a).
<div id="cite-9"></div>
[[#citeF-9|[9]]] Hansbo P, Szepessy A. A velocity-pressure streamline diffusion finite element method for the incompressible Navier-Stokes equations. ''Comput. Methods Appl. Mech. Engrg.'', 84, 175–192, (1990).
<div id="cite-10"></div>
[[#citeF-10|[10]]] Cruchaga MA, Oñate E. A generalized streamline finite element approach for the analysis of incompressible flow problems including moving surfaces. ''Comput. Methods in Appl. Mech. Engrg.'', 173, 241–255, (1999).
<div id="cite-11"></div>
[[#citeF-11|[11]]] Hughes TJR, Franca LP, Hulbert GM. A new finite element formulation for computational fluid dynamics: VIII. The Galerkin/least-squares method for advective-diffusive equations. '' Comput. Methods Appl. Mech. Engrg.'', 73, 173–189, (1989).
<div id="cite-12"></div>
[[#citeF-12|[12]]] Tezduyar TE, Mittal S, Ray SE, Shih R. Incompressible flow computations with stabilized bilinear and linear equal order interpolation velocity–pressure elements. ''Comput. Methods Appl. Mech. Engrg.'', 95, 221–242, (1992).
<div id="cite-13"></div>
[[#citeF-13|[13]]] Douglas J, Russell TF. Numerical methods for convection dominated diffusion problems based on combining the method of characteristics with finite element or finite difference procedures. ''SIAM J. Numer. Anal.'', 19, 871, (1982).
<div id="cite-14"></div>
[[#citeF-14|[14]]] Pironneau O. On the transport-diffusion algorithm and its applications to the Navier-Stokes equations. ''Numer. Math.'', 38, 309, (1982)..
<div id="cite-15"></div>
[[#citeF-15|[15]]] Löhner R., Morgan K, Zienkiewicz OC. The solution of non-linear hyperbolic equation systems by the finite element method. ''Int. J. Num. Meth. in Fluids'', 4, 1043, (1984).
<div id="cite-16"></div>
[[#citeF-16|[16]]] Zienkiewicz OC, Codina R. A general algorithm for compressible and incompressible flow. Part I: The split characteristic based scheme. ''Int. J. Num. Meth. in Fluids'', 20, 869-85, (1995).
<div id="cite-17"></div>
[[#citeF-17|[17]]] Codina R, Vazquez M, Zienkiewicz OC. A general algorithm for compressible and incompressible flow - Part III. The semi-implicit form. ''Int. J. Num. Meth. in Fluids'', 27, 13–32, (1998).
<div id="cite-18"></div>
[[#citeF-18|[18]]] Hughes TJR. Multiscale phenomena: Green functions, subgrid scale models, bubbles and the origins of stabilized methods. ''Comput. Methods Appl. Mech. Engrg'', 127, 387–401, (1995).
<div id="cite-19"></div>
[[#citeF-19|[19]]] Brezzi F, Franca LP, Hughes TJR, Russo A. <math>b=\int g</math>. ''Comput. Methods Appl. Mech. Engrg.'', 145, 329–339, (1997).
<div id="cite-20"></div>
[[#citeF-20|[20]]] Codina R. Stabilization of incompressibility and convection through orthogonal sub-scales in finite element method. ''Comput. Methods Appl. Mech. Engrg.'', 190, 1579–1599, (2000).
<div id="cite-21"></div>
[[#citeF-21|[21]]] Hauke G. A simple subgrid scale stabilized method for the advection-diffusion-reaction equation. ''Comput. Methods Appl. Mech. Engrg.'', 191, 2925–2948, (2002).
<div id="cite-22"></div>
[[#citeF-22|[22]]] Oñate E. Derivation of stabilized equations for advective-diffusive transport and fluid flow problems. ''Comput. Methods Appl. Mech. Engrg.'', 151:1-2, 233–267, (1998).
<div id="cite-23"></div>
[[#citeF-23|[23]]] Oñate E, Manzan M. Stabilization techniques for finite element analysis of convection diffusion problems. In ''Comput. Anal. of Heat Transfer'', WIT Press, G. Comini and B. Sunden (Eds.), (2000).
<div id="cite-24"></div>
[[#citeF-24|[24]]] Oñate E, García J, Idelsohn SR. Computation of the stabilization parameter for the finite element solution of advective-diffusive problems. ''Int. J. Num. Meth. Fluids'', 25, 1385–1407, (1997).
<div id="cite-25"></div>
[[#citeF-25|[25]]] Oñate E, García J, Idelsohn SR. An alpha-adaptive approach for stabilized finite element solution of advective-diffusive problems with sharp gradients. ''New Advances in Adaptive Comput. Methods in Mech.'', Elsevier, P. Ladeveze, J.T. Oden (Eds.), (1998).
<div id="cite-26"></div>
[[#citeF-26|[26]]] Oñate E, Manzan M. A general procedure for deriving stabilized space-time finite element methods for advective-diffusive problems. ''Int. J. Num. Meth. Fluids'', 31, 203–221, (1999).
<div id="cite-27"></div>
[[#citeF-27|[27]]] Oñate E. Possibilities of finite calculus in computational mechanics. ''Int. J. Num. Meth. Engng.'', (2004).
<div id="cite-28"></div>
[[#citeF-28|[28]]] Oñate E, Taylor RL, Zienkiewicz OC, Rojek J. A residual correction method based on finite calculus. ''Engineering Computatlions'', 20:5/6, 629–658, (2003).
<div id="cite-29"></div>
[[#citeF-29|[29]]] Oñate E. A stabilized finite element method for incompressible viscous flows using a finite increment calculus formulation. ''Comput. Methods Appl. Mech. Engrg.'', 182:1–2, 355–370, (2000).
<div id="cite-30"></div>
[[#citeF-30|[30]]] Oñate E, García J. A finite element method for fluid-structure interaction with surface waves using a finite calculus formulation. in ''Comput. Methods Appl. Mech. Engrg.'', 191:6-7, 635-660, (2001).
<div id="cite-31"></div>
[[#citeF-31|[31]]] García J, Oñate E. An unstructured finite element solver for ship hydrodynamics. ''J. Appl. Mechanics'', 70, 18–26, (2003).
<div id="cite-32"></div>
[[#citeF-32|[32]]] Oñate E, García J, Bugeda G, Idelsohn SR. A general stabilized formulation for incompressible fluid flow using finite calculus and the FEM. In ''Towards a New Fluid Dynamics with its Challenges in Aeronautics'', J. Periaux, D. Champion, O. Pironneau and Ph. Thomas (Eds.), CIMNE, Barcelona, (2002).
<div id="cite-33"></div>
[[#citeF-33|[33]]] Oñate E, García J, Idelsohn SR. Ship Hydrodynamics. ''Encyclopedia of Computational Mechanics'', T. Hughes, R. de Borst and E. Stein (Eds.), J. Wiley, (2004) (to be published).
<div id="cite-34"></div>
[[#citeF-34|[34]]] Hughes TJR, Mallet M. A new finite element formulations for computational fluid dynamics: IV. A discontinuity capturing operator for multidimensional advective-diffusive system. ''Comput. Methods Appl. Mech. Engrg.'', 58, 329–336, (1986b).
<div id="cite-35"></div>
[[#citeF-35|[35]]] Codina R. A discontinuity-capturing crosswind dissipation for the finite element solution of the convection-diffusion equation. ''Comput. Methods Appl. Mech. Engrg.'', 110, 325–342, (1993).
<div id="cite-36"></div>
[[#citeF-36|[36]]] Tezduyar T. Stabilization parameters and local length scales in SUPG and PSPG formulations. Proceedings of the ''Fith World Congress on Computational Mechanics'', (http://wccm.tuwien.ac.at), Vienna, Austria, July 7–12 (2002).
<div id="cite-37"></div>
[[#citeF-37|[37]]] Zienkiewicz OC, Zhu JZ. The Superconvergent patch recovery (SPR) and adaptive finite element refinement. ''Comput. Methods Appl. Mech. Engrg.'', 101, 207–224, (1992).
<div id="cite-38"></div>
[[#citeF-38|[38]]] Wiberg NW, Abdulwahab F, Li XD. (1997). Error estimation and adaptive procedures based on superconvergent patch recovery. ''Archives Comput. Meth. Engng.'', 4:3, 203–242, (1997).
<div id="cite-39"></div>
[[#citeF-39|[39]]] Ilinca F, Hétu JF, Pelletier D. On stabilized finite element formulation for incompressible advective-diffusive transport and fluid flow problems. ''Comp. Methods Appl. Mech. Engrg.'', 188, 235–257, (2000).
<div id="cite-40"></div>
[[#citeF-40|[40]]] Chetverushkin BN. Kinetic schemes and their application for simulation of viscous gas dynamics problems. ''European Congres on Computational Methods in Applied Sciences and Engineering (ECCOMAS 2000)'', Barcelona 11–14 September, E. Oñate ''et al.'' (Eds.), (2000).
<div id="cite-41"></div>
[[#citeF-41|[41]]] Oñate E, Rojek J, Taylor RL, Zienkiewicz OC. Linear triangles and tetrahedra for incompressible problems using a finite calculus formulation. In ''European Conference on Computational Mechanics (ECCM2001)'', Cracow, Poland, 26–29 June, (2001).
<div id="cite-42"></div>
[[#citeF-42|[42]]] Oñate E, Rojek J, Taylor RL, Zienkiewicz OC. Finite calculus formulation for analysis of incompressible solids using linear triangles and tetrahedra. To appear in ''Int. J. Num. Meth. Engng.'', (2004).
<div id="cite-43"></div>
[[#citeF-43|[43]]] Oñate E, Zarate F and Idelsohn SR. Stabilized FEM for convection-diffusion problems using a FIC approach with gradient-based stabilization parameters. Submitted to ''Comput. Meth. Appl. Mech. Eng.'', (2004).
<div id="cite-44"></div>
[[#citeF-44|[44]]] Oñate E and Flores F. Refined finite calculus method for finite element analysis of incompressible flows. Submitted to ''Comput. Meth. Appl. Mech. Eng.'', (2004).
<div id="cite-45"></div>
[[#citeF-45|[45]]] Oñate E and Rojek, J. FIC formulation for finite element analysis of incompressible solids. Submitted to ''Int. J. Num. Meth. Eng.'', (2004).
Return to Onate 2004a.