Same as ACFDTD22 except that UPML is assumed to truncate the boundaries.
More...
#include <ACFDTD22MemEfficient.hpp>
Public Member Functions |
| ACFDTD22MemEfficient (const double frequency, const double cfl_number) |
virtual void | calcCoefficients (const Model &model, const Grid &grid) |
| Calculate the coefficients of the FDTD update equations.
|
virtual void | execute (const Grid &grid, const CartPosition &sig_loc, const Function *signal, const double time_span, const std::vector< Sensor * > &sen_vec, const unsigned negY=BC_PRESS, const unsigned posY=BC_PRESS, const unsigned negZ=BC_PRESS, const unsigned posZ=BC_PRESS) |
| Engine to handle the hard acoustic pressure source.
|
virtual void | execute (const Model &model, const Grid &grid, const HardPlaneWaveSource &source, const double time_span, const std::vector< Sensor * > &sen_vec, const unsigned negY=BC_PRESS, const unsigned posY=BC_PRESS, const unsigned negZ=BC_PRESS, const unsigned posZ=BC_PRESS) |
| Engine to handle the hard plane wave source.
|
virtual | ~ACFDTD22MemEfficient () |
| ACFDTD22 () |
| ACFDTD22 (const double frequency, const double cfl_number) |
virtual double | getDeltaT () const |
virtual unsigned | getnTimeSteps () const |
virtual | ~ACFDTD22 () |
Detailed Description
Same as ACFDTD22 except that UPML is assumed to truncate the boundaries.
As a consequence, some coefficients are not needed.
Constructor & Destructor Documentation
ACFDTD22MemEfficient::ACFDTD22MemEfficient |
( |
const double |
frequency, |
|
|
const double |
cfl_number |
|
) |
| |
ACFDTD22MemEfficient::~ACFDTD22MemEfficient |
( |
| ) |
|
|
virtual |
Member Function Documentation
void ACFDTD22MemEfficient::calcCoefficients |
( |
const Model & |
model, |
|
|
const Grid & |
grid |
|
) |
| |
|
virtual |
Calculate the coefficients of the FDTD update equations.
If the Model contains the PML around its boundaries, this function also calculates the coefficients in the PML region. See notes on 2012-05-14 for the expression of the coefficients.
Reimplemented from ACFDTD22.
virtual void ACFDTD22MemEfficient::execute |
( |
const Grid & |
grid, |
|
|
const CartPosition & |
sig_loc, |
|
|
const Function * |
signal, |
|
|
const double |
time_span, |
|
|
const std::vector< Sensor * > & |
sen_vec, |
|
|
const unsigned |
negY = BC_PRESS , |
|
|
const unsigned |
posY = BC_PRESS , |
|
|
const unsigned |
negZ = BC_PRESS , |
|
|
const unsigned |
posZ = BC_PRESS |
|
) |
| |
|
virtual |
Engine to handle the hard acoustic pressure source.
Reimplemented from ACFDTD22.
Engine to handle the hard plane wave source.
On the boundary conditions, if BC_PRESS is specified on a boundary, the acoustic pressure is set to 0 on that boundary.
If BC_RIGID is specified on a boundary, the particle velocity normal to the boundary is set to 0.
If BC_PERIODIC is specifified on a boundary, then it is assumed that BC_PERIODIC is also specified on the opposite boundary. The values of the acoustic pressure on the positive boundary are copied to the values of the acoustic pressure on the negative boundary to impose the periodicity.
Reimplemented from ACFDTD22.
void ACFDTD22MemEfficient::parseModel |
( |
const Model & |
model, |
|
|
const Grid & |
grid |
|
) |
| |
|
private |
Member Data Documentation
unsigned short** ACFDTD22MemEfficient::aya |
|
private |
unsigned short ** ACFDTD22MemEfficient::ayb |
|
private |
unsigned short ** ACFDTD22MemEfficient::aza |
|
private |
unsigned short ** ACFDTD22MemEfficient::azb |
|
private |
unsigned short** ACFDTD22MemEfficient::bya |
|
private |
unsigned short ** ACFDTD22MemEfficient::byb |
|
private |
unsigned short ** ACFDTD22MemEfficient::bza |
|
private |
unsigned short ** ACFDTD22MemEfficient::bzb |
|
private |
unsigned short** ACFDTD22MemEfficient::pra |
|
private |
unsigned short** ACFDTD22MemEfficient::prb |
|
private |
unsigned short** ACFDTD22MemEfficient::prc |
|
private |
unsigned short** ACFDTD22MemEfficient::prd |
|
private |
unsigned short** ACFDTD22MemEfficient::pre |
|
private |
unsigned short ACFDTD22MemEfficient::uya |
|
private |
unsigned short** ACFDTD22MemEfficient::uyb |
|
private |
unsigned short** ACFDTD22MemEfficient::uyc |
|
private |
unsigned short ACFDTD22MemEfficient::uza |
|
private |
unsigned short** ACFDTD22MemEfficient::uzb |
|
private |
unsigned short** ACFDTD22MemEfficient::uzc |
|
private |
The documentation for this class was generated from the following files: