|
| emYeeGenRectBlock (const Box &B, const indtype *ndim, const int wf=0) |
| B - бокс, в котором находится сетка, ndim - сколько точек в сетке должно быть.
|
|
size_t | GetDataInterleave () const |
| gets the size of an interleave bank for grid data (must be accounted for when allocating memory)
|
|
Vector_3 | get_position (indtype ind, int &ftype, Vector_3 &fdir) const |
| gets the position, fieldtype and direction of a data with given index
|
|
interp_form_t | create_interpolation (const Vector_3 &pos, const Vector_3 &dir, int fieldtype) |
| old form
|
|
interp_form_t | create_interpolation (const emInterpArg &arg, vector< emInterpArg > *nonlocal=NULL, bool all_nonlocal=false) |
| returns the coefficients of field interpolation adds non-local (unresolved) requests to nonlocal (if it is not NULL)
|
|
int | get_out_data_max_count () const |
| gets the maximal possible number of output points for a contour
|
|
int | get_out_data_index (const contour_it &cnti, indtype *ind, valtype *coeff, int check=0) const |
| gets the data index and coefficients of output (central) updated data points as distributed from contour center puts the indicies and coefficients into corresponding arrayes provided it is assumed that the pointers have space at least for get_out_data_max_count() entries if check==1 performs data index memory range validity check
|
|
int | get_inp_data_max_count () const |
| gets the maximal possible number of inputs points for one edge of a contour
|
|
int | get_edge_count (const contour_it &cnti) const |
| gets the number of edges for the given contour
|
|
int | get_inp_data_index (const contour_it &cnti, int edgenum, indtype *ind, valtype *coeff, int check=0) const |
| gets the data index and coefficients of input (edge) data points to contribute to each edge center it is assumed that the pointers have space at least for get_out_data_max_count() entries if check==1 performs data index memory range validity check
|
|
int | mark_all_unused () |
| mark all contours as unused (the fileds will not be updated by Step)
|
|
int | mark_all_used (Vector_3 *vmin=NULL, Vector_3 *vmax=NULL) |
| mark all contours as used if vmin and vmax are specified, take them as a bounding box
|
|
int | mark_cnt_used (const contour_it &cnti, int border=0) |
| mark the contour as used (for optimization purposes) for the Yee block this will extend the used box border: 0=completely internal, 1 = some input outside, 2= output outside, but some input inside border=1,2 contours may be excluded from processing by Step, but are iterated by contour iterator the processing of border contours must be managed externally
|
|
int | commit_marking () |
| commits the marked contours to match iterator range
|
|
void | unpack_ind (indtype ind, int &ftype, int &dir, indtype &ix, indtype &iy, indtype &iz) const |
| indexing the value unpacks component indicies from integer
|
|
indtype | pack_ind (int ftype, int dir, indtype ix, indtype iy, indtype iz) const |
| packs component indicies to integer
|
|
emtype * | GetDataPtr () |
| gets data pointer
|
|
int | SetDataPtr (EmtypePtr_t _ptr) |
| sets the pointer and clears values
|
|
int | Reset () |
| clears all buffers
|
|
int | StepO (int field) |
| performs (optimized) explicit timestep
|
|
int | StepV (int field) |
| performs vectorizable explicit timestep
|
|
int | StepC (int field) |
| performs non-optimized contour-based explicit timestep
|
|
void | StepContour (const contour_it &cnt) |
| performs explicit timestep for one single contour
|
|
emDump * | GetEmDumper () |
| This function insures that the returned dumper is of true emDumper type.
|
|
|
void | set_arr (emtype *sptr) |
| Assigns external pointer for data array.
|
|
Vector_3 | get_position (indtype ix, indtype iy, indtype iz, int cdir, int ftype, Vector_3 &fdir) const |
| Data position via 3 indicies, and contour ftype.
|
|
int | get_inp_data_index_unpacked (const contour_it &cnti, int edgenum, indtype *ind) const |
| Gets the data index and coefficients of input (edge) data points to contribute to each edge center.
|
|
indtype | put_media_type (const contour_it &cnti, valtype dt, emtype perm, emtype loss) |
| records the media data for a contour given by it
|
|
|
storage_t * | emdata |
| main (aligned) data pointer
|
|
indtype | N [3] |
| sizes
|
|
indtype | mstart [6][3] |
| commited local memory range for all grids
|
|
indtype | ustart [6][3] |
| grid box internal area (border excluded) limits for each field type and direction, default is [1, N-2]
|
|
indtype | estart [6][3] |
| marking for grid box iterator limits for each field type and direction, default is [1, N-2]
|
|
indtype | _start [6][3] |
| marking for grid box memory limits for each field type and direction, default is [1, N-2]
|
|
indtype | istart [6][3] |
| marking grid box internal area (external border excluded) limits for each field type and direction, default is [1, N-2]
|
|
indtype | astart [6][3] |
| marking for interpolation area (internal border included)
|
|
ptrdiff_t | SZ4 |
| slice sizes
|
|
Vector_3 | origin |
| origin point of main grid
|
|
Box | rbox |
| bounding region [origin+dx/4, origin+nx*dx-dx/4], where nx is dimension supplied in constructor [origin + dx/2, origin+nx*dx-dx/2]
|
|
Vector_3 | dx |
| space increments
|
|
Vector_3 | dx2 |
| space increments divided by 2
|
|
grid_t | grd |
| for interpolation and indexing only
|
|
vector< indtype > | pshifts |
| index arrays for temporary interpolation
|
|
template<class field_t, media_data_t, fix_index_t, int VECSIZE = 1, bool CELLPACK = true>
class emYeeGenRectBlock< field_t, media_data_t, fix_index_t, VECSIZE, CELLPACK >
Mesh block for Yee orhtogonal mesh.
This block class is conforming to emtMeshBlock model