PLaSK library

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
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, 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.

## 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

  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.

## 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,ieps | cell 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:

- solvers/optical/effective/bisection.hpp
- solvers/optical/effective/bisection.cpp