Module to describe the isothermal acoustic equation system for a medium at rest.
This is a simplification of the linearized Euler equations, where the medium is assumed to be at rest and isothermal. These assumptions eliminate one equation and only density and velocity are required to describe the wave transport. Pressure and density are equivalent in this system and differ only by a constant scaling factor.
The medium is defined by its pressure and density, which define the speed
of sound. They are referred to as background state, and accordingly a
background table needs to be defined for the acoustic equation table.
equation = {
name = 'acoustic',
background = {
density = 1,
pressure = 1
}
}
The speed of sound derives from the provided background state by
Where is the background pressure in the medium and its density.
The acoustic equations are available for 3D (acoustic) and 2D
(acoustic_2d).
Datatype for acoustic equations.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | ndims |
Number of spatial dimensions to consider. Implemented are 2 and 3 dimensions. |
|||
| real(kind=rk), | public | :: | density_0 |
Density of the wave carrying medium. |
|||
| real(kind=rk), | public, | allocatable | :: | velocity_0(:) |
Velocity of the medium. |
||
| real(kind=rk), | public | :: | pressure_0 |
Pressure of the medium. |
|||
| real(kind=rk), | public | :: | speedOfSound |
Speed of sound of the medium. |
|||
| type(atl_materialFun_type), | public | :: | penalization |
Penalization terms to describe obstacles. |
Load the configuration for acoustic equations from the Lua script.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(atl_acoustic_type), | intent(inout) | :: | acoustic | |||
| type(flu_State) | :: | conf | ||||
| integer, | intent(in) | :: | eq_table |
dump the equation variables into the lua file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(atl_acoustic_type), | intent(in) | :: | me | |||
| character(len=*), | intent(in) | :: | eqn_name | |||
| type(aot_out_type) | :: | conf |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(atl_acoustic_type), | intent(in) | :: | me | |||
| integer | :: | dumpUnit |