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

#include <solvers/optical/effective/bisection.hpp>

Collaboration diagram for plask::optical::effective::Contour:
[legend]

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, Contourdivide (double reps, double ieps) const
 Divide contour.
 

Public Attributes

const Solversolver
 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.
 

Detailed Description

Definition at line 21 of file bisection.hpp.

Constructor & Destructor Documentation

◆ Contour() [1/4]

plask::optical::effective::Contour::Contour ( const Solver solver,
const std::function< dcomplex(dcomplex)> &  fun 
)
inline

Definition at line 37 of file bisection.hpp.

◆ Contour() [2/4]

plask::optical::effective::Contour::Contour ( const Contour src)
inline

Definition at line 39 of file bisection.hpp.

◆ Contour() [3/4]

plask::optical::effective::Contour::Contour ( Contour &&  src)
inline

Definition at line 42 of file bisection.hpp.

◆ Contour() [4/4]

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.

Parameters
solversolver that created this contour
funfunction to compute
corner0,corner1corners of the integral
ren,imnnumber of contour points along each real and imaginary axis, respectively

Definition at line 28 of file bisection.cpp.

Member Function Documentation

◆ divide()

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.

Parameters
reps,iepscell size limits along real and imaginary axis
Returns
pair of two contours

Definition at line 96 of file bisection.cpp.

◆ winding()

int plask::optical::effective::Contour::winding ( ) const
inline

Compute winding number of the contour.

Returns
winding number of the contour

Definition at line 58 of file bisection.hpp.

Member Data Documentation

◆ bottom

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.

◆ fun

const std::function<dcomplex(dcomplex)>& plask::optical::effective::Contour::fun

Function being investigated.

Definition at line 25 of file bisection.hpp.

◆ im0

double plask::optical::effective::Contour::im0

Real part of the lower left corner of the contour.

Definition at line 28 of file bisection.hpp.

◆ im1

double plask::optical::effective::Contour::im1

Imaginary part of the upper right corner of the contour.

Definition at line 30 of file bisection.hpp.

◆ left

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.

◆ re0

double plask::optical::effective::Contour::re0

Real part of the lower left corner of the contour.

Definition at line 27 of file bisection.hpp.

◆ re1

double plask::optical::effective::Contour::re1

Imaginary part of the upper right corner of the contour.

Definition at line 29 of file bisection.hpp.

◆ right

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

const Solver* plask::optical::effective::Contour::solver

Solver that created this contour.

Definition at line 23 of file bisection.hpp.

◆ top

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.


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