# <simulation>

The <simulation> category specifies the main parameters of the simulation like the number of iterations, and the file containing the surface mesh or the fluid material.

## <simulation> - <general>

- <num_coarsest_iterations>
- Defines the number of iterations at the coarsest refinement level. The physical time per coarsest iteration depends on the material parameters and the Mach factor.
- <mach_factor>
- Specifies if the simulation should run at a Mach number different than
the one derived from the material parameters and the coarsest mesh size.
The time step increases linearly with this factor, so setting a value
of, for example, 2.0 will result in half the number of iterations for
the same physical time. Note: ultraFluidX is using a weak compressible LBM formulation, which is only valid up to approximately Ma = 0.4, so consider the maximum velocity that may occur in your simulation when setting this parameter to not exceed this limit.
- <moving_ground>
- The wind tunnel ground is a no-slip wall with zero velocity by default. If it should be moving with <reference_velocity> instead, the parameter must be set to true. If belts are specified (<boundary_conditions>), only the belts will move, not the whole ground.
- <rotating_wheels>
- By specifying this parameter, all rotating boundary conditions (<boundary_conditions>) can be switched on or off at once. If set to false, all entries in the <rotating> category will be effectively ignored.
- <boundary_layer_suction>
- Specifies if a part of the wind tunnel ground starting from the inlet to <boundary_layer_suction_xpos> should be treated as a slip wall, instead of a no-slip wall.
- <boundary_layer_suction_xpos>
- Specifies the x-coordinate (in $\left[\text{m}\right]$), where the slip wall will end, if <boundary_layer_suction> is set to true.
- <reference_velocity>
- The reference velocity (specified in $$\left[\frac{\text{m}}{\text{s}}\right]$$) is used as velocity at the inlet, as wall velocity for any belts (if specified) or for the whole wind tunnel ground and for the calculation of the aerodynamic coefficients.

## <simulation> - <geometry>

- <source_file> or <source_files> - <name>
- Specifies the path to the source file(s) that contain(s) the tessellated surface mesh. The source file(s) must be in ASCII STL format and all surface normals must point outwards, that is, from solid to fluid. ultraFluidX assumes that the STL file is specified in $\left[\text{m}\right]$ and all other coordinates for bounding boxes, probe locations, etc. are based on the coordinate system of the STL.
- <baffle_parts>
- (Optional) Specifies all parts which are fully two-dimensional, each
part with this property must be identified via the child parameter
<name>. This property should be set for
parts which do not form a closed volume together with other parts and
which are expected to be connected to fluid regions on both sides.
Virtual Wind Tunnel for ultraFluidX will then internally create a duplicate
of each of the parts with the appendix “_inv” and inverted triangle
normals to be able to assign proper pressure and wall shear stress
values to both sides of the part. CAUTION:Only specify this property if it is appropriate; otherwise, unwanted side effects through internal part duplication and so forth might occur.
- <triangle_splitting>
- Specifies if triangle splitting should be performed to increase the accuracy of the calculation of aerodynamic forces that act on the surface. If set to true (default value), ultraFluidX will iteratively split all triangles with large edges until they are small enough. The target edge length depends on the smallest voxel size that encloses the whole object by default, but it can also be controlled via the parameter <triangle_splitting_voxel_size>.
- <triangle_splitting_voxel_size>
- Specifies the voxel size (in $\left[\text{m}\right]$) that should be used as a basis for triangle splitting. If set to zero, the smallest voxel size that encloses the whole object will be used for the splitting.
- <triange_plinth>
- ultraFluidX automatically creates a plinth in regions where single voxels would be squeezed between the wind tunnel ground and, for example, the tire of a car by treating such single voxels as solid. If <triangle_plinth> is set to true, the corresponding surface triangles of these solid voxels will be created to properly visualize the behavior and to increase the accuracy of the calculation of aerodynamic forces in that region.
- <domain_bounding_box>
- The bounding box of the simulation domain, must be specified via the child parameters <x_min>, <x_max>, <y_min>, <y_max>, <z_min> and <z_max> in $\left[\text{m}\right]$.

## <simulation> - <material>

- <density>
- Density of the material in $\left[\frac{\text{kg}}{{\text{m}}^{\text{3}}}\right]$.
- <dynamic_viscosity>
- Dynamic viscosity of the material in $$\left[\frac{\text{kg}}{\text{(s}\xb7\text{m)}}\right]$$.
- <temperature>
- Temperature of the material in $\left[\text{K}\right]$.
- <specific_gas_constant>
- Specific gas constant of the material in $$\left[\frac{\text{J}}{\text{kg}\cdot \text{K}}\right]$$.

## <simulation> - <wall_modeling>

- the correct shear stress exerted by the flow onto the wall, and
- the effect of the wall back into the flow

The wall model uses information available in a sufficiently discretized region of the boundary layer (above the first near wall voxel, but low enough in the boundary layer; referred to as “donor position” in the following) to bridge the resolution gap to the wall.

- <wall_model> (GWF, WangMoin, off)
- This parameter specifies the way in which information (velocity, pressure) tracked at the donor position is processed to determine the wall shear stress. Available options:
- <coupling> (two-way, one-way, off)
- This parameter determines what is done with the information generated by
the wall model.
- two-way coupling (standard usage)
- The wall shear stress determined using the wall model is used as an input value for the computation of the velocity at the first near wall voxel.
- one-way coupling
- The flow in the first near wall cell is derived not via the wall shear stress, but based on information of the donor position used by the wall model; while the wall shear stress, determined by wall model is only used for the force calculations near the wall.
- off
- Information from the wall model is not used in the flow field computations.

- <pressure_gradient> (favorable, adverse, full, off)
- It is possible to specify the way in which pressure gradients along the
wall should be considered by the wall model.
- off
- The wall model will not consider pressure gradients present in the mean flow field and determine the wall shear stress neglecting the respective pressure-gradient term.
- favorable and adverse
- Consider only negative and positive pressure gradients in direction of the flow, respectively.
- full
- Takes any pressure gradient near the wall into account.

## <simulation> - <wall_model_variant>

For some very specific regions around a vehicle, like the side mirrors, it can be more appropriate to apply different wall model settings than the global default, which has been specified via <simulation> - <wall_modeling>.

- <name>
- Name of the instance, so that it can be referenced in the respective <rotating_instance> or <static_instance> to which it should be applied (mandatory).
- <wall_model> (GWF, WangMoin, off)
- See above in <simulation> - <wall_modeling>.
- <coupling> (two-way, one-way, off)
- See above in <simulation> - <wall_modeling>.
- <pressure_gradient> (favorable, adverse, full, off)
- See above in <simulation> - <wall_modeling>.

^{1}Shih, T. H., Povinelli, L. A., & Liu, N. S. (2003). Application of generalized wall function for complex turbulent flows. Journal of Turbulence, 4, 015

^{2}Wang, M., & Moin, P. (2002). Dynamic wall modeling for large-eddy simulation of complex turbulent flows. Physics of Fluids, 14(7), 2043-2051