Acoustic FDTD Solver
Public Member Functions | Public Attributes | List of all members
HardPlaneWaveSource Class Reference

Hard plane wave source imposed along the line $y=y_0$ parallel to the z axis. More...

#include <HardPlaneWaveSource.hpp>

Public Member Functions

 HardPlaneWaveSource ()
 HardPlaneWaveSource (const double incident_angle, const double y_coord, const double z_coord, const double freq, const double t_spread, const double s_spread)
 Create a plane wave source.
 HardPlaneWaveSource (const double incident_angle, const double y_coord, const double z_coord, const double freq, const unsigned nPeriods, const double s_spread)
 Create a plane wave source.
 HardPlaneWaveSource (const double incident_angle, const double y_coord, const double freq, const double t_spread)
 Create a plane wave source.
double getSpatialWaveform (const double z) const
 Calculate the spatial waveform $g(z{'})$, where.
double getTemporalWaveform (const double t, const double z, const double v_p) const
 Calculate the temporal waveform $f(t')$, where.
double getFrequency ()

Public Attributes

double theta
double y_0
double z_0
Functionf_t
 Temporal waveform, $f(t)$.
Functiong_z
 Spatial waveform, $g(z)$.
double T
 Time span of the source.

Detailed Description

Hard plane wave source imposed along the line $y=y_0$ parallel to the z axis.

The acoustic pressure imposed along the this line is given by

\[ p(z, t) = f(t') g(z') \]

where $t'$ and $z'$ denote the transform variables as functions of the real variables $t$ and $z$, $f(t')$ denotes the temporal waveform and $g(z')$ denotes the spatial waveform,

Constructor & Destructor Documentation

HardPlaneWaveSource::HardPlaneWaveSource ( )
HardPlaneWaveSource::HardPlaneWaveSource ( const double  incident_angle,
const double  y_coord,
const double  z_coord,
const double  freq,
const double  t_spread,
const double  s_spread 
)

Create a plane wave source.

The temporal shape $f(t')$ is a GaussianModulatedSinusoid waveform with the carrier frequency being $f_c$, the standard deviation being $\sigma_t$ and the mean being $5\sigma_t$. The spatial shape $g(z')$ is a Gaussian waveform with the standard deviation being $\sigma_s$ and the mean being 0.

The time span of this plane wave source is $10\sigma_t$.

Parameters
incident_angle(rad) incident angle $\theta$
y_coordanchor position $y_0$
z_coordanchor position $z_0$
freqcarrier frequency $f_c$
t_spreadtemporal standard deviation $\sigma_t$
s_spreadspatial standard deviation $\sigma_s$
HardPlaneWaveSource::HardPlaneWaveSource ( const double  incident_angle,
const double  y_coord,
const double  z_coord,
const double  freq,
const unsigned  nPeriods,
const double  s_spread 
)

Create a plane wave source.

The temporal shape $f(t')$ is a ramp modulated Sinusoid waveform with the carrier frequency being $f_c$. The first temporal peak appears after 3 periods. The spatial shape $g(z')$ is a Gaussian waveform with the stardard deviation being $\sigma_s$ and the mean being 0.

Parameters
incident_angle(rad) incident angle $\theta$
y_coordanchor position $y_0$
z_coordanchor position $z_0$
freqcarrier frequency $f_c$
nPeriodsnumber of periods of the Sinusoid waveform
s_spreadspatial spreading $\sigma_s$
HardPlaneWaveSource::HardPlaneWaveSource ( const double  incident_angle,
const double  y_coord,
const double  freq,
const double  t_spread 
)

Create a plane wave source.

The temporal shape $f(t')$ is a GaussianModulatedSinusoid waveform with the carrier frequency being $f_c$, the standard deviation being $\sigma_t$, and the mean being $5\sigma_t$. The spatial shape is a constant.

The time span of this plane wave source is $10\sigma_t$.

Parameters
incident_angle(rad) incident angle $\theta$
y_coordanchor position $y_0$
freqcarrier frequency $f_c$
t_spreadtemporal standard deviation $\sigma_t$

Member Function Documentation

double HardPlaneWaveSource::getFrequency ( )
double HardPlaneWaveSource::getSpatialWaveform ( const double  z) const

Calculate the spatial waveform $g(z{'})$, where.

\[ z{'} = (z-z_0)\cos(\frac{\pi}{2}-\theta) \]

double HardPlaneWaveSource::getTemporalWaveform ( const double  t,
const double  z,
const double  v_p 
) const

Calculate the temporal waveform $f(t')$, where.

\[ t' = t-\frac{(z-z_0)\sin(\frac{\pi}{2}-\theta)}{v_p}, 0\le t \le T \]

Member Data Documentation

Function* HardPlaneWaveSource::f_t

Temporal waveform, $f(t)$.

Function* HardPlaneWaveSource::g_z

Spatial waveform, $g(z)$.

double HardPlaneWaveSource::T

Time span of the source.

double HardPlaneWaveSource::theta
double HardPlaneWaveSource::y_0
double HardPlaneWaveSource::z_0

The documentation for this class was generated from the following files: