Part VII: Rheology

As we saw during our discussion on transport theory, the principal equation of fluid dynamics really boils down to a transport equation for the momentum in a fluid, or for the transport of momentum density through fluid points:

$\displaystyle \frac{\partial\left(\rho\vec{v}\right)}{\partial t}\ + \nabla \cdot \left(\rho \vec{v} \otimes \vec{v}\right) = \vec{f} + \vec{r}_{mol}$

where the $\vec{r}_{mol}$ term represents forces stemming from molecular effects. It is this molecular term which exclusively “identifies” a fluid, as everything else in the governing equation above was generated through a very general mathematical framework describing the movement of “things” in space rather than through specific physical insight associated with fluids. Consequently, understanding this connection between continuum-scale momentum and molecular effects is a humongously important task for physicists and engineers alike, and is the principal endeavor of rheology.

It’s often extremely difficult to generate refined models for $\vec{r}_{mol}$ from first principles, so often the process of determining an $\vec{r}_{mol}$ for a given fluid consists of making some basic assumptions about the fluid and then testing the fluid experimentally to see if the behavior of the fluid is consistent with those assumptions. Rheology, as a result, is largely an experimental science.

This doesn’t mean we’re simply left to fiddle around with rheometers from now on, however—in fact, we’ll rapidly find that a couple of simple assumptions and some not-so-simple tensor calculus will lead us to an equation that applies to nearly all fluids.

Firstly—and as we saw in Part 1—when we talk about the density or velocity of a fluid at a point, we’re really talking about the average velocity or mass/volume ratio inside a small “molecular net” around a point. One thing we haven’t talked about yet is on the consequences of formulating a theory of fluid mechanics strictly on these average quantities, and how fluctuations around those averages affects the way fluid molecules exert forces on each other at the macroscale. In order to do so, we first need to make a relatively sensible hypothesis about the nature of these molecular forces, a hypothesis I call the “fluctuation hypothesis”; that all random fluctuations of fluid quantities occur as a result of intermolecular forces in the fluid. Based on this, we can try to formulate the Cauchy momentum equation we derived before that excludes an implicit intermolecular force term—but for a randomly fluctuating density and velocity—and equate any differences we see between either momentum equation to intermolecular forces.

Let’s start by defining a “true” fluctuating density $\rho^*$ and velocity $\vec{v}^*$ at a point, both of which fluctuate independently around an average $\rho$ and $\vec{v}$. This lets us split up the true quantities into an average part, which we’ve been dealing with from the beginning, and a fluctuating part (indicated with $'$) that is on average zero:

$\rho^* = \rho + \rho'$
$\vec{v}^* = \vec{v} + \vec{v}'$

Since these quantities are transported in a fluid just like their averaged counterparts, we can construct a momentum equation based on them that is just as valid as the one we saw before:

$\displaystyle \frac{\partial\left(\rho^*\vec{v}^* \right)}{\partial t}\ + \nabla \cdot \left(\rho^* \vec{v}^* \otimes \vec{v}^* \right) = \vec{f}$

Expanding out in terms of average and fluctuating components leads to a lengthy, messy expression:

$\displaystyle \frac{\partial\left(\rho\vec{v}\right)}{\partial t}\ + \frac{\partial\left(\rho'\vec{v}'\right)}{\partial t}\ + \nabla \cdot \left(\rho \vec{v} \otimes \vec{v}\right) + \nabla \cdot \left(\rho' \vec{v} \otimes \vec{v}\right) + \nabla \cdot \left(\rho \vec{v}' \otimes \vec{v}\right)\ + \nabla \cdot \left(\rho \vec{v} \otimes \vec{v}'\right) + \nabla \cdot \left(\rho' \vec{v}' \otimes \vec{v}\right) + \nabla \cdot \left(\rho' \vec{v} \otimes \vec{v}'\right) + \nabla \cdot \left(\rho \vec{v}' \otimes \vec{v}'\right)\ + \nabla \cdot \left(\rho' \vec{v}' \otimes \vec{v}'\right) = \vec{f}$

This just looks like a big jumble of symbols, so we have to get to work on simplifying this a little bit. Luckily, we can get rid of nearly everything in one fell swoop by averaging everything out! This will get rid of every term that contains a single fluctuating term (since those terms are normal numbers multiplied by something that’s on average zero) and everything that has a $\rho'\vec{v}'$ in it (since both are independent and average to zero, they multiply to something that’s on average zero). This results in a far simpler expression:

$\displaystyle \frac{\partial\left(\rho\vec{v}\right)}{\partial t}\ + \nabla \cdot \left(\rho \vec{v} \otimes \vec{v}\right) + \nabla \cdot \left(\rho \overline{\vec{v}' \otimes \vec{v}'}\right) = \vec{f}$

where the $\overline{\phantom{x}}$ indicates an average of something that wasn’t already defined as an average. Curiously, the $\rho \overline{\vec{v}' \otimes \vec{v}'}$ doesn’t zero out! This is because even though each individual $\vec{v}'$ is on average zero, the combination $\vec{v}'\otimes\vec{v}'$ isn’t, since it’s “kind of” the square of an individual $\vec{v}'$. The presence of that extra term shows that considering fluctuations in fluid mechanical quantities actually does lead to a verifiable change in the momentum transport equations we’ve been setting up! And since we had attributed every possible extra term in the fluctuating form of the Cauchy momentum equation to intermolecular forces—that was our fluctuation hypothesis—then for both momentum equations to match, it has to be true that:

$\vec{r}_{mol} = -\nabla \cdot \left(\rho \overline{\vec{v}' \otimes \vec{v}'}\right)$

This gives us a look at how molecular-scale phenomena in a fluid leads to forces at the macroscale, but doesn’t go very far in actually giving us a relationship between those molecular quantities and the averaged-out properties of a fluid we use to formulate fluid mechanics. Remember, $\vec{v}'$ could be basically anything! So what fluid mechanicists do is collect everything inside of the parenthesis, flip the sign, and label the grouped object as a new, unknown second-order tensor $\boldsymbol\sigma$ commonly referred to as the stress. This leads to the form of the Cauchy momentum equation that most engineers \& scientists use:

$\displaystyle \frac{\partial\left(\rho\vec{v}\right)}{\partial t}\ + \nabla \cdot \left(\rho \vec{v} \otimes \vec{v}\right) = \vec{f} + \nabla \cdot \boldsymbol\sigma$

Equivalently, the stress tensor $\boldsymbol\sigma$ is just a second-order tensor that represents, for a given fluid point, the traction/force per unit area $\vec{t}$ acting on that element thanks to its neighboring fluid point in the $\hat{n}$ direction. If you’ve studied solid mechanics, you’ve likely heard the term stress thrown around before; it means the same thing there as it does here. In fact, the only difference between a solid and a fluid is that the stress is a function of different continuum parameters in each type of substance. Notice we never did anything fluid-specific when we derived the momentum transport equation above!

Luckily, we already know one piece of the puzzle of $\boldsymbol\sigma$; it has to contain the forces coming from pressure gradients, since we spent two Parts discussing how pressure (and the forces it induces) is an entirely molecular effect. We can make our lives easier and pull that pressure gradient term out, making sure we make it negative so that everything is consistent with the hydrostatic equation we derived in Part II:

$\displaystyle \frac{\partial\left(\rho\vec{v}\right)}{\partial t}\ + \nabla \cdot \left(\rho \vec{v} \otimes \vec{v}\right) = \vec{f} - \nabla p + \nabla \cdot \boldsymbol\tau$

That new tensor $\boldsymbol\tau$ is usually called the deviatoric stress tensor, which I think is a silly name.

The contents of the deviatoric stress tensor are in some sense what we’re really looking for, since the notion of pressure and pressure gradients is universal in solids and liquids. And here, we can classify fluids rheologically into two important & distinct branches based on a key characteristic of their behavior when standing still; fluids whose static behavior is fully characterized by pressure gradients (commonly called simple fluids), and fluids for which it is not (commonly called non-Newtonian fluids). For the latter, the molecules in the fluid will usually have some kind of extra molecular force that “causes” them to try to remain in some specific macroscopic shape or configuration—just like a solid. Some examples of this are ketchup (it doesn’t like to flow out unless you smack the bottle or pump it out), mucus, pancake mix, melted rubber, etcetra; there’s too many to count. A simple experimental way to figure out whether or not a fluid is simple or non-Newtonian is to pour it into onto a surface and then tilt the surface very, very slightly; if the fluid flows at even a slight angle, then it’s safe to say the fluid behaves like a simple fluid. (Professionals use rheometers). Modeling non-Newtonian fluids is very tricky, and usually done on a case-by-case basis; we won’t concern ourselves here with understanding how they’re modeled, other than that their additional static molecular forces usually depend on the same thing that they depend on for solids, which is some displacement off of an “equilibrium” configuration like in a spring.

Looking back at simple fluids, modeling them is far easier than modeling non-Newtonian fluids since the assumption on the behavior of simple fluids induces quite a big constraint on that deviatoric stress tensor $\boldsymbol\tau$; if we take the assumption that every molecular effect that induces forces in an unmoving fluid is by definition captured through pressure gradients, then we find that $\boldsymbol\tau$ can’t possibly contain any terms involving the physics of the fluid when it’s standing still. It is entirely a function of the properties of the fluid’s motion, which is why I like to call $\boldsymbol\tau$ the hydrodynamic stress tensor when modeling simple fluids.

With that in hand, let’s continue with some extra assumptions. The next assumption we can make is that $\boldsymbol\tau$, which we’ve said depends on the motion of the fluid, is independent of the absolute velocity of the fluid. This is pretty obvious when you think about it; if the stress of a fluid directly depended on the velocity, we would be able to observe a fluid deform differently depending on whether or not we were walking forwards or backwards relative to the fluid, since velocity is always relative to the observer. Instead, we can assume that $\boldsymbol\tau$ is only a function of velocity gradients, which is almost always true unless you’re moving extremely fast. Mathematically, this means:

$\displaystyle \frac{\partial\left(\rho\vec{v}\right)}{\partial t}\ + \nabla \cdot \left(\rho \vec{v} \otimes \vec{v}\right) = \vec{f} - \nabla p + \nabla \cdot \left(\boldsymbol\tau\!\left[\nabla \vec{v}\right]\right)$

Here the brackets just indicate that $\boldsymbol\tau$ is a function of $\nabla \vec{v}$. But remember; when talking about velocity gradients, we have to consider the gradients in each direction of the velocity components in each direction. So instead of representing three pieces of independent information like $\vec{v}$ does, velocity gradients represents nine, meaning that it’s—you guessed it—a tensor.

As a matter of fact, the assumption above puts a further restriction on $\boldsymbol\tau$; if I decided to somehow spin myself around a static fluid I’m observing in the lab, I would observe a nonzero velocity gradient even though the fluid is standing perfectly still. As a result, a simple fluid’s deviatoric stress tensor can’t depend on every part of the velocity gradient tensor, just some parts. Some behind-the-scenes tensor manipulations show that in a simple fluid, the deviatoric stress tensor can only depend on the symmetric part of the velocity gradient tensor. This property is commonly referred to as objectivity, and the symmetric part of the velocity gradient tensor is usually called the strain-rate tensor $\mathbf{E}$, calculated from the velocity gradients by:

$\displaystyle \mathbf{E} = \frac{\nabla\vec{v} + \nabla\vec{v}^\intercal}{2}$

This still doesn’t really get us anywhere; the nine components of $\boldsymbol\tau$ are so far completely arbitrary functions of the nine components of $\mathbf{E}$. But we can section simple fluids out into two other categories; fluids for which $\boldsymbol\tau$ is strictly proportional to the strain-rate tensor, which are commonly called Newtonian fluids, and fluids for which it is not, which are called generalized Newtonian fluids. (For what it’s worth, I think the naming conventions for Newtonian/non-Newtonian/generalized Newtonian fluids is confusing and outright ridiculous, but there’s not much I can do about it.) Examples of generalized Newtonian fluids include blood, nail polish, paint, syrup, etcetra. For generalized Newtonian fluids, the behavior of the fluid is properly “liquid”, but the magnitude of the molecular forces induced by the flow of the fluid are complicated functions of the components of the gradients in the velocity. Models for these functions are more of an art than a science, based largely on experimental results; here are some examples.

For a Newtonian liquid, however, we now find that there is a linear relationship between the second-order strain-rate tensor $\mathbf{E}$, with nine independent components, and the second-order deviatoric stress tensor $\boldsymbol\tau$, also with nine independent components. This means that we can represent the linear relationship by a fourth-order tensor with 81 different components (yikes!) which I’ll call the viscosity tensor $\mathbf{M}$:

$\displaystyle \boldsymbol\tau = \mathbf{M}:\mathbf{E}$

For better or worse, there’s an extra assumption that nearly always applies to fluids of this type; the molecular interactions are independent of direction, and as a result the stress tensor is independent of the orientation of the velocity gradients. Fluids for which this holds true are called isotropic, and fluids for which it’s not are called anisotropic. I’ve never heard of an anisotropic simple Newtonian fluid, but maybe you’ll be the first to find one!

For a simple Newtonian isotropic fluid, doing some behind-the-scenes tensor calculus reveals that our updated conservation of momentum equation has to take the following form once we all these assumptions:

$\displaystyle \frac{\partial\left(\rho\vec{v}\right)}{\partial t}\ + \nabla \cdot \left(\rho \vec{v} \otimes \vec{v}\right) = \vec{f} - \nabla p\ +\ \mu \nabla^2 \vec{v}\ +\ \left(\lambda + \mu\right)\nabla\left(\nabla\cdot\vec{v}\right)$

This absolute mess of an equation is called the compressible Navier-Stokes equation, and is the equation nearly everyone uses when dealing with flow of compressible fluids. The two symbols $\mu$ and $\lambda$ are undetermined proportionality factors that are the only surviving components of that viscosity tensor $\mathbf{M}$, and are usually determined through experiment; the first is universally referred to as the dynamic viscosity or just viscosity, and the second is so inconsistently defined in the literature that the only name we can give this thing that rheologists wouldn’t argue over is the profoundly unhelpful moniker of second Lamé parameter.

If we further assume that the fluid is incompressible and that the viscosity is the same everywhere, we can polish the equation up a lot more and pull the density out of a lot of expressions, get rid of that last term that depends on $\lambda$, and wind up with:

$\boxed{\displaystyle \frac{\partial\left(\rho\vec{v}\right)}{\partial t}\ + \nabla \cdot \left(\rho \vec{v} \otimes \vec{v}\right) = \vec{f} - \nabla p\ +\ \mu \nabla^2 \vec{v}}$

This is the incompressible Navier-Stokes equation, also known as just the Navier-Stokes equation, and it is the most famous equation in fluid dynamics; understanding it and analyzing its components will be the sole subject of the next Part. Given how involved this sequence of assumptions is for an introduction to fluid mechanics, I’ve put a table below describing how each assumption we made brought us from the Cauchy momentum equation at the beginning of this Part to the Navier-Stokes equation above.

3. If you’re brave enough to handle some tensors, can you find why the form of the deviatoric stress tensor goes from $2 \mu \mathbf{E} + \lambda Tr(\mathbf{E})\mathbf{I}$ to $\mu \nabla \vec{v}$ when we take the incompressibility assumption? Remember the definition of the strain-rate tensor!
4. What statements can you make about the stress tensor based just on the fact that $\boldsymbol{\sigma} = -\rho \overline{\vec{v}' \otimes \vec{v}'}$?