PLaSK library
Loading...
Searching...
No Matches
plask::optical::modal::ExpansionPW2D Struct Reference

#include <solvers/optical/modal/fourier/expansion2d.hpp>

Inheritance diagram for plask::optical::modal::ExpansionPW2D:
[legend]
Collaboration diagram for plask::optical::modal::ExpansionPW2D:
[legend]

Classes

struct  CoeffMatrices
 
struct  Coeffs
 

Public Member Functions

 ExpansionPW2D (FourierSolver2D *solver)
 Create new expansion.
 
bool symmetric () const
 Indicates if the expansion is a symmetric one.
 
bool separated () const
 Indicates whether TE and TM modes can be separated.
 
void init ()
 Init expansion.
 
void reset ()
 Free allocated memory.
 
bool diagonalQE (size_t l) const override
 
size_t matrixSize () const override
 Return size of the expansion matrix (equal to the number of expansion coefficients)
 
void getMatrices (size_t l, cmatrix &RE, cmatrix &RH) override
 Get RE anf RH matrices.
 
void prepareField () override
 Prepare for computatiations of the fields.
 
void cleanupField () override
 Cleanup after computatiations of the fields.
 
LazyData< Vec< 3, dcomplex > > getField (size_t l, const shared_ptr< const typename LevelsAdapter::Level > &level, const cvector &E, const cvector &H) override
 Compute electric or magnetic field on dst_mesh at certain level.
 
LazyData< Tensor3< dcomplex > > getMaterialEps (size_t l, const shared_ptr< const typename LevelsAdapter::Level > &level, InterpolationMethod interp=INTERPOLATION_DEFAULT) override
 Get epsilons index back from expansion.
 
double integrateField (WhichField field, size_t layer, const cmatrix &TE, const cmatrix &TH, const std::function< std::pair< dcomplex, dcomplex >(size_t, size_t)> &vertical) override
 Compute ½ En·conj(Em) or ½ Hn·conj(Hm)
 
double integratePoyntingVert (const cvector &E, const cvector &H) override
 Compute vertical component of the Poynting vector for specified fields.
 
void getDiagonalEigenvectors (cmatrix &Te, cmatrix &Te1, const cmatrix &RE, const cdiagonal &gamma) override
 Get eigenvectors with some physical meaning when the layer is diagonal.
 
dcomplex getBeta () const
 
void setBeta (dcomplex b)
 
dcomplex getKtran () const
 
void setKtran (dcomplex k)
 
Component getSymmetry () const
 
void setSymmetry (Component sym)
 
Component getPolarization () const
 
void setPolarization (Component pol)
 
const DataVector< dcomplex > & epszz (size_t l)
 Get $ \varepsilon_{zz} $.
 
const DataVector< dcomplex > & epsyy (size_t l)
 Get $ \varepsilon_{yy} $.
 
const DataVector< dcomplex > & repsxx (size_t l)
 Get $ \varepsilon_{xx}^{-1} $.
 
const DataVector< dcomplex > & epszx (size_t l)
 Get $ \varepsilon_{zx} $.
 
const DataVector< dcomplex > & muzz ()
 Get $ \mu_{zz} $.
 
const DataVector< dcomplex > & muxx ()
 Get $ \mu_{xx} $.
 
const DataVector< dcomplex > & muyy ()
 Get $ \mu_{yy} $.
 
const DataVector< dcomplex > & rmuzz ()
 Get $ \mu_{zz}^{-1} $.
 
const DataVector< dcomplex > & rmuxx ()
 Get $ \mu_{xx}^{-1} $.
 
const DataVector< dcomplex > & rmuyy ()
 Get $ \mu_{yy}^{-1} $.
 
dcomplex epszz (size_t l, int i)
 Get element of $ \varepsilon_{zz} $.
 
dcomplex epsyy (size_t l, int i)
 Get element of $ \varepsilon_{yy} $.
 
dcomplex repsxx (size_t l, int i)
 Get element of $ \varepsilon_{xx}^{-1} $.
 
dcomplex epszx (size_t l, int i)
 Get element of $ \varepsilon_{zx} $.
 
dcomplex epsxz (size_t l, int i)
 Get element of $ \varepsilon_{zx} $.
 
dcomplex muzz (int i)
 Get element of $ \mu_{zz} $.
 
dcomplex muxx (int i)
 Get element of $ \mu_{xx} $.
 
dcomplex muyy (int i)
 Get element of $ \mu_{yy} $.
 
dcomplex rmuzz (int i)
 Get element of $ \mu_{zz}^{-1} $.
 
dcomplex rmuxx (int i)
 Get element of $ \mu_{xx}^{-1} $.
 
size_t iEx (int i)
 Get $ E_x $ index.
 
size_t iEz (int i)
 Get $ E_z $ index.
 
size_t iHx (int i)
 Get $ H_x $ index.
 
size_t iHz (int i)
 Get $ H_z $ index.
 
size_t iEH (int i)
 Get $ E $ or $ H $ index for separated equations.
 
- Public Member Functions inherited from plask::optical::modal::Expansion
 Expansion (ModalBase *solver)
 
virtual ~Expansion ()
 
TempMatrix getTempMatrix ()
 
virtual void beforeGetEpsilon ()
 Prepare retrieval of refractive index.
 
virtual void afterGetEpsilon ()
 Finish retrieval of refractive index.
 
double getLam0 () const
 Get lam0.
 
void setLam0 (double lam)
 Set lam0.
 
void clearLam0 ()
 Clear lam0.
 
dcomplex getK0 () const
 Get current k0.
 
void setK0 (dcomplex k)
 Set current k0.
 
void computeIntegrals ()
 Compute all expansion coefficients.
 
virtual bool diagonalQE (size_t PLASK_UNUSED(l)) const
 Tell if matrix for i-th layer is diagonal.
 
void initField (WhichField which, InterpolationMethod method)
 Prepare for computations of the fields.
 
double getModeFlux (size_t n, const cmatrix &TE, const cmatrix &TH)
 Compute vertical component of the Poynting vector for fields specified as matrix column.
 

Public Attributes

dcomplex beta
 Longitudinal wavevector (1/µm)
 
dcomplex ktran
 Transverse wavevector (1/µm)
 
size_t N
 Number of expansion coefficients.
 
size_t nN
 Number of of required coefficients for material parameters.
 
double left
 Left side of the sampled area.
 
double right
 Right side of the sampled area.
 
bool periodic
 Indicates if the geometry is periodic (otherwise use PMLs)
 
bool initialized
 Expansion is initialized.
 
Component symmetry
 Indicates symmetry if symmetric
 
Component polarization
 Indicates polarization if separated
 
size_t pil
 Index of the beginning of the left PML.
 
size_t pir
 Index of the beginning of the right PML.
 
std::vector< Coeffscoeffs
 Cached permittivity expansion coefficients.
 
std::vector< CoeffMatricescoeff_matrices
 Cached permittivity expansion coefficient matrixess.
 
cmatrix coeff_matrix_mxx
 Cached permeability expansion coefficient matrices.
 
cmatrix coeff_matrix_rmyy
 
std::vector< booldiagonals
 Information if the layer is diagonal.
 
shared_ptr< RectangularMesh< 2 > > mesh
 Mesh for getting material data.
 
shared_ptr< MeshAxisoriginal_mesh
 Boundaries mesh.
 
- Public Attributes inherited from plask::optical::modal::Expansion
WhichField which_field
 
InterpolationMethod field_interpolation
 
ModalBasesolver
 Solver which performs calculations (and is the interface to the outside world)
 
dcomplex k0
 Frequency for which the actual computations are performed.
 
double lam0
 Material parameters wavelength.
 
LazyData< doubletemperature
 Obtained temperature.
 
bool gain_connected
 Flag indicating if the gain is connected.
 
bool epsilon_connected
 Flag indicating if inEpsilon is connected.
 
LazyData< Tensor2< double > > gain
 Obtained gain.
 
LazyData< Tensor3< dcomplex > > epsilons
 Obtained epsilons.
 
LazyData< doublecarriers
 Carriers concentration.
 

Protected Member Functions

void beforeLayersIntegrals (dcomplex lam, dcomplex glam) override
 
void layerIntegrals (size_t layer, double lam, double glam) override
 Compute integrals for RE and RH matrices.
 
Tensor3< dcomplex > getEpsilon (const shared_ptr< GeometryD< 2 > > &geometry, size_t layer, double maty, double lam, double glam, size_t j)
 
- Protected Member Functions inherited from plask::optical::modal::Expansion
virtual void beforeLayersIntegrals (dcomplex PLASK_UNUSED(lam), dcomplex PLASK_UNUSED(glam))
 Method called before layer integrals are computed.
 
virtual void afterLayersIntegrals ()
 Method called after layer integrals are computed.
 

Protected Attributes

DataVector< dcomplex > mag
 Magnetic permeability coefficients (used with for PMLs)
 
DataVector< dcomplex > rmag
 Inverted magnetic permeability coefficients (used with for PMLs)
 
FFT::Forward1D matFFT
 FFT object for material coefficients.
 
- Protected Attributes inherited from plask::optical::modal::Expansion
TempMatrixPool temporary
 

Additional Inherited Members

- Public Types inherited from plask::optical::modal::Expansion
enum  Component { E_UNSPECIFIED = 0 , E_TRAN = 1 , E_LONG = 2 }
 Specified component in polarization or symmetry. More...
 

Detailed Description

Definition at line 27 of file expansion2d.hpp.

Constructor & Destructor Documentation

◆ ExpansionPW2D()

plask::optical::modal::ExpansionPW2D::ExpansionPW2D ( FourierSolver2D solver)

Create new expansion.

Parameters
solversolver which performs calculations

Definition at line 27 of file expansion2d.cpp.

Member Function Documentation

◆ beforeLayersIntegrals()

void plask::optical::modal::ExpansionPW2D::beforeLayersIntegrals ( dcomplex  lam,
dcomplex  glam 
)
overrideprotected

Definition at line 233 of file expansion2d.cpp.

◆ cleanupField()

void plask::optical::modal::ExpansionPW2D::cleanupField ( )
overridevirtual

Cleanup after computatiations of the fields.

Reimplemented from plask::optical::modal::Expansion.

Definition at line 1047 of file expansion2d.cpp.

◆ diagonalQE()

bool plask::optical::modal::ExpansionPW2D::diagonalQE ( size_t  l) const
inlineoverride

Definition at line 89 of file expansion2d.hpp.

◆ epsxz()

dcomplex plask::optical::modal::ExpansionPW2D::epsxz ( size_t  l,
int  i 
)
inline

Get element of $ \varepsilon_{zx} $.

Definition at line 274 of file expansion2d.hpp.

◆ epsyy() [1/2]

const DataVector< dcomplex > & plask::optical::modal::ExpansionPW2D::epsyy ( size_t  l)
inline

Get $ \varepsilon_{yy} $.

Definition at line 258 of file expansion2d.hpp.

◆ epsyy() [2/2]

dcomplex plask::optical::modal::ExpansionPW2D::epsyy ( size_t  l,
int  i 
)
inline

Get element of $ \varepsilon_{yy} $.

Definition at line 269 of file expansion2d.hpp.

◆ epszx() [1/2]

const DataVector< dcomplex > & plask::optical::modal::ExpansionPW2D::epszx ( size_t  l)
inline

Get $ \varepsilon_{zx} $.

Definition at line 260 of file expansion2d.hpp.

◆ epszx() [2/2]

dcomplex plask::optical::modal::ExpansionPW2D::epszx ( size_t  l,
int  i 
)
inline

Get element of $ \varepsilon_{zx} $.

Definition at line 273 of file expansion2d.hpp.

◆ epszz() [1/2]

const DataVector< dcomplex > & plask::optical::modal::ExpansionPW2D::epszz ( size_t  l)
inline

Get $ \varepsilon_{zz} $.

Definition at line 257 of file expansion2d.hpp.

◆ epszz() [2/2]

dcomplex plask::optical::modal::ExpansionPW2D::epszz ( size_t  l,
int  i 
)
inline

Get element of $ \varepsilon_{zz} $.

Definition at line 268 of file expansion2d.hpp.

◆ getBeta()

dcomplex plask::optical::modal::ExpansionPW2D::getBeta ( ) const
inline

Definition at line 229 of file expansion2d.hpp.

◆ getDiagonalEigenvectors()

void plask::optical::modal::ExpansionPW2D::getDiagonalEigenvectors ( cmatrix Te,
cmatrix Te1,
const cmatrix RE,
const cdiagonal gamma 
)
overridevirtual

Get eigenvectors with some physical meaning when the layer is diagonal.

Parameters
[out]TeResulting Te matrix
[out]Te1Resulting Te^1 matrix
RERE matrix for the layer
gamma2gamma matrix for the layer

Reimplemented from plask::optical::modal::Expansion.

Definition at line 1280 of file expansion2d.cpp.

◆ getEpsilon()

Tensor3< dcomplex > plask::optical::modal::ExpansionPW2D::getEpsilon ( const shared_ptr< GeometryD< 2 > > &  geometry,
size_t  layer,
double  maty,
double  lam,
double  glam,
size_t  j 
)
inlineprotected

Definition at line 143 of file expansion2d.hpp.

◆ getField()

LazyData< Vec< 3, dcomplex > > plask::optical::modal::ExpansionPW2D::getField ( size_t  l,
const shared_ptr< const typename LevelsAdapter::Level > &  level,
const cvector E,
const cvector H 
)
overridevirtual

Compute electric or magnetic field on dst_mesh at certain level.

Parameters
llayer number
leveldestination level
E,Helectric and magnetic field coefficientscients
Returns
field distribution at dst_mesh
field distribution at dst_mesh

Implements plask::optical::modal::Expansion.

Definition at line 1056 of file expansion2d.cpp.

◆ getKtran()

dcomplex plask::optical::modal::ExpansionPW2D::getKtran ( ) const
inline

Definition at line 237 of file expansion2d.hpp.

◆ getMaterialEps()

LazyData< Tensor3< dcomplex > > plask::optical::modal::ExpansionPW2D::getMaterialEps ( size_t  lay,
const shared_ptr< const typename LevelsAdapter::Level > &  level,
InterpolationMethod  interp = INTERPOLATION_DEFAULT 
)
overridevirtual

Get epsilons index back from expansion.

Parameters
laylayer number
meshmesh to get parameters to
interpinterpolation method
Returns
computed refractive indices

Implements plask::optical::modal::Expansion.

Definition at line 642 of file expansion2d.cpp.

◆ getMatrices()

void plask::optical::modal::ExpansionPW2D::getMatrices ( size_t  layer,
cmatrix RE,
cmatrix RH 
)
overridevirtual

Get RE anf RH matrices.

Parameters
layerlayer number
[out]RE,RHresulting matrix

Implements plask::optical::modal::Expansion.

Definition at line 820 of file expansion2d.cpp.

◆ getPolarization()

Component plask::optical::modal::ExpansionPW2D::getPolarization ( ) const
inline

Definition at line 254 of file expansion2d.hpp.

◆ getSymmetry()

Component plask::optical::modal::ExpansionPW2D::getSymmetry ( ) const
inline

Definition at line 245 of file expansion2d.hpp.

◆ iEH()

size_t plask::optical::modal::ExpansionPW2D::iEH ( int  i)
inline

Get $ E $ or $ H $ index for separated equations.

Definition at line 287 of file expansion2d.hpp.

◆ iEx()

size_t plask::optical::modal::ExpansionPW2D::iEx ( int  i)
inline

Get $ E_x $ index.

Definition at line 283 of file expansion2d.hpp.

◆ iEz()

size_t plask::optical::modal::ExpansionPW2D::iEz ( int  i)
inline

Get $ E_z $ index.

Definition at line 284 of file expansion2d.hpp.

◆ iHx()

size_t plask::optical::modal::ExpansionPW2D::iHx ( int  i)
inline

Get $ H_x $ index.

Definition at line 285 of file expansion2d.hpp.

◆ iHz()

size_t plask::optical::modal::ExpansionPW2D::iHz ( int  i)
inline

Get $ H_z $ index.

Definition at line 286 of file expansion2d.hpp.

◆ init()

void plask::optical::modal::ExpansionPW2D::init ( )

Init expansion.

Parameters
compute_coeffscompute material coefficients

Definition at line 50 of file expansion2d.cpp.

◆ integrateField()

double plask::optical::modal::ExpansionPW2D::integrateField ( WhichField  field,
size_t  layer,
const cmatrix TE,
const cmatrix TH,
const std::function< std::pair< dcomplex, dcomplex >(size_t, size_t)> &  vertical 
)
overridevirtual

Compute ½ En·conj(Em) or ½ Hn·conj(Hm)

Parameters
fieldfield to integrate
layerlayer number
TEelectric field coefficients matrix
THmagnetic field coefficients matrix
[out]result½ E·conj(E) or ½ H·conj(H) matrix

Implements plask::optical::modal::Expansion.

Definition at line 1314 of file expansion2d.cpp.

◆ integratePoyntingVert()

double plask::optical::modal::ExpansionPW2D::integratePoyntingVert ( const cvector E,
const cvector H 
)
overridevirtual

Compute vertical component of the Poynting vector for specified fields.

Parameters
Eelectric field coefficients vector
Hmagnetic field coefficients vector
Returns
integrated Poynting vector i.e. the total vertically emitted energy

Implements plask::optical::modal::Expansion.

Definition at line 1243 of file expansion2d.cpp.

◆ layerIntegrals()

void plask::optical::modal::ExpansionPW2D::layerIntegrals ( size_t  layer,
double  lam,
double  glam 
)
overrideprotectedvirtual

Compute integrals for RE and RH matrices.

Parameters
layerlayer number
lamwavelength
glamwavelength for gain

Implements plask::optical::modal::Expansion.

Definition at line 238 of file expansion2d.cpp.

◆ matrixSize()

size_t plask::optical::modal::ExpansionPW2D::matrixSize ( ) const
inlineoverridevirtual

Return size of the expansion matrix (equal to the number of expansion coefficients)

Returns
size of the expansion matrix

Implements plask::optical::modal::Expansion.

Definition at line 91 of file expansion2d.hpp.

◆ muxx() [1/2]

const DataVector< dcomplex > & plask::optical::modal::ExpansionPW2D::muxx ( )
inline

Get $ \mu_{xx} $.

Definition at line 262 of file expansion2d.hpp.

◆ muxx() [2/2]

dcomplex plask::optical::modal::ExpansionPW2D::muxx ( int  i)
inline

Get element of $ \mu_{xx} $.

Definition at line 278 of file expansion2d.hpp.

◆ muyy() [1/2]

const DataVector< dcomplex > & plask::optical::modal::ExpansionPW2D::muyy ( )
inline

Get $ \mu_{yy} $.

Definition at line 263 of file expansion2d.hpp.

◆ muyy() [2/2]

dcomplex plask::optical::modal::ExpansionPW2D::muyy ( int  i)
inline

Get element of $ \mu_{yy} $.

Definition at line 279 of file expansion2d.hpp.

◆ muzz() [1/2]

const DataVector< dcomplex > & plask::optical::modal::ExpansionPW2D::muzz ( )
inline

Get $ \mu_{zz} $.

Definition at line 261 of file expansion2d.hpp.

◆ muzz() [2/2]

dcomplex plask::optical::modal::ExpansionPW2D::muzz ( int  i)
inline

Get element of $ \mu_{zz} $.

Definition at line 277 of file expansion2d.hpp.

◆ prepareField()

void plask::optical::modal::ExpansionPW2D::prepareField ( )
overridevirtual

Prepare for computatiations of the fields.

Reimplemented from plask::optical::modal::Expansion.

Definition at line 1029 of file expansion2d.cpp.

◆ repsxx() [1/2]

const DataVector< dcomplex > & plask::optical::modal::ExpansionPW2D::repsxx ( size_t  l)
inline

Get $ \varepsilon_{xx}^{-1} $.

Definition at line 259 of file expansion2d.hpp.

◆ repsxx() [2/2]

dcomplex plask::optical::modal::ExpansionPW2D::repsxx ( size_t  l,
int  i 
)
inline

Get element of $ \varepsilon_{xx}^{-1} $.

Definition at line 270 of file expansion2d.hpp.

◆ reset()

void plask::optical::modal::ExpansionPW2D::reset ( )

Free allocated memory.

Definition at line 220 of file expansion2d.cpp.

◆ rmuxx() [1/2]

const DataVector< dcomplex > & plask::optical::modal::ExpansionPW2D::rmuxx ( )
inline

Get $ \mu_{xx}^{-1} $.

Definition at line 265 of file expansion2d.hpp.

◆ rmuxx() [2/2]

dcomplex plask::optical::modal::ExpansionPW2D::rmuxx ( int  i)
inline

Get element of $ \mu_{xx}^{-1} $.

Definition at line 281 of file expansion2d.hpp.

◆ rmuyy()

const DataVector< dcomplex > & plask::optical::modal::ExpansionPW2D::rmuyy ( )
inline

Get $ \mu_{yy}^{-1} $.

Definition at line 266 of file expansion2d.hpp.

◆ rmuzz() [1/2]

const DataVector< dcomplex > & plask::optical::modal::ExpansionPW2D::rmuzz ( )
inline

Get $ \mu_{zz}^{-1} $.

Definition at line 264 of file expansion2d.hpp.

◆ rmuzz() [2/2]

dcomplex plask::optical::modal::ExpansionPW2D::rmuzz ( int  i)
inline

Get element of $ \mu_{zz}^{-1} $.

Definition at line 280 of file expansion2d.hpp.

◆ separated()

bool plask::optical::modal::ExpansionPW2D::separated ( ) const
inline

Indicates whether TE and TM modes can be separated.

Definition at line 78 of file expansion2d.hpp.

◆ setBeta()

void plask::optical::modal::ExpansionPW2D::setBeta ( dcomplex  b)
inline

Definition at line 230 of file expansion2d.hpp.

◆ setKtran()

void plask::optical::modal::ExpansionPW2D::setKtran ( dcomplex  k)
inline

Definition at line 238 of file expansion2d.hpp.

◆ setPolarization()

void plask::optical::modal::ExpansionPW2D::setPolarization ( Component  pol)

Definition at line 30 of file expansion2d.cpp.

◆ setSymmetry()

void plask::optical::modal::ExpansionPW2D::setSymmetry ( Component  sym)
inline

Definition at line 246 of file expansion2d.hpp.

◆ symmetric()

bool plask::optical::modal::ExpansionPW2D::symmetric ( ) const
inline

Indicates if the expansion is a symmetric one.

Definition at line 75 of file expansion2d.hpp.

Member Data Documentation

◆ beta

dcomplex plask::optical::modal::ExpansionPW2D::beta

Longitudinal wavevector (1/µm)

Definition at line 28 of file expansion2d.hpp.

◆ coeff_matrices

std::vector<CoeffMatrices> plask::optical::modal::ExpansionPW2D::coeff_matrices

Cached permittivity expansion coefficient matrixess.

Definition at line 54 of file expansion2d.hpp.

◆ coeff_matrix_mxx

cmatrix plask::optical::modal::ExpansionPW2D::coeff_matrix_mxx

Cached permeability expansion coefficient matrices.

Definition at line 57 of file expansion2d.hpp.

◆ coeff_matrix_rmyy

cmatrix plask::optical::modal::ExpansionPW2D::coeff_matrix_rmyy

Definition at line 57 of file expansion2d.hpp.

◆ coeffs

std::vector<Coeffs> plask::optical::modal::ExpansionPW2D::coeffs

Cached permittivity expansion coefficients.

Definition at line 48 of file expansion2d.hpp.

◆ diagonals

std::vector<bool> plask::optical::modal::ExpansionPW2D::diagonals

Information if the layer is diagonal.

Definition at line 60 of file expansion2d.hpp.

◆ initialized

bool plask::optical::modal::ExpansionPW2D::initialized

Expansion is initialized.

Definition at line 36 of file expansion2d.hpp.

◆ ktran

dcomplex plask::optical::modal::ExpansionPW2D::ktran

Transverse wavevector (1/µm)

Definition at line 29 of file expansion2d.hpp.

◆ left

double plask::optical::modal::ExpansionPW2D::left

Left side of the sampled area.

Definition at line 33 of file expansion2d.hpp.

◆ mag

DataVector<dcomplex> plask::optical::modal::ExpansionPW2D::mag
protected

Magnetic permeability coefficients (used with for PMLs)

Definition at line 134 of file expansion2d.hpp.

◆ matFFT

FFT::Forward1D plask::optical::modal::ExpansionPW2D::matFFT
protected

FFT object for material coefficients.

Definition at line 137 of file expansion2d.hpp.

◆ mesh

shared_ptr<RectangularMesh<2> > plask::optical::modal::ExpansionPW2D::mesh

Mesh for getting material data.

Definition at line 63 of file expansion2d.hpp.

◆ N

size_t plask::optical::modal::ExpansionPW2D::N

Number of expansion coefficients.

Definition at line 31 of file expansion2d.hpp.

◆ nN

size_t plask::optical::modal::ExpansionPW2D::nN

Number of of required coefficients for material parameters.

Definition at line 32 of file expansion2d.hpp.

◆ original_mesh

shared_ptr<MeshAxis> plask::optical::modal::ExpansionPW2D::original_mesh

Boundaries mesh.

Definition at line 66 of file expansion2d.hpp.

◆ periodic

bool plask::optical::modal::ExpansionPW2D::periodic

Indicates if the geometry is periodic (otherwise use PMLs)

Definition at line 35 of file expansion2d.hpp.

◆ pil

size_t plask::optical::modal::ExpansionPW2D::pil

Index of the beginning of the left PML.

Definition at line 41 of file expansion2d.hpp.

◆ pir

size_t plask::optical::modal::ExpansionPW2D::pir

Index of the beginning of the right PML.

Definition at line 42 of file expansion2d.hpp.

◆ polarization

Component plask::optical::modal::ExpansionPW2D::polarization

Indicates polarization if separated

Definition at line 39 of file expansion2d.hpp.

◆ right

double plask::optical::modal::ExpansionPW2D::right

Right side of the sampled area.

Definition at line 34 of file expansion2d.hpp.

◆ rmag

DataVector<dcomplex> plask::optical::modal::ExpansionPW2D::rmag
protected

Inverted magnetic permeability coefficients (used with for PMLs)

Definition at line 135 of file expansion2d.hpp.

◆ symmetry

Component plask::optical::modal::ExpansionPW2D::symmetry

Indicates symmetry if symmetric

Definition at line 38 of file expansion2d.hpp.


The documentation for this struct was generated from the following files: