PLaSK library

Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
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 .
const DataVector< dcomplex > & | epsyy (size_t l)
| Get .
const DataVector< dcomplex > & | repsxx (size_t l)
| Get .
const DataVector< dcomplex > & | epszx (size_t l)
| Get .
const DataVector< dcomplex > & | muzz ()
| Get .
const DataVector< dcomplex > & | muxx ()
| Get .
const DataVector< dcomplex > & | muyy ()
| Get .
const DataVector< dcomplex > & | rmuzz ()
| Get .
const DataVector< dcomplex > & | rmuxx ()
| Get .
const DataVector< dcomplex > & | rmuyy ()
| Get .
dcomplex | epszz (size_t l, int i)
| Get element of .
dcomplex | epsyy (size_t l, int i)
| Get element of .
dcomplex | repsxx (size_t l, int i)
| Get element of .
dcomplex | epszx (size_t l, int i)
| Get element of .
dcomplex | epsxz (size_t l, int i)
| Get element of .
dcomplex | muzz (int i)
| Get element of .
dcomplex | muxx (int i)
| Get element of .
dcomplex | muyy (int i)
| Get element of .
dcomplex | rmuzz (int i)
| Get element of .
dcomplex | rmuxx (int i)
| Get element of .
size_t | iEx (int i)
| Get index.
size_t | iEz (int i)
| Get index.
size_t | iHx (int i)
| Get index.
size_t | iHz (int i)
| Get index.
size_t | iEH (int i)
| Get or 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< Coeffs > | coeffs
| Cached permittivity expansion coefficients.
std::vector< CoeffMatrices > | coeff_matrices
| Cached permittivity expansion coefficient matrixess.
cmatrix | coeff_matrix_mxx
| Cached permeability expansion coefficient matrices.
cmatrix | coeff_matrix_rmyy
std::vector< bool > | diagonals
| Information if the layer is diagonal.
shared_ptr< RectangularMesh< 2 > > | mesh
| Mesh for getting material data.
shared_ptr< MeshAxis > | original_mesh
| Boundaries mesh.
Public Attributes inherited from plask::optical::modal::Expansion
WhichField | which_field
InterpolationMethod | field_interpolation
ModalBase * | solver
| 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< double > | temperature
| 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< double > | carriers
| 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

  solver | solver 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
| ) |  |
| override protected

Definition at line 233 of file expansion2d.cpp.

## ◆ cleanupField()

void plask::optical::modal::ExpansionPW2D::cleanupField | ( |  | ) |
| override virtual

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
| inline override

Definition at line 89 of file expansion2d.hpp.

## ◆ epsxz()

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

Get element of .

Definition at line 274 of file expansion2d.hpp.

## ◆ epsyy() [1/2]

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

Get .

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 .

Definition at line 269 of file expansion2d.hpp.

## ◆ epszx() [1/2]

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

Get .

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 .

Definition at line 273 of file expansion2d.hpp.

## ◆ epszz() [1/2]

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

Get .

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 .

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
| ) |  |
| override virtual

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

Parameters

  [out] | Te | Resulting Te matrix
  [out] | Te1 | Resulting Te^1 matrix
  | RE | RE matrix for the layer
  | gamma2 | gamma 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
| ) |  |
| inline protected

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
| ) |  |
| override virtual

Compute electric or magnetic field on `dst_mesh` at certain level.

Parameters

  l | layer number
  level | destination level
  E,H | electric 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`
| ) |  |
| override virtual

Get epsilons index back from expansion.

Parameters

  lay | layer number
  mesh | mesh to get parameters to
  interp | interpolation 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
| ) |  |
| override virtual

Get RE anf RH matrices.

Parameters

  | layer | layer number
  [out] | RE,RH | resulting 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 or index for separated equations.

Definition at line 287 of file expansion2d.hpp.

## ◆ iEx()

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

Get index.

Definition at line 283 of file expansion2d.hpp.

## ◆ iEz()

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

Get index.

Definition at line 284 of file expansion2d.hpp.

## ◆ iHx()

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

Get index.

Definition at line 285 of file expansion2d.hpp.

## ◆ iHz()

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

Get index.

Definition at line 286 of file expansion2d.hpp.

## ◆ init()

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

Init expansion.

Parameters

  compute_coeffs | compute 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
| ) |  |
| override virtual

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

Parameters

  | field | field to integrate
  | layer | layer number
  | TE | electric field coefficients matrix
  | TH | magnetic 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
| ) |  |
| override virtual

Compute vertical component of the Poynting vector for specified fields.

Parameters

  E | electric field coefficients vector
  H | magnetic 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
| ) |  |
| override protected virtual

Compute integrals for RE and RH matrices.

Parameters

  layer | layer number
  lam | wavelength
  glam | wavelength for gain

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

Definition at line 238 of file expansion2d.cpp.

## ◆ matrixSize()

size_t plask::optical::modal::ExpansionPW2D::matrixSize | ( |  | ) | const
| inline override virtual

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 .

Definition at line 262 of file expansion2d.hpp.

## ◆ muxx() [2/2]

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

Get element of .

Definition at line 278 of file expansion2d.hpp.

## ◆ muyy() [1/2]

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

Get .

Definition at line 263 of file expansion2d.hpp.

## ◆ muyy() [2/2]

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

Get element of .

Definition at line 279 of file expansion2d.hpp.

## ◆ muzz() [1/2]

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

Get .

Definition at line 261 of file expansion2d.hpp.

## ◆ muzz() [2/2]

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

Get element of .

Definition at line 277 of file expansion2d.hpp.

## ◆ prepareField()

void plask::optical::modal::ExpansionPW2D::prepareField | ( |  | ) |
| override virtual

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 .

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 .

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 .

Definition at line 265 of file expansion2d.hpp.

## ◆ rmuxx() [2/2]

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

Get element of .

Definition at line 281 of file expansion2d.hpp.

## ◆ rmuyy()

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

Get .

Definition at line 266 of file expansion2d.hpp.

## ◆ rmuzz() [1/2]

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

Get .

Definition at line 264 of file expansion2d.hpp.

## ◆ rmuzz() [2/2]

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

Get element of .

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:

- solvers/optical/modal/fourier/expansion2d.hpp
- solvers/optical/modal/fourier/expansion2d.cpp