PLaSK library
Loading...
Searching...
No Matches
plask::optical::modal::python::Scattering< SolverT > Struct Template Reference

Proxy class for accessing scatterd fields. More...

#include <solvers/optical/modal/python/modal-python.hpp>

Collaboration diagram for plask::optical::modal::python::Scattering< SolverT >:
[legend]

Classes

struct  Incident
 
struct  Reflected
 
struct  Transmitted
 

Public Member Functions

double reflectivity ()
 
double transmittivity ()
 
double reflectivity100 ()
 
double transmittivity100 ()
 
Reflectedget_reflected ()
 
Incidentget_incident ()
 
Transmittedget_transmitted ()
 
LazyData< Vec< 3, dcomplex > > getLightE (const shared_ptr< const MeshD< SolverT::SpaceType::DIM > > &dst_mesh, InterpolationMethod method)
 
LazyData< Vec< 3, dcomplex > > getLightH (const shared_ptr< const MeshD< SolverT::SpaceType::DIM > > &dst_mesh, InterpolationMethod method)
 
LazyData< doublegetLightMagnitude (const shared_ptr< const MeshD< SolverT::SpaceType::DIM > > &dst_mesh, InterpolationMethod method)
 
py::object getFieldVectorE (double z)
 
py::object getFieldVectorH (double z)
 
double getIntegralEE (double z1, double z2)
 
double getIntegralHH (double z1, double z2)
 
 Scattering (SolverT *solver, Transfer::IncidentDirection side, const cvector &incident)
 Construct proxy.
 
 Scattering (SolverT *solver, Transfer::IncidentDirection side, Expansion::Component polarization)
 Construct proxy.
 
 Scattering (SolverT *solver, Transfer::IncidentDirection side, size_t idx)
 Construct proxy.
 
py::object getFieldVectorE (double z)
 
py::object getFieldVectorH (double z)
 
py::object getFieldVectorE (double z)
 
py::object getFieldVectorH (double z)
 
py::object getFieldVectorE (double z)
 
py::object getFieldVectorH (double z)
 

Static Public Member Functions

static shared_ptr< Scattering< SolverT > > from_polarization (SolverT *parent, Transfer::IncidentDirection side, Expansion::Component polarization)
 
static shared_ptr< Scattering< SolverT > > from_index (SolverT *parent, Transfer::IncidentDirection side, size_t idx)
 
static shared_ptr< Scattering< SolverT > > from_array (SolverT *parent, Transfer::IncidentDirection side, CoeffsArray coeffs)
 
static py::class_< Scattering< SolverT >, shared_ptr< Scattering< SolverT > >, boost::noncopyable > registerClass (const char *suffix, const char *name)
 

Public Attributes

SolverTsolver
 
cvector incident
 
Transfer::IncidentDirection side
 
ProviderFor< LightE, typenameSolverT::SpaceType >::Delegate outLightE
 Provider of the optical electric field.
 
ProviderFor< LightH, typenameSolverT::SpaceType >::Delegate outLightH
 Provider of the optical magnetic field.
 
ProviderFor< LightMagnitude, typenameSolverT::SpaceType >::Delegate outLightMagnitude
 Provider of the optical field intensity.
 

Detailed Description

template<typename SolverT>
struct plask::optical::modal::python::Scattering< SolverT >

Proxy class for accessing scatterd fields.

Definition at line 538 of file modal-python.hpp.

Constructor & Destructor Documentation

◆ Scattering() [1/3]

template<typename SolverT >
plask::optical::modal::python::Scattering< SolverT >::Scattering ( SolverT solver,
Transfer::IncidentDirection  side,
const cvector incident 
)
inline

Construct proxy.

Parameters
wavelengthincident light wavelength
sideincidence sideif (incident.size() >= self->transfer->diagonalizer->matrixSize()) throw BadInput(self->getId(), "wrong incident vector size ({}, should be {}", incident.size(), solver->transfer->diagonalizer->matrixSize());
incidentincident vector

Definition at line 751 of file modal-python.hpp.

◆ Scattering() [2/3]

template<typename SolverT >
plask::optical::modal::python::Scattering< SolverT >::Scattering ( SolverT solver,
Transfer::IncidentDirection  side,
Expansion::Component  polarization 
)
inline

Construct proxy.

Parameters
wavelengthincident light wavelength
sideincidence side
polarizationpolarization of the perpendicularly incident light

Definition at line 768 of file modal-python.hpp.

◆ Scattering() [3/3]

template<typename SolverT >
plask::optical::modal::python::Scattering< SolverT >::Scattering ( SolverT solver,
Transfer::IncidentDirection  side,
size_t  idx 
)
inline

Construct proxy.

Parameters
wavelengthincident light wavelength
sideincidence side
idxincident eigenmode index

Definition at line 781 of file modal-python.hpp.

Member Function Documentation

◆ from_array()

template<typename SolverT >
static shared_ptr< Scattering< SolverT > > plask::optical::modal::python::Scattering< SolverT >::from_array ( SolverT parent,
Transfer::IncidentDirection  side,
CoeffsArray  coeffs 
)
inlinestatic

Definition at line 800 of file modal-python.hpp.

◆ from_index()

template<typename SolverT >
static shared_ptr< Scattering< SolverT > > plask::optical::modal::python::Scattering< SolverT >::from_index ( SolverT parent,
Transfer::IncidentDirection  side,
size_t  idx 
)
inlinestatic

Definition at line 794 of file modal-python.hpp.

◆ from_polarization()

template<typename SolverT >
static shared_ptr< Scattering< SolverT > > plask::optical::modal::python::Scattering< SolverT >::from_polarization ( SolverT parent,
Transfer::IncidentDirection  side,
Expansion::Component  polarization 
)
inlinestatic

Definition at line 788 of file modal-python.hpp.

◆ get_incident()

Definition at line 668 of file modal-python.hpp.

◆ get_reflected()

template<typename SolverT >
Reflected * plask::optical::modal::python::Scattering< SolverT >::get_reflected ( )
inline

Definition at line 621 of file modal-python.hpp.

◆ get_transmitted()

template<typename SolverT >
Transmitted * plask::optical::modal::python::Scattering< SolverT >::get_transmitted ( )
inline

Definition at line 716 of file modal-python.hpp.

◆ getFieldVectorE() [1/4]

py::object plask::optical::modal::python::Scattering< BesselSolverCyl >::getFieldVectorE ( double  z)

Definition at line 155 of file besselcyl-python.cpp.

◆ getFieldVectorE() [2/4]

py::object plask::optical::modal::python::Scattering< FourierSolver2D >::getFieldVectorE ( double  z)

Definition at line 353 of file fourier2d-python.cpp.

◆ getFieldVectorE() [3/4]

py::object plask::optical::modal::python::Scattering< FourierSolver3D >::getFieldVectorE ( double  z)

Definition at line 464 of file fourier3d-python.cpp.

◆ getFieldVectorE() [4/4]

template<typename SolverT >
py::object plask::optical::modal::python::Scattering< SolverT >::getFieldVectorE ( double  z)

◆ getFieldVectorH() [1/4]

py::object plask::optical::modal::python::Scattering< BesselSolverCyl >::getFieldVectorH ( double  z)

Definition at line 160 of file besselcyl-python.cpp.

◆ getFieldVectorH() [2/4]

py::object plask::optical::modal::python::Scattering< FourierSolver2D >::getFieldVectorH ( double  z)

Definition at line 358 of file fourier2d-python.cpp.

◆ getFieldVectorH() [3/4]

py::object plask::optical::modal::python::Scattering< FourierSolver3D >::getFieldVectorH ( double  z)

Definition at line 469 of file fourier3d-python.cpp.

◆ getFieldVectorH() [4/4]

template<typename SolverT >
py::object plask::optical::modal::python::Scattering< SolverT >::getFieldVectorH ( double  z)

◆ getIntegralEE()

template<typename SolverT >
double plask::optical::modal::python::Scattering< SolverT >::getIntegralEE ( double  z1,
double  z2 
)
inline

Definition at line 735 of file modal-python.hpp.

◆ getIntegralHH()

template<typename SolverT >
double plask::optical::modal::python::Scattering< SolverT >::getIntegralHH ( double  z1,
double  z2 
)
inline

Definition at line 739 of file modal-python.hpp.

◆ getLightE()

template<typename SolverT >
LazyData< Vec< 3, dcomplex > > plask::optical::modal::python::Scattering< SolverT >::getLightE ( const shared_ptr< const MeshD< SolverT::SpaceType::DIM > > &  dst_mesh,
InterpolationMethod  method 
)
inline

Definition at line 719 of file modal-python.hpp.

◆ getLightH()

template<typename SolverT >
LazyData< Vec< 3, dcomplex > > plask::optical::modal::python::Scattering< SolverT >::getLightH ( const shared_ptr< const MeshD< SolverT::SpaceType::DIM > > &  dst_mesh,
InterpolationMethod  method 
)
inline

Definition at line 723 of file modal-python.hpp.

◆ getLightMagnitude()

template<typename SolverT >
LazyData< double > plask::optical::modal::python::Scattering< SolverT >::getLightMagnitude ( const shared_ptr< const MeshD< SolverT::SpaceType::DIM > > &  dst_mesh,
InterpolationMethod  method 
)
inline

Definition at line 727 of file modal-python.hpp.

◆ reflectivity()

Definition at line 555 of file modal-python.hpp.

◆ reflectivity100()

template<typename SolverT >
double plask::optical::modal::python::Scattering< SolverT >::reflectivity100 ( )
inline

Definition at line 565 of file modal-python.hpp.

◆ registerClass()

template<typename SolverT >
static py::class_< Scattering< SolverT >, shared_ptr< Scattering< SolverT > >, boost::noncopyable > plask::optical::modal::python::Scattering< SolverT >::registerClass ( const char suffix,
const char name 
)
inlinestatic

Definition at line 808 of file modal-python.hpp.

◆ transmittivity()

template<typename SolverT >
double plask::optical::modal::python::Scattering< SolverT >::transmittivity ( )
inline

Definition at line 560 of file modal-python.hpp.

◆ transmittivity100()

template<typename SolverT >
double plask::optical::modal::python::Scattering< SolverT >::transmittivity100 ( )
inline

Definition at line 570 of file modal-python.hpp.

Member Data Documentation

◆ incident

Definition at line 542 of file modal-python.hpp.

◆ outLightE

template<typename SolverT >
ProviderFor<LightE,typenameSolverT::SpaceType>::Delegate plask::optical::modal::python::Scattering< SolverT >::outLightE

Provider of the optical electric field.

Definition at line 546 of file modal-python.hpp.

◆ outLightH

template<typename SolverT >
ProviderFor<LightH,typenameSolverT::SpaceType>::Delegate plask::optical::modal::python::Scattering< SolverT >::outLightH

Provider of the optical magnetic field.

Definition at line 549 of file modal-python.hpp.

◆ outLightMagnitude

template<typename SolverT >
ProviderFor<LightMagnitude,typenameSolverT::SpaceType>::Delegate plask::optical::modal::python::Scattering< SolverT >::outLightMagnitude

Provider of the optical field intensity.

Definition at line 552 of file modal-python.hpp.

◆ side

◆ solver


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