Electromagnetic Template Library (EMTL)
|
Fix class for the linear combination of dispersive media emMedium described by Drude and Lorentz terms. More...
#include <dispersion.h>
Protected Attributes | |
data_unpacked< valtype > | CE |
coefficients in E field update equation | |
data_unpacked< valtype > | fr |
fill fractions of participating media | |
valtype * | perms |
auxiliary coefficients used at the recording stage | |
Protected Attributes inherited from emDispersionSolver | |
int | rec_state |
state flag (see general description in fix.h) | |
int | medsnum |
number of media | |
int * | polesnum |
array of the size 2*medsum for Drude / Lorentz terms number for each medium | |
lrcoeffs_t * | dr |
coefficients for Drude and Lorentz currents update equation (see decsription to 'dispersion.h') | |
valtype | CE |
coefficients for E field update equation | |
valtype | Ca0 |
original (without account for dispersion) coefficients for E field update equation: E=Ca0*E+Cb0*rotH | |
size_t | nE |
number of recorded points | |
size_t | nEp |
1 if we need to know E field at the previous step | |
size_t | nJ |
number of currents at the current time step that we store | |
size_t | nJp |
number of currents at the previous time step that we store | |
emtype * | Ep |
arrays for the E field at the previous time step and for currents J at the current and previous time steps | |
Friends | |
class | emFixDispersion |
struct | emDispersionVecAccessHelper |
Additional Inherited Members | |
Public Member Functions inherited from emDispersionSolver | |
void | init (emMedium **meds, int meds_num, valtype dt) |
calculate coefficients dr, lr, CE, CEp, Crot | |
void | record (valtype *Ca, valtype *Cb) |
record point where fix is required | |
void | end_record () |
complete point recording | |
void | ClearMesh () |
fill Ep, Jlr, Jlrp with zero values | |
int | step_before (const iterator &data, emtype *out) |
apply fix before basic update (see decsription in fix.h) | |
int | step_after (const iterator &data, emtype *out) |
apply fix after basic update (see decsription in fix.h) | |
valtype | get_Ca0 () const |
valtype | get_Cb0 () const |
emtype | get_J (const iterator &data) |
Protected Types inherited from emDispersionSolver | |
typedef drlrcoeffs_t< valtype > | lrcoeffs_t |
coefficients in ADE scheme (see decsription to 'dispersion.h') | |
Fix class for the linear combination of dispersive media emMedium described by Drude and Lorentz terms.
Dielectric function is assumed to be linear combination of dielectric functions of specified media. This class works in the same way as emDispersionSolver. The only differences are: