PLaSK library
|
#include <solvers/optical/effective/bisection.hpp>
Public Member Functions | |
Contour (const Solver *solver, const std::function< dcomplex(dcomplex)> &fun) | |
Contour (const Contour &src) | |
Contour (Contour &&src) | |
Contour (const Solver *solver, const std::function< dcomplex(dcomplex)> &fun, dcomplex corner0, dcomplex corner1, size_t ren, size_t imn) | |
Create contour in specified range. | |
int | winding () const |
Compute winding number of the contour. | |
std::pair< Contour, Contour > | divide (double reps, double ieps) const |
Divide contour. | |
Public Attributes | |
const Solver * | solver |
Solver that created this contour. | |
const std::function< dcomplex(dcomplex)> & | fun |
Function being investigated. | |
double | re0 |
Real part of the lower left corner of the contour. | |
double | im0 |
Real part of the lower left corner of the contour. | |
double | re1 |
Imaginary part of the upper right corner of the contour. | |
double | im1 |
Imaginary part of the upper right corner of the contour. | |
DataVector< dcomplex > | bottom |
Vector of computed function values at bottom side of the contour. | |
DataVector< dcomplex > | right |
Vector of computed function values at right side of the contour. | |
DataVector< dcomplex > | top |
Vector of computed function values at top side of the contour. | |
DataVector< dcomplex > | left |
Vector of computed function values at left side of the contour. | |
Definition at line 21 of file bisection.hpp.
|
inline |
Definition at line 37 of file bisection.hpp.
Definition at line 39 of file bisection.hpp.
|
inline |
Definition at line 42 of file bisection.hpp.
plask::optical::effective::Contour::Contour | ( | const Solver * | solver, |
const std::function< dcomplex(dcomplex)> & | fun, | ||
dcomplex | corner0, | ||
dcomplex | corner1, | ||
size_t | ren, | ||
size_t | imn | ||
) |
Create contour in specified range.
solver | solver that created this contour |
fun | function to compute |
corner0,corner1 | corners of the integral |
ren,imn | number of contour points along each real and imaginary axis, respectively |
Definition at line 28 of file bisection.cpp.
std::pair< Contour, Contour > plask::optical::effective::Contour::divide | ( | double | reps, |
double | ieps | ||
) | const |
Divide contour.
The contour is always divided across longer (by number of points) axis. In case of equal axes, the imaginary one is cut.
reps,ieps | cell size limits along real and imaginary axis |
Definition at line 96 of file bisection.cpp.
|
inline |
Compute winding number of the contour.
Definition at line 58 of file bisection.hpp.
DataVector<dcomplex> plask::optical::effective::Contour::bottom |
Vector of computed function values at bottom side of the contour.
Definition at line 32 of file bisection.hpp.
const std::function<dcomplex(dcomplex)>& plask::optical::effective::Contour::fun |
Function being investigated.
Definition at line 25 of file bisection.hpp.
double plask::optical::effective::Contour::im0 |
Real part of the lower left corner of the contour.
Definition at line 28 of file bisection.hpp.
double plask::optical::effective::Contour::im1 |
Imaginary part of the upper right corner of the contour.
Definition at line 30 of file bisection.hpp.
DataVector<dcomplex> plask::optical::effective::Contour::left |
Vector of computed function values at left side of the contour.
Definition at line 35 of file bisection.hpp.
double plask::optical::effective::Contour::re0 |
Real part of the lower left corner of the contour.
Definition at line 27 of file bisection.hpp.
double plask::optical::effective::Contour::re1 |
Imaginary part of the upper right corner of the contour.
Definition at line 29 of file bisection.hpp.
DataVector<dcomplex> plask::optical::effective::Contour::right |
Vector of computed function values at right side of the contour.
Definition at line 33 of file bisection.hpp.
Solver that created this contour.
Definition at line 23 of file bisection.hpp.
DataVector<dcomplex> plask::optical::effective::Contour::top |
Vector of computed function values at top side of the contour.
Definition at line 34 of file bisection.hpp.