Electromagnetic Template Library (EMTL)
Loading...
Searching...
No Matches
emFixUPML Class Reference

Fix class for UPML. More...

#include <pml.h>

Inheritance diagram for emFixUPML:
Collaboration diagram for emFixUPML:

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_tus
 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)
 

Detailed Description

Fix class for UPML.

Work with this class assumes 3 stages:

  1. Creation, setting pointer at the mesh for field E and time step dt.
  2. Record of contours inside UPML, function record. Function record calls function put_media_coeffs (put_medium) of the mesh with parameters Ca and Cb, used in basuc update procedure E=Ca*E+Cb*rotH.
  3. UPML update, functions step_bere and step after.

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.

Member Function Documentation

◆ record()

template<class block_t >
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


The documentation for this class was generated from the following file: