PLaSK library
Loading...
Searching...
No Matches
plask::optical::effective Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  Contour
 
struct  EffectiveFrequencyCyl
 Solver performing calculations in 2D Cartesian space using effective index method. More...
 
struct  EffectiveIndex2D
 Solver performing calculations in 2D Cartesian space using effective index method. More...
 
class  RootBrent
 
class  RootBroyden
 
struct  RootDigger
 
class  RootMuller
 
struct  ZgbMatrix
 Oversimple symmetric band matrix structure. More...
 

Functions

std::vector< std::pair< dcomplex, dcomplex > > findZeros (const Solver *solver, const std::function< dcomplex(dcomplex)> &fun, dcomplex corner0, dcomplex corner1, size_t resteps, size_t imsteps, dcomplex eps)
 Global complex bisection algorithm.
 
F77SUB zgeev (const char &jobvl, const char &jobvr, const int &n, dcomplex *a, const int &lda, dcomplex *w, dcomplex *vl, const int &ldvl, dcomplex *vr, const int &ldvr, dcomplex *work, const int &lwork, double *rwork, int &info)
 
template<typename S , typename T >
patterson (const std::function< S(T)> &fun, T a, T b, double &err)
 Compute Patterson quadrature along line a-b in complex plane with specified precision.
 
template double patterson< double, double > (const std::function< double(double)> &fun, double a, double b, double &err)
 

Variables

constexpr const int LD = 7
 
const double patterson_points []
 
const double patterson_weights_data []
 
const doublepatterson_weights []
 

Function Documentation

◆ findZeros()

std::vector< std::pair< dcomplex, dcomplex > > plask::optical::effective::findZeros ( const Solver solver,
const std::function< dcomplex(dcomplex)> &  fun,
dcomplex  corner0,
dcomplex  corner1,
size_t  resteps,
size_t  imsteps,
dcomplex  eps 
)

Global complex bisection algorithm.

Parameters
solversolver that created this contour
funfunction to compute
corner0,corner1corners of the integral
resteps,imstepsnumber of contour points along each real and imaginary axis, respectively
epsdesired precision
Returns
list of found ranges with zeros

Definition at line 215 of file bisection.cpp.

◆ patterson()

template<typename S , typename T >
S plask::optical::effective::patterson ( const std::function< S(T)> &  fun,
a,
b,
double err 
)

Compute Patterson quadrature along line a-b in complex plane with specified precision.

Parameters
funfunction to integrate
astarting point
bfinal point
[in,out]erron input maximum error, on output estimated error
Returns
computed integral

Definition at line 20 of file patterson.cpp.

◆ patterson< double, double >()

template double plask::optical::effective::patterson< double, double > ( const std::function< double(double)> &  fun,
double  a,
double  b,
double err 
)

◆ zgeev()

F77SUB plask::optical::effective::zgeev ( const char jobvl,
const char jobvr,
const int n,
dcomplex *  a,
const int lda,
dcomplex *  w,
dcomplex *  vl,
const int ldvl,
dcomplex *  vr,
const int ldvr,
dcomplex *  work,
const int lwork,
double rwork,
int info 
)

Variable Documentation

◆ LD

constexpr const int plask::optical::effective::LD = 7
constexpr

Definition at line 36 of file gauss_matrix.hpp.

◆ patterson_points

const double plask::optical::effective::patterson_points

Definition at line 18 of file patterson-data.cpp.

◆ patterson_weights

const double * plask::optical::effective::patterson_weights

◆ patterson_weights_data

const double plask::optical::effective::patterson_weights_data

Definition at line 277 of file patterson-data.cpp.