Use ultraFluidX FW-H

The FW-H tool provided by ultraFluidX 2024.1 requires ultraFluidX results as input data. Specifically, the tool post-processes data that is either sampled in the volume field via a monitoring surface (porous formulation), or from object surfaces using the partial surface output option (solid formulation). The data generated by ultraFluidX is read by the FW-H tool from the respective output folders. (Further information on how to set up an ultraFluidX run including the required surface outputs can be found in the ultraFluidX user guide section on <output>.) All input parameters for the FW-H tool are controlled via an .xml input file. The path to the far-field microphone/receiver positions, that is, coordinates stored in .csv format, has to be indicated to the FW-H tool.

An example case is located in the installation folder fwh/examples/monopole. This folder contains an input deck (fwh_deck.xml), a set of ultraFluidX sample results on a monitoring surface enclosing an acoustic source, and a .csv file indicating the microphone locations that the FW-H tool will use as receiver positions.

Launch the FW-H Tool

The FW-H tool can be launched in the command line by calling the executable (location depending on installation) and providing the name of an input deck: >> fwh/bin/fwh input_deck.xml.

Launching without further options will run the FW-H tool in a multi-threaded mode with the number of threads matching the number of cores on the hardware. You can also indicate a specific number of threads when launching the tool: >> fwh/bin/fwh -t [integer number of threads] input_deck.xml.

FW-H Outputs

The FW-H tool produces screen output of the OASPL (OverAll Sound Pressure Levels; OASPL=20log10(p’rms/pref)) predicted at each microphone plus two output files per specified parts in a folder indicated by you in the .xml file. These files contain the pressure time histories predicted at the microphone location as a function of time.

The difference between the two files is the chosen reference time:

The “sync” file contains the pressure at each microphone using the same reference time, that is, t=0s corresponds to the time at which the closest microphone receives a signal from the closest surface element of the input file. All other microphones start recording at this same instant implying their signals contain initial zeros until they receive a signal. Also, trailing zeros are present if no more signal is received.

The "notsync" file uses a local reference time for each microphone, such that only the “usable” data is written. One-point frequency domain post-processing (r.m.s., Sound Pressure Levels) should be performed on the "notsync" file.

Simulation Parameters

The ultraFluidX FW-H tool uses an .xml file to specify all required parameters.

The root element indicates the version number of the FW-H tool:
<fwh version=”2024.1.0”>

This entry is parent to all other elements in the file, so the file must always end with </fwh> according to XML standards.

The organization of parameters into categories is detailed below.

<input_files>
This category indicates which ultraFluidX input files are used as input to the FW-H calculation:
<name>
Specifies the path to one or several H3D and/or EnSight files containing partial surface or monitoring surface output generated by ultraFluidX. For unmerged data, an .sos file or a list of RANK*.case files need to be provided. For merged data, the .case file is specified.
<general>
The <general> section allows you to specify the FW-H formulation:
<formulation> [porous, solid]
default: porous. Specifies whether the porous or solid formulation of the FW-H analogy is to be used.
Note: The input data needs to correspond to this setting, that is, the porous formulation uses pressure and velocity data sampled in the volume field on a monitoring surface, while the solid formulation is based on pressure data sampled on a partial surface.
<material>
This section contains the material properties of the fluid. These quantities need to correspond to the values that were used in the original ultraFluidX calculation. If not specified, the values for <temperature>, <specific_gas_constant>, and <specific_heat_ratio> will use the default values of ultraFluidX as indicated below. The values do therefore only need to be specified if the ultraFluidX run did use different settings, for example, another fluid temperature.
<temperature>
(optional, default value = 293.15)
Fluid temperature in [K]
<specific_gas_constant>
(optional, default value = 287.058)
Specific gas constant of the fluid in [J/kgK]
<specific_heat_ratio>
(optional, default value = 1.4)
Specific heat ratio of the fluid
<reference_acoustic_pressure>
(example: 2e-5)
Reference pressure value in [Pa] used for OASPL calculation
<reflection_plane>
The FW-H tool can account for absorbing reflection planes in the domain. One plane in each direction (global x-, y-, z-) can be defined and requires the following parameters:
<x_direction>
<active>
bool : true or false
Indicates whether this plane is considered or not.
<position>
floating-point value
Indicates the position on the respective axis, that is, x-axis in this case. All coordinates are in [m].
<absorption>
floating-point value between 0 and 1.
Indicates an absorption value for the plane:
Fully rigid plane: absorption = 0
Grass: absorption ~ 0.6
Fully absorbing material: absorption = 1

The same parameters can be used for planes in categories

<y_direction>

<z_direction>

<probe_output>
<name>
Indicates the name of the pressure signal output files.
In the output folder, this name will be followed by the tag “sync” or “notsync” to distinguish between pressure signals using a global reference time (“sync”) but contain leading/trailing zeros, that is, times when no signal is recorded at the respective receiver, or signals using a local reference time (“notsync”), that do only contain the usable part of each receivers signal.
<microphone_locations>
<name>
One or several .csv files which indicate microphone coordinates.
<output_path>
Indicates a folder where the results of the FW-H tool are written.