User:Egm6936.f09/Gradient of vector: Two tensor conventions

The Jacobian matrix of a vector-valued function of several variables is a collection of partial derivatives that can be ordered in many different ways, among which there are generally two logical orderings of these partial derivatives (see Two conventions for Jacobian matrix further below). Not surprisingly, in parallel, there are also two conventions for writing the gradient of a vector.

It is important to know these conventions to avoid the confusion in writing the term in the vorticity equation (e.g., Batchelor 1967, p.267 ) that corresponds to the vorticity production due to vortex-line stretching (e.g., Tritton 1988, p.86 ) as  $$\displaystyle \boldsymbol \omega \cdot ( \nabla \mathbf U ) $$  or as  $$\displaystyle ( \nabla \mathbf U ) \cdot \boldsymbol \omega$$.

Both ways of writing this term could be correct, depending on which convention one uses for writing the gradient of a vector in terms of the basis vectors. It is important to note that, for any physical relation, regardless of the various possible tensor forms, there is only a unique component form; an example is the vorticity equation itself. There are two ways (conventions) to express the gradient of a vector, i.e., a second order tensor, in terms of the basis vectors.

Here, as in the article Kolmogorov scales, $$\displaystyle \mathbf U$$ designates a (spatial velocity) vector field defined on the domain $$\displaystyle \mathcal B$$, i.e., $$\displaystyle x \in \mathcal B \mapsto \mathbf U (x) \in \mathbb R^3$$. (Ignore the time dependence of $$\displaystyle \mathbf U$$ here.)

= First convention =

The first convention, often used in continuum mechanics (e.g., Truesdell & Noll 2004, p.15 ; Gurtin 1981, p.30 ; Gurtin et al. 2010, p.45 ; Naghdi 2001, p.21, Eq.5.2 ; Gonzalez & Stuart 2008, p.48 ), is


 * {| style="width:100%" border="0"

$$  \displaystyle {\rm grad} \, {\mathbf U} = \nabla {\mathbf U} = \frac{\partial U_i}{\partial x_j} {\mathbf e_i} \otimes {\mathbf e_j} = U_{i,j} {\mathbf e_i} \otimes {\mathbf e_j} $$  (1)
 * style="width:95%" |
 * style="width:95%" |
 * 
 * }

in which the index  $$\displaystyle i$$  of the vector component  in the numerator is summed with the index  $$\displaystyle i$$  of the first basis vector   $$\displaystyle \mathbf e_i$$, and the index   $$\displaystyle j$$  of the coordinate  $$\displaystyle x_j$$   in the denominator is summed with the index  $$\displaystyle j$$ of the second basis vector   $$\displaystyle \mathbf e_j$$.

Nabla is not a "vector"
In Eq.(1), "grad" is a differential operator; nabla $$\displaystyle \nabla$$ is simply an abbreviation for "grad", and is not a "vector" in this first convention. In the second convention, on the other hand, nabla is considered as a "vector", and is written here in boldface, i.e., $$\displaystyle \boldsymbol \nabla$$ to distinguish from the above $$\displaystyle \nabla \equiv {\rm grad}$$ differential operator in lightface.

Directional derivative
The first convention is likely to have its root in the definition of the gradient of a vector field $$\displaystyle \mathbf U$$ by the directional derivative of  $$\displaystyle \mathbf U$$ at $$\displaystyle x$$  in the direction $$\displaystyle \mathbf h$$ (e.g., Misner et al. 1973, p.59 ; Truesdell & Noll 2004, p.15 ; Gurtin 1981, p.29 ; Ciarlet 1988, p.41 ):


 * {| style="width:100%" border="0"

$$  \displaystyle \left. \frac{d \mathbf U (x + \epsilon \mathbf h)}{d \epsilon} \right|_{\epsilon = 0} = \lim_{\epsilon \rightarrow 0} \frac{\mathbf U (x + \epsilon \mathbf h) - \mathbf U (x)}{\epsilon}= D \mathbf U (x) \cdot \mathbf h = [{\rm grad} \mathbf U (x)] \cdot \mathbf h \equiv [\nabla \mathbf U (x)] \cdot \mathbf h $$ (1b)
 * style="width:95%" |
 * style="width:95%" |
 * 
 * }

In some works, the component form of $$\displaystyle \nabla \mathbf U$$ in Eq.(1) was not given explicitly, but can be deduced implicitly from Eq.(1b).

= Second convention, transpose of the first =

The second convention for gradient of a vector, often used in fluid mechanics (e.g., Batchelor 1967, Bird et al. 2006 , Pope 2000 , Tritton 1988 ), corresponds to the transpose of the gradient in the first convention.

For this second convention, since boldface nabla is difficult to distinguish from lightface nabla, we use  $$\displaystyle \boldsymbol \nabla \equiv \nabla_*$$  (nabla with subscript *) to denote the gradient (of a vector) to distinguish with the symbol  $$\displaystyle \nabla$$  (plain lightface nabla) used for the first convention:


 * {| style="width:100%" border="0"

$$  \displaystyle \boldsymbol \nabla {\mathbf U} = \nabla_* {\mathbf U} = \left( \frac{\partial}{\partial x_i} \mathbf e_i \right ) \left(U_j \mathbf e_j \right ) = \frac{\partial U_j}{\partial x_i} {\mathbf e_i} {\mathbf e_j} = \frac{\partial U_j}{\partial x_i} {\mathbf e_i} \otimes {\mathbf e_j} = \frac{\partial U_i}{\partial x_j} {\mathbf e_j} \otimes {\mathbf e_i} = \overset{\rightarrow}{\nabla} \mathbf U = \nabla^T {\mathbf U} $$ (2)
 * style="width:95%" |
 * style="width:95%" |
 * 
 * }

in which the right-arrow nabla $$\displaystyle \overset{\rightarrow}{\nabla}$$ in Malvern 1969, p.58, was introduced.

Nabla is a "vector"
In this second convention, the gradient operator  $$\boldsymbol \nabla \equiv \displaystyle \nabla_* \equiv \overset{\rightarrow}{\nabla}$$  is thought of as the vector  $$\displaystyle \frac{\partial}{\partial x_i} \mathbf e_i$$ (Pope 2000, p.651 ), i.e.,


 * {| style="width:100%" border="0"

$$  \displaystyle \boldsymbol \nabla \equiv \displaystyle \nabla_* \equiv \overset{\rightarrow}{\nabla} = \frac{\partial}{\partial x_i} \mathbf e_i $$  (2b)
 * style="width:95%" |
 * style="width:95%" |
 * 
 * }

that acts on the argument (vector ) on its right side (cf. Pope 2000, p.14 ).

Note that boldface $$\displaystyle \mathbf{grad}$$ was also used to designate gradient as a vector (e.g., Landau & Lifshitz 1987, p.3, Eq.(2.2) ), i.e.,


 * {| style="width:100%" border="0"

$$  \displaystyle \mathbf{grad} \equiv \boldsymbol \nabla \equiv \displaystyle \nabla_* \equiv \overset{\rightarrow}{\nabla} = \frac{\partial}{\partial x_i} \mathbf e_i $$  (2c)
 * style="width:95%" |
 * style="width:95%" |
 * 
 * }

Again, since it is difficult to distinguish the boldface $$\displaystyle \mathbf{grad} \equiv \boldsymbol \nabla$$ from the lightface $$\displaystyle {\rm grad} \equiv \nabla$$, we will avoid using these boldface symbols, but use $$\displaystyle \nabla_* \equiv \overset{\rightarrow}{\nabla}$$ instead.

Thus equivalently


 * {| style="width:100%" border="0"

$$  \displaystyle {\rm grad} \, {\mathbf U} \equiv \nabla {\mathbf U} = \nabla_*^T {\mathbf U} = {\mathbf U} \overset{\leftarrow}{\nabla} $$  (3)
 * style="width:95%" |
 * style="width:95%" |
 * 
 * }

where we also introduced the "left-arrow nabla" symbol $$\displaystyle \overset{\leftarrow}{\nabla}$$  used in Malvern 1969, p.58. The left arrow is used to indicate that the differential operator in $$\displaystyle \overset{\leftarrow}{\nabla}$$ acts on the argument (vector  $$\displaystyle \mathbf U$$) on its left side. On the other hand, as a tensor product (or dyadic), vector $$\displaystyle \mathbf U$$ is on the left followed by "vector"  $$\displaystyle \overset{\leftarrow}{\nabla}$$. Thus


 * {| style="width:100%" border="0"

$$  \displaystyle \mathbf U \overset{\leftarrow}{\nabla} = \left( U^i \mathbf e_i \right )\left( \frac{\partial}{\partial x_j} \mathbf e_j \right ) = \frac{\partial U_i}{\partial x_j} \mathbf e_i \mathbf e_j \equiv \frac{\partial U_i}{\partial x_j} \mathbf e_i \otimes \mathbf e_j \equiv {\rm grad} \, {\mathbf U} \equiv \nabla {\mathbf U} $$ (3b)
 * style="width:95%" |
 * style="width:95%" |
 * 
 * }

which is identical to Eq.(1).

Directional derivative
With the second convention, the directional derivative is written a bit awkwardly by having to move the direction $$\displaystyle \mathbf h$$ in front of the gradient $$\displaystyle \nabla_* \mathbf U (x)$$, i.e.,


 * {| style="width:100%" border="0"

$$  \displaystyle D \mathbf U (x) \cdot \mathbf h = \mathbf h \cdot [\nabla_* \mathbf U (x)] $$  (3c) An example of the use of Eq.(3c) is Pope 2000, p.14, Eq.(2.16), i.e., 
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }
 * {| style="width:100%" border="0"

$$  \displaystyle \frac{d \mathbf s}{d t} = \mathbf s \cdot \nabla_* \mathbf U $$ (3d) = Two conventions for Jacobian matrix =
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

Not surprisingly, the above two conventions for writing the gradient of a vector parallels the two similar conventions of writing the Jacobian matrix  containing the derivative of  $$\displaystyle U_i, \ i=1,2,3$$, with respect to $$\displaystyle x_j, \ j=1,2,3$$. The first convention, which is the most used convention (e.g., Battin 1999, p.xxxi ; Ciarlet 1988, pp.28-29 ; Hughes 1987, p.119 ; cf. Malvern 1969, p.58 ; Rappaz et al. 2010, p.13 ), is to write

<span id="(4)">
 * {| style="width:100%" border="0"

$$  \displaystyle \mathbf J = \left[ \frac{\partial U_i}{\partial x_j} \right] = \left[ \displaystyle \begin{array}{lll} \frac{\partial U_1}{\partial x_1} & \frac{\partial U_1}{\partial x_2} & \frac{\partial U_1}{\partial x_3} \\ \frac{\partial U_2}{\partial x_1} & \frac{\partial U_2}{\partial x_2} & \frac{\partial U_2}{\partial x_3} \\ \frac{\partial U_3}{\partial x_1} & \frac{\partial U_3}{\partial x_2} & \frac{\partial U_3}{\partial x_3} \end{array} \right] $$  (4)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

The second convention corresponds to the transpose of the above convention, with $$\displaystyle i$$ being the column index, and  $$\displaystyle j$$ the row index (e.g., Kellogg 1929, p.35 ; Zienkiewicz & Taylor 2005, p.20 ; Fish & Belytschko 2007, p.167 ). Thus if $$\displaystyle \mathbf J_*$$designates the Jacobian matrix in the second convention, then we have (cf. Malvern 1969, p.58 )

<span id="(5)">
 * {| style="width:100%" border="0"

$$  \displaystyle \mathbf J_* = \mathbf J^T = \left[ \frac{\partial U_i}{\partial x_j} \right] = \left[ \displaystyle \begin{array}{lll} \frac{\partial U_1}{\partial x_1} & \frac{\partial U_2}{\partial x_1} & \frac{\partial U_3}{\partial x_1} \\ \frac{\partial U_1}{\partial x_2} & \frac{\partial U_2}{\partial x_2} & \frac{\partial U_3}{\partial x_2} \\ \frac{\partial U_1}{\partial x_3} & \frac{\partial U_2}{\partial x_3} & \frac{\partial U_3}{\partial x_3} \end{array} \right] $$  (5)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

= Matrix decomposition =

From the matrix algebra of the component form, we can deduce the corresponding tensor form. Let's take the case of a 2x2 matrix as an example.

<span id="(6)">
 * {| style="width:100%" border="0"

$$  \displaystyle \hat{\mathbf A} = \left[ \begin{array}{ll} A^1_1 & A^1_2 \\ A^2_1 & A^2_2 \end{array} \right] = A^1_1 \left\{ \begin{array}{l} 1 \\ 0 \end{array}\right\} \left\lfloor 1 \ 0 \right\rfloor + A^1_2 \left\{ \begin{array}{l} 1 \\ 0 \end{array}\right\} \left\lfloor 0 \ 1 \right\rfloor + A^2_1 \left\{ \begin{array}{l} 0 \\ 1 \end{array}\right\} \left\lfloor 1 \ 0 \right\rfloor + A^2_2 \left\{ \begin{array}{l} 0 \\ 1 \end{array}\right\} \left\lfloor 0 \ 1 \right\rfloor = \sum_{i,j} A^i_j \hat{\mathbf e}_i \hat{\mathbf e}_j ^T $$  (6)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

where the superscript denotes the row index and the subscript the column index, and where $$\displaystyle \hat{\mathbf e}_i$$  is a column matrix and  $$\displaystyle \hat{\mathbf e}_i^T$$ is its transpose, i.e., the corresponding row matrix, as shown below:

<span id="(7)">
 * {| style="width:100%" border="0"

$$  \displaystyle \hat{\mathbf e}_1 := \left\{ \begin{array}{l} 1 \\ 0 \end{array}\right\}, \quad \hat{\mathbf e}_1^T := \left\lfloor 1 \ 0 \right\rfloor, \ etc. $$ (7)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

If we think of $$\displaystyle \hat{\mathbf e}_i$$  as the matrix of components of the vector  $$\displaystyle {\mathbf e}_i$$, then the matrix of components of the tensor product  $$\displaystyle \mathbf e_i \otimes \mathbf e_j$$  is  $$\displaystyle \hat{\mathbf e_i} \hat{\mathbf e_j}^T$$; this association is consistent with the following rule of tensor algebra among 3 vectors  $$\displaystyle \mathbf a, \ \mathbf b , \ \mathbf c$$  (e.g., Gurtin 1981, p.4 )

<span id="(8)">
 * {| style="width:100%" border="0"

$$  \displaystyle \left( \mathbf a \otimes \mathbf b \right) \cdot \mathbf c = \mathbf a (\mathbf b \cdot \mathbf c) $$ (8)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

since in terms of matrices of components of these vectors, we have

<span id="(9)">
 * {| style="width:100%" border="0"

$$  \displaystyle ( \hat{\mathbf a} \hat{\mathbf b}^T ) \hat{\mathbf c} = \hat{\mathbf a} ( \hat{\mathbf b}^T \hat{\mathbf c} ) $$  (9)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

which is the matrix of components of the vector $$\displaystyle \mathbf a ( \mathbf b \cdot \mathbf c )$$. Thus the tensor $$\displaystyle \mathbf A$$  with the above matrix of components  $$\displaystyle \hat{\mathbf A}$$ can be written as

<span id="(10)">
 * {| style="width:100%" border="0"

$$  \displaystyle {\mathbf A} = \sum_{i,j} A^i_j \mathbf e_i \otimes \mathbf e_j = A^i_j \mathbf e_i \otimes \mathbf e_j $$  (10)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

With the above explanation, it is then clear that the first convention of writing the gradient of a vector, i.e.,  $$\displaystyle \nabla {\mathbf U}$$  in Eq.(1), corresponds to the usual convention of writing the Jacobian matrix  $$\displaystyle \mathbf J$$ in Eq.(4), whereas the second convention for the gradient of a vector, i.e.,  $$\displaystyle \nabla_* {\mathbf U}$$ in Eq.(2), corresponds to the second (rare) convention of writing the Jacobian matrix (which is the transpose of the usual Jacobian matrix).

In addition, the main rationale for the second convention in writing  $$\displaystyle \nabla_* {\mathbf U}$$, as explained above, is to think of the gradient operator as a "vector", which can then be formed freely with another vector (e.g.,  $$\displaystyle {\mathbf U}$$) into a dyadic (or tensor product).

= Vorticity production by vortex-line stretching =

Now let's return to the vorticity production by vortex-line stretching; the following relationships hold:

<span id="(11)">
 * {| style="width:100%" border="0"

$$  \displaystyle ({\rm grad} \, {\mathbf U}) \cdot {\boldsymbol \omega} = (\nabla {\mathbf U}) \cdot {\boldsymbol \omega} =({\mathbf U} \overset{\leftarrow}{\nabla}) \cdot {\boldsymbol \omega} = {\boldsymbol \omega} \cdot (\overset{\rightarrow}{\nabla} {\mathbf U}) = {\boldsymbol \omega} \cdot (\nabla_* {\mathbf U}) = {\boldsymbol \omega} \cdot (\nabla^T {\mathbf U}) $$  (11)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

We can write:

<span id="(12)">
 * {| style="width:100%" border="0"

$$  \displaystyle \boldsymbol \omega \cdot \overset{\rightarrow}{\nabla} \mathbf U = (\omega_k \mathbf e_k) \cdot \left( \frac{\partial}{\partial x_j} \mathbf e_j \right ) \left( U_i \mathbf e_i \right ) = \omega_k\frac{\partial U_i}{\partial x_j} (\mathbf e_k \cdot \mathbf e_j) \mathbf e_i = \omega_j \frac{\partial U_i}{\partial x_j} \mathbf e_i \equiv \boldsymbol \omega \cdot ( \overset{\rightarrow}{\nabla} \mathbf U ) $$  (12)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

where parentheses were put around $$\displaystyle \overset{\rightarrow}{\nabla} \mathbf U$$  to emphasize the meaning of the gradient of a vector (e.g., Pope 2000, p.14 ). Many authors (e.g., Aris 1962, p.57, p.79 ; King et al. 2003, p.50 ) put the parentheses around  $$\displaystyle \boldsymbol \omega \cdot \overset{\rightarrow}{\nabla}$$, i.e.,

<span id="(13)">
 * {| style="width:100%" border="0"

$$  \displaystyle ( \boldsymbol \omega \cdot \overset{\rightarrow}{\nabla} ) \mathbf U = \left[ (\omega_k \mathbf e_k) \cdot \left( \frac{\partial}{\partial x_j}  \mathbf e_j \right ) \right] \left( U_i \mathbf e_i \right ) \equiv \boldsymbol \omega \cdot ( \overset{\rightarrow}{\nabla} \mathbf U ) \equiv \boldsymbol \omega \cdot \overset{\rightarrow}{\nabla} \mathbf U $$ (13)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

which could originate from the writing of the material time derivative operator as (Aris 1962, p.114 ; cf. Pope 2000, p.13 )

<span id="(14)">
 * {| style="width:100%" border="0"

$$  \displaystyle \frac{D (\cdot)}{Dt} = \frac{\partial (\cdot)}{\partial t} + (\mathbf U \cdot \overset{\rightarrow}{\nabla})(\cdot) $$  (14)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

Even though the same component form would result from such notation, the physical meaning of the gradient of a vector field in  $$\displaystyle \overset{\rightarrow}{\nabla} \mathbf U$$ is lost. Besides, $$\displaystyle \boldsymbol \omega \cdot \overset{\rightarrow}{\nabla}$$ is not the divergence of  $$\displaystyle \boldsymbol \omega$$; its mathematical meaning is a differential operator waiting to operate on  $$\displaystyle \mathbf U$$; one could interpret  $$\displaystyle \boldsymbol \omega \cdot \overset{\rightarrow}{\nabla}$$ as the gradient projected along the direction  $$\displaystyle \boldsymbol \omega$$.

Many other authors simply omit the parentheses to write the vortex stretching term as $$\displaystyle \boldsymbol \omega \cdot \overset{\rightarrow}{\nabla}$$ (e.g., Batchelor 1967, p.267 ; Pope 2000, p.22 ).

= Other uses and notations =

On the other hand, there is no point of avoiding $$\displaystyle {\nabla} \mathbf U$$, since the strain rate is

<span id="(15)">
 * {| style="width:100%" border="0"

$$  \displaystyle \boldsymbol \epsilon = \frac{1}{2}\left[ \nabla \mathbf U + \nabla^T \mathbf U \right] = \frac{1}{2}\left[ {\mathbf U} \overset{\leftarrow}{\nabla} + \overset{\rightarrow}{\nabla} \mathbf U \right] = \frac{1}{2}\left[ \nabla_*^T \mathbf U + \nabla_* \mathbf U \right] $$  (15)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

Note that other authors (e.g., Dhont 2004, p.20 ) even put the tensor product between nabla $$\displaystyle \nabla$$ and  $$\displaystyle \mathbf U$$ (perhaps to emphasize the 2nd-order nature of the resulting tensor) to write

<span id="(16)">
 * {| style="width:100%" border="0"

$$  \displaystyle \nabla \otimes \mathbf U \equiv \overset{\rightarrow}{\nabla} \mathbf U = \nabla_* \mathbf U $$ (16)
 * style="width:95%" |
 * style="width:95%" |
 * <p style="text-align:right">
 * }

Here again, as mentioned above, the nabla $$\displaystyle \nabla$$  is viewed as a vector, as in Eq.(2b).

= Closure =

As mentioned above, since there is a unique component form for any physical relation, even though there could be several ways to write the same relation in tensor form, some authors write exclusively in component form (e.g., Berdichevsky 2009, Wyngaard 2010 ). The tensor form has its advantage of being concise, compact, and is thus easier to grasp the relation among the different tensor quantities, without being bogged down by the indices and their summations. To avoid confusion, however, the corresponding key components form should always be given, such as the component form of $$\displaystyle \nabla \mathbf U$$ in Eq.(1).

Most continuum mechanics literature uses the first convention, whereas most fluid mechanics literature uses the second convention. Malvern 1969 is a rare exception and an excellent book that presents both conventions, as the book was intended for a course that graduate students would take before taking more specialized topics such as linear elasticity or fluid mechanics.

Unfortunately, these days, the original vision of Malvern (even at the last university where he taught for more than 20 years) is no longer followed perhaps due to practical reasons: Solid mechanics students would take the more specialized linear elasticity before taking continuum mechanics, which includes nonlinear behaviors, whereas fluid mechanics students would shun continuum mechanics completely, as the kinematics of deformation, which is primarily useful for solids, would not be useful for fluids.

= References (order of appearance, with links) =

= References (alphabetical order) =

Aris, R., Vectors, tensors, and the basic equations of fluid mechanics, Prentice Hall, NJ, 1962; Dover, 1989.

Batchelor, G.K., An introduction to fluid dynamics, Cambridge University Press, 1967.

Battin, R.H., An introduction to the mathematics and methods of astrodynamics, revised edition, AIAA, 1999.

Berdichevsky, V.L., Variational principles of continuum mechanics, Vol.II: Applications, Springer Verlag, 2009.

Bird, R.B., Stewart, W.E., Lightfood, E.N., Transport phenomena, Second edition, Wiley, 2006.

Ciarlet, P.G., Mathematical elasticity, Vol.1: Three-dimensional elasticity, Elsevier, 1988.

Dhont, G., The finite element method for three-dimensional thermomechanical applications, Wiley, 2004.

Fish, J., Belytschko, T., A first course in finite elements, Wiley, 2007.

Gonzalez, O., Stuart, A.M., A first course in continuum mechanics, Cambridge University Press, 2008.

Gurtin, M.E., An introduction to continuum mechanics, Academic Press, 1981.

Gurtin, M.E., Fried, E., Anand, L., The mechanics and thermodynamics of continua, Cambridge University Press, 2010.

Hughes, T.J.R., The finite element method: Linear static and dynamic finite element analysis, Prentice Hall, NJ, 1987.

Kellogg, O.D., Foundations of potential theory, Frederick Ungar Publishing Co., New York, 1929; Dover, 2010.

King, A.C., Billingham, J., Otto, S.R., Differential equations: Linear, nonlinear, ordinary, partial, Cambridge University Press, 2003.

Landau, L.D., Lifshitz, E.M., Fluid mechanics, 2nd edition, Pergamon Press, 1987.

Malvern, L.E., Introduction to the mechanics of a continuous medium, Prentice Hall, 1969 (hard cover), 1977 (paperback).

Misner, C.W., Thorne, K.S., Wheeler, J.A., Gravitation, Freeman and Co., 1973.

Naghdi, P.M., ME 185 Lecture notes on continuum mechanics, University of California at Berkeley, Mechanical Engineering, edited by J. Casey, 2001.

Rappaz, M., Bellet, M., Deville, M., Numerical modeling in materials science and engineering, Springer, 2010.

Stephen B. Pope, Turbulent Flows, Cambridge U. Press, 2000.

Tritton, D.J., Physical fluid dynamics, 2nd edition, Oxford Science Publications, 1988.

Truesdell, C., Noll, W., The nonlinear field theories of mechanics, ed. by S. Antman, 3rd edition, Springer Verlag, 2004.

Wyngaard, J.C., Turbulence in the atmosphere, Cambridge University Press, 2010.

Zienkiewicz, O.C., Taylor, R.L., The Finite element method, 6th edition, Butterworth-Heineman, MA, 2005.