-
Notifications
You must be signed in to change notification settings - Fork 0
/
reynoldsDecomposition.m
67 lines (65 loc) · 2.89 KB
/
reynoldsDecomposition.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
function [U, V, W, up, vp, wp] = reynoldsDecomposition(u, v, w)
%
% Matt Werner ([email protected]) - June 24, 2021
%
% Decompose a measured fluid velocity field in the sense of Reynolds
% (average + fluctuating) at a given (fixed) time t. The provided data are
% generally matrix valued, providing description over a volume of positions
% (x, y, z) with increasing index in the matrix corresponding to increasing
% position. The matrix is ordered in the following sense:
% 1. (z, :, :) The elevation (z) fills the rows
% 2. (:, x, :) The downrange (x) fills the columns
% 3. (:, :, y) The crossrange (y) fills the "pages".
% (If data is provided in an (x,y,z) format, then `permute(k, [2, 3, 1])'
% will place them in proper ordering, where k = u, v, w).
%
%
% Note: For a wind field assumed to be homogeneous at a given elevation
% (that is, u = u(z), v = v(z), and w = w(z), i.e. independent of x
% and y), these quantities (u, v, w) correspond to a instrument tower
% measuring the wind speed at various (n) elevations. These values
% are then vector-valued with their FIRST elements corresponding to
% the measurement made at the LOWEST elevation on the tower. The
% dimension of the vector is therefore n-by-1(-by-1), the ordinary
% column vector.
%
% Proper ordering is not required for the Reynolds decomposition
% itself, but is required when gradients need to be evaluated. Thus,
% it is best to keep the data ordered from the beginning.
%
% Inputs:
%
% u, v, w - Downwind (u), crosswind (v), and vertical (w) wind
% velocities at given locations (x, y, z) and time t
% on which Reynolds decomposition is to be performed.
% The decomposition provides separation of mean and
% fluctuating components as
% k = mean(k) + (k - mean(k)),
% \_____/ \___________/
% K k'
% where k = u, v, w. Here, K is the average (mean)
% value of k and k' = (k - K) is the "fluctuation of
% k".
% Size: z-by-x-by-y (matrix)
% Units: m/s (meters per second)
%
% Outputs:
%
% U, V, W - The respective average (mean) values of the velocity
% components u, v, and w.
% Size: z-by-x-by-y (matrix)
% Units: m/s (meters per second)
%
% up, vp, wp - The respective fluctiation values of the velocity
% components u, v, and w.
% Size: z-by-x-by-y (matrix)
% Units: m/s (meters per second)
%
% Compute the mean value of each component
U = mean(u);
V = mean(v);
W = mean(w);
% Compute the fluctuation of each component
up = u - U;
vp = v - V;
wp = w - W;