# Synthetic Eddy Method (SEM) The Synthetic Eddy Method (SEM) is the standard inlet condition for atmospheric boundary layer and wind engineering simulations in AeroSim. It generates a transient, turbulent velocity field at the inlet that reproduces a prescribed mean velocity profile and Reynolds stress tensor. This allows the simulation to start with realistic turbulence from the first time step, rather than requiring a long domain fetch for turbulence to develop naturally. ```{seealso} For a step-by-step guide on converting wind tunnel measurements into SEM input, see {doc}`Matching Custom Inlet <../guidelines/matching-custom-inlet>`. ``` ## How SEM works The SEM populates a virtual volume around the inlet plane with $N$ synthetic eddies at random positions. Each eddy has a Gaussian influence function and random orientation signs. The velocity at the inlet plane ($x = 0$) is the sum of the mean profile and the fluctuation contributions from all eddies within range. ```{figure} /_static/img/references/sem/schematic_sem.svg :align: center :width: 60% Schematic of the SEM virtual domain. Synthetic eddies (circles) are distributed in a volume of length $2L$ around the inlet plane. The inlet velocity field is sampled at $x = 0$. ``` The velocity fluctuation at any point on the inlet plane is: $$u_\alpha(0, y, z) = \bar{u}_\alpha(z) + u'_\alpha(0, y, z, t)$$ where $\bar{u}_\alpha(z)$ is the prescribed mean velocity profile and $u'_\alpha$ is the fluctuation field. The fluctuations are constructed so that their time-averaged statistics converge to the target Reynolds stress tensor $R_{\alpha\beta}(z)$. The fluctuation velocity is computed as: $$u'_\alpha = A_{\alpha\beta}(z) \, \tilde{u}_\beta$$ where $A_{\alpha\beta}$ is the Cholesky decomposition of the Reynolds stress tensor (scaled by a tuning factor $K$), and $\tilde{u}_\beta$ is the normalized sum of Gaussian eddy contributions. The Cholesky decomposition ensures that the generated fluctuations produce the correct correlation structure between velocity components. ### Eddy evolution The eddies are advected in the streamwise direction at the domain-averaged mean velocity: $$x_i(t + \Delta t) = x_i(t) + U_\infty \Delta t$$ When an eddy exits the virtual volume ($x_i > L$, where $L$ is the eddy length scale), it is recycled: its $y$ and $z$ positions and orientation signs are randomized, and its $x$ position wraps back using periodic recycling. This ensures a statistically stationary turbulent field at the inlet throughout the simulation. ### Population reconstruction Once the velocity field on the inlet plane is known, the solver computes the rate-of-strain $S_{\alpha\beta}$ through a finite-difference scheme and assumes constant density $\rho = \rho_0$. From these macroscopic quantities, the LBM populations are reconstructed and the subgrid-scale viscosity is computed for the LES model. ## Input requirements The SEM requires two main inputs: ### Mean velocity and Reynolds stress profile A CSV file with the following columns: ```text z,ux,Rxx,Rxy,Rxz,Ryy,Ryz,Rzz ``` | Column | Physical quantity | Notes | |:---|:---|:---| | `z` | Height above ground (m) | Values outside the CSV range are extrapolated as constants | | `ux` | Mean streamwise velocity (m/s) | Positive in the flow direction | | `Rxx` | $\overline{u'u'}$ (m^2/s^2) | Streamwise normal stress; always positive | | `Rxy` | $\overline{u'v'}$ (m^2/s^2) | Typically zero for neutral ABL | | `Rxz` | $\overline{u'w'}$ (m^2/s^2) | **Negative** in a standard ABL | | `Ryy` | $\overline{v'v'}$ (m^2/s^2) | Lateral normal stress; always positive | | `Ryz` | $\overline{v'w'}$ (m^2/s^2) | Typically zero for neutral ABL | | `Rzz` | $\overline{w'w'}$ (m^2/s^2) | Vertical normal stress; always positive | ```{important} The Reynolds stress tensor at each height must be **positive semi-definite**. The condition most commonly violated is: $$R_{xx} \cdot R_{zz} \geq R_{xz}^2$$ If this constraint is not satisfied, the Cholesky decomposition will fail and the simulation will crash. ``` This profile data can come from: - **Wind tunnel measurements** - measured velocity and turbulence intensity profiles, converted to Reynolds stresses. See {doc}`Matching Custom Inlet <../guidelines/matching-custom-inlet>` for the conversion procedure. - **Precursor simulations** - a preliminary simulation that reproduces a wind tunnel configuration to generate the mean profile and Reynolds stress tensor for a given terrain category. - **Standard profiles** - analytical log-law profiles for standard terrain categories, as used in the {doc}`ABL guided case <../guided-cases/ABL/index>`. ### Eddy parameters The SEM also requires: - **Length scale** ($L$) - the representative eddy radius of influence, specified per direction ($x$, $y$, $z$). This controls the spatial correlation of the generated turbulence. - **Eddy volume density** - the number of eddies per unit volume in the virtual domain. Higher density produces smoother statistics but increases computational cost. - **Random seed** - controls the initial random placement and orientation of eddies. Fixing the seed ensures reproducible results across runs. - **Tuning factor** ($K$) - a scalar multiplier on the Cholesky decomposition that scales the turbulence intensity. The default value of 1.0 produces fluctuations that match the target Reynolds stress tensor. ## Practical considerations ### Profile consistency with ground roughness The SEM inlet profile and the ground boundary condition must use the same aerodynamic roughness length $z_0$. If these values are inconsistent, the velocity profile will drift as it travels downstream and the ground boundary layer adjusts to the actual floor roughness. ```{important} Always validate the inlet profile with an empty-domain simulation (no geometry) before running the full case. Extract velocity statistics at the expected model location and compare against the target profile. ``` ### Development length Even with SEM-generated turbulence, the flow needs some distance downstream of the inlet for the turbulent structures to become fully three-dimensional and physically consistent. The development length depends on the flow configuration but is typically on the order of 10-20 eddy length scales. ### Reynolds stress derivation When only $U(z)$ and $I_u(z)$ are available from measurements, the full Reynolds stress tensor must be derived using component ratios. The default ratios used in wind engineering are: - $R_{yy} = 0.5625 \cdot R_{xx}$ (corresponding to $\sigma_v / \sigma_u \approx 0.75$) - $R_{zz} = 0.25 \cdot R_{xx}$ (corresponding to $\sigma_w / \sigma_u \approx 0.50$) - $R_{xz} = -0.3 \cdot R_{xx}$ (simplified estimate) - $R_{xy} = R_{yz} = 0$ For a detailed derivation, see {doc}`Reynolds Stress Derivation <../guidelines/reynolds-stress-derivation>`. ## See also - {ref}`Synthetic Eddy Method - Theory ` - mathematical formulation of the SEM algorithm - {doc}`Boundary Conditions ` - overview of all boundary condition types - {doc}`Matching Custom Inlet <../guidelines/matching-custom-inlet>` - converting wind tunnel data into SEM input - {doc}`Reynolds Stress Derivation <../guidelines/reynolds-stress-derivation>` - deriving the full stress tensor from measured turbulence intensity - {doc}`ABL Guided Case <../guided-cases/ABL/index>` - end-to-end atmospheric boundary layer setup