iccsa-21-wind

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

commit a5168e6f2a5b371925195dc6359efb2954661229
parent 6325beb6a8f5e0c8a970c5494a0512e9e6ab4dbf
Author: Ivan Gankevich <i.gankevich@spbu.ru>
Date:   Wed, 24 Mar 2021 18:17:25 +0300

Add wind PDF derivation.

Diffstat:
main.bib | 58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
main.tex | 70++++++++++++++++++++++++++++++++++++++++++++++++----------------------
wind.mathics | 18++++++++++++++++--
3 files changed, 122 insertions(+), 24 deletions(-)

diff --git a/main.bib b/main.bib @@ -0,0 +1,58 @@ + +@Article{ carta2008, + title = {Statistical modelling of directional wind speeds using + mixtures of von Mises distributions: Case study}, + journal = {Energy Conversion and Management}, + volume = {49}, + number = {5}, + pages = {897--907}, + year = {2008}, + issn = {0196-8904}, + doi = {10.1016/j.enconman.2007.10.017}, + url = {https://www.sciencedirect.com/science/article/pii/S0196890407003767}, + author = {José A. Carta and Celia Bueno and Penélope Ramírez}, + keywords = {Mixture distributions, Wind direction, Circular normal + distributions, von Mises distributions}, + comment = {Wind direction distribution.} +} + +@Article{ yim2000, + title = {A study on the distributions of the measured fluctuating wind + velocity components}, + journal = {Atmospheric Environment}, + volume = {34}, + number = {10}, + pages = {1583--1590}, + year = {2000}, + issn = {1352-2310}, + doi = {10.1016/S1352-2310(99)00414-8}, + url = {https://www.sciencedirect.com/science/article/pii/S1352231099004148}, + author = {John Z Yim and Chun-Ren Chou and Wei-Po Huang}, + keywords = {Turbulent fluctuations, Probability distribution, Gaussian + distribution, Gram–Charlier series expansions}, + comment = {Wind velocity components distributions.} +} + +@Article{ justus1976, + author = {C. G. Justus and W. R. Hargraves and Ali Yalcin}, + title = {Nationwide Assessment of Potential Output from Wind-Powered + Generators}, + journal = {Journal of Applied Meteorology and Climatology}, + year = {01 Jul. 1976}, + publisher = {American Meteorological Society}, + address = {Boston MA, USA}, + volume = {15}, + number = {7}, + doi = {10.1175/1520-0450(1976)015<0673:NAOPOF>2.0.CO;2}, + pages = {673--678}, + url = {https://journals.ametsoc.org/view/journals/apme/15/7/1520-0450_1976_015_0673_naopof_2_0_co_2.xml}, + comment = {Wind speed distribution (Weibull).} +} + +@Book{ box1976time, + title = {Time series analysis: forecasting and control}, + author = {Box, George E. P. and Jenkins, Gwilym M.}, + year = {1976}, + publisher = {Holden-Day} +} + diff --git a/main.tex b/main.tex @@ -11,7 +11,7 @@ \begin{document} -\title{TODO +\title{Wind simulation using high-frequency velocity component measurements \thanks{Supported by Council for grants of the President of the Russian Federation (grant no.~\mbox{MK-383.2020.9}).}} \author{% Anton Gavrikov\orcidID{0000-0003-2128-8368} \and\\ @@ -44,6 +44,8 @@ \section{Introduction} +\cite{yim2000} + \section{Methods} \subsection{Three-axis wind velocity measurements with load cell anemometer} @@ -116,32 +118,50 @@ 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{Per-axis probability distribution functions for wind velocity} - - +\subsection{Per-axis probability distribution function for wind velocity} - -\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 +Scalar wind velocity is described by Weibull disttribution~\cite{justus1976}. +Weibull probability distribution function is written as \begin{equation} - 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} \\ + f\left(\upsilon;b,c\right) = b c \left(b \upsilon\right)^{c-1} + \exp\left(-\left(b\upsilon\right)^{c}\right). +\end{equation} +Here \(\upsilon>0\) is scalar wind velocity, \(b>0\) is scale parameter and \(c>0\) +is shape parameter. This function is defined for positive wind velocity, since +scalar wind velocity is a length of wind velocity vector +\(\upsilon=\sqrt{\smash[b]{\upsilon_x^2+\upsilon_y^2+\upsilon_z^2}}\). However, projection of +wind velocity vector on \(x\), \(y\) or \(z\) axis may be negative. We could simply +extend Weibull distribution for negative values, but this may lead to multimodal distribution +because the maximum value may not be located at \(\upsilon=0\). Our solution to +this problem is to make substitution \(\upsilon_x'=\left|\upsilon_x-\Mode\upsilon_x\right|\), +where \(\Mode\upsilon_x\) is the mode of wind velocity projection to the corresponding axis, +and modulus makes the graph simmetric with respect to \(\upsilon_x'=0\). +The substitution yields +\begin{equation} + f\left(\upsilon_x';b,c\right) = b c + \exp\left(-\left|b\upsilon_x'-g\left(c\right)\right|^{c}\right), + \qquad + g\left(c\right) = \left(\frac{c-1}{c}\right)^{1/c}, +\end{equation} +which is the formula for the right side of the distribution. In order to get the +formula for the left side, we have to use an additional set of parameters \(b\), \(c\). +Then the final formula for both sides is written as +\begin{equation} + f\left(\upsilon_x';b_1,c_1,b_2,c_2\right) = \begin{cases} + b_1 c_1 \exp\left(-\left|b_1\upsilon_x'-g\left(c_1\right)\right|^{c_1}\right) + \qquad \text{if } \upsilon_x < \Mode\upsilon_x \\ + b_2 c_2 \exp\left(-\left|b_2\upsilon_x'-g\left(c_2\right)\right|^{c_2}\right) + \qquad \text{if } \upsilon_x \geq \Mode\upsilon_x \\ + \end{cases}. \end{equation} -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. +Here \(b_{1,2}>0\) and \(c_{1,2}>0\) are parameters of the distribution +that control the scale and the shape. + +\subsection{Three-dimensional ACF of wind velocity} -One-dimensional autocorrelation function is written as +Usually, autocorrelation is modeled using exponential functions~\cite{box1976time}. +In this paper we use one-dimensional autocorrelation function written as \begin{equation} \rho\left(t\right) = a_3 \exp\left(-\left(b_3 t\right)^{c_3} \right). \end{equation} @@ -171,6 +191,12 @@ velocity statistical parameters. \section{Results} +\subsection{Verification of wind velocity distribution} + +\subsection{Verification of wind direction distribution} + +\cite{carta2008} + \section{Discussion} One disadvantage of three-axis anemometer is that the arm for the \(z\) axis is diff --git a/wind.mathics b/wind.mathics @@ -1,5 +1,19 @@ +(* Print[Solve[{ux^2==a1 fx, uy^2==a2 fy, uz^2==a3 fz},{ux,uy,uz}]] -Print[D[x^(k-1) Exp[-x^k], x] // Simplify] -Print[Integrate[x^(k-1) Exp[-x^k], x] // Simplify] +Print[D[x^(c-1) Exp[-x^c], x] // Simplify] +Print[Integrate[x^(c-1) Exp[-x^c], x] // Simplify] +*) + + +weibullExp = -(x/\[Lambda])^c; +weibullPDF = (c/\[Lambda]) (x/\[Lambda])^(c-1) Exp[-(x/\[Lambda])^c]; +weibullMode = \[Lambda] ((c-1)/c)^(1/c); +Print[(weibullExp /. {x -> Abs[x-weibullMode]} /. {\[Lambda] -> 1/b}) // Simplify] ; +Print[(weibullPDF /. {x -> Abs[x-weibullMode]} /. {\[Lambda] -> 1/b}) // Simplify] ; +func[c_] := ((-1 + c) / c) ^ (1 / c); +Print[func[{1, 2, 3}] // N] + + +