Basic class for defined (analytic) wave description.
More...
#include <radiation.h>
|
| virtual int | GetFieldsShift () const |
| | Get the time shift between E and H fields in half time steps Default (analytic) wave has zero shift.
|
| |
|
int | free_buffers () |
| | Frees all buffer memory and the buffer array.
|
| |
|
void | reset_buffers () |
| | Frees buffer memory and prepares the buffers to resize (when new range is set)
|
| |
|
virtual int | set_internal_range (valtype tf0_, valtype tf1_, valtype dtf_=-1) |
| | sets the internal range for classes that accept any range default for base is [0, INFTY), WHICH WILL NOT ALLOW FFT! must set this for derived class to be able to do FFT classes that have predefined internal range must return -1
|
| |
| virtual int | set_range (valtype tf0_=1, valtype tf1_=0, valtype dtf_=-1) |
| | sets t/f range and step for output: needed to optimize buffer usage when transformation is needed.
|
| |
|
virtual emFixTFSF * | get_packer (EmtypePtr_t data) |
| | used while packing tf/sf coeffs
|
| |
| virtual int | set_pos_it (int vi_) |
| | sets current space iteration
|
| |
|
virtual int | set_pos (const Vector_3 &pos) |
| | sets current vector (x or k). переопределяется в наследнике, если нужно.
|
| |
|
virtual int | set_tf (valtype tf) |
| | sets current time variable: t or f depending on current working signature
|
| |
|
void | set_first_field (int field) |
| | Sets the field to be updated first in leap-frog type source stepping. Used in TF/SF generated signals.
|
| |
| virtual int | set_sync_hsteps (int sync_hsteps) |
| | Sets the number of half time steps between synchronizations (for descrete LRNLA algorithms).
|
| |
| virtual void | Step (int field) |
| | To use from two-stage leap-frog timestepping.
|
| |
|
virtual void | set_cvfields (Vector_3 &Ere, Vector_3 &Hre, Vector_3 &Eim, Vector_3 &Him) |
| | gets field using given time
|
| |
|
emDump * | GetEmDumper () |
| | This function insures that the returned dumper is of true emDumper type.
|
| |
|
|
int | scatter_data (base_iterator< Vector_3 > *pos_it, int trav_request=-1) |
| | scatters wave data from rank 0 to the buffers according to their ranks
|
| |
|
virtual int | step_tf () |
| | make step with present dt/df (as in set_dt()) from current time and shifts current time
|
| |
|
|
int | ti |
| | time iteration
|
| |
|
int | vi |
| | for buffers numeration
|
| |
| valtype | itf0 |
| | internal/actual representation
|
| |
|
int | dt_fixed |
| | value of dt is fixed for internal representation and cannot be changed by set_range for example, this is 1 for emSourcePlaneWaveGrid, where dt cannot be larger than mesh step
|
| |
|
int | fft_dir |
| | specifies way of Fourier transformation
|
| |
|
int | bufnum |
| | number of buffers
|
| |
|
int | fftdim |
| | dimension for the fft transform (the same as all n),
|
| |
|
bool | buff_dim_ok |
| | true used to indicate that the buffers are consitent with range
|
| |
|
int | first_upd_field |
| | Type the field updated first during time stepping (1 is default for EMTL)
|
| |
Basic class for defined (analytic) wave description.
◆ GetFieldsShift()
| virtual int emSourceWave::GetFieldsShift |
( |
| ) |
const |
|
inlinevirtual |
◆ set_pos_it()
| virtual int emSourceWave::set_pos_it |
( |
int |
vi_ | ) |
|
|
inlinevirtual |
sets current space iteration
- Returns
- <0 if this iterator is unavailable
-
-2 if the iterator does not belong to current MPI rank
!!!
◆ set_range()
| virtual int emSourceWave::set_range |
( |
valtype |
tf0_ = 1, |
|
|
valtype |
tf1_ = 0, |
|
|
valtype |
dtf_ = -1 |
|
) |
| |
|
virtual |
sets t/f range and step for output: needed to optimize buffer usage when transformation is needed.
after setting the range, stepping outside the range will not be allowed. the accuracy of representation along t/f axis will be determined by dtf stepping with steps less than dtf will result in interpolation output. if tf0>tf1, sets internal defaults for range. dtf<0 means internal default for step. retuns <0 if the setting is impossible
◆ set_sync_hsteps()
| virtual int emSourceWave::set_sync_hsteps |
( |
int |
sync_hsteps | ) |
|
|
inlinevirtual |
Sets the number of half time steps between synchronizations (for descrete LRNLA algorithms).
- Returns
- 1 if set, 0 otherwise (not supported)
Reimplemented in emSourcePlaneWaveGrid.
◆ Step()
| virtual void emSourceWave::Step |
( |
int |
field | ) |
|
|
inlinevirtual |
◆ itf0
| valtype emSourceWave::itf0 |
|
protected |
internal/actual representation
internal/actual t/f range
The documentation for this class was generated from the following file: