PLaSK library
Loading...
Searching...
No Matches
plask::optical::modal::ModalSolver< BaseT > Class Template Referenceabstract

Base class for all modal solvers. More...

#include <solvers/optical/modal/solver.hpp>

Inheritance diagram for plask::optical::modal::ModalSolver< BaseT >:
[legend]
Collaboration diagram for plask::optical::modal::ModalSolver< BaseT >:
[legend]

Public Member Functions

 ModalSolver (const std::string &name="")
 
 ~ModalSolver ()
 
double getSmooth () const
 Get current smooth.
 
void setSmooth (double value)
 Set current smooth.
 
Transfer::Method getTransferMethod () const
 Get currently selected transfer method.
 
void setTransferMethod (Transfer::Method method)
 Set new transfer method.
 
bool getGroupLayers () const
 Getter for group_layers.
 
void setGroupLayers (bool value)
 Setter for group_layers.
 
double getMaxTempDiff () const
 Getter for max_temp_diff.
 
void setMaxTempDiff (double value)
 Setter for max_temp_diff.
 
double getTempDist () const
 Getter for temp_dist.
 
void setTempDist (double value)
 Setter for temp_dist.
 
double getTempLayer () const
 Getter for temp_dist.
 
void setTempLayer (double value)
 Setter for temp_dist.
 
std::string getId () const override
 Get solver id.
 
bool initCalculation () override
 Init calculations.
 
size_t getInterface ()
 Get the position of the matching interface.
 
void setInterfaceAt (double pos)
 Set the position of the matching interface.
 
void setInterfaceOn (const shared_ptr< const GeometryObject > &object, const PathHints *path=nullptr)
 Set the position of the matching interface at the bottom of the provided geometry object.
 
void setInterfaceOn (const shared_ptr< const GeometryObject > &object, const PathHints &path)
 Set the position of the matching interface at the bottom of the provided geometry object.
 
dcomplex getDeterminant ()
 Get discontinuity matrix determinant for the current parameters.
 
void prepareExpansionIntegrals (Expansion *expansion, const shared_ptr< MeshD< BaseT::SpaceType::DIM > > &mesh, dcomplex lam, dcomplex glam)
 
cvector incidentVector (Transfer::IncidentDirection side, size_t idx, dcomplex lam=NAN)
 Get incident field vector for given mode.
 
cvector incidentVector (Transfer::IncidentDirection side, const cvector &incident, dcomplex lam=NAN)
 Get incident field vector for given polarization.
 
- Public Member Functions inherited from plask::optical::modal::ModalBase
void initTransfer (Expansion &expansion, bool reflection)
 Initialize transfer class.
 
 ModalBase ()
 
virtual ~ModalBase ()
 
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.
 
dcomplex getLam () const
 Get current wavelength.
 
void setLam (dcomplex lambda)
 Set current wavelength.
 
void clearFields ()
 Reset determined fields.
 
size_t getLayerFor (double &h) const
 Get layer number for vertical coordinate.
 
const std::vector< std::size_t > & getStack () const
 Get stack.
 
virtual void computeIntegrals ()=0
 Recompute integrals used in RE and RH matrices.
 
virtual void clearModes ()=0
 Clear computed modes.
 
virtual bool setExpansionDefaults (bool with_k0=true)=0
 Set expansion parameters from default values.
 
void ensureInterface ()
 Throw exception if the interface position is unsuitable for eigenmode computations.
 
virtual ExpansiongetExpansion ()=0
 Get solver expansion.
 
dvector getIncidentFluxes (const cvector &incident, Transfer::IncidentDirection side)
 Get amplitudes of incident diffraction orders.
 
dvector getReflectedFluxes (const cvector &incident, Transfer::IncidentDirection side)
 Get amplitudes of reflected diffraction orders.
 
dvector getTransmittedFluxes (const cvector &incident, Transfer::IncidentDirection side)
 Get amplitudes of transmitted diffraction orders.
 
cvector getReflectedCoefficients (const cvector &incident, Transfer::IncidentDirection side)
 Get coefficients of reflected diffraction orders.
 
cvector getTransmittedCoefficients (const cvector &incident, Transfer::IncidentDirection side)
 Get coefficients of transmitted diffraction orders.
 
double getReflection (const cvector &incident, Transfer::IncidentDirection side)
 Get reflection coefficient.
 
double getTransmission (const cvector &incident, Transfer::IncidentDirection side)
 Get reflection coefficient.
 
void getMatrices (size_t layer, cmatrix &RE, cmatrix &RH)
 

Public Attributes

ReceiverFor< Temperature, typename BaseT::SpaceType > inTemperature
 Receiver for the temperature.
 
ReceiverFor< Gain, typename BaseT::SpaceType > inGain
 Receiver for the gain.
 
ReceiverFor< Epsilon, typename BaseT::SpaceType > inEpsilon
 Receiver for the dynamic epsilon.
 
ReceiverFor< CarriersConcentration, typename BaseT::SpaceType > inCarriersConcentration
 Receiver for carriers concentration.
 
ProviderFor< Epsilon, typenameBaseT::SpaceType >::Delegate outEpsilon
 Provider of the permittivity tensor.
 
ProviderFor< RefractiveIndex, typenameBaseT::SpaceType >::Delegate outRefractiveIndex
 Provider of the refractive index.
 
ProviderFor< ModeWavelength >::Delegate outWavelength
 Provider for computed resonant wavelength.
 
ProviderFor< ModeLightMagnitude, typenameBaseT::SpaceType >::Delegate outLightMagnitude
 Provider of the optical field intensity.
 
ProviderFor< ModeLightE, typenameBaseT::SpaceType >::Delegate outLightE
 Provider of the optical electric field.
 
ProviderFor< ModeLightH, typenameBaseT::SpaceType >::Delegate outLightH
 Provider of the optical magnetic field.
 
ProviderFor< ModeLightE, typenameBaseT::SpaceType >::Delegate outUpwardsLightE
 Provider of the optical electric field propagating upwards.
 
ProviderFor< ModeLightH, typenameBaseT::SpaceType >::Delegate outUpwardsLightH
 Provider of the optical magnetic field propagating upwards.
 
ProviderFor< ModeLightE, typenameBaseT::SpaceType >::Delegate outDownwardsLightE
 Provider of the optical electric field propagating downwards.
 
ProviderFor< ModeLightH, typenameBaseT::SpaceType >::Delegate outDownwardsLightH
 Provider of the optical magnetic field propagating downwards.
 
- Public Attributes inherited from plask::optical::modal::ModalBase
Emission emission
 Direction of the light emission for fields normalization.
 
Transfer::Determinant determinant_type
 Method of computing determinant in zero search.
 
std::unique_ptr< Transfertransfer
 Transfer method object (AdmittanceTransfer or ReflectionTransfer)
 
shared_ptr< OrderedAxisvbounds
 Layer boundaries.
 
shared_ptr< OrderedAxisverts
 Centers of layers.
 
size_t lcount
 Number of distinct layers.
 
std::vector< boollgained
 Information if the layer has gain.
 
std::vector< boollcomputed
 Information if the layer has data from inEpsilon.
 
std::vector< std::size_t > stack
 Organization of layers in the stack.
 
std::ptrdiff_t interface
 Index of the matching interface.
 
double interface_position
 Approximate position of the matching interface.
 
double lam0
 Reference wavelength used for getting material parameters (nm)
 
dcomplex k0
 Normalized frequency (1/µm)
 
PML vpml
 Parameters for vertical PMLs (if used)
 
RootDigger::Params root
 Parameters for main rootdigger.
 
bool recompute_integrals
 Force re-computation of material coefficients/integrals.
 
bool recompute_gain_integrals
 Force re-computation of material coefficients/integrals in layers with gain.
 
bool always_recompute_gain
 Always compute material coefficients/integrals for gained layers for current wavelength.
 

Protected Member Functions

void onInitialize () override
 
void onGeometryChange (const Geometry::Event &evt) override
 
void parseCommonModalConfiguration (XMLReader &reader, Manager &manager)
 Parse common configuration from XML file.
 
void setupLayers ()
 Compute layer boundaries and detect layer sets.
 
size_t initIncidence (Transfer::IncidentDirection side, dcomplex lam=NAN)
 
void scaleIncidentVector (cvector &incident, size_t layer)
 Scale the incident field vector with scale specific to the solver.
 
virtual size_t nummodes () const =0
 Return number of determined modes.
 
virtual double applyMode (size_t n)=0
 Apply mode number n.
 
DataVector< const Tensor3< dcomplex > > getEpsilonProfile (const shared_ptr< const MeshD< BaseT::SpaceType::DIM > > &dst_mesh, dcomplex lam, InterpolationMethod interp=INTERPOLATION_DEFAULT)
 Get permittivity tensor after expansion.
 
LazyData< dcomplex > getRefractiveIndex (RefractiveIndex::EnumType component, const shared_ptr< const MeshD< BaseT::SpaceType::DIM > > &dst_mesh, dcomplex lam, InterpolationMethod interp=INTERPOLATION_DEFAULT)
 Get refractive index after expansion.
 
template<PropagationDirection part = PROPAGATION_TOTAL>
LazyData< Vec< 3, dcomplex > > getLightE (size_t num, shared_ptr< const MeshD< BaseT::SpaceType::DIM > > dst_mesh, InterpolationMethod method)
 Compute electric field.
 
template<PropagationDirection part = PROPAGATION_TOTAL>
LazyData< Vec< 3, dcomplex > > getLightH (size_t num, shared_ptr< const MeshD< BaseT::SpaceType::DIM > > dst_mesh, InterpolationMethod method)
 Compute magnetic field.
 
LazyData< doublegetLightMagnitude (size_t num, shared_ptr< const MeshD< BaseT::SpaceType::DIM > > dst_mesh, InterpolationMethod method)
 Compute normalized electric field intensity 1/2 E conj(E) / P.
 
virtual double getWavelength (size_t n)=0
 Return mode wavelength.
 
void scaleIncidentVector (cvector &incident, size_t layer)
 
void scaleIncidentVector (cvector &incident, size_t layer)
 
void scaleIncidentVector (cvector &incident, size_t layer)
 
- Protected Member Functions inherited from plask::optical::modal::ModalBase
std::unique_ptr< RootDiggergetRootDigger (const RootDigger::function_type &func, const char *name)
 Create and return rootdigger of a desired type.
 
void readRootDiggerConfig (XMLReader &reader)
 Read root digger configuration.
 
void scaleIncidentVector (cvector &incident, size_t layer, double size_factor)
 Scale the incident field vector.
 

Protected Attributes

double smooth
 Smoothing coefficient.
 
- Protected Attributes inherited from plask::optical::modal::ModalBase
Transfer::Method transfer_method
 Selected transfer method.
 
bool group_layers
 Can layers be automatically grouped.
 
double max_temp_diff
 Maximum temperature difference for grouped layers (NAN means ignore temperature)
 
double temp_dist
 Approximate lateral distance between points for temperature investigation.
 
double temp_layer
 Minimum layer thickness for the purpose of temperature-based layers division.
 

Additional Inherited Members

- Public Types inherited from plask::optical::modal::ModalBase
enum  Emission {
  EMISSION_UNSPECIFIED = 0 , EMISSION_TOP , EMISSION_BOTTOM , EMISSION_FRONT ,
  EMISSION_BACK
}
 Directions of the possible emission. More...
 

Detailed Description

template<typename BaseT>
class plask::optical::modal::ModalSolver< BaseT >

Base class for all modal solvers.

Definition at line 30 of file solver.hpp.

Constructor & Destructor Documentation

◆ ModalSolver()

template<typename BaseT >
plask::optical::modal::ModalSolver< BaseT >::ModalSolver ( const std::string &  name = "")

Definition at line 59 of file solver.cpp.

◆ ~ModalSolver()

template<typename BaseT >
plask::optical::modal::ModalSolver< BaseT >::~ModalSolver ( )

Definition at line 78 of file solver.cpp.

Member Function Documentation

◆ applyMode()

template<typename BaseT >
virtual double plask::optical::modal::ModalSolver< BaseT >::applyMode ( size_t  n)
protectedpure virtual

◆ getDeterminant()

template<typename BaseT >
dcomplex plask::optical::modal::ModalSolver< BaseT >::getDeterminant ( )
inline

Get discontinuity matrix determinant for the current parameters.

Definition at line 229 of file solver.hpp.

◆ getEpsilonProfile()

template<typename BaseT >
DataVector< const Tensor3< dcomplex > > plask::optical::modal::ModalSolver< BaseT >::getEpsilonProfile ( const shared_ptr< const MeshD< BaseT::SpaceType::DIM > > &  dst_mesh,
dcomplex  lam,
InterpolationMethod  interp = INTERPOLATION_DEFAULT 
)
protected

Get permittivity tensor after expansion.

Parameters
dst_meshtarget mesh
methodinterpolation method

Definition at line 507 of file solver.cpp.

◆ getGroupLayers()

template<typename BaseT >
bool plask::optical::modal::ModalSolver< BaseT >::getGroupLayers ( ) const
inline

Getter for group_layers.

Definition at line 142 of file solver.hpp.

◆ getId()

template<typename BaseT >
std::string plask::optical::modal::ModalSolver< BaseT >::getId ( ) const
inlineoverridevirtual

Get solver id.

Implements plask::optical::modal::ModalBase.

Definition at line 181 of file solver.hpp.

◆ getInterface()

template<typename BaseT >
size_t plask::optical::modal::ModalSolver< BaseT >::getInterface ( )
inline

Get the position of the matching interface.

Returns
index of the vertical mesh, where interface is set

Definition at line 189 of file solver.hpp.

◆ getLightE()

template<typename BaseT >
template<PropagationDirection part>
LazyData< Vec< 3, dcomplex > > plask::optical::modal::ModalSolver< BaseT >::getLightE ( size_t  num,
shared_ptr< const MeshD< BaseT::SpaceType::DIM > >  dst_mesh,
InterpolationMethod  method 
)
protected

Compute electric field.

Parameters
nummode number
dst_meshdestination mesh
methodinterpolation method

Definition at line 736 of file solver.cpp.

◆ getLightH()

template<typename BaseT >
template<PropagationDirection part>
LazyData< Vec< 3, dcomplex > > plask::optical::modal::ModalSolver< BaseT >::getLightH ( size_t  num,
shared_ptr< const MeshD< BaseT::SpaceType::DIM > >  dst_mesh,
InterpolationMethod  method 
)
protected

Compute magnetic field.

Parameters
nummode number
dst_meshdestination mesh
methodinterpolation method

Definition at line 746 of file solver.cpp.

◆ getLightMagnitude()

template<typename BaseT >
LazyData< double > plask::optical::modal::ModalSolver< BaseT >::getLightMagnitude ( size_t  num,
shared_ptr< const MeshD< BaseT::SpaceType::DIM > >  dst_mesh,
InterpolationMethod  method 
)
protected

Compute normalized electric field intensity 1/2 E conj(E) / P.

Parameters
nummode number
dst_meshdestination mesh
methodinterpolation method

Definition at line 755 of file solver.cpp.

◆ getMaxTempDiff()

template<typename BaseT >
double plask::optical::modal::ModalSolver< BaseT >::getMaxTempDiff ( ) const
inline

Getter for max_temp_diff.

Definition at line 152 of file solver.hpp.

◆ getRefractiveIndex()

template<typename BaseT >
LazyData< dcomplex > plask::optical::modal::ModalSolver< BaseT >::getRefractiveIndex ( RefractiveIndex::EnumType  component,
const shared_ptr< const MeshD< BaseT::SpaceType::DIM > > &  dst_mesh,
dcomplex  lam,
InterpolationMethod  interp = INTERPOLATION_DEFAULT 
)
protected

Get refractive index after expansion.

Parameters
dst_meshtarget mesh
methodinterpolation method

Definition at line 537 of file solver.cpp.

◆ getSmooth()

template<typename BaseT >
double plask::optical::modal::ModalSolver< BaseT >::getSmooth ( ) const
inline

Get current smooth.

Definition at line 123 of file solver.hpp.

◆ getTempDist()

template<typename BaseT >
double plask::optical::modal::ModalSolver< BaseT >::getTempDist ( ) const
inline

Getter for temp_dist.

Definition at line 162 of file solver.hpp.

◆ getTempLayer()

template<typename BaseT >
double plask::optical::modal::ModalSolver< BaseT >::getTempLayer ( ) const
inline

Getter for temp_dist.

Definition at line 172 of file solver.hpp.

◆ getTransferMethod()

template<typename BaseT >
Transfer::Method plask::optical::modal::ModalSolver< BaseT >::getTransferMethod ( ) const
inline

Get currently selected transfer method.

Definition at line 133 of file solver.hpp.

◆ getWavelength()

template<typename BaseT >
virtual double plask::optical::modal::ModalSolver< BaseT >::getWavelength ( size_t  n)
protectedpure virtual

◆ incidentVector() [1/2]

template<typename BaseT >
cvector plask::optical::modal::ModalSolver< BaseT >::incidentVector ( Transfer::IncidentDirection  side,
const cvector incident,
dcomplex  lam = NAN 
)

Get incident field vector for given polarization.

Parameters
sideincidence side
unscaledincident field vector
lamindicent wavelength
Returns
incident field vector

Definition at line 600 of file solver.cpp.

◆ incidentVector() [2/2]

template<typename BaseT >
cvector plask::optical::modal::ModalSolver< BaseT >::incidentVector ( Transfer::IncidentDirection  side,
size_t  idx,
dcomplex  lam = NAN 
)

Get incident field vector for given mode.

Parameters
sideincidence side
idxnumber of the mode to set to 1
lamindicent wavelength
Returns
incident field vector

Definition at line 589 of file solver.cpp.

◆ initCalculation()

template<typename BaseT >
bool plask::optical::modal::ModalSolver< BaseT >::initCalculation ( )
inlineoverridevirtual

Init calculations.

Implements plask::optical::modal::ModalBase.

Definition at line 183 of file solver.hpp.

◆ initIncidence()

template<typename BaseT >
size_t plask::optical::modal::ModalSolver< BaseT >::initIncidence ( Transfer::IncidentDirection  side,
dcomplex  lam = NAN 
)
protected

Definition at line 566 of file solver.cpp.

◆ nummodes()

template<typename BaseT >
virtual size_t plask::optical::modal::ModalSolver< BaseT >::nummodes ( ) const
protectedpure virtual

◆ onGeometryChange()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::onGeometryChange ( const Geometry::Event evt)
inlineoverrideprotected

Definition at line 50 of file solver.hpp.

◆ onInitialize()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::onInitialize ( )
inlineoverrideprotected

Definition at line 48 of file solver.hpp.

◆ parseCommonModalConfiguration()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::parseCommonModalConfiguration ( XMLReader reader,
Manager manager 
)
protected

Parse common configuration from XML file.

Definition at line 214 of file solver.cpp.

◆ prepareExpansionIntegrals()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::prepareExpansionIntegrals ( Expansion expansion,
const shared_ptr< MeshD< BaseT::SpaceType::DIM > > &  mesh,
dcomplex  lam,
dcomplex  glam 
)
inline

Definition at line 236 of file solver.hpp.

◆ scaleIncidentVector() [1/4]

void plask::optical::modal::ModalSolver< SolverWithMesh< Geometry2DCartesian, MeshAxis > >::scaleIncidentVector ( cvector incident,
size_t  layer 
)
protected

Definition at line 621 of file solver.cpp.

◆ scaleIncidentVector() [2/4]

void plask::optical::modal::ModalSolver< SolverWithMesh< Geometry2DCylindrical, MeshAxis > >::scaleIncidentVector ( cvector incident,
size_t  layer 
)
protected

Definition at line 625 of file solver.cpp.

◆ scaleIncidentVector() [3/4]

void plask::optical::modal::ModalSolver< SolverOver< Geometry3D > >::scaleIncidentVector ( cvector incident,
size_t  layer 
)
protected

Definition at line 629 of file solver.cpp.

◆ scaleIncidentVector() [4/4]

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::scaleIncidentVector ( cvector incident,
size_t  layer 
)
protected

Scale the incident field vector with scale specific to the solver.

◆ setGroupLayers()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::setGroupLayers ( bool  value)
inline

Setter for group_layers.

Definition at line 145 of file solver.hpp.

◆ setInterfaceAt()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::setInterfaceAt ( double  pos)
inline

Set the position of the matching interface.

Parameters
posvertical position close to the point where interface will be set

Definition at line 198 of file solver.hpp.

◆ setInterfaceOn() [1/2]

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::setInterfaceOn ( const shared_ptr< const GeometryObject > &  object,
const PathHints path 
)
inline

Set the position of the matching interface at the bottom of the provided geometry object.

Parameters
objectwhere the interface should be set on
pathpath specifying object in the geometry

Definition at line 226 of file solver.hpp.

◆ setInterfaceOn() [2/2]

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::setInterfaceOn ( const shared_ptr< const GeometryObject > &  object,
const PathHints path = nullptr 
)
inline

Set the position of the matching interface at the bottom of the provided geometry object.

Parameters
objectwhere the interface should be set on
pathpath specifying object in the geometry

Definition at line 211 of file solver.hpp.

◆ setMaxTempDiff()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::setMaxTempDiff ( double  value)
inline

Setter for max_temp_diff.

Definition at line 155 of file solver.hpp.

◆ setSmooth()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::setSmooth ( double  value)
inline

Set current smooth.

Definition at line 126 of file solver.hpp.

◆ setTempDist()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::setTempDist ( double  value)
inline

Setter for temp_dist.

Definition at line 165 of file solver.hpp.

◆ setTempLayer()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::setTempLayer ( double  value)
inline

Setter for temp_dist.

Definition at line 175 of file solver.hpp.

◆ setTransferMethod()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::setTransferMethod ( Transfer::Method  method)
inline

Set new transfer method.

Definition at line 136 of file solver.hpp.

◆ setupLayers()

template<typename BaseT >
void plask::optical::modal::ModalSolver< BaseT >::setupLayers ( )
protected

Compute layer boundaries and detect layer sets.

Definition at line 265 of file solver.cpp.

Member Data Documentation

◆ inCarriersConcentration

template<typename BaseT >
ReceiverFor<CarriersConcentration, typename BaseT::SpaceType> plask::optical::modal::ModalSolver< BaseT >::inCarriersConcentration

Receiver for carriers concentration.

Definition at line 86 of file solver.hpp.

◆ inEpsilon

template<typename BaseT >
ReceiverFor<Epsilon, typename BaseT::SpaceType> plask::optical::modal::ModalSolver< BaseT >::inEpsilon

Receiver for the dynamic epsilon.

Definition at line 83 of file solver.hpp.

◆ inGain

template<typename BaseT >
ReceiverFor<Gain, typename BaseT::SpaceType> plask::optical::modal::ModalSolver< BaseT >::inGain

Receiver for the gain.

Definition at line 80 of file solver.hpp.

◆ inTemperature

template<typename BaseT >
ReceiverFor<Temperature, typename BaseT::SpaceType> plask::optical::modal::ModalSolver< BaseT >::inTemperature

Receiver for the temperature.

Definition at line 77 of file solver.hpp.

◆ outDownwardsLightE

template<typename BaseT >
ProviderFor<ModeLightE,typenameBaseT::SpaceType>::Delegate plask::optical::modal::ModalSolver< BaseT >::outDownwardsLightE

Provider of the optical electric field propagating downwards.

Definition at line 113 of file solver.hpp.

◆ outDownwardsLightH

template<typename BaseT >
ProviderFor<ModeLightH,typenameBaseT::SpaceType>::Delegate plask::optical::modal::ModalSolver< BaseT >::outDownwardsLightH

Provider of the optical magnetic field propagating downwards.

Definition at line 116 of file solver.hpp.

◆ outEpsilon

template<typename BaseT >
ProviderFor<Epsilon,typenameBaseT::SpaceType>::Delegate plask::optical::modal::ModalSolver< BaseT >::outEpsilon

Provider of the permittivity tensor.

Definition at line 89 of file solver.hpp.

◆ outLightE

template<typename BaseT >
ProviderFor<ModeLightE,typenameBaseT::SpaceType>::Delegate plask::optical::modal::ModalSolver< BaseT >::outLightE

Provider of the optical electric field.

Definition at line 101 of file solver.hpp.

◆ outLightH

template<typename BaseT >
ProviderFor<ModeLightH,typenameBaseT::SpaceType>::Delegate plask::optical::modal::ModalSolver< BaseT >::outLightH

Provider of the optical magnetic field.

Definition at line 104 of file solver.hpp.

◆ outLightMagnitude

template<typename BaseT >
ProviderFor<ModeLightMagnitude,typenameBaseT::SpaceType>::Delegate plask::optical::modal::ModalSolver< BaseT >::outLightMagnitude

Provider of the optical field intensity.

Definition at line 98 of file solver.hpp.

◆ outRefractiveIndex

template<typename BaseT >
ProviderFor<RefractiveIndex,typenameBaseT::SpaceType>::Delegate plask::optical::modal::ModalSolver< BaseT >::outRefractiveIndex

Provider of the refractive index.

Definition at line 92 of file solver.hpp.

◆ outUpwardsLightE

template<typename BaseT >
ProviderFor<ModeLightE,typenameBaseT::SpaceType>::Delegate plask::optical::modal::ModalSolver< BaseT >::outUpwardsLightE

Provider of the optical electric field propagating upwards.

Definition at line 107 of file solver.hpp.

◆ outUpwardsLightH

template<typename BaseT >
ProviderFor<ModeLightH,typenameBaseT::SpaceType>::Delegate plask::optical::modal::ModalSolver< BaseT >::outUpwardsLightH

Provider of the optical magnetic field propagating upwards.

Definition at line 110 of file solver.hpp.

◆ outWavelength

template<typename BaseT >
ProviderFor<ModeWavelength>::Delegate plask::optical::modal::ModalSolver< BaseT >::outWavelength

Provider for computed resonant wavelength.

Definition at line 95 of file solver.hpp.

◆ smooth

template<typename BaseT >
double plask::optical::modal::ModalSolver< BaseT >::smooth
protected

Smoothing coefficient.

Definition at line 73 of file solver.hpp.


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