Balance laws
Methods for Model-Based Development in CE
2025-04-14
Let’s look at a specific quantity \(\Psi\) in an arbitrary volume \(\mathcal C\). We can think of it as mass per unit volume, or energy per unit volume, etc. Assuming continuity or local conservation means
\(\Psi\) can increase (decrease) according to influx (outflux) \(\mathbf F\)
\(\Psi\) can increase (decrease) according to production (decay) \(\mathbf S\)
there is no other mechanism
Translated into equations, this yields
\[ \begin{aligned} \underbrace{\frac{d}{dt} \int_{\mathcal C} \Psi d \mathbf x}_{ \text{ rate of change of $\Psi$ in $\mathcal C$}} &= \underbrace{- \int_{\partial \mathcal C} \mathbf F \cdot \mathbf n d \mathbf \sigma}_{ \text{ in-/outflow across the surface (1.)}} + \underbrace{ \int_{\mathcal C} \mathbf S d \mathbf x}_{ \text{ production/decay in (2.)}} \end{aligned} \]
Applying the so-called divergence theorem yields an integral formulation with only volume integrals \[ \begin{aligned} \frac{d}{dt} \int_{\mathcal C} \Psi d \mathbf x & = - \int_{\mathcal C} \nabla \cdot \mathbf F d \mathbf x + \int_{\mathcal C} \mathbf S d \mathbf x \end{aligned} \]
and since \(\mathcal C\) is an arbitrary control volume, we yield the strong formulation \[ \begin{aligned} \partial_t \Psi & = - \nabla \cdot \mathbf F + \mathbf S \end{aligned} \]
Note, that the time derivative now comes as a partial derivative, as \(\Psi\) may vary with space, and \(\nabla\) stands for the Hamilton vectorial operator “nabla”, in index notation \(\nabla = \mathbf{e}_i \partial_i\), where \[ \begin{aligned} \nabla f = \text{grad} f , \quad \nabla \cdot f = \text{div} f ,\quad \text{and} \quad \nabla \times f = \text{curl} f . \end{aligned} \]
The strong formulation also assumes differentiability of \(\Psi, \mathbf F\), and \(\mathbf S\).
The two basic types of transport fluxes are:
Advective transport at velocity \(\mathbf v\), hence \(\mathbf F = \Psi \mathbf v\), and
Diffusive transport with a diffusive flux \(\mathbf F = \mathbf J\), for instance given as gradient-driven transport \(\mathbf J = - D \nabla \Psi\), in which \(D\) stands for the diffusion coefficient (Fourier’s law / Fick’s law)
We now get in operator notation:
\[ \begin{aligned} \partial_t \Psi + \nabla \cdot \left( \Psi \mathbf v \right) & = - \nabla \cdot \mathbf J + S \end{aligned} \]
It is an informative exercise to spell out the generic balance law in components.
For a scalar specific quantity \(\Psi\) and a scalar diffusion coefficient \(D\), the componentwise balance law reads:
\[ \begin{aligned} \partial_t \Psi &+ \partial_x \left( \Psi v_x \right) + \partial_y \left( \Psi v_y \right) + \partial_z \left( \Psi v_z \right) \\[1em] & = \partial_x \left( D \partial_x \Psi \right) + \partial_y \left( D \partial_y \Psi \right) + \partial_z \left( D \partial_z \Psi \right) + S \end{aligned} \]
Diffusion might differs with orientation. The diffusion coefficient is then given as a second order tensor. Hence
\[ \begin{aligned} \mathbf D = \left( \begin{array}{ccc} d_{xx} & d_{xy} & d_{xz} \\ d_{yx} & d_{yy} & d_{yz} \\ d_{zx} & d_{zy} & d_{zz} \end{array} \right) \Rightarrow \mathbf D \nabla \Psi = \left( \begin{array}{ccc} d_{xx} \partial_x \Psi &+ d_{xy} \partial_y \Psi &+ d_{xz} \partial_z \Psi \\ d_{yx} \partial_x \Psi &+ d_{yy} \partial_y \Psi &+ d_{yz} \partial_z \Psi \\ d_{zx} \partial_x \Psi &+ d_{zy} \partial_y \Psi &+ d_{zz} \partial_z \Psi \end{array} \right) \end{aligned} \]
In this case, the balance law written in components reads
\[ \begin{aligned} \partial_t \Psi + \partial_x \left( \Psi v_x \right) + \partial_y \left( \Psi v_y \right) + \partial_z \left( \Psi v_z \right) = \partial_x & \left( d_{xx} \partial_x \Psi + d_{xy} \partial_y \Psi + d_{xz} \partial_z \Psi \right) \\ + \partial_y & \left( d_{yx} \partial_x \Psi + d_{yy} \partial_y \Psi + d_{yz} \partial_z \Psi \right) \\ + \partial_z & \left( d_{zx} \partial_x \Psi + d_{zy} \partial_y \Psi + d_{zz} \partial_z \Psi \right) + S \end{aligned} \]
In index notation, finally, the (scalar) balance law can be written concicely as
\[ \begin{aligned} \partial_t \Psi + \partial_i \Psi v_i & = \partial_i d_{ij} \partial_j \Psi + S \end{aligned} \]
We can now look at special situations that result in the famous mass and momentum balance.
We consider as a specific, conserved quantity mass and accordingly choose
\[\Psi = \rho\]
hence mass per unit volume.
In addition, we choose
\[ \mathbf J = 0 \quad \text{and} \quad \mathbf S = 0. \]
This yields the well known mass balance:
\[ \partial_t \rho + \nabla \cdot \left( \rho \mathbf v \right) = 0 \]
We consider momentum as the conserved, specific quantity, hence
\[ \Psi = \rho \mathbf v \] as momentum per unit volume.
In addition we set
\[ \mathbf J = \mathbf \sigma \quad \text{and} \quad \mathbf S = \rho \mathbf b, \]
in which \(\mathbf b\) is a body force and \(\mathbf \sigma\) is the Cauchy stress tensor.
In our course the body force \(\mathbf b\) is often given as the force due to gravitational acceleration denoted by \(\mathbf g\).
All in all, this yields the well known momentum balance:
\[ \partial_t ( \rho \mathbf v ) + \nabla \cdot \left(\rho \mathbf v \otimes \mathbf v \right) = \nabla \cdot \mathbf \sigma + \rho \mathbf b \]
with terms:
\(\partial_t ( \rho \mathbf v )\) : local change of momentum per unit volume
\(\nabla \cdot \left( \rho \mathbf v \otimes \mathbf v \right)\) :influx/outflux of momentum into control volume due to advective transport
\(\nabla \cdot \mathbf \sigma\) : force action of the ambient continuous medium through its boundary (examples: stretched rod, fluid at rest)
\(\rho \mathbf b\) : total mass force acting on the medium, e.g. gravitational force
We can use the mass balance to re-write momentum balance as
\[ \partial_t \mathbf v + \left( \mathbf v \cdot \nabla \right) \mathbf v = \tfrac{1}{\rho} \nabla \cdot \mathbf \sigma + \mathbf b \]
Identifying the total derivative yields
\[ \frac{D}{Dt} \mathbf v = \tfrac{1}{\rho} \nabla \cdot \mathbf \sigma + \mathbf b, \]
which mimicks Newton’s second law.
Continuum Mechanical Modeling for Simulation Science - Balance laws