Electromagnetic Template Library (EMTL)
Loading...
Searching...
No Matches
emDispersionFraqSolver Class Reference

Fix class for the linear combination of dispersive media emMedium described by Drude and Lorentz terms. More...

#include <dispersion.h>

Inheritance diagram for emDispersionFraqSolver:
Collaboration diagram for emDispersionFraqSolver:

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_tdr
 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')
 

Detailed Description

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:

  • in initialization one needs to a pass list of media emMedium and fill factors
  • while recording points one need to pass fill factors for the participating media

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