Electromagnetic Template Library (EMTL)
Loading...
Searching...
No Matches
mesh.h File Reference

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"
Include dependency graph for mesh.h:
This graph shows which files directly or indirectly include this file:

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 &reg_bc, std::vector< block_geometry_t > &meshblocks, const std::vector< RankRegion * > &domains)
 Splits mesh blocks according to domains.
 

Detailed Description

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.

Function Documentation

◆ SplitDomains()

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.