<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.
- <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.
- <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 ) 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.
- <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 . 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.