In this article, we want to highlight how every solid or fluid mechanics code starts from Cauchy momentum equation (or balance). After deriving the equation directly from Newton's 2nd law, we'll briefly explain how it is used in code_aster, code_saturne and openTELEMAC. We'll provide more details directly in the articles related to these physics.

Derivation from Newton's 2nd law

In the following we'll not explicitly write time, but the acceleration, forces and tensor may depend on it.

Point like mechanics, frames

Let's start with the famous law, also called the "fundamental principle of dynamics. When pushing or pulling a point like object of mass m under a specific magnitude and direction described by a vector F\vec{F}, its velocity changes. We define the acceleration a\vec{a} as the quantity expressing how fast velocity changes. Newton's 2nd law creates a bridge between acceleration and all of the forces FS\vec{F_\mathcal{S}} on a point like system :

ma=SFS\begin{equation} m \vec{a}= \sum \limits_\mathcal{S} \vec{F_\mathcal{S}} \end{equation}

It is crucial to understand that this law is only valid in an inertial frame. Indeed, to study a motion we need a frame. A frame is a bit more than just a choice of a spatial origin. It can be seen as a way of expressing velocities of a system at each point of space, provided a space origin. In that regard, a frame is not exactly the same as an observer. Nevertheless, we can use the observer picture to provide an intuition on frames: for an observer staying nearby a highway, cars move forward. But from the car perspective, the observer is moving backward. However, from the car perspective, other cars moving at the same velocity appears immobile. This shows why a frame is more than just a choice of origin for space: it defines how velocities are going to be expressed. In a randomly moving frame, objects may have randomly varying velocities: this can introduce "fictitious forces" that exists just to represent the frame random motion.

For this reason, Newton's 2nd law is usually considered in inertial (or Galilean) frames: these are frames in which a free particle moves at constant velocity along a straight line. If we did not use such frames, additional fictitious forces would have to be considered.

Extension to volumetric systems

Now, let's say we want to consider a volumetric system. We now stop modeling the car as a point mass and instead describe it as a body occupying a finite volume. We will call Ω\Omega the shape of our system (the car for instance). As we want a more accurate description of the system, instead of just considering the total mass m, we'll introduce the density ρ(r)\rho(\vec{r}) such that

m=Ωρ(r)d3r\begin{equation} m = \int \limits_\Omega \rho(\vec{r}) d^3\vec{r} \end{equation}

In this equation, r\vec{r} is the position vector. We do not explicit exactly in which coordinate system we express it (the reader should note that the infinitesimal volume d3rd^3\vec{r} may have a different expression depending on it).

Remark: About the core assumption behind fields: the continuum hypothesis

A density such as ρ(r)\rho(\vec r) is not defined at the scale of individual molecules, where matter is discrete. At that scale, mass is carried by particles located at positions rk\vec r_k, so the microscopic mass distribution is not a smooth field but a collection of point masses. One may represent it formally by a microscopic density

ρmicro(r)=kmkδ(rrk),\rho_{\mathrm{micro}}(\vec r)=\sum_k m_k\,\delta(\vec r-\vec r_k),

where mkm_k is the mass of particle kk and δ\delta denotes the Dirac distribution. Continuum mechanics does not work directly with this singular microscopic description. Instead, it introduces a coarse-grained density obtained by averaging over a small volume ΔV\Delta V around r\vec r:

ρΔV(r)=1ΔVΔV(r)ρmicro(r )d3r       CONTINUUM HYPOTHESIS\begin{equation} \boxed{ \rho_{\Delta V}(\vec r)=\frac{1}{\Delta V} \int_{\Delta V(\vec r)} \rho_{\mathrm{micro}}(\vec r \ ')\,d^3\vec r \ ' } \ \ \ \ \ \textbf{\color{red} CONTINUUM HYPOTHESIS} \end{equation}

The continuum hypothesis assumes that there exists an intermediate range of averaging volumes ΔV\Delta V: large enough to contain many microscopic constituents, so that microscopic fluctuations are smoothed out, yet small enough compared with the characteristic macroscopic length scales of the problem so that we do not average out over space completely. In such a mesoscopic range, the averaged density becomes effectively independent of the precise choice of ΔV\Delta V, and this scale-independent quantity is identified with the continuum density ρ(r)\rho(\vec r).

Under this assumption, matter can be modeled as continuous and the total mass of the body can be written as

m=Ωρ(r)d3r.m=\int_\Omega \rho(\vec r)\,d^3\vec r.

The same coarse-graining idea underlies all continuum fields, such as velocity, body-force density, stress, or temperature. In a sense, in any continuum model, the continuum hypothesis is one of the most fundamental assumptions: if it ceases to be valid, fields such as density, stress, and velocity are no longer well defined.

Similarly, we can therefore define a body "force density" in the continuum limit f(r)\vec{f}(\vec r) such that the resultant of body forces acting on the volume Ω\Omega is

Fbody=Ωf(r)d3r\begin{equation} \vec F_{\text{body}}=\int_\Omega \vec f(\vec r)\,d^3r \end{equation}

However, if we truly want to consider a volumetric system, we need to be careful here. Not all forces applied on a car are force densities. Indeed, a force density would be a "pushing or pulling action" that is applied on any volumetric part of the car. This can describe well the effect of gravity fg=ρ(r)g\vec{f_g}=\rho(\vec{r}) \vec{g}. But it certainly isn't a good description of a car colliding into a wall ! When pushing a car, we're applying a force on the surface of the car, not on the whole car volume ! Therefore we need a way to describe surfacic forces.

The Cauchy stress tensor

There are several ways of applying a force on a surface. We could just push or pull the object: this means applying a force normal to the surface. But it's also completely possible to use friction to apply a force parallel to the surface. For instance, when we press our hands against a window to slide it. Therefore, for any surface of our car, we need a way to store the information of the forces normal AND parallel to the wall AND how these components depend on the surface orientation. This is called a tensor. In the case of surfacic forces, we introduce the Cauchy stress tensor σ\vec{\vec{\sigma}} as:

σ=(σ11σ12σ13σ21σ22σ23σ31σ32σ33)\begin{equation} \vec{\vec{\sigma}} = \begin{pmatrix} \sigma_{11} & \sigma_{12} & \sigma_{13} \\ \sigma_{21} & \sigma_{22} & \sigma_{23} \\ \sigma_{31} & \sigma_{32} & \sigma_{33} \end{pmatrix} \end{equation}

If we consider a cube in Cartesian coordinates, each column of this tensor represent how the forces are applied on its faces. More precisely, the vector σn\vec{\vec{\sigma}} \cdot \vec{n} represents the force per unit area (traction) exerted by the material outside the volume Ω\Omega on the surface, where n is the outward normal to the surface. The diagonal components σii\sigma_{ii} represent normal stresses (force perpendicular to the surface), and the off-diagonal components σij\sigma_{ij} (iji \neq j) represent shear stresses (force parallel to the surface). Hence, the general expression of a surface force on the system surface (denotes Ω\partial \Omega) is

Fsurf=Ωσ(r)nd2r\begin{equation} \vec{F}_{surf} = \oint \limits_{\partial \Omega} \vec{\vec{\sigma}}(\vec{r}) \cdot \vec{n} d^2r \end{equation}

Here again, the Cauchy stress tensor can (and almost always will) depend on the position. The above integral means the considered surface is a closed surface, corresponding to the surface Ω\partial \Omega of the volume Ω\Omega. We considered the contraction of the Cauchy stress tensor with n\vec{n} which is defined as a vector always pointing outward the surface. The result of this scalar product is simply the 3 stresses applied locally on the surface (the normal and the two shear stresses). As we perform the integral over the full closed surface, we get dimensionally a force (more precisely, the resultant of all surfacic forces on Ω\Omega). If we rewrite Newton's 2nd law using eq. (2), (3) and (4), we then get:

Ωρ(r)ad3r=(Ωf(r)d3r+Ωσ(r)nd2r)\begin{equation} \int \limits_\Omega \rho(\vec{r}) \vec{a} d^3r = \left( \int \limits_\Omega \vec{f}(\vec{r})d^3r + \oint \limits_{\partial \Omega} \vec{\vec{\sigma}}(\vec{r}) \cdot \vec{n}d^2r \right) \end{equation}

Finally, this equation is often rewritten after using the divergence (also called Green-Ostrogradski) theorem:

Ωσ(r)nd2r=Ωσ(r)d3r\begin{equation} \oint \limits_{\partial \Omega} \vec{\vec{\sigma}}(\vec{r}) \cdot \vec{n} d^2 r = \int \limits_\Omega \vec{\nabla} \cdot \vec{\vec{\sigma}}(\vec{r}) d^3r \end{equation}

This leads to the form we know of Cauchy equation:

Ωρ(r)ad3r=Ω(f(r)+σ(r))d3r\begin{equation} \int \limits_\Omega \rho(\vec{r}) \vec{a} d^3r = \int \limits_\Omega \left(\vec{f}(\vec{r}) + \vec{\nabla} \cdot \vec{\vec{\sigma}}(\vec{r})\right) d^3r \end{equation}

Let's finally note that this equation is valid for any volume Ω\Omega. It could be a car, an ocean or a gas it would still work ! So, since the equation holds for every subvolume, the integrands must be equal pointwise. This leads to the local form of Cauchy momentum balance:

ρ(r)a=f(r)+σ(r)\begin{equation} \boxed{\rho(\vec{r}) \vec{a} = \vec{f}(\vec{r}) + \vec{\nabla} \cdot \vec{\vec{\sigma}}(\vec{r})} \end{equation}

Lagrangian, eulerian descriptions

To conclude, we can address briefly why this equation is often written with an additional term. In fluid mechanics, it is standard to use an Eulerian description, in which the velocity is described as a field at fixed points in space, rather than a Lagrangian description, which follows material particles along their trajectories. In such a fixed frame, the velocity becomes a function of the position:

vv(r,t)\begin{equation} \vec{v} \rightarrow \vec{v}(\vec{r},t) \end{equation}

Then, the velocity becomes a function of two variables: time and space. The acceleration is defined as the total derivative of the velocity. For a function depending on several variable, the total derivative is expressed using the chain rule:

a=ddtv(r,t)=vt+i=13vririt=vt+(v)v\begin{equation} \vec{a} = \frac{d}{dt} \vec{v}(\vec{r},t) = \frac{\partial \vec{v}}{\partial t} + \sum \limits_{i=1}^3 \frac{\partial \vec{v}}{\partial r_i} \frac{\partial r_i}{\partial t} = \frac{\partial \vec{v}}{\partial t} + (\vec{v} \cdot \vec{\nabla}) \vec{v} \end{equation}

This finally leads to the Cauchy equation in the Eulerian description:

ρ(r)(vt+(v)v)=f(r)+σ(r)\begin{equation} \boxed{\rho(\vec{r})\left(\frac{\partial \vec{v}}{\partial t} + (\vec{v} \cdot \vec{\nabla})\vec{v} \right) = \vec{f}(\vec{r}) + \vec{\nabla} \cdot \vec{\vec{\sigma}}(\vec{r})} \end{equation}

That equation is the starting point for code_aster, code_saturne, openTELEMAC and numerical solvers in mechanics.

Fluid, solid, waves... A very general equation

Eq. (13) is extremely general, and provides the starting point for a very wide range of mechanical models in the continuum setting. The generality of the Cauchy momentum equation comes in large part from its geometric nature. In standard engineering presentations this appears through vector and tensor calculus; in a more advanced formulation, these objects are naturally interpreted using differential geometry on the ambient space.

To be more accurate, the mathematical form of these equations is what's very general. The core idea behind Newton's 2nd law and Cauchy equation is momentum conservation "rate of change of momentum (here mass x velocity) = Net force". This is even nowadays one of the most established foundation of modern physics. Many other conservation laws can be spotted in physics, even in mechanics. For instance, mass conservation equation ρt+(ρv)=0\frac{\partial \rho}{\partial t} + \vec{\nabla} \cdot (\rho \vec{v}) = 0. Any partial differential equation with the structure ψt+J=0\frac{\partial \psi}{\partial t} + \vec{\nabla} \cdot \vec{J} =0 describe the conservation of ψ\psi as a flux J\vec{J} transport ψ\psi through the system. The Cauchy equation involves a conserved vector (the momentum, p=ρv\vec{p}=\rho \vec{v}) instead of a scalar like the density, and a tensor σ\vec{\vec{\sigma}} instead of a vector flux J\vec{J} to describe the transport of p\vec{p} through the system, but it still have the general form of a balance equation.

Specialized model to describe various physical behavior are then injected into Cauchy equation to describe more accurately a fluid, a solid, matter in general... Usually the core question to consider specific mechanical behavior is "how can I express my Cauchy stress tensor accurately ?". Below we review the most basic examples of solid and fluid mechanics.

Example of models in solid mechanics

The typical academic case of solid mechanics is the Hooke's law, used to describe elastic behavior. For solids, we generally want to connect stresses and strains (deformations without considering translations and rotations under the action of stresses). Exactly like stresses, strains are modeled with tensors to describe along which direction the deformation occurs in Ω\Omega. In the case of Hooke's law, we model elasticity by assuming the local Cauchy stress tensor σ\vec{\vec{\sigma}} is proportional to the local (infinitesimal) strain tensor ϵ\vec{\vec{\epsilon}}:

σ=λTr(ϵ) I+2μϵ\begin{equation} \vec{\vec{\sigma}} = \lambda Tr(\vec{\vec{\epsilon}}) \ \vec{\vec{I}} + 2 \mu \vec{\vec{\epsilon}} \end{equation}

λ\lambda and μ\mu are called the Lamé parameters, and explicit how the solid get deformed under an imposed stress. Hooke's law and other material law will be the object of further articles on solid mechanics.

In addition, the small displacement assumption is often used to neglect the Eulerian (v)v(\vec{v} \cdot \vec{\nabla})\vec{v} term. Indeed, in many solid mechanics problems, one works in a Lagrangian setting and linearizes around a reference configuration. Under small displacement and small strain assumptions, the nonlinear convective acceleration term can often be neglected.

Example of model in fluid mechanics

In fluid mechanics, the stress tensor is usually not directly related to strain, but rather to strain rate (time derivative of the strain tensor ϵ˙\vec{\vec{\dot{\epsilon}}} ). The most common assumption is the Newtonian fluid approximation, and consists in assuming the stresses are proportional to the strain rates with a proportionality constant called the dynamic viscosity μ\mu:

σ=pI+2μϵ˙+λ(v) I\begin{equation} \vec{\vec{\sigma}} = -p \vec{\vec{I}} + 2 \mu \vec{\vec{\dot{\epsilon}}} + \lambda (\vec{\nabla} \cdot \vec{v}) \ \vec{\vec{I}} \end{equation}

This approximation also involves, λ\lambda called the second viscosity which gets non-negligible when the fluid becomes compressible (v0\vec{\nabla} \cdot \vec{v} \neq 0). We will revisit this law in the articles focusing on fluid dynamics.

The inertial term (v)v(\vec{v} \cdot \vec{\nabla})\vec{v} can become dominant in the case of high Reynolds number. When the fluid motion is very different from its time average displacement, this can even become the main source of non-linearities.

What next ?

This article aims to be the very first of many upcoming in depth look at solid mechanics, fluid mechanics, environmental hydraulics and numerical methods. You may find the current list of articles on our website.