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.

Advertisements

Better with stock pictures

pexels-photo-164531.jpeg

“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.

 

 

 

 

honey on white bowl

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

action balls black and white illustration

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).

 

 

 

 

 

 

 

ocean water wave photo

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

black click pen on white paper

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}
\linespread{1.05} % Palladio needs more leading (space between lines)
\usepackage[T1]{fontenc}

mathpazo.png

Kpfonts (Palatino-like)

\usepackage{kpfonts}

mathpazo

Libertine

Used e.g. in Wikipedia on each sectioning

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

libertine.png

STIX

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

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

styx

Garamond

It’s a bit thin and less friendly

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

garamond.png

Utopia (Adobe)

\usepackage[adobe-utopia]{mathdesign}
\usepackage[T1]{fontenc}

utopia.png

Charter

\usepackage[charter]{mathdesign}

charter.png

Crimson (with math support)

\usepackage[T1]{fontenc}
\usepackage{cochineal}
\usepackage[cochineal,varg]{newtxmath}

crimson.png

Baskervald

Baskerville-based, thicker font

\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[1]{\textosf{#1}}

baskervald

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

helvetica

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[10]

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?

With python, start with

ipython --pylab

Then, read the data

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

In [5]: shape( dt )
Out[5]: (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 [6]: 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 [7]: scatter( x , y )

A scalar field may be visualized with a color map:

In [9]: scatter( x , y , c = al )

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

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

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

In [19]: colorbar()

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

In [11]: clf()

For vector fields, assign coordinates to two separate arrays:

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

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

In [22]: quiver( x, y, vx , vy )

 

 

Grabaciones al aire libre

El otro día tuvimos que grabar una película al aire libre con los niños. Un sitio público, gente pasando, lluvia cayendo en todas partes (en particular, en los paraguas que protegían cámara y presentadores). En resumen: buena calidad de vídeo (cámara Canon de fotos, con posibilidad de hacer películas), audio horroroso. Por suerte, uno de nosotros tuvo la idea de grabar el audio con un teléfono móvil, a modo de micrófono. Esto permite mejorar mucho la calidad de audio en producción, como sigue:

  • Se monta la película del modo habitual (seleccionando escenas, transiciones, cortando, etc). (Seguimos usando el windows movie maker, aunque hay opciones interesantes como openshot.) Es mejor no añadir música en este momento, aunque si se hace tampoco pasa nada.
  • Una vez terminado el montaje, se extrae la banda sonora entera y se graba (en ogg preferiblemente, o en mp3 de buena calidad). Este paso es sencillo, el mismo VLC player lo hace)
  • Se importa la banda sonora en un programa de edición de audio tipo DAW (yo uso Cubase 5). Esta es la pista 1. (En principio, un DAW puede importar directamente el audio de un vídeo, pero el Cubase 5 está algo atrasado en cuanto a codecs.) Sobre DAWs, por cierto: están apareciendo varios gratuitos (al menos, para pocos proyectos) que son online (bandlab, soundtrap) ; pueden ser una buena alternativa a DAWs tradicionales.
  • En otras pistas, se importan los ficheros del móvil. (De nuevo, fue necesario VLC para transferir el formato de audio moderno, mp4, a ogg que pudiera leer el Cubase 5; hay que hacerlo uno por uno, lo cual es bastante tedioso, habría que investigar si p.e. audacity lo puede hacer mejor.)
  • Bajo la pista 1 creamos la pista 2, de mejoras. Pasamos el audio de la pista 1 al canal izquierdo estéreo, y el de la pista 2 al derecho.
  • Se va escuchando sólo la pista 1 para encontrar los fragmentos de audio; luego, los localizamos en las pistas de teléfono. Una vez que hemos encontrado el fragmento con audio bueno, lo subimos a la pista 2.
  • Sincronización: gracias a la separación estéreo de canales, es bastante sencillo desplazar con cuidado los fragmentos de la pista 2 hasta que están en sincronía con la 1. Cuando lo conseguimos, cortamos el fragmento de la pista 1 que hemos sustituido y lo mandamos a – infinito para que no suene (se puede borrar también, pero así no se pierde información).
  • Así con todos los fragmentos. Al terminar, se aplican inserciones estándar a la pista 1 y a la 2 (compresión, gate de ruido, ecualización, etc), se colocan las dos en posición estéreo neutra, y se exporta la mezcla de estos dos canales.
  • Finalmente, con el programa de edición de vídeo se sustituye totalmente el audio con la nueva banda sonora. Puede añadirse ahora música si no se ha hecho antes.

 

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

Esquema de convección en 1D

 

Esquema de convección en 1D

conveccion_1d

parts_bw_values_250

 

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}