atl_eqn_acoustic_module Module

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).


Uses

Used by

  • module~~atl_eqn_acoustic_module~~UsedByGraph module~atl_eqn_acoustic_module atl_eqn_acoustic_module module~atl_acoustic_2d_flux_module atl_acoustic_2d_flux_module module~atl_acoustic_2d_flux_module->module~atl_eqn_acoustic_module module~atl_acoustic_numflux_module atl_acoustic_numflux_module module~atl_acoustic_numflux_module->module~atl_eqn_acoustic_module module~atl_acoustic_physflux_module atl_acoustic_physflux_module module~atl_acoustic_physflux_module->module~atl_eqn_acoustic_module module~atl_eqn_acoustic_hlp_module atl_eqn_acoustic_hlp_module module~atl_eqn_acoustic_hlp_module->module~atl_eqn_acoustic_module module~atl_equation_module atl_equation_module module~atl_equation_module->module~atl_eqn_acoustic_module module~atl_laxfriedrichflux_module atl_laxFriedrichFlux_module module~atl_laxfriedrichflux_module->module~atl_eqn_acoustic_module proc~atl_eqn_write atl_eqn_write proc~atl_eqn_write->module~atl_eqn_acoustic_module

Derived Types

type, public ::  atl_acoustic_type

Datatype for acoustic equations.

Components

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.


Subroutines

public subroutine atl_load_acoustic(acoustic, conf, eq_table)

Load the configuration for acoustic equations from the Lua script.

Arguments

Type IntentOptional Attributes Name
type(atl_acoustic_type), intent(inout) :: acoustic
type(flu_State) :: conf
integer, intent(in) :: eq_table

public subroutine atl_save_acoustic(me, eqn_name, conf)

dump the equation variables into the lua file

Arguments

Type IntentOptional Attributes Name
type(atl_acoustic_type), intent(in) :: me
character(len=*), intent(in) :: eqn_name
type(aot_out_type) :: conf

public subroutine atl_dump_acoustic_eqn(me, dumpUnit)

Arguments

Type IntentOptional Attributes Name
type(atl_acoustic_type), intent(in) :: me
integer :: dumpUnit