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

Correction for non-diagonal inverse permitivity tensor (used in subcell smoothing). More...

#include <vector>
#include <utility>
#include <memory>
#include "seqpack.h"
#include "emdefs.h"
#include "fix.h"
#include "dispersion.h"
#include "offdiag_ui.h"
#include "emcomponent.h"
#include "emtypes.h"
Include dependency graph for offdiag.h:
This graph shows which files directly or indirectly include this file:

Classes

class  emFixOffDiag< container_tt >
 Fix for anisotropic media. More...
 

Macros

#define INSTANTIATE_OFFDIAG(container_t, meshblock_t)
 This macro provides all instantiations to assemble offdiagonal fixes with given container and meshblock types.
 

Functions

void make_tensor_projection (const Vector_3 &outfield_dir, const Vector_3 &surface_normal, valtype *n1j, Vector_3 *field_dir)
 Calculate 3 tensor projections n1j[3] and field_dir[3] array for given field direction outfield_dir and surface_normal to be used in record() functions of tensor smoothing classes.
 

Detailed Description

Correction for non-diagonal inverse permitivity tensor (used in subcell smoothing).

Function Documentation

◆ make_tensor_projection()

void make_tensor_projection ( const Vector_3 &  outfield_dir,
const Vector_3 &  surface_normal,
valtype *  n1j,
Vector_3 *  field_dir 
)
inline

Calculate 3 tensor projections n1j[3] and field_dir[3] array for given field direction outfield_dir and surface_normal to be used in record() functions of tensor smoothing classes.

Field direction must be aligned with one of the coordinate axes. TODO: use directions from mesh