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

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>

Inheritance diagram for emSourcePlaneWaveGrid:
Collaboration diagram for emSourcePlaneWaveGrid:

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.
 
emFixTFSFget_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< emPMLFunctionPMLfunction
 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< emSpaceImpulseimpulse
 Polarization direction vectors.
 

Detailed Description

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.

Member Function Documentation

◆ GetFieldsShift()

virtual int emSourcePlaneWaveGrid::GetFieldsShift ( ) const
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.

◆ set_sync_hsteps()

virtual int emSourcePlaneWaveGrid::set_sync_hsteps ( int  sync_hsteps)
inlineoverridevirtual

Sets the number of half time steps between synchronizations (for descrete LRNLA algorithms).

Returns
1 if set, 0 otherwise (not supported)

Reimplemented from emSourceWave.

◆ Step()

void emSourcePlaneWaveGrid::Step ( int  field)
overridevirtual

To use from two-stage leap-frog timestepping.

!!!

Reimplemented from emSourceWave.


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