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

  • module~~atl_eqn_acoustic_module~~UsesGraph module~atl_eqn_acoustic_module atl_eqn_acoustic_module module~aotus_module aotus_module module~atl_eqn_acoustic_module->module~aotus_module module~aot_out_module aot_out_module module~atl_eqn_acoustic_module->module~aot_out_module module~tem_logging_module tem_logging_module module~atl_eqn_acoustic_module->module~tem_logging_module module~aot_table_module aot_table_module module~atl_eqn_acoustic_module->module~aot_table_module module~aot_out_general_module aot_out_general_module module~atl_eqn_acoustic_module->module~aot_out_general_module module~tem_tools_module tem_tools_module module~atl_eqn_acoustic_module->module~tem_tools_module module~atl_materialfun_module atl_materialFun_module module~atl_eqn_acoustic_module->module~atl_materialfun_module module~env_module env_module module~atl_eqn_acoustic_module->module~env_module module~atl_materialfun_module->module~aot_out_module module~atl_materialfun_module->module~env_module module~tem_varsys_module tem_varSys_module module~atl_materialfun_module->module~tem_varsys_module

Used by

  • module~~atl_eqn_acoustic_module~~UsedByGraph module~atl_eqn_acoustic_module atl_eqn_acoustic_module proc~atl_eqn_write atl_eqn_write proc~atl_eqn_write->module~atl_eqn_acoustic_module module~atl_equation_module atl_equation_module module~atl_equation_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_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_acoustic_2d_flux_module atl_acoustic_2d_flux_module module~atl_acoustic_2d_flux_module->module~atl_eqn_acoustic_module module~atl_laxfriedrichflux_module atl_laxFriedrichFlux_module module~atl_laxfriedrichflux_module->module~atl_eqn_acoustic_module

Contents


Derived Types

type, public :: atl_acoustic_type

Datatype for acoustic equations.

Components

TypeVisibilityAttributesNameInitial
integer, private :: ndims

Number of spatial dimensions to consider. Implemented are 2 and 3 dimensions.

real(kind=rk), private :: density_0

Density of the wave carrying medium.

real(kind=rk), private, allocatable:: velocity_0(:)

Velocity of the medium.

real(kind=rk), private :: pressure_0

Pressure of the medium.

real(kind=rk), private :: speedOfSound

Speed of sound of the medium.

type(atl_materialFun_type), private :: 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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
type(atl_acoustic_type), intent(in) :: me
integer :: dumpUnit