# <output>

The <output> category specifies the main parameters for various types of simulation output.

Table 1. Overview of Available Output Options for Section Cut, Volume Data, and Surface Data
Full Data Surface Section Cut Partial Surface Partial Volume
pressure Default Default Default Default Default
time_avg_pressure Default Default Default Optional2 Optional2
window_avg_pressure Optional Optional Optional Optional2 Optional2
velocity Default Default1 Default Optional1 Default
time_avg_velocity Default N.A. Default N.A. Optional2
window_avg_velocity Optional N.A. Optional N.A. Optional2
wall_shear_stress Default Default N.A. Default N.A.
time_avg_wall_shear_stress Default Default N.A. Optional2 N.A.
window_avg_wall_shear_stress Optional Optional N.A. Optional2 N.A.
surface_normal Default Default N.A. Optional N.A.

1The surface velocity is 0 on static surfaces and non-zero if a wall velocity is prescribed using the <boundary_condition> - <rotating> section.

2Section cut, partial surface, and partial volume allow for sub-iteration output (for example, output frequency < 1).
Note: Requesting time- or window-averaged quantities for partial surface and partial volume will deactivate sub-iteration output for the respective instance.

## <output> - <general>

The <general> category contains the following parameters:
<output_frequency>
Specifies the number of coarsest iterations between consecutive outputs of the volume and the surface data in EnSight Gold format.
<output_start_iteration>
Specifies after which coarsest iteration the output will start. The default value is 0.
<merge_output_files>
Specifies if the output files per rank should be merged into single files after the simulation. The files per rank will not be deleted by this operation, so the data size of the output will be doubled.
<saved_states>
Specifies the number of consecutive output files to be kept, that is, if set to 2, all but the last two output time steps will be purged upon a new output. If set to zero, all output time steps will be kept.
<avg_start_coarsest_iteration>
Specifies after which coarsest iteration the continuous averaging of variables and force coefficients will start.
<avg_window_size>
Specifies the number of consecutive coarsest iterations that will be used for window averaging. This value should be a factor of <output_frequency>.
<output_variables_full>
In this section, you can specify which of the variables listed in Table 1 should or should not be included in the full data output by setting <variable_name> to true or false.
Note: The default case is to export all variables, thus it is not required to explicitly set the variables to “true”; if not mentioned in this section, the variables are still written. To omit a variable from being written, you have to specifically set the corresponding solver deck entry to “false”.
<output_variables_surface>
In this section, you can specify which of the variables listed in Table 1 should be included and which should be excluded in the surface data output by setting <variable_name> to true or false.
Note: The default case is to export all variables, thus it is not required to explicitly set the variables to “true”; if not mentioned in this section, the variables are still written. To omit a variable from being written, you have to specifically set the corresponding solver deck entry to “false”.

## <output> - <moment_reference_system>

This category specifies the properties of the moment reference system that is used to calculate the aerodynamic forces in a body-fixed coordinate system and also to calculate the pitch moment to be able to split the lift into front and rear part. The moment reference system is defined according to automotive aerodynamics conventions and needs to be placed in the center of the four support points defined by the wheel positions (in general on the ground plane).

As reference length, you need to indicate the wheel base (the distance between front and rear axle).

It contains the following parameters:
<origin>
The origin of the moment reference system, must be specified via the child parameters <x_pos>, <y_pos> and <z_pos> in $\left[\text{m}\right]$.
<roll_axis>
The roll axis of the moment reference system, must be specified via the child parameters <x_dir>, <y_dir> and <z_dir>.
<pitch_axis>
The pitch axis of the moment reference system, must be specified via the child parameters <x_dir>, <y_dir> and <z_dir>.
<yaw_axis>
The yaw axis of the moment reference system, must be specified via the child parameters <x_dir>, <y_dir> and <z_dir>.

## <output> - <aero_coefficients>

This category specifies the properties that are connected to the output of the aerodynamic coefficients.

By default, the instantaneous and averaged aerodynamic coefficients are recorded at every coarsest iteration in the files uFX_coefficients_Inst.txt and uFX_coefficients_Avg.txt in the uFX_coefficientsData folder.

The category contains the following parameters:
<reference_area>
The reference area used to calculate the aerodynamic coefficients (drag, lift, side force) in $\left[{\text{m}}^{2}\right]$.
<reference_area_auto>
Specifies if the value of <reference_area> should be used (false) or if the reference area (the frontal projection area) should be automatically calculated by ultraFluidX itself (true).
<reference_length>
The reference length (in $\left[\text{m}\right]$) that is used to calculate the pitch moment to be able to subsequently calculate the front and rear lift coefficients. See <output> - <moment_reference_system>.
<passive_parts>
If certain parts of the geometry should be excluded from the calculation of the aerodynamic coefficients, they can be specified via the child parameter <name> within this category. The specified names must match the respective part names in the STL file.
<coefficients_parts>
Specifies if the aerodynamic coefficients should also be output by part. If set to true (default value), Virtual Wind Tunnel for ultraFluidX will create the files uFX_coefficientsPerPart_Inst.txt and uFX_coefficientsPerPart_Avg.txt in the output folder containing the whole list of parts per time step and a subfolder named uFX_coefficientsPerPart, where one individual file per part (uFX_coefficients_#PARTNAME_Inst.txt, uFX_coefficients_#PARTNAME_Avg.txt) will be recorded.
<coefficients_along_axis>
Specifies the number of sections along the x-, y- and z-direction of the object that should be used for the sectional coefficient output.
Has three children: <num_sections_x>, <num_sections_y> and <num_sections_z> that allow you to specify the number of sections per direction.
Creates the files uFX_coefficientsPerSection{X,Y,Z}_Inst.txt and uFX_coefficientsPerSection{X,Y,Z}_Avg.txt for the instantaneous and averaged aerodynamic coefficients per section in x-, y- and z-direction of the object, respectively (output at every coarsest iteration). Set the number of sections to 0 to deactivate the output.
<forces_and_moments_export>
If set to true, the aerodynamic forces and moments will be exported in SI units. For each file uFX_coefficients*.txt, a corresponding file uFX_forcesAndMoments*.txt will be written. This includes the respective files for <coefficients_parts> and <coefficients_along_axis> if they are activated. The default value for <forces_and_moments_export> is false.
<output_start_iteration>
(Optional) Specifies when to start the coefficient output (coarsest iteration). The default value is 0.

## <output> - <section_cut>

This category specifies section cuts on which field variables should be output independent from the general variable output. The same conventions apply for the EnSight Gold files and ultraFluidX will create a subfolder named uFX_sectionCuts, where the output of each section cut will be stored in a separate folder.

The category can have an arbitrary number of children named <section_cut_instance>, each with the following parameters:
<name>
Name of the instance, used to create the respective subfolder in uFX_sectionCuts (mandatory).
<axis>
Normal axis of the instance, its direction must be specified via the child parameters <x_dir>, <y_dir> and <z_dir>. Currently, only section cuts normal to any global axis are supported.
<point>
Point on the instance, its coordinates must be specified via the child parameters <x_pos>, <y_pos> and <z_pos> in $\left[\text{m}\right]$.
<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 $\left[\text{m}\right]$.
<output_frequency>
Specifies the number of coarsest iterations between consecutive outputs. Fractions of 1 are allowed to get an output at the desired sub-time step level.
<output_start_iteration>
(Optional) Specifies when to start the section cut output (coarsest iteration) for each section cut instance. Can be used to generate high-frequency output for a specific part of the domain once the initial transient phase is completed. The default value is 0.
<triangulation>
By default, the value is false and all section cuts are exported using “nsided” elements. If set to true, the respective section cut instance is exported using “tria3” elements instead.
<output_variables>
(Optional) In this section, you can specify which variables should be included in the section cut output by setting <variable_name> to true or false. The possible options are listed in Table 1.

## <output> - <partial_surface>

This category specifies parts on which surface variables should be output independent from the general variable output. The same conventions apply for the EnSight Gold files and ultraFluidX will create a separate folder in the subfolder named uFX_surfaceData, where the output of each part will be stored.

The category can have an arbitrary number of children named <partial_surface_instance>, each with the following parameters:

<name>
Name of the instance (optional).
<parts>
The part(s) on which the surface variables should be output, must be specified with the parameter <name> within the <parts> category. Several parts with the same output behavior can be specified via repeated usage of <name>. The specified names must exactly match the respective part names in the STL file.
<output_frequency>
Specifies the number of coarsest iterations between consecutive outputs. Fractions of 1 are allowed to get an output at the desired sub-time step level, unless time- or window-averaged quantities are requested. If this is the case, the output frequency will be corrected to the next higher integer number.
<output_start_iteration>
(Optional) Specifies when to start the partial surface output (coarsest iteration) for each partial surface instance. Can be used to generate high-frequency output for a specific part of the domain, once the initial transient phase is completed. The default value is 0.
<output_variables>
In this section, you can specify which variables should be included in the section cut output by setting <variable_name> to true or false. The possible options are listed in Table 1.

## <output> - <partial_volume>

This category specifies a volumetric part of the domain in which field variables should be output independent from the general variable output. The same conventions apply for the EnSight Gold files and ultraFluidX will create a separate folder where the output will be stored. The category can have an arbitrary number of children named <partial_volume_instance>, each with the following parameters:
<name>
Name of the instance, used to create the respective folder (mandatory).
<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 $\left[\text{m}\right]$.
<output_frequency>
Specifies the number of coarsest iterations between consecutive outputs. Fractions of 1 are allowed to get an output at the desired sub-time step level, unless time- or window-averaged quantities are requested. If this is the case, the output frequency will be corrected to the next higher integer number.
<output_start_iteration>
Specifies when to start the partial volume output (coarsest iteration) for each partial volume instance. Can be used to generate high-frequency output for a specific part of the domain, once the initial transient phase is completed. The default value is 0.
<output_variables>
In this section, you can specify which variables should be included in the section cut output by setting <variable_name> to true or false. The possible options are listed in Table 1.
Note: If no variables are chosen explicitly, the full set will be exported; otherwise, only the variables that are indicated in this section are written.

## <output> - <single_probe>

This category specifies single probes, where instantaneous surface data or volume data should be output independent from the general variable output. The files are stored in the uFX_probeData folder. Each probe will create one .csv file per output variable, plus an additional file that contains the probe locations (uFX_volumeProbes_***_location.csv and uFX_surfaceProbes_***_location.csv).

The category can have an arbitrary number of children named <single_probe_instance>, each with the following parameters:
<name>
Name of the instance used to create the respective file or subfolder (mandatory).
<x_pos>, <y_pos>, <z_pos>
Respective coordinate of the probe in $\left[\text{m}\right]$.
<type>
Specifies if data from the nearest voxel (volume) or from the nearest surface triangle (surface) should be output.
<output_frequency>
Specifies the number of coarsest iterations between consecutive outputs. Fractions of 1 are allowed to get an output at the desired sub-time step level.
<scientific_notation>
By default the value is false, and the output files will be written in decimal notation. Setting this parameter to true allows you to activate scientific notation instead.
<output_precision>
By default, the output precision is set to 5. Using this parameter, you can choose an arbitrary value.
<output_variables>
In this section, you can specify which variables should be included in the probe output by setting <variable_name> to true or false. The possible options depend on the probe type:
A default volume probe has five output variables (pressure, velocity (x,y,z) and velocity magnitude). You can optionally request the output of Cp and time/window averaged pressure and velocity.
A surface probe has one default output (Cp). You can optionally request pressure, velocity (x, y, z), velocity magnitude, wall shear stress (tau_wall x, y, z), and time/window averaged pressure and wall shear stress.
<output_start_iteration>
(Optional) Specifies when to start the output (coarsest iteration) for each single probe instance. The default value is 0.

## <output> - <probe_file>

This category specifies probe files containing multiple locations where instantaneous surface data or volume data should be output independent from the general variable output.

The files are stored in the uFX_probeData folder. Each probe file instance will create one .csv file per output variable, plus an additional file that contains the probe locations (uFX_volumeProbes_***_location.csv and uFX_surfaceProbes_***_location.csv).

Depending on the type of the probe file, ultraFluidX will either create a single *.csv file containing the transient Cp data (surface probes, uFX_surfaceProbes_#NAME.csv) or multiple *.csv files containing pressure, velocity magnitude and velocity component data (volume probes, uFX_volumeProbes_#NAME_Variable_Name) for recording the data.

The category can have an arbitrary number of children named <probe_file_instance>, each with the following parameters:
<name>
Name of the instance, used to create the respective file(s) or subfolder (mandatory).
<source_file>
Source file containing the probe locations in *.csv format without header, each line defines a probe with the coordinates in $\left[\text{m}\right]$, which must be separated by semicolons:
• x_pos;y_pos;z_pos;Description_A
• x_pos;y_pos;z_pos;Description_B
<type>
Specifies if data from the nearest voxel (volume) or from the nearest surface triangle (surface) should be output for each probe location.
<output_frequency>
Specifies the number of coarsest iterations between consecutive outputs. Fractions of 1 are allowed to get an output at the desired sub-time step level.
<scientific_notation>
By default the value is false, and the output files will be written in decimal notation. Setting this parameter to true allows you to activate scientific notation instead.
<output_precision>
By default, the output precision is set to 5. Using this parameter, you can choose an arbitrary integer value.
<output_variables>
In this section, you can specify which variables should be included in the probe output by setting <variable_name> to true or false. The possible options depend on the probe type:
A default volume probe has five output variables (pressure, velocity (x,y,z) and velocity magnitude). You can optionally request the output of Cp, and time/window avgeraged pressure and velocity.
A surface probe has one default output (Cp). You can optionally request pressure, velocity (x, y, z), velocity magnitude, wall shear stress (tau_wall x, y, z), and time/window averaged pressure and wall shear stress.
<output_start_iteration>
(Optional) Specifies when to start the probe output (coarsest iteration) for each probe file instance. The default value is 0.

## <output> - <monitoring_surface>

This category specifies monitoring surfaces, which are arbitrarily shaped, user-defined surfaces for additional post-processing. Monitoring surfaces can be used for the additional visual output of flow field quantities on the respective surface, or for the output of integral values in a summary file.

The files are stored in the uFX_monitoringSurface folder.

The category can have an arbitrary number of children named <monitoring_surface_instance>, each with the following parameters:
<name>
Name of the instance (mandatory).
<parts>
The part(s) which define the monitoring surface. Must be specified with the parameter <name> within the <parts> category. Several parts can be specified via repeated usage of <name>. The specified names must exactly match the respective part names in the STL file.
<visual_output>
<output_frequency>
Specifies the number of coarsest iterations between consecutive outputs.
<output_start_iteration>
Specifies when to start the visual output (coarsest iteration) for each instance. The default value is 0.
<output_variables>
In this section, you can specify which variables should be included in the visual output by setting <variable_name> to true or false. The possible options include:
• pressure
• time_avg_pressure
• window_avg_pressure
• velocity
• time_avg_velocity
• window_avg_velocity
• mass_flow
• time_avg_mass_flow
• window_avg_mass_flow
• normal_velocity
• time_avg_normal_velocity
• window_avg_normal_velocity
<summary_output>
<output_frequency>
Specifies the number of coarsest iterations between consecutive outputs.
<output_start_iteration>
Specifies when to start the summary output (coarsest iteration) for each instance. The default value is 0.
<output_variables>
In this section, you can specify which variables should be included in the summary output by setting <variable_name> to true or false. The possible options include:
• pressure
• time_avg_pressure
• window_avg_pressure
• mass_flow
• time_avg_mass_flow
• window_avg_mass_flow
• normal_velocity
• time_avg_normal_velocity
• window_avg_normal_velocity