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

Simulate the propagation of the elastic wave using the finite-difference time-domain method. More...

#include <ELFDTD22.hpp>

Public Member Functions

 ELFDTD22 ()
void calcCoefficients (Model &model, const Grid &grid, Function *signal, const double &cfl_number)
 See notes on 2012-05-14 for the expression of the coefficients.
void execute (const Grid &grid, const CartPosition &sig_loc, Function *signal, const double &time_span)
 See notes on 2012-05-14 for the expression of the update equations.
void attach (const unsigned &j, const unsigned &k)
std::vector< std::vector
< double > > 
detach ()
 ~ELFDTD22 ()

Private Attributes

double ** yya
 Coefficients of the stress components.
double ** yyb
double ** zza
double ** zzb
double ** yza
double ** yzb
double ** uya
 Coefficients of the velocity components.
double ** uyb
double ** uza
double ** uzb
std::vector< unsigned > sensor_j
std::vector< unsigned > sensor_k
std::vector< std::vector
< double > > 
sensor
double dt
 temporal step

Detailed Description

Simulate the propagation of the elastic wave using the finite-difference time-domain method.

Use the velocity-stress formulation.

Constructor & Destructor Documentation

ELFDTD22::ELFDTD22 ( )
ELFDTD22::~ELFDTD22 ( )

Member Function Documentation

void ELFDTD22::attach ( const unsigned &  j,
const unsigned &  k 
)
void ELFDTD22::calcCoefficients ( Model model,
const Grid grid,
Function signal,
const double &  cfl_number 
)

See notes on 2012-05-14 for the expression of the coefficients.

std::vector< std::vector< double > > ELFDTD22::detach ( )
void ELFDTD22::execute ( const Grid grid,
const CartPosition sig_loc,
Function signal,
const double &  time_span 
)

See notes on 2012-05-14 for the expression of the update equations.

From the grid and the cartposition to calculate the location of the hard source.

Pre-allocate the memory space for the field quantities

Current field - refers to the current (n for p and n+1/2 for u, )

Precedent field - refers to the one occuring immediately before the current (n-1 for p and n-1/2 for u )

Member Data Documentation

double ELFDTD22::dt
private

temporal step

std::vector<std::vector<double> > ELFDTD22::sensor
private
std::vector<unsigned> ELFDTD22::sensor_j
private
std::vector<unsigned> ELFDTD22::sensor_k
private
double** ELFDTD22::uya
private

Coefficients of the velocity components.

double ** ELFDTD22::uyb
private
double ** ELFDTD22::uza
private
double ** ELFDTD22::uzb
private
double** ELFDTD22::yya
private

Coefficients of the stress components.

double ** ELFDTD22::yyb
private
double** ELFDTD22::yza
private
double ** ELFDTD22::yzb
private
double ** ELFDTD22::zza
private
double ** ELFDTD22::zzb
private

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