tem_acoustic_pulse_module Module



Derived Types

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.

Read more…

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.


Functions

public function tem_eval_acoustic_pulse(me, coord, time, n) result(res)

Evaluate the acoustic pulse at given points in space for one point in time.

Read more…

Arguments

Type IntentOptional Attributes Name
type(tem_acoustic_pulse_type), intent(in) :: me

Definition of the acoustic pulse to evaluate

real(kind=rk), intent(in) :: coord(n,3)

3D Coordinates of all points.

real(kind=rk), intent(in) :: time

Point in time to evaluate the points at.

integer, intent(in) :: n

Number of different points to evaluate the acoustic pulse at.

Return Value real(kind=rk), (n)

Analytical solution in all n points.


Subroutines

public subroutine tem_load_acoustic_pulse(conf, thandle, me)

Load the definition of an acoustic pulse from a configuration Lua script.

Arguments

Type IntentOptional Attributes Name
type(flu_State) :: conf
integer, intent(in) :: thandle
type(tem_acoustic_pulse_type), intent(out) :: me