# ENH: Added new function object to compute the Proudman acoustic power

@Roger @Prashant - can you confirm this OK to go in? and any test case/updated tutorial that can be provided?

# Details of the new function object:

Calculates the acoustic power due to the volume of isotropic turbulence using Proudman's formula

The acoustic power P_A [W/m3] in terms of turbulence k and \epsilon is given as:

`P_A = alpha_\epsilon \rho \epsilon M_t^5`

where alpha_\epsilon is a constant (0.1) and

`M_t = \frac{\sqrt{2 k}}{a_0}`

with a_0 the speed of sound. The acoustic power is also output in dB using:

`L_P = 10 \log \frac{P_A}{P_ref}`

where P_ref is a constant (1e-12 W/m3)

Usage Example of function object specification to calculate the Proudman acoustic power

```
proudmanAcousticPower1
{
type proudmanAcousticPower;
libs ("libfieldFunctionObjects.so");
...
// Required additional entries for incompressible calculations
rhoInf 1.225;
aRef 340;
}
Where the entries comprise:
Property | Description | Required | Default value
type | type name: proudmanAcousticPower | yes |
rhoInf | Freestream density for incompressible cases | no |
aRef | Reference spped of sound for incompressible cases | no |
alphaEps | Model coefficient | no | 0.1
```

Note

- The freestream density and reference speed of sound are only necessary when a thermodynamics package is unavailable, typically for incompressible cases.

Edited by Andrew Heather