<sources>

This category specifies parameters for volumetric sources of three different kinds: <porous>, <turbulence> and <mrf>

<sources> - <porous>

This category contains all porous regions where a volumetric body force should be applied to the fluid according to:(1)
p x = ρ R V u + ρ R 1 u 2
These regions must be contained in the STL file as a closed volume and all normals of the volume must point outwards.
CAUTION:
If the volume is included in the STL and not specified as porous region, it will be treated as a solid by ultraFluidX.

For each porous medium, the text files uFX_porousMassFlow_Inst.txt and uFX_porousMassFlow_Avg.txt in the uFX_coefficientsData folder contain the instantaneous and averaged mass flow rates and the corresponding cross sections per porous medium (output at every coarsest iteration in [ kg s ] ).

If a porous region is defined as isotropic, the region will be included in the file, but the mass flow rate will be reported as zero.

The category can have an arbitrary number of children named <porous_instance>, each with the following parameters:
<name>
Name of the instance (optional).
<inertial_resistance>
Inertial resistance (see Equation 1) of the instance in [ 1 m ] .
<viscous_resistance>
Viscous resistance (see Equation 1) of the instance in [ 1 s ] .
<porous_axis>
Flow direction through the instance, crossflow not aligned with the porous axis will generally be blocked. Its components must be specified via the child parameters <x_dir>, <y_dir> and <z_dir>. If all components are set to zero, no preferred direction will be used and the instance will act as an isotropic porous region, for example, bug screens.
<parts>
The closed volume(s) to which the volumetric body force should be applied and which are contained in the STL file must be specified via the child parameter <name> within the <parts> category, several volumes can be specified via repeated usage of <name> to assign the same properties to all of them. Additionally, if a closed volume consists of separate parts, they can also be specified via repeated usage of <name> to effectively form the closed volume. The specified names must exactly match the respective part names in the STL file.

<sources> - <turbulence>

This category contains all areas where synthetic turbulence should be generated according to the so-called “vortex method.” #reference_mzx_m5p_vdb__fn_r5c_1bm_p2b

Currently, the turbulence generator can add turbulent structures for flows in positive x-direction only. It is set up by an x-position and the extents in y- and z-direction.

ultraFluidX will automatically select the corresponding voxel layer with a thickness of one voxel where the synthetic turbulence is added. All voxels of each turbulence instance will be refined to the finest voxel size that is found in the instance.

The category can have an arbitrary number of children named <turbulence_instance>, each with the following parameters:
<name>
Name of the instance (optional).
<point>
<x_pos>
Global x-position of the turbulence generation zone.
<bounding_box>
<y_min>, <z_min>, <y_max>, <z_max>
Extents of the turbulence generation zone in the global y- and z-direction.
<num_eddies>
Number of eddies that will be synthesized within the region in a pseudo-random manner. Should be in the order of 100-1000.
<length_scale>
Characteristic length scale for the synthetic turbulence in [ m ] . Should be in the order of (or identical to) the voxel size in the turbulence generator region.
<turbulence_intensity>
Intensity of the synthetic turbulence, that is, ratio between root-mean-square of the turbulent velocity fluctuations and the mean velocity.

<sources> - <mrf>

This category contains all the regions in which ultraFluidX applies body forces to account for a moving reference frame.
Note: The ultraFluidX MRF model is applied on top of the wall velocity <boundary_conditions>, which must be specified separately in the <boundary_conditions> section of the input deck.
The MRF regions must be contained in the STL file as a closed volume and all normals of the volume must point outwards.
Note: If the volume is included in the STL and not specified as an MRF region, it will be treated as a solid by ultraFluidX.
The <mrf> category can have an arbitrary number of children named <mrf_instance>, each with the following parameters:
<name>
Name of the instance (optional).
<rpm>
Rotational speed of the instance in [rpm] (revolutions per minute).
<center>
Center of the instance. Must be specified via the child parameters <x_pos>, <y_pos> and <z_pos> in [ m ] .
<axis>
Rotational axis of the instance. Its direction (right-hand rule applies) must be specified via the child parameters <x_dir>, <y_dir> and <z_dir>.
<parts>
The closed volume(s) in which the MRF body force terms should be applied and which are contained in the STL file must be specified via the child parameter <name> within the <parts> category.
Several volumes can be specified via repeated usage of <name> to assign the same properties to all of them.
Additionally, if a closed volume consists of separate parts, they can also be specified via repeated usage of <name> to effectively form the closed volume. The specified names must exactly match the respective part names in the STL file.

<sources> - <acoustic>

This category specifies acoustic sources to create monopole sources. The category can have an arbitrary number of children named <acoustic_instance> with the following parameters:
<amplitude>
Amplitude of the monochromatic acoustic wave in [ Pa ] .
<frequency>

Frequency of the monochromatic acoustic wave in [Hz] .

<position>
Position of the acoustic source with the child parameters <x_pos>, <y_pos> and <z_pos> in [ m ] .

Mathey, F., Cokljat, D., Bertoglio, J. P., & Sergent, E. (2006). Assessment of the vortex method for large eddy simulation inlet conditions. Progress in Computational Fluid Dynamics, An International Journal, 6(1-3), 58-67.