PLaSK library
Loading...
Searching...
No Matches
effective.cpp File Reference

Python wrapper for optical/effective solvers. More...

#include <cmath>
#include <plask/python.hpp>
#include "plask/python_util/ufunc.hpp"
#include "../efm.hpp"
#include "../eim.hpp"
Include dependency graph for effective.cpp:

Go to the source code of this file.

Macros

#define ROOTDIGGER_ATTRS_DOC
 
#define SEARCH_ARGS_DOC
 

Functions

py::object EffectiveIndex2D_getVertDeterminant (EffectiveIndex2D &self, py::object val)
 
dcomplex EffectiveFrequencyCyl_getLambda0 (const EffectiveFrequencyCyl &self)
 
void EffectiveFrequencyCyl_setLambda0 (EffectiveFrequencyCyl &self, dcomplex lambda0)
 
py::object EffectiveIndex2D_getMirrors (const EffectiveIndex2D &self)
 
void EffectiveIndex2D_setMirrors (EffectiveIndex2D &self, py::object value)
 
std::vector< size_t > EffectiveIndex2D_findModes (EffectiveIndex2D &self, dcomplex neff1, dcomplex neff2, py::object symmetry, size_t resteps, size_t imsteps, dcomplex eps)
 
std::string EffectiveIndex2D_Mode_str (const EffectiveIndex2D::Mode &self)
 
std::string EffectiveIndex2D_Mode_repr (const EffectiveIndex2D::Mode &self)
 
double EffectiveFrequencyCyl_Mode_ModalLoss (const EffectiveFrequencyCyl::Mode &mode)
 
py::object EffectiveFrequencyCyl_getStripeR (const EffectiveFrequencyCyl &self)
 
void EffectiveFrequencyCyl_setStripeR (EffectiveFrequencyCyl &self, py::object r)
 
std::string EffectiveFrequencyCyl_Mode_str (const EffectiveFrequencyCyl::Mode &self)
 
std::string EffectiveFrequencyCyl_Mode_repr (const EffectiveFrequencyCyl::Mode &self)
 
 BOOST_PYTHON_MODULE (effective)
 Initialization of your solver to Python.
 

Detailed Description

Python wrapper for optical/effective solvers.

Definition in file effective.cpp.

Macro Definition Documentation

◆ ROOTDIGGER_ATTRS_DOC

#define ROOTDIGGER_ATTRS_DOC
Value:
u8".. rubric:: Attributes:\n\n" \
u8".. autosummary::\n\n" \
u8" ~optical.effective.RootParams.alpha\n" \
u8" ~optical.effective.RootParams.lambd\n" \
u8" ~optical.effective.RootParams.initial_range\n" \
u8" ~optical.effective.RootParams.maxiter\n" \
u8" ~optical.effective.RootParams.maxstep\n" \
u8" ~optical.effective.RootParams.method\n" \
u8" ~optical.effective.RootParams.tolf_max\n" \
u8" ~optical.effective.RootParams.tolf_min\n" \
u8" ~optical.effective.RootParams.tolx\n\n" \
u8" ~optical.effective.RootParams.stairs\n\n" \
u8":rtype: RootParams\n"

Definition at line 27 of file effective.cpp.

◆ SEARCH_ARGS_DOC

#define SEARCH_ARGS_DOC
Value:
u8" start (complex): Start of the search range (0 means automatic).\n" \
u8" end (complex): End of the search range (0 means automatic).\n" \
u8" resteps (integer): Number of steps on the real axis during the search.\n" \
u8" imsteps (integer): Number of steps on the imaginary axis during the search.\n" \
u8" eps (complex): required precision of the search.\n"

Definition at line 42 of file effective.cpp.

Function Documentation

◆ BOOST_PYTHON_MODULE()

BOOST_PYTHON_MODULE ( effective  )

Initialization of your solver to Python.

The solver_name should be changed to match the name of the directory with our solver (the one where you have put CMakeLists.txt). It will be visible from user interface under this name.

Definition at line 251 of file effective.cpp.

◆ EffectiveFrequencyCyl_getLambda0()

dcomplex EffectiveFrequencyCyl_getLambda0 ( const EffectiveFrequencyCyl self)

Definition at line 123 of file effective.cpp.

◆ EffectiveFrequencyCyl_getStripeR()

py::object EffectiveFrequencyCyl_getStripeR ( const EffectiveFrequencyCyl self)

Definition at line 211 of file effective.cpp.

◆ EffectiveFrequencyCyl_Mode_ModalLoss()

double EffectiveFrequencyCyl_Mode_ModalLoss ( const EffectiveFrequencyCyl::Mode mode)

Definition at line 193 of file effective.cpp.

◆ EffectiveFrequencyCyl_Mode_repr()

std::string EffectiveFrequencyCyl_Mode_repr ( const EffectiveFrequencyCyl::Mode self)

Definition at line 227 of file effective.cpp.

◆ EffectiveFrequencyCyl_Mode_str()

std::string EffectiveFrequencyCyl_Mode_str ( const EffectiveFrequencyCyl::Mode self)

Definition at line 224 of file effective.cpp.

◆ EffectiveFrequencyCyl_setLambda0()

void EffectiveFrequencyCyl_setLambda0 ( EffectiveFrequencyCyl self,
dcomplex  lambda0 
)

Definition at line 125 of file effective.cpp.

◆ EffectiveFrequencyCyl_setStripeR()

void EffectiveFrequencyCyl_setStripeR ( EffectiveFrequencyCyl self,
py::object  r 
)

Definition at line 217 of file effective.cpp.

◆ EffectiveIndex2D_findModes()

std::vector< size_t > EffectiveIndex2D_findModes ( EffectiveIndex2D self,
dcomplex  neff1,
dcomplex  neff2,
py::object  symmetry,
size_t  resteps,
size_t  imsteps,
dcomplex  eps 
)

Definition at line 156 of file effective.cpp.

◆ EffectiveIndex2D_getMirrors()

py::object EffectiveIndex2D_getMirrors ( const EffectiveIndex2D self)

Definition at line 127 of file effective.cpp.

◆ EffectiveIndex2D_getVertDeterminant()

py::object EffectiveIndex2D_getVertDeterminant ( EffectiveIndex2D self,
py::object  val 
)

Definition at line 109 of file effective.cpp.

◆ EffectiveIndex2D_Mode_repr()

std::string EffectiveIndex2D_Mode_repr ( const EffectiveIndex2D::Mode self)

Definition at line 179 of file effective.cpp.

◆ EffectiveIndex2D_Mode_str()

std::string EffectiveIndex2D_Mode_str ( const EffectiveIndex2D::Mode self)

Definition at line 170 of file effective.cpp.

◆ EffectiveIndex2D_setMirrors()

void EffectiveIndex2D_setMirrors ( EffectiveIndex2D self,
py::object  value 
)

Definition at line 132 of file effective.cpp.