# iccsa-21-wind

git clone https://git.igankevich.com/iccsa-21-wind.git
Log | Files | Refs

commit 61e4e0dbe2bab3e55d32d2aaaf7dd20f0f22f36b
Author: Ivan Gankevich <i.gankevich@spbu.ru>
Date:   Sat, 20 Mar 2021 21:19:35 +0300

Anemometer description.

Diffstat:
main.tex | 110+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wind.mathics | 3+++

2 files changed, 113 insertions(+), 0 deletions(-)
diff --git a/main.tex b/main.tex
@@ -7,6 +7,8 @@
\usepackage{graphicx}
\usepackage{url}

+\DeclareMathOperator{\Mode}{Mo}
+
\begin{document}

\title{TODO
@@ -39,6 +41,114 @@

\section{Methods}

+\subsection{Three-axis wind velocity measurements with load cell anemometer}
+
+In order to generate wind velocity field using four-dimensional (one temporal
+and three spatial dimensions) auoregressive model, we need to use
+four-dimensional wind velocity autocovariance function. Using Wiener---Khinchin
+theorem it is easy to compute the function from the spectrum. Unfortunately,
+most of the existing wind velocity historical data contains only wind velocity
+magnitude and direction. We can use them to reconstruct $$x$$ and $$y$$
+spectrum, but there is no way to get spectrum for $$z$$ coordinate from this
+data. To solve this problem, we decided to build our own three-axis anemometer
+that measures wind velocity for all three axes at one point in space.
+
+To measure wind velocity we used resistive foil strain gauges mounted on the
+arms aligned perpendicular to the axes directions. Inside each arm we placed
+aluminum load cell with two strain gauges: one on the bending side and another
+one on the lateral side. Load cell uses Wheatstone bridge to measure the
+resistance of the gauges and compensate for temperature changes. Load cells are
+connected to the circuit that measures the resistance and transmits it to the
+microcontroller in digital format. Microcontroller then records the value for
+each load cell and transmits all of them in textual form to the main computer.
+The main computer then adds a timestamp and saves it to the database.
+
+Each load cell face the direction that is perpendicular to the directions of
+other load cells. When the wind blows in the direction of the load cell, only
+this cell bends. When the wind blows in an arbitrary direction which is not
+perpendicular to any load cell faces, then all load cells bend, but the
+pressure force is smaller. Pressures of all load cells are recorded
+simultaneously, and we can use Bernoulli's equaion to compute wind velocity
+from them.
+
+Bernoulli's equation is written as
+
+    \rho\frac{\upsilon^2}{2} + \rho gz = p_0-p.
+
+Here $$\upsilon$$ is wind velocity magnitude, $$g$$ is gravitational acceleration,
+$$z$$ is vertical coordinate, $$\rho$$ is air density, $$p$$ is pressure on the
+load cell and $$p_0$$ is atmospheric pressure. Pressure force $$\vec{F}$$ acting on a load
+cell is written as
+
+    \vec{F} = p S \vec{n},
+
+where $$S$$ is area of the side of the load cell on which the force is applied
+and $$\vec{n}$$ is normal vector. Arms in which the load cell reside have only
+front and back sides with much larger areas than the left and right side, therefore
+we neglect forces on them. Additionally, on the ground $$\rho{}gz$$ term vanishes.
+
+All in all, for all load cells we have a system of three equations
+
+    \begin{cases}
+        \upsilon_x^2 \propto F_x \\
+        \upsilon_y^2 \propto F_y \\
+        \upsilon_z^2 \propto F_z \\
+    \end{cases}.
+
+Hence $$\upsilon_{x}=\alpha_{x}\sqrt{F_{x}}$$,
+$$\upsilon_{y}=\alpha_{y}\sqrt{F_{y}}$$,
+$$\upsilon_{z}=\alpha_{z}\sqrt{F_{z}}$$ where $$\alpha_{x,y,z}$$ are constants of
+proportionality. Therefore, to obtain wind velocity to take square root of the
+value measured by the load cell and multiply it by some coefficient determined
+empirically during anemometer calibration.
+
+\subsection{Three-dimensional ACF of wind velocity}
+
+One-dimensinoal wind velocity probability density function that is defined piecewise.
+One piece starts at $$-\infty$$ and goes up
+to $$\Mode{x}$$, and the second one starts at $$\Mode{x}$$ and goes to $$\infty$$.
+Both pieces use the formula that is similar to Weibull distribution which does not
+have $$x$$ before the exponent and is similar to normal distribution which
+parameterise the power of $$x$$. Probability density function is written as
+
+    f(x) =
+    \begin{cases}
+        a_1\exp\left(-\left(b_1\left|x-\Mode{x}\right|\right)^{c_1}\right)
+            \qquad \text{if }x < \Mode{x} \\
+        a_2\exp\left(-\left(b_2\left|x-\Mode{x}\right|\right)^{c_2}\right)
+            \qquad \text{if }x \geq \Mode{x} \\
+    \end{cases}.
+
+Here $$a_{1,2}>0$$, $$b_{1,2}>0$$ and $$c_{1,2}>0$$ are parameters of the distribution
+that control the shape of the exponent.
+
+One-dimensional autocorrelation function is written as
+
+    \rho\left(t\right) = a_3 \exp\left(-\left(b_3 t\right)^{c_3} \right).
+
+Here $$a_3>0$$, $$b_3>0$$ and $$c_3>0$$ are parameters of the autocorrelation
+function that control the shape of the exponent.
+
+In order to construct three-dimensional autocorrelation function we assume that
+one-dimensional autocorrelation function is the same for each coordinate and
+multiply them.
+
+    \rho\left(t,x,y,z\right) = a \exp\left(
+        -\left(b_t t\right)^{c_t}
+        -\left(b_x x\right)^{c_x}
+        -\left(b_y y\right)^{c_y}
+        -\left(b_z z\right)^{c_z}
+    \right).
+
+Here $$a>0$$, $$b_{t,x,y,z}>0$$ and $$c_{t,x,y,z}>0$$ are parameters of the autocorrelation
+function. Parameter $$a$$ is proportional to the scalar wind velocity,
+parameter $$b_{t,x,y,z}$$ is proprotional to the mode of projection of wind velocity
+on the corresponding axis (the most common wind speed in the corresponding direction).
+Parameter $$c_{t,x,y,z}$$ controls the shape of the autocorrelation function in
+the corresponding direction; it does not have simple relationship to the wind
+velocity statistical parameters.
+
+
\section{Results}

\section{Discussion}
diff --git a/wind.mathics b/wind.mathics
@@ -0,0 +1,3 @@
+Print[Solve[{ux^2==a1 fx,
+             uy^2==a2 fy,
+             uz^2==a3 fz},{ux,uy,uz}]]