Electromagnetic Template Library (EMTL)
|
Declaration of template emBlockContainer, which is a key block for FDTD simulation on a given mesh (meshes). More...
#include <set>
#include <vector>
#include <algorithm>
#include <string>
#include "emdefs.h"
#include "emcomponent.h"
#include "mesh_ui.h"
#include "yee.h"
#include "method.h"
#include "fix.h"
#include "medium.h"
#include "mediumregion.h"
#include "radiation.h"
#include "dump.h"
#include "halo.h"
#include "emfix_stack.h"
#include "pairhash.h"
#include "region_3.h"
#include "refobj.h"
#include "transfer.h"
#include "interp_transfer.h"
#include "mapped_list.h"
Classes | |
struct | RankRegion |
MPI rank region descriptor. More... | |
struct | GetGlobal< container_t, blocktype_id > |
Gets GlobalType::type out of provided type. More... | |
struct | GetLocal |
Gets Local data type, which will actually hold data for each cell. More... | |
struct | ToContour |
Transforms mesh block into its contour type. More... | |
struct | ToContourIt |
Transforms mesh block into its contour iterator type. More... | |
struct | ToContourStack |
Transforms mesh block into its contour_stack type. More... | |
struct | ToStepStack |
Transforms mesh block into its step_stack type. More... | |
struct | ToFixStack |
Transforms mesh block into its fix_stack type. More... | |
struct | ToLocalFixStack |
Transforms mesh block into its fix_stack type. More... | |
struct | ToBdescr< container_t > |
Transforms mesh block into its block descriptor type. More... | |
class | emBlockContainer< reg_t, contour_table_tt, fix_stack_tt, interp_def_tt, BlocksList > |
Template class alowing to fill space region with mesh blocks of up to 2 different types Work with the object of this class assumes 3 stages: More... | |
class | emBoxHaloSet |
A set of mesh blocks with respective halos. More... | |
Macros | |
#define | INSTANTIATE_MESH(contour_table_t, fix_stack_t, interp_def, meshblock_list_t, interp_packer_t) |
This macro provides all instantiations to assemble working Block and Box Containers with defined parameters. | |
Functions | |
int | SplitDomains (const Box &cont_reg, iVector_3 ®_bc, std::vector< block_geometry_t > &meshblocks, const std::vector< RankRegion * > &domains) |
Splits mesh blocks according to domains. | |
Declaration of template emBlockContainer, which is a key block for FDTD simulation on a given mesh (meshes).
Some auxiliary classes used in this template (descriptors) are also declared here.
int SplitDomains | ( | const Box & | cont_reg, |
iVector_3 & | reg_bc, | ||
std::vector< block_geometry_t > & | meshblocks, | ||
const std::vector< RankRegion * > & | domains | ||
) |
Splits mesh blocks according to domains.
reg_bc[dir] will change from BC_PER to BC_HALO if halo is applied in the given direction.