FEMSuite
Classes | Public Member Functions | List of all members
YeeUpdateHelper Class Reference

Helper class to compute Update equations and coefficients. More...

#include <YeeUpdateHelper.h>

Classes

struct  MCoeffContainer
 A container for all M coefficients More...
 

Public Member Functions

Address GetAddress () const
 
void SetAddress (const Address address)
 
MCoeffContainer Compute_mH (const size_t dimension)
 Computes all H field equations for a given dimention More...
 
Complex Compute_mH0 (const size_t dimension)
 mH0 - Computes mH0 for a given dimension. Based on Lecture 14 of FDTD Course( UTEP ) offered at : http ://emlab.utep.edu/ee5390fdtd/Lecture%2014%20–%203D%20Update%20Equations%20with%20PML.pdf (Slide 36) More...
 
Complex Compute_mH1 (const size_t dimension, const Complex &mH0)
 Computes mH1 for a given dimension. More...
 
Complex Compute_mH2 (const size_t dimension, const Complex &mH0)
 Computes mH2 for a given dimension. More...
 
Complex Compute_mH3 (const size_t dimension, const Complex &mH2)
 Computes mH3 for a given dimension. More...
 
Complex Compute_mH4 (const size_t dimension, const Complex &mH0)
 Computes mH4 for a given dimension. More...
 
void SetCachedHCoefficients (const size_t dimension, const MCoeffContainer &mH)
 
MCoeffContainer Compute_mD (const size_t dimension)
 Computes all H field equations for a given dimention More...
 
Complex Compute_mD0 (const size_t dimension)
 Computes mD0 for a given dimension. More...
 
Complex Compute_mD1 (const size_t dimension, const Complex &mD0)
 Computes mD1 for a given dimension. More...
 
Complex Compute_mD2 (const size_t dimension, const Complex &mD0)
 Computes mD2 for a given dimension. More...
 
Complex Compute_mD3 (const size_t dimension, const Complex &mD2)
 Computes mD3 for a given dimension. More...
 
Complex Compute_mD4 (const size_t dimension, const Complex &mD0)
 Computes mD4 for a given dimension. More...
 
void SetCachedDCoefficients (const size_t dimension, const MCoeffContainer &mD)
 
Complex Compute_mE1 (const size_t dimension)
 Computes mE1 for a given dimension. More...
 
void SetCachedECoefficient (const size_t dimension, const Complex &mEi)
 
Complex Curl_EorH (const size_t dimension, const TimeBoardIndex timeBoardIndex, const char whichField)
 Returs the expression C( E, d ) or C( H, d ) at a given timeBoardIndex. whichField is either 'E' or 'H'. Based on the FDTD lectures at UTEP, at http ://emlab.utep.edu/ee5390fdtd/Lecture%2014%20–%203D%20Update%20Equations%20with%20PML.pdf NOTE : this assumes 3 dimensions. TODO : investigate exterior curl : https ://en.wikipedia.org/wiki/Exterior_derivativeCurl /summary> More...
 
Complex SumCurl (const size_t dimension, const TimeBoardIndex timeBoardIndex, const char whichField)
 computes the sum of th curl field for a specified field, from t = 0 until t = timeBoardIndex. NOTE: it is preferred to determine the first time board used and make sure t starts at this time. More...
 
Complex ComputeH (const size_t dimension, const TimeBoardIndex timeBoardIndex)
 Computes the H field for a given axis at a given time board index from E. More...
 
Complex ComputeD (const size_t dimension, const TimeBoardIndex timeBoardIndex)
 Computes the D field for a given axis at a given time board index from H. More...
 
Complex ComputeE (const size_t dimension, const TimeBoardIndex timeBoardIndex)
 Computes the E field for a given location More...
 
PMLAttenuation ComputePMLAttenuation ()
 Computes the PML attenuation matrix( Sigma prime ) in order to attenuate the PML medium properly. More...
 
void SetPMLAttenuation (const PMLAttenuation &pA)
 
DimensionArray< ComplexGetSigmaD () const
 
DimensionArray< ComplexGetSigmaH () const
 
void Update ()
 Updates the grid based on current dimension count More...
 
void Update2D ()
 Updates a 2d display More...
 

Detailed Description

Helper class to compute Update equations and coefficients.

Member Function Documentation

YeeUpdateHelper::MCoeffContainer YeeUpdateHelper::Compute_mD ( const size_t  dimension)

Computes all H field equations for a given dimention

Complex YeeUpdateHelper::Compute_mD0 ( const size_t  dimension)

Computes mD0 for a given dimension.

Note that this i essentially identical to mH0

Complex YeeUpdateHelper::Compute_mD1 ( const size_t  dimension,
const Complex mD0 
)

Computes mD1 for a given dimension.

Complex YeeUpdateHelper::Compute_mD2 ( const size_t  dimension,
const Complex mD0 
)

Computes mD2 for a given dimension.

Complex YeeUpdateHelper::Compute_mD3 ( const size_t  dimension,
const Complex mD2 
)

Computes mD3 for a given dimension.

Complex YeeUpdateHelper::Compute_mD4 ( const size_t  dimension,
const Complex mD0 
)

Computes mD4 for a given dimension.

Complex YeeUpdateHelper::Compute_mE1 ( const size_t  dimension)

Computes mE1 for a given dimension.

YeeUpdateHelper::MCoeffContainer YeeUpdateHelper::Compute_mH ( const size_t  dimension)

Computes all H field equations for a given dimention

Complex YeeUpdateHelper::Compute_mH0 ( const size_t  dimension)

mH0 - Computes mH0 for a given dimension. Based on Lecture 14 of FDTD Course( UTEP ) offered at : http ://emlab.utep.edu/ee5390fdtd/Lecture%2014%20–%203D%20Update%20Equations%20with%20PML.pdf (Slide 36)

Complex YeeUpdateHelper::Compute_mH1 ( const size_t  dimension,
const Complex mH0 
)

Computes mH1 for a given dimension.

Complex YeeUpdateHelper::Compute_mH2 ( const size_t  dimension,
const Complex mH0 
)

Computes mH2 for a given dimension.

Complex YeeUpdateHelper::Compute_mH3 ( const size_t  dimension,
const Complex mH2 
)

Computes mH3 for a given dimension.

Complex YeeUpdateHelper::Compute_mH4 ( const size_t  dimension,
const Complex mH0 
)

Computes mH4 for a given dimension.

Complex YeeUpdateHelper::ComputeD ( const size_t  dimension,
const TimeBoardIndex  timeBoardIndex 
)

Computes the D field for a given axis at a given time board index from H.

Complex YeeUpdateHelper::ComputeE ( const size_t  dimension,
const TimeBoardIndex  timeBoardIndex 
)

Computes the E field for a given location

Complex YeeUpdateHelper::ComputeH ( const size_t  dimension,
const TimeBoardIndex  timeBoardIndex 
)

Computes the H field for a given axis at a given time board index from E.

PMLAttenuation YeeUpdateHelper::ComputePMLAttenuation ( )

Computes the PML attenuation matrix( Sigma prime ) in order to attenuate the PML medium properly.

Complex YeeUpdateHelper::Curl_EorH ( const size_t  dimension,
const TimeBoardIndex  timeBoardIndex,
const char  whichField 
)

Returs the expression C( E, d ) or C( H, d ) at a given timeBoardIndex. whichField is either 'E' or 'H'. Based on the FDTD lectures at UTEP, at http ://emlab.utep.edu/ee5390fdtd/Lecture%2014%20–%203D%20Update%20Equations%20with%20PML.pdf NOTE : this assumes 3 dimensions. TODO : investigate exterior curl : https ://en.wikipedia.org/wiki/Exterior_derivativeCurl /summary>

Current timeboard. We will not be going back( or forward ) in time.

DimensionArray< Complex > YeeUpdateHelper::GetSigmaD ( ) const
Returns
Returns the imaginary conductance at the proper e field
DimensionArray< Complex > YeeUpdateHelper::GetSigmaH ( ) const
Returns
Returns the imaginary conductance at the proper H field location
Complex YeeUpdateHelper::SumCurl ( const size_t  dimension,
const TimeBoardIndex  timeBoardIndex,
const char  whichField 
)

computes the sum of th curl field for a specified field, from t = 0 until t = timeBoardIndex. NOTE: it is preferred to determine the first time board used and make sure t starts at this time.

void YeeUpdateHelper::Update ( )

Updates the grid based on current dimension count

void YeeUpdateHelper::Update2D ( )

Updates a 2d display


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