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 settings

  • n_t: number of time steps in the noise time series

  • data: 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.

initialize()[source]

Perform any one-time initialization run at instantiation.

setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

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:

\[\begin{split}<p^2_{\textrm{direct-prop}}> = \underbrace{\left[\frac{r_{\textrm{s}}^2}{r^2}\right]}_{\substack{\text{$R^2$} \\ \text{law}}} \cdot \underbrace{\left[\frac{(I_0)_{\textrm{obs}}}{(I_0)_{\textrm{source}}} \right]}_{\substack{\text{characteristic acoustic} \\ \text{impedance effect}}} <p^2_{\textrm{source}}>\end{split}\]

Atmospheric absorption effects

The atmospheric absorption effects are applied to the mean-square acoustic pressure of each sub-band \(j\) using:

\[<p^2_{\textrm{absorb}}*_j \ = \ \underbrace{\exp{\left[-2\alpha(r-r_{\textrm{source}})\right]}}_{\textrm{atmospheric absorption}} <p^2_{\textrm{direct-prop}}>_j\]

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:

\[<p^2_{\textrm{propagated}}>^*_i = 10\log_{10}\left[\sum_{h = 1}^{N_b} <p^2_{\textrm{propagated}}>_h \right]\]

Shielding module

The Maekawa method is used to assess the wing shielding effect on the engine noise. This is not implemented yet in pyNA.