Aero-Acoustics¶
Broadband aero-acoustic simulations can be performed by selecting the DGCAA solver. Aero-acoustic sources are currently limited to stochastic noise sources generated by the FRPM method. These sources are typically driven by a steady state RANS simulation.
The CAA conditions can be mapped from a CFD solution or specified as a set of initial conditions to give freestream density and sound speed.
The configuration can make use of multiple “FRPM” domains and also include a sponge layer.
DGCAA Solver¶
The DGCAA is configured in the same way as the other solvers via an equations set with the name “dgcaa”.
Keyword |
Required |
Default |
Valid values |
---|---|---|---|
‘order’ |
Yes |
0 | 1 | 2 | 3 | 4 |
|
‘map cfd to caa mesh’ |
Yes |
True |
True | False |
‘frpm solver only’ |
Yes |
False |
True | False |
‘microphone output frequency’ |
Yes |
1 |
Positive integer |
‘frpm sources’ |
Yes |
True |
True | False |
‘number of smallest timestep locations to display’ |
Yes |
1 |
Positive integer |
‘rans case name’ |
Yes |
String; python case file name |
|
‘rans mesh name’ |
No |
String; mesh file name |
|
‘frpm’ |
No |
{} |
See “frpm” |
Example usage¶
parameters = {
..
'equations' : 'DGCAA',
'DGCAA' : {
'order' : 2,
'map cfd to caa mesh' : True,
'frpm solver only' : False,
'rans mesh name' : "rans_mesh.h5",
'rans case name' : "rans_case.py",
'frpm sources' : True,
'microphone output frequency' : 10,
'frpm' : {...}
}
..
}
order¶
This parameter sets the order of the polynomials within each element used to define the numerical solution.
Map CFD to CAA mesh¶
If there are large variations in the freestream flow properties, it may be desirable to include refraction effects within the acoustic simulation. This can be done by supplying a CFD flow field where the variations in temperature and velocity are mapped onto the acoustic mesh and are used within the CAA propagation. If this is set to FALSE, the freestream properties supplied within the IC_1 dictionary are used.
frpm solver only¶
If this is set to TRUE, there will be no solution of the acoustic (APE-4) equations, only the FRPM solver will be run. This allows you to examine the nearfield FRPM predicted flow field, without the necessity of running a full CAA simulation.
microphone output frequency¶
This is after how many time steps the next solution at the microphone locations should be written to file.
Note
Note this is number of cycles rather then Hz.
frpm sources¶
If this is set to TRUE, the acoustic sources driving the acoustic simulation will come from the FRPM method. If this is set to FALSE, sources will be supplied by the user elsewhere, for example, velocity fluctuations on a surface.
number of smallest timestep locations to display¶
The solver will report this number of cells with the smallest time steps.
Note
The time step utilised by the solver is limited by the smallest (or poorest quality) cells in the mesh. This keyword allows the user to see the X,Y,Z location of the cells which are restricting the time step and so can be useful for mesh improvement purposes.
rans case name¶
Specifies the zCFD results file to provide turbulent mean flow data to both the FRPM and CAA solver if required.
rans mesh name¶
Specifies the zCFD mesh file to provide turbulent mean flow data to both the FRPM and CAA solver if required.
FRPM Domains¶
Several FRPM domains can be defined within the aero-acoustic simulation by adding additional ‘FRPM_2’, ‘FRPM_3’, etc., dictionaries. With a single FRPM domain, the dictionary must be labelled ‘FRPM_1’. Each dictionary can contain the following parameters:
Keyword |
Required |
Default |
Valid values |
---|---|---|---|
‘map cfd to frpm mesh’ |
Yes |
True |
True | False |
‘number of frpm mpi processes’ |
Yes |
1 |
Positive integer |
‘frpm spacing’ |
Yes |
Positive float |
|
‘frpm turbulence integral length scale’ |
Yes |
Positive float |
|
‘frpm maximum variable turbulence integral length dx scale’ |
Yes |
7 |
Positive float |
‘frpm turbulence integral length scale parameter’ |
Yes |
1 |
Positive float |
‘frpm cart num mesh cells’ |
Yes |
[x, y, z]: vector of integers or function |
|
‘frpm domain translate’ |
Yes |
[x, y, z]: vector of integers or function |
|
‘frpm domain rotate (deg)’ |
Yes |
[x, y, z]: vector of integers or function |
|
‘frpm blend sources from side’ |
Yes |
[]: list of floats |
|
‘frpm monitor points’ |
No |
[x1, y1, z1, x2, y2, z2…]: list of X, Y, Z coordinates |
|
‘frpm flush particles cycles’ |
Yes |
0 |
Positive integer |
‘frpm mapped tke smoothing iterations’ |
Yes |
0 |
Positive integer |
‘frpm mapped tke smoothing relaxation’ |
Yes |
0.2 |
Float between 0 & 1 |
‘frpm inverse distance source mapping’ |
Yes |
True |
True | False |
‘frpm inverse distance source mapping’ |
Yes |
True |
True | False |
‘minimum particle speed’ |
Yes |
0.0000000001 |
Positive float |
‘use constant integral length scale’ |
Yes |
True |
True | False |
‘wall distance blend over’ |
Yes |
-1 |
Float |
‘frpm anisotropy’ |
Yes |
-1 |
Float |
‘frpm inverse distance source mapping distance’ |
No |
Float |
|
‘frpm inflow boundaries’ |
No |
[True, True, True, True, True, True] |
List of booleans |
‘frpm minimum turbulence integral length scale’ |
No |
Float |
Example usage¶
parameters = {
..
'equations' : 'DGCAA',
'DGCAA': {
..
"FRPM_1": {
"number of frpm mpi processes": 1,
"map cfd to frpm mesh": True,
"frpm Spacing": 0.1,
"frpm turbulence integral length scale": 0.2,
"frpm cart num mesh cells": [100, 100, 100],
"frpm march frequency": [0, 0, 0],
"frpm domain translate": [0, 0, 0],
"frpm domain rotate (Deg)": [0, 0, 0],
"frpm blend sources From side": [0.1, 0.1, 0.1, 0.1, 0.1, 0.1],
"frpm monitor points": [0.0, 0.0, 0.0],
"frpm flush particle cycles": 2500,
"frpm mapped tke smoothing iterations": 5,
"frpm mapped tke smoothing relaxation": 0.2,
"frpm inverse distance source mapping": True,
"use constant integral length scale": False,
"frpm turbulence integral length scale parameter": 0.61,
"frpm anisotropy": 3.0,
},
..
},
..
}
map cfd to frpm mesh¶
Load turbulence information from a CFD RANS solution (see ‘Map CFD to CAA mesh’), if this is set to FALSE, the freestream properties supplied within the IC_1 dictionary are used.
number of frpm mpi processes¶
Specifies the number of host CPUs to be used by the FRPM solver.
If the FRPM solver is slowing down the overall CAA computation, the user may wish to increase the parallelism by adding more host CPUs to the FRPM computation. Ideally this should be kept as low as possible as the FRPM method does not naturally scale well with increased CPUs.
frpm spacing¶
Specifies the cartesian cell dimensions for the FRPM mesh which is automatically generated by the FRPM solver.
This is required to specify the FRPM mesh used in the FRPM computations. This dimension will limit the resolved turbulence integral length scale to \(l_{t_{resolved}} = \sqrt{l_t^2 + (0.75 * \Delta)^2}\) where \(\Delta\) is the frpm spacing.
frpm turbulence integral length scale¶
If the user chooses to use a constant integral length scale for the FRPM source predictions, this value will be used.
This value currently requires being set, however is only used if ‘use constant integral length scale’ is set to TRUE. A constant turbulence integral length scale permits the use of numerically efficient (fast) filtering operations and considerably reduces the FRPM run times. If a constant turbulence length scale provides a reasonable estimate of the sound producing length scales, this parameter should be used in conjunction with ‘use constant integral length scale’ set to TRUE.
frpm maximum variable turbulence integral length dx scale¶
Limits the CFD predicted turbulence integral length scale to this value multiplied by the ‘frpm spacing’.
If the FRPM solver is to use the turbulence integral length scales provided by a CFD solution, it may be necessary to limit the maximum integral length scale within the FRPM solver. This is to prevent filtering operations which extend over the entire FRPM domain, for each FRPM node, which rapidly becomes expensive.
frpm turbulence integral length scale parameter¶
Specifies the constant of proportionality for the turbulence length scale calculation from the CFD simulation. The turbulence integral length scale is specified from turbulence kinetic energy and turbulence eddy frequency using the following expression \(l_t = C_l * \sqrt{k} / (betaStar * omega)\). This value specifies \(C_l\).
Note
0.61 to 1 are the values specified within the literature
frpm cart num mesh cells¶
Specifies the number of Cartesian cells in each direction.
This vector of integers specifies how many cells are in each Cartesian direction, effectively specifying the extent of the FRPM domain.
frpm march frequency¶
Specifies after now many time steps the FRPM solver should be updated.
The CAA solver time step may be much smaller than that necessary for the FRPM solver, therefore to reduce the FRPM overhead, we can perform fewer FRPM updates and interpolate at time levels in between FRPM updates.
Note
If this is set to -1 the FRPM solver will compute this update frequency based on particles not traversing a cell.
frpm domain translate¶
Specifies the X, Y, Z translation to place the FRPM domain in the desired location.
The FRPM domain by default is cartesian aligned and placed at the origin. This parameter allows the user to place the FRPM domain anywhere in the domain. Note that translation happens AFTER rotation of the domain.
frpm domain rotate (deg)¶
Specifies the X, Y, Z rotations to place the FRPM domain in the desired location.
The FRPM domain by default is cartesian aligned and placed at the origin. This parameter allows the user to rotate the FRPM domain into the desired orientation PRIOR to translation of the domain.
frpm blend sources from side¶
Acoustic sources will be blended to zero strength across this distance from the interior of the FRPM domain, towards each of the cartesian boundaries.
It is undesirable to have acoustic sources appearing to vanish within the CAA solver, therefore it is necessary to blend sources smoothly to zero strength. This is done via a shifted Cosine function where the value is zero at the boundaries and 1 the specified distance into the FRPM domain (when considered in its original Cartesian alignment). The ordering is distance from [XMIN, XMAX, YMIN, YMAX, ZMIN, ZMAX]. If any of XMIN, XMAX, etc are set to 0, no blending is done.
frpm monitor points¶
Contiguous list of X,Y,Z locations specifying monitor points where data such as velocity and source fluctuations should be output from the FRPM solver.
It may be useful to the user to interrogate the data being produced by the FRPM solver to monitor statistics such as mean turbulence kinetic energy, turbulence spectra (using the frozen turbulence approximation), etc.
frpm flush particles cycles¶
Specifies number of FRPM cycles to run prior to starting an aero-acoustic calculation.
During initialisation, particles are placed randomly within active areas in the FRPM domain. The user can perform a specified number of particle marches to essentially flush particles through the domain such that the distribution of particles is as would be achieved after running for a period of time. No filtering operations are applied, simply particle tracking.
frpm mapped tke smoothing iterations¶
Number of smoothing iterations for turbulence kinetic energy field.
When a CFD solution is mapped to the FRPM domain, there may be a considerable difference in local cell sizes. As such, the mapped solution may show mild discontinuities. In order to prevent this causing an issue with numerical differentiations during the FRPM computations, the mapped solution can be smoothed using a relaxed Lagrangian smoothing method. This parameter specifies the number of smoothing cycles.
It should be noted that peak turbulence levels may reduce and smear our as a result of the smoothing process so the user should take care to ensure the smoothed turbulence field is as representative of the actual CFD solution as possible.
frpm mapped tke smoothing relaxation¶
Relaxation during smoothing iterations for turbulence kinetic energy field. This parameter specifies the relaxation during the Lagrange smoothing steps specified by ‘frpm mapped tke smoothing iterations’
frpm inverse distance source mapping¶
Use inverse distance weighing mapping to map acoustic sources from the FRPM domain to the CAA mesh.
There are two options to map acoustic sources from the FRPM domain to the CAA mesh. The first is using a modified Shepard inverse distance weighted mapping (recommended) or simply locate the CAA mesh point in the FRPM domain and interpolate the solution to that point (‘frpm inverse distance source mapping’ set to FALSE). The inverse distance mapping has been observed to exhibit minimal spurious numerical noise at high frequencies.
minimum particle speed¶
The minimum local flow speed of a particle before it is deleted and reseeded at an inflow boundary.
It is possible, as a result of numerical integration, that a particle may enter an almost dead zone with very negligible flow velocity. It may be desirable to delete the particle and reseed the particle at an inflow boundary to prevent the build up of particles in stagnant areas (or areas which are inactive). This should only be used if issues with large numbers of stationary particles are encountered in regions of the FRPM domain.
use constant integral length scale¶
Defines whether or not a constant, user specified, turbulence integral length scale should be used in the FRPM computations.
A constant turbulence integral length scale permits the use of numerically efficient (fast) filtering operations and considerably reduces the FRPM run times. If a constant turbulence length scale provides a reasonable estimate of the sound producing length scales, this parameter should be set to True. If this parameter is set to False, the turbulence integral length scale varies throughout the domain and is calculated from the CFD solution.
wall distance blend over¶
Defines the distance from walls the acoustic sources should blend to zero.
It is undesirable to have acoustic sources appearing to vanish within the CAA solver, therefore it is necessary to blend sources smoothly to zero strength. This is done via a shifted Cosine function where the value is 1 at a distance of this value from a wall, then blends to zero over this value such that it is zero two times this value from the wall.
frpm anisotropy¶
Defines anisotropy factor for acoustic sources generated by the FRPM method.
If the turbulence field to be modelled is anisotropic, it is possible to specify anisotropy with this parameter. The streamwise integral length scale will be scaled by \(\sqrt{anisotropy}\) and the length scale normal to the streamwise direction will be scaled by \(1.0 / anisotropy\).
frpm inverse distance source mapping distance¶
Specifies the radial distance from a target CAA mesh point that source data from the FRPM domain should be take from.
This parameter defines a sphere around the CAA mesh point where we wish to map acoustic data to, where any FRPM point within will contribute to the inverse distance weighted mapping. By default this is set to 3 times to FRPM mesh spacing, however and be increased or decreased if necessary (due to memory limitations for example).
frpm inflow boundaries¶
List of booleans defining the Cartesian FRPM domain boundaries in which deleted particles can be reseeded into the domain.
If an FRPM particle exits the domain, it is reseeded at one of the FRPM domain boundaries. This list of booleans allows the user to set which boundaries particles can be reseeded. By default, reseeding can happen at all boundaries, however some can be turned off if desired. The booleans are ordered XMIN, XMAX, YMIN, YMAX, ZMIN, ZMAX.
For example, [True, False, True, False, False, False] will have particles reseeded at only the XMIN and YMIN boundaries.
frpm minimum turbulence integral length scale¶
Specifies the minimum turbulence integral length scale permitted when using the turbulence integral length scales predicted by a CFD simulation.
This parameter specifies the minimum turbulence integral length scale permitted, when the turbulence integral length scales being used are those from a CFD simulation. It is highly recommended to set this value to twice the FRPM spacing. Any value below this will likely result in the sources being poorly resolved in the FRPM domain and result in spurious high frequency noise.
Sponge Layers¶
This option can be used to permit non reflecting farfield boundaries. When set, damping terms will be linearly ramped from zero at this distance from farfield boundaries, to the highest value (defined by ‘damping factor’) at the farfield boundary.
Keyword |
Required |
Default |
Valid values |
---|---|---|---|
‘distance’ |
No |
– |
Number |
‘damping factor’ |
No |
– |
Number |
‘condition’ |
No |
– |
String reference to IC |
‘distance’ specifies the distance from farfield boundaries in which the solution should be damped towards freestream values. ‘damping factor’ specifies the amount of damping to be applied at cells close to farfield boundaries.
Example usage¶
parameters = {
..
'equations' : 'DGCAA',
'DGCAA': {..},
"sponge layer damping": {
"distance": 1.0,
"damping factor": 1.0,
},
..
}