Electromagnetic Template Library (EMTL)
|
Basic container add on. More...
#include <ui_method_stack.h>
Public Member Functions | |
template<class container_t > | |
int | AddMethod (container_t *container) |
Add ons define AddMethod functions (also automatically provided be uiMethodCFG). | |
Public Member Functions inherited from uiExperiment | |
int | SetMainBlockTypeId (int id=0) |
Sets the active main block type by its id. | |
int | SetMainBlockType (const std::string &btypename) |
Sets the active main block type by its class name. | |
int | SetVectorizationAxis (int axis) |
Sets the axis that will be used for (AVX/SSE) vectorization, 0=x, 1=y, 2=z, -1 = automatic setting (usually largest dimension) Vectorization works better for dimensions with uniform geometry (less object boundaries). | |
int | SetPhases (const std::string &s) |
Set execution phases: g - just build geometry, c - only calculate, a - only analyse, any other string - everything. | |
int | SetFirstUpdatedField (int _first_updated_field=1) |
Sets the first field to be updated by bulk update, 0= E, 1=H may be ignored with warning on some blocks. | |
int | SetTimers (int use_timers_=1) |
If timers are used, at the end of the calculation files timers_xxxx.d (xxxx - processor number) will be produced with information of time spend for most important EMTL functions. | |
int | SetDump (int dump_=1, int dump_format_=GNUPLOT, const iVector_3 &duplicate=iVector_3(1), const iVector_3 &origin=iVector_3(0)) |
Switch to create files with geometry description format of files is specified by bit flag dump_format: GNUPLOT - simple table that can be read by gnuplot VTK - VTK format that can be read by Paraview. | |
int | SetGeometryOutput (int flags) |
Sets flags switching geometry objects output on/off. | |
int | SetInternalSpace (const Vector_3 &p1_, const Vector_3 &p2_) |
Sets the position of internal calculation space (PMLs and oblique incidence boundaries are excluded). | |
int | SetInternalSpace (const Vector_3 &p) |
Version of the function above with zero left bottom corner. | |
int | GetInternalSpace (Vector_3 &p1_, Vector_3 &p2_) const |
Get the position of internal calculation space. | |
int | GetSpace (Vector_3 &p1_, Vector_3 &p2_) const |
Get the position of the calculated space (including PMLs, oblique incidence boundaries). | |
int | SetResolution (valtype dx, valtype dy, valtype dz, valtype courant_=-1) |
Set mesh step for each axis and Courant factor. | |
int | SetResolution (valtype dx=-1, valtype courant=-1) |
Version of the function above with equal mesh step along all axes. | |
int | SetInternalMeshSize (int nx=-1, int ny=-1, int nz=-1, valtype courant_=-1) |
Set the axial numbers of mesh steps (for internal space) and the Courant factor. | |
const int * | GetMeshSize () const |
Get the axial numbers of mesh steps (for all space). | |
int | SetCourant (valtype courant_=0.5) |
Sets the Courant factor. | |
valtype | GetCourant () const |
Gets the Courant factor. | |
int | ConfAutoResolution (valtype lambda=-1, valtype nlambda=15, valtype objr=INF, valtype nobj=1.) |
Configure settings for automatic mesh step selection: | |
int | ConfTimeToSize (valtype time2size_=5.) |
Configure atomatic setting for calculation time: use the time needed to span maximal size of the mesh time2size times. | |
int | AddMeshBlock (const Vector_3 &p1_, const Vector_3 &p2_, const Vector_3 &dx_, valtype Courant=0.5f, int level=1, int blocktypeid=-1) |
Adds mesh block overriding the main mesh block in the specified region. | |
int | SetTime (valtype time, valtype atime=VEC_INFTY) |
Set/reset calculation time. | |
int | SetTimeN (int inum_, int finum_=INT_INFTY) |
Set/reset number of steps. | |
int | AdjustTimeN (int timesteps) const |
int | SetFactTimeN (int finum_=INT_INFTY) |
Set the number of actual steps for the calculation. | |
int | SetFrequencyRange (int nf_, valtype f1_=0, valtype f2_=0, bool align_freq_=true) |
Set frequency range (f1,f2) and resolution (number of points nf) inside this range that will be used for all output in frequency/wavelength representation. | |
int | GetFrequencyRange (int &nf_, valtype &f1_, valtype &f2_) const |
Gets the current frequency range used in calculation. | |
int | SetWavelengthRange (int nf_, valtype lambda1_=0, valtype lambda2_=0, bool align_freq_=true) |
Set wavelength range (lambda1,lambda2) and resolution (number of points nf) inside this range that will be used for all output in frequency/wavelength representation. | |
int | GetWavelengthRange (int &nf_, valtype &lambda1_, valtype &lambda2_) const |
Gets the current wavelength range used in calculation. | |
int | SetBC (int bc_x, int bc_y, int bc_z) |
Set boundary conditions for corresponding axis. | |
int | SetOblique (int obl_inum_=1, int obl_dfreq_=1, int obl_dupl_=1, int obl_pml_ncells_0_=20, int obl_ini_wave_=0) |
Set iterative oblique scheme. | |
int | SetBorderDelay (int dcoord, valtype sintheta) |
Set oblique incidence periodic border delay for the specified direction (Hipercone only). | |
int | SetSmoothing (int smooth=1, Region_3 *reg=NULL) |
Turn on subpixel smoothing See paper A. | |
int | SetPMLType (int pmltype, const emPMLFunction &pml_fun_) |
Set pml type (UPML or CPML) and function by reference which is cloned. | |
int | SetPMLType (int pmltype=UPML_TYPE, emPMLFunction *pml_fun_=NULL, int managed=1) |
Set pml type (UPML or CPML) and function default pml type is UPML. | |
int | ConfPML (int pml_ncells_=10, int add_ncells=0, int nsigma=0, int back_pr1=2, int back_pr2=0, valtype kappa_back_=0) |
Configure various PML settings: | |
int | AddPMLBackingLayer () |
Add PML backing layer with optimal parameters from paper A. | |
int | AddTFSFPlane (valtype dx, valtype dy, valtype dz, valtype dir=1.f) |
Creates a source with TFSF planar border. | |
int | AddTFSFPlane (const Vector_3 &n, const Vector_3 &pos) |
Creates a source with TFSF planar border. | |
int | AddTFSFBox (valtype x0, valtype x1, valtype y0, valtype y1, valtype z0, valtype z1) |
Creates a source with TFSF box as generating surface. | |
int | AddTFSFBox (const Vector_3 &v0, const Vector_3 &v1) |
Creates a source with TFSF box as generating surface. | |
int | SetSignal (emImpulse *impulse, int managed=1, int srcid=-1) |
Sets the signal form for the generation source given by srcid. | |
int | SetSignalPtr (emImpulse *impulse, int managed=1, int srcid=-1) |
A synonym for SetSignal(emImpulse *impulse, int managed=1, int srcid=-1) to be used in Python. | |
int | SetSignal (const emImpulse &impulse, int srcid=-1) |
Sets the signal form for the generation source given by srcid. | |
int | AddRodDipole (const Vector_3 &v0, const Vector_3 &v1, valtype dt=0, valtype amp=1, bool analytic=false, int srcid=-1) |
Adds a filament dipole to the dipole source. | |
int | AddPointDipole (const Vector_3 &pos, const Vector_3 &dir, valtype dt=0, valtype amp=1, bool analytic=false, int srcid=-1) |
Same as AddRodDipole but ensures that a) the dipole has minimal size with respect to mesh resolution; b) may generate waves in all directions. | |
int | AddTFSFDipole (const Vector_3 &v0, const Vector_3 &d, valtype dt=0, int srcid=-1) |
Adds a point dipole source to the TF/SF generating surface with given srcid (-1 for default). | |
int | SetPlaneWave (const Vector_3 &k, const Vector_3 &E, bool analytic=false, int srcid=-1) |
Assign a plane wave source to the corresponding TF/SF generating surface. | |
int | SetBraggWave (const Vector_3 &k, const Vector_3 &p, const Vector_3 &kBragg, bool analytic=false, int srcid=-1) |
Assign a Bragg wave source to the corresponding TF/SF region. | |
int | UseLambda (int use_lambda_=1) |
Use wavelength instead of frequency in spectra output. | |
int | AddDetectorSet (const std::string &name, valtype x0, valtype x1, int nx, valtype y0, valtype y1, int ny, valtype z0, valtype z1, int nz, int mode=0, int srcid=-2) |
Adds a 3D detector array set. | |
int | AddDetectorSet (const std::string &name, const Vector_3 &v0, const Vector_3 &v1, const Vector_3 &n=Vector_3(-1.f), int mode=0, int srcid=-2) |
Same as above in vector form. | |
int | AddVTKDetectorSet (const std::string &name, const Vector_3 &v0, const Vector_3 &v1, const Vector_3 &rn=Vector_3(-1.f), int ndomains=1) |
Add detector grid saving fields in parallel VTK format. | |
int | AddDetectorSet (const std::string &name, const std::vector< Vector_3 > &coords, const std::vector< Vector_3 > &dcoords, int mode=0, int srcid=-2) |
Adds 3D detector vector. | |
int | AddNearToFarSet (const std::string &name, const Vector_3 &v0, const Vector_3 &v1, const Vector_3 &origin, valtype R, valtype th0, valtype th1, int thn, valtype fi0, valtype fi1, int fin, int mode=0, valtype resol=1, int srcid=-2) |
Add detector set for near to far field transformation. | |
int | AddRTASet (const std::string &name, size_t dir, valtype r_ref, valtype r_tra, valtype rsl=1, int rta_type=0, int srcid=-1) |
Adds a detector set formed by up to 2 parallel planes, normal to the axis dir. | |
uiDetector * | GetDetectorSetPtr (const std::string &name) |
Gets a pointer to detector set, NULL if the set does not exist. | |
uiDetector * | GetDetectorSet (const std::string &name) |
Same as GetDetectorSetPtr, but safe: instead of NULL will return a pointer to temporary if detector set does not exist. | |
int | SetFillMedium (const emMedium &med) |
Set the filling material for calculated space. | |
emMedium | GetFillMedium () const |
Gets the filling material of the calculated space. | |
int | AddObject (const emMedium &med, Region_3 *regptr, int managed=1, int level=0) |
Add user 3D object defined by medium properties and region in space. | |
int | AddObjectPtr (const emMedium &med, Region_3 *regptr, int managed=1, int level=0) |
A synonym for AddObject(const emMedium &med,Region_3 *regptr,int managed=1, int level=0) to use in Python. | |
int | AddObject (const emMedium &med, const Region_3 ®, int level=0) |
Add user 3D object defined by medium properties and region in space. | |
int | ConfigureTensorMethod (int use_stable=0) |
Configure settings used by tensor methods (thin_surface, thin_wire, tensor_medium, subpixel_smoothing). | |
int | Add2DObject (const emMedium &med, const FacetedSurfaceData &surf) |
Add user object defined by medium properties and a thin 2D surface in space by reference which is cloned. | |
int | Add2DObject (const emMedium &med, FacetedSurfaceData *surfptr, int managed=1) |
Add user object defined by medium properties and a thin 2D surface in space by pointer. | |
int | Add1DObject (const emMedium &med, Wire_3 *wireptr, int managed=1, const Vector_3 &shift=Vector_3()) |
Add user object defined by medium properties and a thin 1D wire in space If managed flag is 1, the region pointer is managed (deleted by uiExperiment). | |
int | Add1DObjectPtr (const emMedium &med, Wire_3 *wireptr, int managed=1, const Vector_3 &shift=Vector_3()) |
A synonym for Add1DObject(const emMedium &med, Wire_3 *wireptr, int managed=1, const Vector_3& shift = Vector_3()) to be used explicitly from Python. | |
int | Add1DObject (const emMedium &med, const Wire_3 &wire, const Vector_3 &shift=Vector_3()) |
Add user object defined by medium properties and a thin 1D wire in space. | |
int | AddBox (const emMedium &med, valtype x0, valtype x1, valtype y0, valtype y1, valtype z0, valtype z1, int level=0) |
Add a box with corners (x0,y0,z0) and (x1, y1, z1) | |
int | AddBox (const emMedium &med, const Vector_3 &v0, const Vector_3 &v1, int level=0) |
Same as above in vector form. | |
void | SetFarField (int sph_rank, int time_max, int tile_sz=16, const char *path="") |
Initiates far-field computation in the time domain sph_rank - the rank of the grid in directions built on the basis of the pentakis dodecahedron partition, see http://sv-journal.org/2018-1/09/ time_max - number of time steps tile_sz - tile size (affects calculation speed, for fast far field it can affect accuracy) path - the path along which the fields from the Huygens surface are reset in the .msh format of the aiwlib library (by default they are not reset) nine files with the names [xyz] E [xyz] .msh are created at the specified path, the first letter is the axis of which is orthogonal to the surface face, the last letter is the component. | |
void | SetFastFarField (double xi_sc, int Nphi, bool phi_interp=true, int approx=1, bool patch_n_phi=false) |
Initiates fast time-domain far-field computation based on spherical splitting, without calling SetFarField (...) ignored. | |
void | AddFarFieldRange (Vector_3 n, double theta_min, double theta_max) |
Adds a selection to the directions in which the far field is considered (axis orientation and theta range of angles). | |
void | FarFieldFinish (const char *path) |
Completes the far field calculation. | |
void | FarFieldLoad (const char *path) |
Loads the previously calculated far field along the path path, requires the directory path/nt/ and the files path/P.sph and path/info. | |
void | SetFarFieldBasis (Vector_3 n_theta, Vector_3 n_phi) |
Specifies the spherical coordinate system in which all post-processing will be performed. | |
void | FarFieldFourier (const char *path) |
Carries out the Fourier transform in each direction, the frequency range is determined automatically or can be set explicitly by the SetFrequenceRange (...) method. | |
void | FarFieldFourier (const char *path, int nf_, valtype f_min, valtype f_max) |
The same as the FarFieldFourier(const char* path) method, but with an explicit specification of the frequency range. | |
void | FarFieldDumpDirect (valtype theta, valtype phi, const char *path) |
Saves along the path "path" in nine columns the dependence of electrical components and Stokes parameters on frequency for an arbitrary direction given by the angles theta, phi. | |
void | FarFieldSlicePhi (valtype theta, valtype f, int sz, const char *path) |
Outputs to the file "path" slices (depending on the angle phi) of the field components and Stokes parameters at a given angle theta at frequency f. | |
void | FarFieldSliceTheta (valtype phi, valtype f, int sz, const char *path) |
Outputs to the file "path" slices (depending on the angle theta) of the field components and Stokes parameters at a given angle phi at frequency f. | |
void | FarFieldIntPhi (valtype f, int sz, const char *path) |
Outputs to the file "path" the integrals over d phi (depending on the angle theta) of the field components and Stokes parameters at the frequency f. | |
void | FarFieldIntTheta (valtype f, int sz, const char *path) |
Outputs to the file "path" the integrals over sin(theta) d theta (depending on the angle phi) of the field components and Stokes parameters at the frequency f. | |
int | SetOutputDir (const char *path) |
Set directory for text output. | |
int | SetRawDataDir (const char *path) |
Set directory for binary output (large files). | |
virtual int | ClearObjects () |
Clears all medium objects. | |
virtual int | BuildDimensions () |
Calculates full mesh dimensions, space and time steps according to the communicated settings: boundary conditions, internal space size and resolution. | |
int | AlignWithField (Vector_3 &vec, int ftype, int dir, const Vector_3 &shift=Vector_3()) const |
Aligns the vector to coinside with the nearest node of the field of given type and direction: ftype =0 for E, ftype =1 for H, dir =0,1,2 for x,y,z. | |
const Vector_3 & | GetSpaceStep () const |
Gets mesh space step (valid after BuildDimensions call). | |
valtype | GetTimeStep () const |
Gets mesh time step (valid after BuildDimensions call). | |
virtual int | BuildGeometry () |
Intialize EMTL objects corresponding to calculated space, PML, sources, medium regions, detectors. | |
virtual int | BuildMesh () |
Allocate memory for EMTL objects and fill all necessary data (coefficients in finite difference scheme etc.). | |
int | Calculate (valtype time, valtype ftime=VEC_INFTY) |
Performs FDTD simulation for given time. | |
int | CalculateN (int inum_, int finum_=INT_INFTY) |
Performs FDTD simulation for given number of steps. | |
virtual int | Reset (int keep_setup=0x7) |
Resets the experiment to setup phase, cleaning the calculation mesh. | |
void | RemoveBinaries (bool rb=true) |
Remove binary detector files in desctructor. | |
void | SetBalancedDecomposition (int balanced_=1, const Vector_3 &balanced_dx_=0, const method_load_t &load_=method_load_t()) |
Perform balanced domain decomposition. | |
int | SetMeshBlockParam (const std::string &key, valtype value, int btypeid=-1, int blockid=-1) |
Sets block-specific parameters in the from ("key", value). | |
int | DumpMedium (const char *fname, const emMedium &med, valtype lf1=-1, valtype lf2=-1, valtype ldf=0) const |
Writes the frequency (wavelength) dependence of the medium. | |
int | DumpFields (const char *path, iVector_3 bmin=iVector_3(0), iVector_3 bmax=iVector_3(0), int field_mask=63) const |
Saves the current field configuration in the .msh binary format of the aiwlib library, see http://sv-journal.org/2018-1/09/ six frames are saved in the file along the path path - Ex, Ey, Ez, Hx, Hy, Hz, cell type float. | |
int | DumpCoeffs (const char *path, iVector_3 bmin=iVector_3(0), iVector_3 bmax=iVector_3(0), int coeff_mask=4095) const |
Stores the distribution of coefficients in the binary .msh format of the aiwlib library, see http://sv-journal.org/2018-1/09/ twelve frames are saved in the file along the path path - c1Ex, c2Ex, c1Ey, c2Ey, c1Ez, c2Ez, c1Hx, c2Hx, c1Hy, c2Hy, c1Hz, c2Hz, cell type float | |
int | DumpFix (const char *path, iVector_3 bmin=iVector_3(0), iVector_3 bmax=iVector_3(0), int EH_mask=3) const |
Stores the distribution of fixes (bit masks) in the .msh binary format of the aiwlib library, see http://sv-journal.org/2018-1/09/ one frame is saved in the file along the path path, cell type is float. | |
int | DumpMat (const char *path, iVector_3 bmin=iVector_3(0), iVector_3 bmax=iVector_3(0), int EH_mask=3) const |
Saves the distribution of materials (corresponding to ID on the computational grid) in the binary .msh format of the aiwlib library, see http://sv-journal.org/2018-1/09/ one frame is saved in the file along the path path, cell type is float. | |
int | CalcN (int inum_, int finum_=INT_INFTY) |
Performs FDTD simulation for given number of steps (for python interface). | |
int | Calc (valtype time, valtype ftime=VEC_INFTY) |
Performs FDTD simulation for given time (for python interface). | |
valtype | GetComputeRate (bool renew=false) |
Gets current average compute rate in GYeeCells/s. | |
void | SetTextureParams (valtype k=1., valtype shift=0., valtype k_disp=1., valtype shift_disp=0.) |
Underlying media may be displayed in QPLT format by overimposing them on the fields. | |
Public Member Functions inherited from emComponent | |
emDump * | GetEmDumper () |
This function insures that the returned dumper is of true emDumper type. | |
Additional Inherited Members | ||
Protected Types inherited from uiExperiment | ||
enum | PHASE_FLAGS | |
Execution phases. | ||
enum | RES_MODES | |
What defines resolution. | ||
enum | { } | |
Source types. More... | ||
enum | ||
TF region types. | ||
typedef mngptr< emImpulse > | impulse_t | |
if true, exit from function Calculate | ||
Protected Member Functions inherited from uiExperiment | ||
int | check_phase (int lim_phase) | |
Check if current phase exceeds lim_phase. | ||
int | fix_frequency_range () | |
Make frequency range f1, f2, nf aligned with . | ||
int | adjust_freq_steps (int inum_, int finum_) | |
Adjust steps number and frequency range to container. | ||
void | DetStartNextFileRecord (int inum, int nobl, int depth, int filter=0x3) | |
void | DetCompleteNextFileRecord (int inum, int nobl, int depth=0, int filter=0x3) | |
Puts the updated interpolated values into file. | ||
int | add_dipole (const Vector_3 &v0, const Vector_3 &v1, valtype dt, valtype amp, int srcid, int type=0, bool analytic=false) | |
Internal function for adding dipoles, type=0 – rod dipole, type=1 – point dipole. | ||
void | preset_box_detector (uiDetector *det, Vector_3 &n, const Vector_3 &v0, const Vector_3 &v1, int mode, int srcid) | |
Auxilliary function to configure box type detectors (including VTK) | ||
Protected Attributes inherited from uiExperiment | ||
int | sync_hsteps = 2 | |
global synchronization level, to be tuned | ||
int | phase | |
Current phase. | ||
bool | strict_phase | |
Whether to forbid to pass to the previous phase from the subsequent. | ||
int | exe_phases | |
Phases which will be fulfilled (bit flag). | ||
int | analytic_geometry_analysis | |
Do geometrical analysis analitiaclly, without contours loop. | ||
double | sys_t0 | |
Program start time. | ||
double | sys_tmax | |
Mesh data will be saved in binary files each sys_tsave interval and after sys_tmax time from start. | ||
int | use_timers | |
Whether to use timers. | ||
struct { | ||
} | tid | |
The id of timers which are responsible for phases of experiment. | ||
int | dump | |
Whether to create files with the set bodies, detectors for review in the gnuplot. | ||
int | dump_format | |
see VISUAL_FORMATS (to dump in gnuplot or vtk format). | ||
iVector_3 | dump_dup = iVector_3(1) | |
how many elementary cells are duplicated in each direction for dump | ||
iVector_3 | dump_dup_orig = iVector_3(0) | |
duplication origin | ||
int | vec_axis | |
The axis that will be used for vectorization, -1 = automatic setting (usually largest dimension). | ||
Vector_3 | size | |
The calculated space position and size. | ||
Vector_3 | isize | |
The same for internal space. | ||
int | N [3] | |
Mesh steps number. | ||
Vector_3 | dr | |
Mesh step in each direction. | ||
valtype | dt | |
Time step. | ||
valtype | courant | |
The factor of Courant. | ||
int | first_updated_field | |
The first field to be updated by bulk update, 0= E, 1=H ignored with warning on some block types. | ||
int | inum =0 | |
Number of time steps. | ||
int | finum =0 | |
Actual steps number. | ||
int | obl_inum | |
Number of oblique incidence iterations. | ||
int | obl_dfreq | |
Detectors work each obl_dfreq oblique iteration and last iteration. | ||
iVector_3 | bc | |
Boundary conditions for axial directions. | ||
Vector_3 | obl_k | |
oblique incidence direction. If nonzero, iterative scheme is applied. | ||
valtype | obl_ncells | |
Split between writing and generating boundaries at oblique incidence. | ||
valtype | obl_pml_ncells | |
Distance between oblique boundaries and PML. | ||
valtype | obl_pml_ncells_0 | |
Distance between oblique boundaries and PML minus obl_ncells. | ||
int | past_flag | |
Used data from the same iteration for 'past' oblique boundaries. | ||
int | obl_dupl | |
How many times dublicate periodic cell along oblique direction in oblique incidence case. | ||
int | obl_ini_wave | |
Use all oblique boundaries as TF/SF generating surface on the first oblique iteration. | ||
bool | no_auto_oblique = false | |
Do not automatically swithc to oblique incidence when obl_k is pointing towards PBC. | ||
int | delay_coord = -1 | |
Direction of PBC with delay (Hipercone only). | ||
valtype | df | |
The bottom and top frequencies in investigated spectrum, step on frequency. | ||
bool | align_freq | |
Maximally align frequencies with the internal range. | ||
int | nf | |
Quantity of investigated frequencies. | ||
bool | on_fly | |
Whether use Fourier-on-flight instead of FFDT. | ||
int | use_lambda | |
Use lambda instead of frequency in output text files. | ||
int | flux_out | |
What to output in a rta file (see outFLUX). | ||
int | fft_dir | |
Signs in the exponent for Fourier transformation exp(+/-iwt+/-ikx). | ||
int | tf_dir | |
Sign in the exponent for Fourier transformation exp(+/-iwt). | ||
int | xk_dir | |
Sign in the exponent for Fourier transformation exp(+/-ikx). | ||
int | use_smooth | |
Whether to use subpixel smoothing. | ||
Region_3 * | sm_reg | |
If defined, subpixel smoothing works only inside this region. | ||
int | pml_type | |
NPML, UPML or CPML. | ||
mngptr< emPMLFunction > | pml_fun | |
How pml parameters (sigma, kappa) depend on depth inside PML. | ||
int | pml_ncells | |
Number of mesh steps inside PML. | ||
int | pml_nspace | |
Number of mesh steps between internal space and PML. | ||
int | pml_nsigma | |
Number of mesh steps in PML before back PML layer. | ||
int | back_profile [2] | |
The flags used in back PML layer. | ||
valtype | kappa_back | |
Maximal kappa of back PML layer. | ||
int | cpml_orot | |
Whether to use modification of a block internal cycle for CPML. | ||
int | prl_anls | |
Whether to do the parallel analysis (in case of use Fourier-on-flight). | ||
int | wf | |
Whether to use a cycle with vectorization. | ||
bool | remove_binaries | |
If true, remove binary detector files in desctructor. | ||
int | mpi_transfers | |
If 0, no MPI-transfers will be sent (test option). | ||
iVector_3 | ndomains | |
Arguments of MakeBoxDomains(). | ||
int | balanced | |
Perform balanced domain decomposition. | ||
int | balanced_ppn | |
If more than 1, then number of processors in sub-domain. | ||
int | ppn_weight | |
Perform balanced decomposition for super-domains. | ||
Vector_3 | balanced_dx | |
Space step used in grid for domain domain decomposition. | ||
method_load_t | load | |
Load coefficients for different methods. | ||
std::map< int, impulse_t > | impulses | |
Default impulse form. | ||
valtype | imp_ampl | |
Default signal amplitude. | ||
valtype | tscale | |
Scaling default Berenger pulse. | ||
mngptr< Liouville > | liouville | |
Energy levels and dipole moment of atoms. | ||
std::vector< tfdescr_t > | tfregions | |
TFSF region descriptions. | ||
refmap< std::string, uiDetector > | detectors | |
detector descriptions. string is used to make output text files | ||
emMedium | MExt | |
Number of TF regions. | ||
refvector< regdescr_t > | regions | |
Region descriptions. | ||
std::map< int, tensor_med_t > | eps_tensors | |
Dielectric tensors assigned to selected media. | ||
int | use_stable | |
Stability flag for tensor methods. | ||
int | time_limit | |
Variable used to indicate calculation time limits: -1 = automatic by internal space size, 1 = use preset inum, 0 = in the course of calculation. | ||
valtype | time2size | |
Variable for setting calculation time to maximal mesh size ratio (default is 5). | ||
int | topthreads | |
Topthreads number for conoids. | ||
int | prank_lo | |
Runtime parallel rank for conoids prank_lo is the lowest rank on which we calculate conoids in parallel. | ||
int | grid_lowrank | |
lowest rank to use in conetur grid (default is 3, optimal rank is 6). | ||
bool | vtkconf_set | |
VTK configuration flag. True if configuration was set. | ||
int | interm_detectors | |
Number of detectors for which intermediate analysis was requested. | ||
int | main_blockid | |
Set blockid to use as a global main mesh. | ||
int | s_it | |
Persistent step and oblique iteration counters. | ||
double | s_dtime | |
Persistent start time of the first iteration. | ||
std::map< std::string, block_param_t > | bparammap | |
map to pass parameters to blocks | ||
int | analyze_flags = ~0 | |
Analyze flags to be passed to container (for testing only) | ||
int | omp_max_threads = -1 | |
Override max_threads for OMP, used to tune OMP performance, -1 means no override. | ||
int | gdumpflags = dmpMAINREG | dmpTFSFREG | dmpPMLREG | dmpMEDIAREG | dmpMPIBLOCKS | dmpDETPOINTS | dmpBLOCKREG | |
default flags for dumping geometry objects | ||
Basic container add on.