<geometry>

The <geometry> category is not a sub-category of <simulation> anymore but directly under <uFX_solver_deck>. This is especially relevant when using the <domain_part> entry, which will not be active if the <geometry> entries are listed under <simulation>.

<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, in H3D format, or/and in compressed/archived ZIP, GZIP, TAR, or TAR-GZIP format.
If the source file is specified in ZIP, TAR, or TAR-GZIP format, it must contain one or more ASCII STL files, while in GZIP format it must contain only one ASCII STL file. It is assumed that the source files specified in ZIP, GZIP or TAR-GZIP format contain file(s) that have been compressed using the DEFLATE algorithm. If the source file is specified in GZIP or TAR-GZIP format, the uncompressed file size must not exceed 4 GiB per file, while in TAR format the limit is 8 GiB per file. If the source file is specified in TAR-GZIP or TAR format, the file name length of the contained files must not exceed 99 characters.
All surface normal vectors must point outwards, that is, from solid to fluid. ultraFluidX assumes that the source file is specified in [ m ] and all other coordinates for bounding boxes, probe locations, and so on, are based on the coordinate system of the file. While <source_file> (without an additional <name> parameter) is used for cases where the complete surface is available in a single file, the category <source_files> allows you to specify more than one input file, each file name being indicated under the parameter <name>.
Warning: If the parameters <source_file> and <source_files> are specified simultaneously, the run will stop.
<baffle_parts>
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. For each baffle part, ultraFluidX will internally rename the original part with the appendix “.uFX_baffle_front”, and create a duplicate of it with the appendix “.uFX_baffle_back” and inverted triangle normal vectors to be able to assign proper pressure and wall shear stress values to both sides of the part.
CAUTION: Only specify this property for the baffle part; otherwise, unwanted side effects might occur.
<surface_mesh_optimization>- <triangle_splitting>
Specifies the triangle splitting to increase the accuracy of the calculation of aerodynamics forces that act on the surfaces. Either global or local splitting can be selected. The default setting is global, controlled by the following child parameters:
<active>
(Global) Switch that activates the triangle splitting.
Default = True
<max_relative_edge_length>
This factor multiplies the voxel size connected to the geometric part to compute the splitting threshold. Setting this factor to zero makes the variable inactive. Negative values are corrected to zero. If this parameter and <max_absolute_edge_length> are both greater than zero, the smaller value per part has precedence.
<max_absolute_edge_length>
Absolute threshold (in [ m ] ) of splitting. Default values is set to zero and hence inactive. Negative values are corrected to zero. If this parameter and <max_relative_edge_length> are both greater than zero, the smaller value per part has precedence.
Alternatively, the triangle splitting can be activated only on certain parts of the geometry with the <triangle_splitting_instance>category with the following parameters:
<name>
Name of the instance.
<active>
Same as the global parameter but for local setting; has precedence over global setting.
<max_relative_edge_length>
Same as the global parameter but for local setting; has precedence over global setting.
<max_absolute_edge_length>
Same as the global parameter but for local setting; has precedence over global setting.
<parts>
Specify the parts on which the local settings of the splitting are applied via the child parameter <name>. Several parts can be specified via repeated usage of <name> to assign the local settings to all of them. Part names must be valid and not repeated in the same or other instances, or the run stops.
Note: Old triangle splitting parameters are still supported. However, the new triangle splitting category has precedence over it.
<triangle_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 [ m ] . ultraFluidX currently needs the domain size in each direction to be a multiple of four of the <coarsest_mesh_size>. Therefore, the bounding box is automatically enlarged in +x-direction, +z-direction and symmetrically in y-direction if the requirement is not met.
<domain_part>
This category allows you to define patches on the domain bounding box and attribute a name to it. These patches can then be used in a similar way as .stl parts to specify boundary conditions on them. This functionality can be used for easy definition of different boundary conditions, for example, on the domain ground.
The details of each domain part instance are defined as:
<domain_part_instance>
<name>
Attribute a name to the patch. This name can be called for boundary condition definitions as well as definition of passive parts, that is, parts which do not contribute to force calculations.
<location>
[x_min, x_max, y_min, y_max, z_min, z_max]
Indicate the domain boundary on which the patch is located.
<export_mesh> bool: true or false, default: true (?)
Specifies whether or not a surface mesh is shown for this patch.
Note: If a surface patch is exporting mesh data, forces are generated on this surface and Ensight data is written. If the surface force data should not contribute to force coefficients, the domain part in question needs to be added to the list of <passive_parts> in the <output> category.
<bounding_range>
Indicate the 2D extension for the patch, that is, a patch on z_min needs:
<x_min>
<x_max>
<y_min>
<y_max>