PLaSK library

Loading...
Searching...
No Matches
Namespaces | Classes | Functions | Variables
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 >
S | 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 double * | patterson_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

  solver | solver that created this contour
  fun | function to compute
  corner0,corner1 | corners of the integral
  resteps,imsteps | number of contour points along each real and imaginary axis, respectively
  eps | desired 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,
|  | T | a,
|  | T | b,
|  | double & | err
| ) |  |

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

Parameters

  | fun | function to integrate
  | a | starting point
  | b | final point
  [in,out] | err | on 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

Initial value:
= {
patterson_weights_data,
patterson_weights_data + 1,
patterson_weights_data + 3,
patterson_weights_data + 7,
patterson_weights_data + 15,
patterson_weights_data + 31,
patterson_weights_data + 63,
patterson_weights_data + 127,
patterson_weights_data + 255
}

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

## ◆ patterson_weights_data

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

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