tem_acoustic_pulse_type Derived Type

type, public :: tem_acoustic_pulse_type

Analytical solution for an acoustic wave emitted by a Gaussian pulse as described in Tam: Computational Acoustics, a wave number approach. Appendix G.3.

The pulse is described geometrical by an origin and a halfwidth, where center is the location of the maximum in the spherical Gaussian pulse, and halwidth is the radius at which the pulse has half the value of the maximum. The height of the pulse is given by amplitude. Note, this definition matches the gausspulse spatial function, which can be used as an initial condition to this problem. Additionally the speed of sound and the background pressure are required to compute the solution.


Inherited by

type~~tem_acoustic_pulse_type~~InheritedByGraph type~tem_acoustic_pulse_type tem_acoustic_pulse_type type~tem_spacetime_fun_type tem_spacetime_fun_type type~tem_spacetime_fun_type->type~tem_acoustic_pulse_type acoustic_pulse type~tem_st_fun_listelem_type tem_st_fun_listElem_type type~tem_st_fun_listelem_type->type~tem_spacetime_fun_type val type~tem_st_fun_listelem_type->type~tem_st_fun_listelem_type next type~tem_variable_type tem_variable_type type~tem_variable_type->type~tem_spacetime_fun_type st_fun type~tem_st_fun_linkedlist_type tem_st_fun_linkedList_type type~tem_st_fun_linkedlist_type->type~tem_st_fun_listelem_type head

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: amplitude

Pulse height in the initial condition at the center over the background value.

real(kind=rk), public :: center(3)

Location of the pulse center in 3D.

real(kind=rk), public :: halfwidth

Radius of the initial pulse, where half the amplitude is reached.

real(kind=rk), public :: background

A background value to use (result is given by background+pulse).

real(kind=rk), public :: speed_of_sound

Speed of sound is the velocity by which the acoustic wave is to be transported.


Source Code

  type tem_acoustic_pulse_type
    !> Pulse height in the initial condition at the center over the background
    !! value.
    real(kind=rk) :: amplitude

    !> Location of the pulse center in 3D.
    real(kind=rk) :: center(3)

    !> Radius of the initial pulse, where half the amplitude is reached.
    real(kind=rk) :: halfwidth

    !> A background value to use (result is given by background+pulse).
    real(kind=rk) :: background

    !> Speed of sound is the velocity by which the acoustic wave is to be
    !! transported.
    real(kind=rk) :: speed_of_sound
  end type tem_acoustic_pulse_type