Acoustic Power


Compute the acoustic power across a surface \(S\) defined as

\[P = \iint_S \vec{I} \cdot \vec{n} \, dS\]

where \(\vec{I} = p' \vec{v'}\) is the acoustic intensity, with \(p'\) the acoustic pressure (or pressure fluctuation), \(\vec{v'}\) the velocity fluctuations, and \(\vec{n}\) the unit vector normal to the surface.

Two formulations are considered:

  • For a plane acoustic wave as a duct mode, or a progressive acoustic wave at infinity in a stagnant uniform fluid, the component of the acoustic intensity in the direction of propagation is

    \[I = p'^2/(\rho_0 c_0)\]

    with \(p'\) the acoustic pressure, \(\rho_0\) the density and \(c_0\) the sound speed at infinity.

    It can be shown for a stagnant uniform fluid that \(I_x\) is given by

    \[I_x = p'u'\]

    with \(u'\) the axial component of the velocity disturbances.

  • For homentropic non-uniform fluid, the acoustic intensity is expressed as

    \[\vec{I} = \left( \frac{p'}{\rho_0} + \vec{v_0} \cdot \vec{v'} \right) \left( \rho_0 \vec{v'} + \rho' \vec{v_0} \right)\]

    with the mean velocity \(\vec{v_0} = (U_0,V_0,W_0)\) and the velocity disturbances \(\vec{v'} = (u',v',w')\).

Frequential formulations of previous definitions are also implemented to evaluate the contribution of each frequency to the total acoustic power.

For more details on aeroacoustics, you may refer to


Hirschberg, A. and Rienstra, S.W. “An Introduction to Aeroacoustics”, Instituut Wiskundige Dienstverlening (Eindhoven) (2004).


import antares
myt = antares.Treatment('acousticpower')


  • base: antares.Base

    The input base.

  • dtype_in: str, default= ‘re’

    If dtype_in is ‘re’, then the base is real. If dtype_in is in [‘mod/phi’, ‘im/re’], the base is complex (modulus/phase or imaginery/real part decomposition respectively). If the signal is complex, a suffix must be added to the name of the variable depending on the decomposition (_im and _re for im/re, _mod and _phi for mod/phi). If given, the phase must be expressed in degrees.

  • flow: str, default= ‘stagnant’

    The state of the medium: stagnant or non-uniform.

  • variables: list(str)

    The variable names.

  • rho_ref: float, default= 1.18

    The value of the ambient density, only for real data. The default value is \(\rho=346\) m/s, i.e. for a medium at an ambiant temperature and pressure of T=298 K and P=101325 Pa, respectively.

  • c_ref: float, default= 346.0

    The value of the ambient sound velocity, only for real data. The default value is c=346 m/s, i.e. for a medium at an ambiant temperature of T=298 K.

  • mach_ref: float, default= 0.0

    Mach number.


Zones may be either structured or unstructured.

Stagnant uniform fluid:

  1. the required variables is the mean square of the acoustic pressure fluctuation \(p'\), i.e. \(<p'p'>\)

  2. the reference uniform density \(\rho_0\) and uniform sound velocity \(c_0\)

Homentropic non-uniform fluid:

  1. the required variables are:

  • the mean velocity vector \(\vec{v_0} = (U_0,V_0,W_0)\)

  • the fluctuating velocity vector \(\vec{v'} = (u',v',w')\)

  • the mean density field \(\rho_0\)

  • the fluctuating pressure field \(p'\)



import antares
myt = antares.Treatment('acousticpower')
myt['base'] = base
myt['dtype_in'] = 're'
myt['flow'] = 'stagnant'
myt['rho_ref'] = rho
myt['c_ref'] = c
power = myt.execute()

Main functions

class antares.treatment.TreatmentAcousticPower.TreatmentAcousticPower

Execute the treatment.


a base that contains acoustic power across a surface

One zone with one instant.

The instant contains 1-D arrays:

  1. The acoustic power (Watt)

  2. Sound Power Level (dB)

  3. Sound Pressure Level (dB)

Return type