<meshing>
During meshing, ultraFluidX discretizes the volumetric simulation domain into cubic elements (“voxels”) for which the flow field is computed. The <meshing> category specifies the main parameters for the volume meshing and the refinement zones.
<meshing> - <general>
The <general> category contains the following parameters:
- <coarsest_mesh_size>
- Specifies the coarsest size (edge length) of the voxels in that ultraFluidX uses to discretize the domain. Higher resolution than the coarsest mesh size in regions of interest is specified via the <refinement> category.
- <mesh_preview>
- Specifies if a preview of the volume mesh is exported prior to the actual simulation. If set to true, ultraFluidX writes an EnSight Gold file (uFX_meshPreview.case and corresponding *.geo and *.data files) into the uFX_meshData folder.
- <mesh_export>
- Specifies if the mesh is written to disk after the meshing is completed. If set to true, ultraFluidX will write a mesh source file uFX_mesh.bin to the uFX_meshData folder, that can then be used as input for a future simulation. Refer to the <mesh_source_file> option.
- <mesh_source_file>
- (Optional) Specifies the path to a mesh source file. If specified, ultraFluidX skips the meshing step and read in the mesh topology from the specified mesh source file instead. Generally, only mesh source files that were written by the same version of ultraFluidX (by setting <mesh_export> to true) can be used.
- <refinement_level_transition_layers>
- The parameter controls the number of automatically generated RL transition layers. For example, if you define a box with RL3, 4 layers of RL2 are automatically created and another 4 layers of RL1 around 1. The number of layers used can now be specified in the solver deck.
<meshing> - <refinement>
Refinement zones are specified via the <refinement> category.
Possible sub-categories are <box>,
<offset> and <custom> and they
all share the parameter <refinement_level> that specifies
the refinement of the zone with regards to the coarsest level. With each additional
level the coarsest mesh size (corresponding to level 0) is divided by 2. In general,
the voxel size of the nth refinement level is defined as:
Where
is the voxel size at the coarsest refinement level.
- <box>
- This category contains all refinement zones with cuboid shape, it can
have an arbitrary number of children named
<box_instance> with the following
parameters:
- <name>
- (Optional) Name of the instance.
- <refinement_level>
- Refinement level of the instance with regards to the coarsest level.
- <bounding_box>
- Bounding box of the instance, must be specified via the child parameters <x_min>, <x_max>, <y_min>, <y_max>, <z_min> and <z_max> in .
- <offset>
- This category contains all refinement zones that are an offset of the
whole surface mesh or a specific part. It can have an arbitrary number
of children named <offset_instance> with the
following parameters:
- <name>
- Name of the instance (optional).
- <refinement_level>
- Refinement level of the instance with regards to the coarsest level.
- <normal_distance>
- Distance of the offset to the surface, that is, the
effective “thickness” of the zone. Specified in
.Note: A minimum number of 4 voxels will always be applied, unless a different value is specified via the refinement level transition layer, in which case that quantity will be used.
- <parts>
- If the offset is not applied to the whole surface mesh, an arbitrary number of individual parts can be specified via the child parameter <name> within the <parts> category. The specified names must exactly match the respective part names in the STL file.
- <custom>
- This category contains all refinement zones that are specified via a volume with arbitrary shape contained in the STL file. Any volume that you want to use for custom refinement needs to be identified as a separate “solid” within the STL file, and the name of this solid needs to be passed to ultraFluidX in the <parts> - <name> section.
<meshing> - <overset>
This category contains all parameters needed to define a moving overset grid region.
- <rotating> - <rotating_instance>
- In these grid regions, a local frame of reference is defined and the
surface geometry and voxels are rotated each timestep according to the
specified rotational speed.Note: The rotating volume must be axisymmetric.CAUTION: All geometry parts inside the moving mesh region will rotate with the mesh. Care is needed at the interface when setting up a rotating volume in the vicinity of geometry parts. Refer to separate setup recommendations.