Boring stuff

The previous equation is still too general, and a connection between stress and strain is still needed. Here we consider the case in which there is a linear relationship between both, which involves the coefficient of viscosity.

To begin with, let us consider a simple case in which a fluid is confined between two planes. One of them moves sideways with a certain speed $u_0$, while the other is kept fixed. After a certain transient, some force is needed in order to keep this shearing. The simplest expression is $F= \mu A \frac{u_0}{L}.$

The force is proportional to the area and to the velocity difference between the planes. It is also inversely proportional to their separation, L (this fact being the least obvious). Finally, a constant of proportionality is given by $\mu$, the viscosity coefficient, or

simply “the viscosity”. This constant may vary with temperature, density, pressure, but the point with Newtonian fluids is that it does not vary with the velocity field (or its derivatives).

Later, in section …, this flow will be solved as a solution of the Navier-Stokes equations, the Couette flow. There, it will be shown that the velocity is everywhere in the direction of the force exerted on the upper plane, let us call it $x$, and varies linearly between the planes, in the y direction. Therefore, the only components of the strain rate tensor are $\epsilon_{xy} = \epsilon_{yx} = u_0 / ( 2 L )$. We therefore have $\tau_{xy} = \mu \epsilon_{xy}.$

With this in mind, let us look for a general relationship between $\tau$ and $\epsilon$. This is much easier if we go to the principal strain axes. These are the coordinates on which the strain rate is diagonal. Such coordinate system always exist, since the strain rate tensor is symmetric. Notice that in these system strains are not due to shear, only to dilations.

Better with stock pictures “A connection is needed”. Photo by Pixabay on Pexels.com

The previous equation is still too general, and a connection between stress and strain is still needed. Here we consider the case in which there is a linear relationship between both, which involves the coefficient of viscosity. Holy cow, is honey viscous or what. Photo by Pixabay on Pexels.com

To begin with, let us consider a simple case in which a fluid is confined between two planes. One of them moves sideways with a certain speed $u_0$, while the other is kept fixed. After a certain transient, some force is needed in order to keep this shearing. The simplest expression is $F= \mu A \frac{u_0}{L}.$

The force is proportional to the area and to the velocity difference between the planes. It is also inversely proportional to their separation, L (this fact being the least obvious). Finally, a constant of proportionality is given by $\mu$, the viscosity coefficient, or Newton’s craddle. Another of this guy’s creations. Photo by Pixabay on Pexels.com

simply  “the viscosity”. This constant may vary with temperature, density, pressure, but the point with Newtonian fluids is that it does not vary with the velocity field (or its derivatives). What a wave. Its strain tensors must be on fire. Photo by Emiliano Arano on Pexels.com

Later, in section …, this flow will be solved as a solution of the Navier-Stokes equations, the Couette flow. There, it will be shown that the velocity is everywhere in the direction of the force exerted on the upper plane, let us call it $x$, and varies linearly between the planes, in the y direction. Therefore, the only components of the strain rate tensor are $\epsilon_{xy} = \epsilon_{yx} = u_0 / ( 2 L )$. We therefore have $\tau_{xy} = \mu \epsilon_{xy}.$

With this in mind, let us look for a general relationship between $\tau$ and $latex What a bunch of math. This is so hard. Photo by Lum3n.com on Pexels.com \epsilon$. This is much easier if we go to the principal strain axes. These are the coordinates on which the strain rate is diagonal. Such coordinate system always exist, since the strain rate tensor is symmetric. Notice that in these system strains are not due to shear, only to dilations.

Tired of that “TeX” look?

TeX has been using computer modern (CM) font since its inception. But that “TeX” look may become a bit tiring. Of course, TeX is a typesetting engine, it is not limited to CM fonts. On the other hand, there aren’t so many fonts around for both the text and the math. (If you have no math,  xeTex makes it easy to use most fonts you can imagine, including the Microsoft and google families).

I found a very clear review of existing alternatives at the Font usage post, by Ryosuke Iritani (入谷 亮介). I have taken his suggestions and created a gallery, with a simple sample of text and equations.

More elegant Palatino

\usepackage[sc]{mathpazo}
\usepackage[T1]{fontenc} Kpfonts (Palatino-like)

\usepackage{kpfonts} Libertine

Used e.g. in Wikipedia on each sectioning

\usepackage{libertine}
\usepackage{libertinust1math}
\usepackage[T1]{fontenc} STIX

Scientific and Technical Information Exchange; Times-based but much more elegant than txfonts package.

\usepackage[T1]{fontenc}
\usepackage{stix} Garamond

It’s a bit thin and less friendly

\usepackage[urw-garamond]{mathdesign}
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc} Charter

\usepackage[charter]{mathdesign} Crimson (with math support)

\usepackage[T1]{fontenc}
\usepackage{cochineal}
\usepackage[cochineal,varg]{newtxmath} \usepackage[lf]{Baskervaldx} % lining figures
\usepackage[bigdelims,vvarbb]{newtxmath} % math italic letters from Nimbus Roman
\usepackage[cal=boondoxo]{mathalfa} % mathcal from STIX, unslanted a bit
\renewcommand*\oldstylenums{\textosf{#1}}

Helvetica

So far, the only font not included the Iritani’s Font usage post!

\usepackage{helvet}
\usepackage{sansmath}

\usepackage{titlesec}  % this enforces helvetica in section and chapter titles
\titleformat{\chapter}[display]
{\normalfont\sffamily\huge\bfseries}
{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titleformat{\section}
{\normalfont\sffamily\Large\bfseries}
{\thesection}{1em}{}

% In main text, at the beginning:
\fontfamily{phv}\selectfont

% before the first equation:
\sansmath The code

All the above was produced with variations of this file. I just run latex on it, then dvips to get a ps file, which I then crop and export as PNG using the GIMP. Of course, depending on the system, some LaTeX packages may be needed, as well as fonts (I had to install urw-garamond on my arch linux system, for example.)

\documentclass{article}

\newcommand{\bfr}{\mathbf{r}}
\newcommand{\bfu}{\mathbf{u}}
\newcommand{\bfq}{\mathbf{q}}

\usepackage{amsmath}

\usepackage{libertine}
\usepackage{libertinust1math}
\usepackage[T1]{fontenc}

\usepackage{lipsum}% for filler text

\begin{document}

\section{A section}

\lipsum

Equations:

\begin{equation}
\frac{d \mathbf{u}}{d t} = - \nabla p + \nu \nabla^2 \mathbf{u},
\end{equation}

\begin{equation}
\begin{split}
E &= m c^{2},\\
T &= 2\pi \sqrt{\frac{m}{k}}
\end{split}
\end{equation}

\begin{equation}
\iint \phi = - \oint p
\end{equation}
\end{document}

Plotting 2D column-shaped results with python

Ok, so you have your computational output of a set of 2D points. You have been lazy and done the obvious stuff: arrange them in columns, with the first one being the x coordinates, second one the y coordinate, then come the fields, which may be scalar (one column each), or vector (two columns each, one for each coordinate). How to visualize them?

ipython --pylab

Then, read the data

In : dt = loadtxt( ‘1/mesh.dat’ )

In : shape( dt )
Out: (1024, 27)

Notice the last command tells us we have 1024 data points, and 27 fields (well, 25 + positions). For convinience, assign columns to arrays:

In : x=dt[:,0]; y=dt[:,1]; al=dt[:,4]

Now x and y are positions, and “al” is the scalar field for the fifth column (number 4, since counters start at 0 in python).

To visualize the positions,

In : scatter( x , y )

A scalar field may be visualized with a color map:

In : scatter( x , y , c = al )

The “c=” means the color is taken from field al. One may fiddle with colormaps and symbol sizes:

In : scatter( x , y , c = al , cmap= plt.cm.Blues, s=8 )

To know the range we are plotting, produce a color bar:

In : colorbar()

Remember each plotting is overlaid on the previous one, so it is necessary to blank the plot from time to time:

In : clf()

For vector fields, assign coordinates to two separate arrays:

In : vx=dt[:,8]; vy=dt[:,9]

Then, use “quiver” to get a vector plot:

In : quiver( x, y, vx , vy )

A markdown test

This is a test of markdown blog writing. The writing comes straight from my website on CFD methods. These were written in markdown under reveal.js, for quick and nice lecture slides. Some changes had to be made:

• LaTeX must start as “dollar sign latex” … “dollar”
• Links to local files (such as pictures) don’t work
• Lists (such as this one) do not seem to work well

Muy a menudo, se parte de las EDPs, conocidas, por ejempo: $\frac{\partial u}{\partial t} + c \frac{\partial u}{\partial x} = 0$

Estas se discretizan: sustituyendo las derivadas por diferencias.

Sin embargo, este es un proceso de ida y vuelta, porque
las EDPs se deducen a nivel discreto.

Deducción

Se suponen cambios de un campo $u$ sólo
en la dirección $x$    El cambio en la cantidad total $A \Delta x \, u_i$ será: $\frac{d }{d t} (A \Delta x \, u_i ) = \Phi_{i-1/2} - \Phi_{i+1/2}$

Flujos, convección

Antes los flujos por las caras venían dados por: $\Phi_{i-1/2} = A c \, u_{i-1/2}$ $\Phi_{i+1/2} = A c \, u_{i+1/2}$ $\frac{d }{d t} (A \Delta x \, u_i ) = A c \, u_{i-1/2} - A c \, u_{i+1/2}$

Sound waves with attenuation

Just a simple derivation of the role of attenuation in the standard sound wave equation. Original work: Stokes, 1845.

Starting with the Navier-Stokes momentum equation $\frac{\partial }{\partial t} \mathbf{u} + \mathbf{u} \nabla \mathbf{u} = - \frac{1}{\rho} \nabla p + \frac{\mu}{\rho} \nabla^2 \mathbf{u} + \left(\frac{\lambda+\mu}{\rho}\right)\nabla (\nabla\cdot\mathbf{u}) ,$

where $\lambda$ is a Lamé viscosity coefficient. The bulk viscosity coeficient  is defined as $\zeta = \lambda + (2/3) \mu$. The last term  is often neglected, even in compressible flow, but sound attenuation is one of the few cases where it may have some influence. All viscosities are assumed to be constant, but in this case this is a safe assumption, since we are going to assume small departures about equilibrium values.