8. Recap¶
In this workshop we built a neutral ABL over terrain category II from scratch, ran it on the AeroSim solver and inspected the results. This chapter puts the whole path back together, so it can be used as a checklist for the next case.
What we did¶
Block |
What was done |
|---|---|
1 |
Generated the plane (\(8000 \times 2000\,\text{m}\), translated \(2000\,\text{m}\) in X) and the CAT 2 roughness elements. |
2 |
Created the |
3 |
Set the domain limits and translation, added the ABL refinement box and generated the mesh from the baseline resolution. |
4 |
Set the solver numerics: SEM inlet and the remaining BCs, the LES Smagorinsky model and the fluid and time parameters. |
5 |
Added the data exports: debug volume and planes, domain statistics and the three vertical line profiles. |
6 |
Created the run, submitted it to the queue, followed logs and monitors, and downloaded the results. |
7 |
Opened the results in ParaView, plotted the profiles against the Eurocode and animated the XZ plane. |
The settings we ended with¶
Item |
Value |
|---|---|
Terrain category |
CAT 2, roughness length \(z_0 = 0.05\,\text{m}\) |
Domain |
\(7000 \times 1500 \times 850\,\text{m}\), Z translation \(-50.1\,\text{m}\) |
Development length |
\(1500\,\text{m}\) |
Baseline resolution |
\(10\,\text{m}\), ABL refinement target \(1.5\,\text{m}\) (maximum \(2\,\text{m}\)) |
Mesh |
~38M nodes |
Inlet |
SEM, log law, \(U = 5\,\text{m/s}\) at \(z_{ref} = 3\,\text{m}\) |
Models |
LES Smagorinsky, \(C_s = 0.17\) |
Fluid |
\(\mu = 0.0002\,\text{Pa}\,\text{s}\), \(\rho = 1.225\,\text{kg/m}^3\) |
Time window |
\(-600\,\text{s}\) to \(600\,\text{s}\) (2 FTTs of development, 1000 CTS of acquisition) |
Runtime |
~1h20 at the default 500 MLUPS |
Things worth carrying to the next case¶
The plane is not just geometry. Its boundary condition is what makes the case an ABL: the wall model plus the roughness elements are what keep the profile and the turbulence intensity alive along the fetch. A no-slip plane gives a different flow.
The refinement box must start at the inlet. If it starts downstream, numerical diffusivity eats the profile before it reaches the region of interest.
The reachable cell sizes are the baseline halved repeatedly. Setting a target and a maximum instead of a single value is what lets the baseline be iterated later without touching the refinement form.
There are two convective time scales in play. The development one, on the fetch length (1500 m / 5 m/s = 300 s), and the body one, on the reference height (3 m / 5 m/s = 0.6 s). The first sizes the negative time, the second sizes the acquisition.
Statistics exports need their outputs switched. Duplicating a debug volume and only changing the period leaves it exporting instantaneous fields, which is how a case ends up with tens of GB of data nobody asked for.
Debug exports are cheap insurance. A full domain snapshot at a long period and a couple of planes are what make a strange result diagnosable instead of a rerun.
Matching the Eurocode is iterative. In our run the mean velocity landed on the target and the turbulence intensity came in low. Element height, the SEM K multiplier, the roughness category and the resolution are the knobs, and finding the combination is trial and error.
Where to go from here¶
The case we just built is an empty domain whose only job is to deliver a developed profile at 0 m. That is the starting point, not the end: the next simulations reuse this same setup and add a body to it, keeping the inflow, the refinement and the timing we validated here.
See also
Mesh - block structure, the 2:1 rule and what each level costs.
Synthetic Eddy Method (SEM) - what the inlet generates and how its parameters map to the target profile.
Convective Time Scale and Simulation Timing - the two time scales and how many of each a run needs.