3. Mesh¶
For the mesh setup in AeroSim, we need to define the domain limits, add the refinements required, set the baseline resolution, and then we can check the mesh and do the tweaks required.
Domain¶
After adding the geometries and their BCs, we resume to the domain setup, starting with the domain limits. The values we recommend overall are 7000 m for X, 1500 m for Y and 850 m for Z. These values can be increased or decreased depending on blockage and area of interest, but we don’t recommend going with a much smaller domain.
There is also the domain translation, which in X we use for the development length, and in Z, for numerical reasons, we keep as -50.1 m by default (the .1 avoids issues with block transition positions).
For the development length we will use 1500 m. This can be tweaked for building height and ABL development, but we don’t recommend less than 150 times the baseline resolution, because the profile may not be fully developed before it.
Domain limits and translation for the ABL case.¶
Refinements¶
The domain starts at a baseline resolution (by default 10 m). For the ABL, the refinement used internally by AeroSim is between 1.2 m and 1.6 m, for good ABL development and results. For this we add an ABL refinement to the case.
AeroSim uses a 2:1 refinement, so each level halves the cell size. Starting from the default 10 m baseline, the progression is 10 m -> 5 m -> 2.5 m -> 1.25 m, which reaches the ABL refinement we want in three levels.
This progression is only an example. The reachable cell sizes are always the baseline halved repeatedly, so changing the baseline moves the whole ladder: a 12 m baseline gives 12 m -> 6 m -> 3 m -> 1.5 m instead. That is why we set a target and a maximum rather than a single value, and why we can iterate on the baseline later without touching the refinement boxes.
For its parameters, we set the unit as meters, the target to 1.5 m and the maximum to 2 m (this gives a broader range of tests for the baseline resolution).
The refinement will be a box starting at the inlet and coming to downstream of the future object we are interested in. It is very important that it starts from the inlet, otherwise numerical diffusivity may greatly affect the results.
In Y we will use -100 m to 100 m, and in Z from -2 m to 50 m. These values greatly depend on the object we will add to the simulation later, and can be increased or decreased depending on it.
We also need to set the margin, to make sure there is a smooth transition between levels and to avoid abrupt transitions in the domain that may generate numerical effects. The recommended values are X+ = 50, Y+ = Y- = Z+ = 30, X- = Z- = 0.
The ABL refinement form, with the target resolution, the box extents and the margins.¶
After this, we should have our refinement set up and the domain should look like this.
The refinement box in the domain, starting at the inlet.¶
Generating the mesh¶
After all this we can check how the mesh is. The AeroSim mesh is based on blocks, each block being 8 nodes per edge.
We first define a baseline resolution, which by default is 10 m. With that we can refresh the mesh and check the number of nodes, in total and per level. The mesh generation should take less than a minute.
The mesh form, with the baseline resolution and the resulting node count per level.¶
For this case, the mesh size is ~38M nodes, which is a relatively small mesh for the AeroSim solver.
We can also view the mesh by toggling its eye. With that we can check the blocks, their real transitions and the refinements, debug the mesh and iterate over it.
The generated blocks, showing the refinement levels and their transitions.¶
See also
Mesh covers the block structure, the 2:1 refinement rule and what each extra level costs.
Next steps¶
Now that our mesh is done, we can follow up to the solver setup.