Electromagnetic Template Library (EMTL)
|
Fix class for UPML. More...
#include <pml.h>
Classes | |
struct | UPML_t |
Structure used to find if data for medium was already recorded. More... | |
Public Member Functions | |
template<class block_t > | |
int | record (block_t *block, const typename block_t::contour_it &cnti, const Vector_3 sigma, const Vector_3 kappa, valtype eps, valtype mue, emtype &Ca, emtype &Cb) |
Record data where UPML fix should be applied: contour iterator cnti (from the mesh block). | |
Protected Attributes | |
emtype * | ptr |
pointer at the array for the field E | |
valtype | dt |
time step | |
refvector< pack_t< indtype, indtype >::data > | inds |
elements of array for E which are inside UPML | |
vector_indexed< UPML_t > | us |
auxiliary vector used at the record stage (for medium data) | |
std::vector< valtype > | Cas |
auxiliary vectors used at the record stage (for coefficients in basic update procedure) | |
Fix class for UPML.
Work with this class assumes 3 stages:
Pointer at the object emFixUPML and mesh E is hold by bdescr (objects of bdescr are collected by emBlockContainer). This object is initialized and recorded at the stage of contours analysis performed by emBlockContainer.
int emFixUPML::record | ( | block_t * | block, |
const typename block_t::contour_it & | cnti, | ||
const Vector_3 | sigma, | ||
const Vector_3 | kappa, | ||
valtype | eps, | ||
valtype | mue, | ||
emtype & | Ca, | ||
emtype & | Cb | ||
) |
Record data where UPML fix should be applied: contour iterator cnti (from the mesh block).
sigma and kappa are PML parameters, eps are mue parameters of the adjacent medium