propagation¶
class description¶
-
class
propagation.
Propagation
(**kwargs)[source]¶ Bases:
openmdao.core.explicitcomponent.ExplicitComponent
Computes propagation of mean-square acoustic pressure (msap):
Distance-law: R2
Characteristic impedance law
Atmospheric absorption
Computes ground reflections and absorption of propagated mean-square acoustic pressure.
The Propagation component requires the following inputs:
inputs['x']
: aircraft x-position [m]inputs['z']
: aircraft z-position [m]inputs['r']
: distance source to observer [m]inputs['c_bar']
: average ambient speed of sound between observer and source [m/s]inputs['rho_0']
: ambient density [kg/m3]inputs['I_0']
: characteristic impedance [kg/(m2 s)]inputs['beta']
: elevation angle [deg]inputs['msap_source']
: mean-square acoustic pressure of the source (re. rho_0,^2c_0^2) [-]
The Propagation component computes the following outputs:
outputs['msap_prop']
: mean-square acoustic pressure, propagated to the observer (re. rho_0^2c_0^2) [-]
The Propagation component has the following options:
settings
: pyna settingsn_t
: number of time steps in the noise time seriesdata
: pyna noise data
-
compute
(inputs: openmdao.vectors.default_vector.DefaultVector, outputs: openmdao.vectors.default_vector.DefaultVector)[source]¶ Compute outputs given inputs. The model is assumed to be in an unscaled state.
- Parameters
inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].
outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].
discrete_inputs (dict or None) – If not None, dict containing discrete input values.
discrete_outputs (dict or None) – If not None, dict containing discrete output values.
Warning
The Julia version of the Propagation component, propagation.jl
, is not documented yet. However, it is very similar to the Python version, propagation.py
. More information and examples on how OpenMDAO.jl components work can be found here.
theory¶
The propagation of noise through the atmosphere is composed of 4 effects. Firstly, the noise power away from the source reduces with the distance squared, i.e. the \(R^2\)-law, as the noise power is distributed over outward moving spherical surfaces. Secondly, the temperature gradient in the troposphere causes a difference between the characteristic impedance at the source relative to that at the observer. Thirdly, while the sound waves are propagating through the atmosphere, the noise power decreases exponentially, because of atmospheric absorption. Next, surface absorption and reflections need to be taken into account when considering a microphone close to the ground. Finally, the lateral noise attenuation at low elevation angles as well as engine installation effects have to be taken into account. Note that the propagation effects in this section are applied to the mean-square acoustic pressure itself (\(<p^2>\) instead of \(<p^2>^*\)).
Spherical spreading and characteristic impedance effect¶
Given the mean-square pressure level at the source, \(<p^2_{\textrm{source}}>^*\), the directly-propagated mean-square pressure level at the observer, \(<p^2_{\textrm{direct-prop}}>^*\), is calculated using:
Atmospheric absorption effects¶
The atmospheric absorption effects are applied to the mean-square acoustic pressure of each sub-band \(j\) using:
A look-up table of the atmospheric absorption coefficient, \(\alpha\), in the US Standard Atmosphere is implemented as a function of altitude, \(z\), and sub-band frequency, \(f_{sb}\).
Combination of sub-bands¶
After applying the atmospheric absorption and ground effects, the \(N_b\) sub-bands are combined again to the original frequency band \(i\) and the resulting mean-square acoustic pressure is converted back to decibels using:
Shielding module¶
The Maekawa method is used to assess the wing shielding effect on the engine noise. This is not implemented yet in pyNA.