Electromagnetic Template Library (EMTL)
|
Class that provides fields as a solution of 1-D FDTD equation at any given point and time for plane wave source with specified location, direction and polarization. More...
#include <radiation.h>
Public Member Functions | |
virtual int | GetFieldsShift () const override |
Get the time shift between E and H fields in half time steps Default (analytic) wave has zero shift. | |
virtual int | set_sync_hsteps (int sync_hsteps) override |
Sets the number of half time steps between synchronizations (for descrete LRNLA algorithms). | |
void | set_vfields_tx (Vector_3 &E, Vector_3 &H) override |
Main function to get fileds, takes imaginary part of the impulse as a second polarization. | |
void | Step (int field) override |
To use from two-stage leap-frog timestepping. | |
emFixTFSF * | get_packer (EmtypePtr_t data) override |
used while packing tf/sf coeffs | |
cvaltype | mix_source_value (valtype coeff, int ind, int adv_timehsteps) const |
normally it is coeff*F[ind]+(1.-coeff)*F[ind+1] | |
Public Member Functions inherited from emSourcePlaneWaveExact | |
emSourcePlaneWaveExact (int fft_dir, const Vector_3 &origin, const Vector_3 &k, const Vector_3 &sE, mngarg< emSpaceImpulse > simpulse, valtype dt) | |
sets the location of the source and E polarization direction vector. | |
Protected Member Functions | |
int | create_projection (int field, const Vector_3 &fdir, cvaltype &proj) const |
explicit field update coefs for PML | |
Protected Attributes | |
cvaltype * | FPML |
field pointer | |
int | N |
field in PML pointer | |
int | NPML |
number of meshpoints (except PML) | |
valtype | length |
number of meshpoints on PML | |
valtype | dr |
length of 1D gird (except PML) | |
mngptr< emPMLFunction > | PMLfunction |
1D gird space and time increments | |
valtype | c1 [2] |
sigma dependence | |
valtype * | CaPML |
explicit field update coefs | |
valtype | tshifti = 0 |
initial time shift | |
Protected Attributes inherited from emSourcePlaneWaveExact | |
mngptr< emSpaceImpulse > | impulse |
Polarization direction vectors. | |
Class that provides fields as a solution of 1-D FDTD equation at any given point and time for plane wave source with specified location, direction and polarization.
Requires limited number of impulse function evaluations only in course of time propagation.
|
inlineoverridevirtual |
Get the time shift between E and H fields in half time steps Default (analytic) wave has zero shift.
Grid wave has shift of -1 (-dt/2)
Reimplemented from emSourceWave.
|
inlineoverridevirtual |
Sets the number of half time steps between synchronizations (for descrete LRNLA algorithms).
Reimplemented from emSourceWave.
|
overridevirtual |