PLaSK library

Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
plask::optical::effective::RootDigger Struct Referenceabstract

`#include <solvers/optical/effective/rootdigger.hpp>`

Inheritance diagram for plask::optical::effective::RootDigger:
[legend]
Collaboration diagram for plask::optical::effective::RootDigger:
[legend]

## Classes
struct | Params

## Public Types
enum | Method { ROOT_MULLER , ROOT_BROYDEN , ROOT_BRENT }
| Root finding method. More...
typedef std::function< dcomplex(dcomplex)> | function_type

## Public Member Functions
| RootDigger (Solver &solver, const function_type &val_fun, DataLog< dcomplex, dcomplex > &log_value, const Params &pars)
virtual | ~RootDigger ()
virtual dcomplex | find (dcomplex start) const =0
| Search for a single zero starting from the given point.

## Static Public Member Functions
static std::unique_ptr< RootDigger > | get (Solver *solver, const function_type &func, DataLog< dcomplex, dcomplex > &detlog, const Params &params)
| Get root digger for given function and params.
static void | readRootDiggerConfig (XMLReader &reader, Params &params)
| Read configuration from xml.

## Public Attributes
Params | params

## Protected Member Functions
dcomplex | valFunction (dcomplex x) const

## Protected Attributes
Solver & | solver
function_type | val_function
DataLog< dcomplex, dcomplex > & | log_value

## Detailed Description

Definition at line 22 of file rootdigger.hpp.

## Member Typedef Documentation

## ◆ function_type

typedef std::function<dcomplex(dcomplex)> plask::optical::effective::RootDigger::function_type

Definition at line 24 of file rootdigger.hpp.

## Member Enumeration Documentation

## ◆ Method

enum plask::optical::effective::RootDigger::Method

Root finding method.

Enumerator
ROOT_MULLER |
ROOT_BROYDEN |
ROOT_BRENT |

Definition at line 27 of file rootdigger.hpp.

## Constructor & Destructor Documentation

## ◆ RootDigger()

plask::optical::effective::RootDigger::RootDigger | ( | Solver & | solver,
|  | const function_type & | val_fun,
|  | DataLog< dcomplex, dcomplex > & | log_value,
|  | const Params & | pars
| ) |  |
| inline

Definition at line 85 of file rootdigger.hpp.

## ◆ ~RootDigger()

virtual plask::optical::effective::RootDigger::~RootDigger | ( |  | ) |
| inline virtual

Definition at line 93 of file rootdigger.hpp.

## Member Function Documentation

## ◆ find()

virtual dcomplex plask::optical::effective::RootDigger::find | ( | dcomplex | start | ) | const
| pure virtual

Search for a single zero starting from the given point.

Parameters

  start | initial point to start search from

Returns
  found solution

Implemented in plask::optical::effective::RootBrent, plask::optical::effective::RootBroyden, and plask::optical::effective::RootMuller.

## ◆ get()

std::unique_ptr< RootDigger > plask::optical::effective::RootDigger::get | ( | Solver * | solver,
|  | const function_type & | func,
|  | DataLog< dcomplex, dcomplex > & | detlog,
|  | const Params & | params
| ) |  |
| static

Get root digger for given function and params.

Parameters

  func | function to find zero of
  detlog | output logger
  params | rootdigger params

Returns
  unique pointer to rootdigger

Definition at line 21 of file rootdigger.cpp.

## ◆ readRootDiggerConfig()

void plask::optical::effective::RootDigger::readRootDiggerConfig | ( | XMLReader & | reader,
|  | Params & | params
| ) |  |
| static

Read configuration from xml.

Definition at line 30 of file rootdigger.cpp.

## ◆ valFunction()

dcomplex plask::optical::effective::RootDigger::valFunction | ( | dcomplex | x | ) | const
| inline protected

Definition at line 70 of file rootdigger.hpp.

## Member Data Documentation

## ◆ log_value

DataLog<dcomplex,dcomplex>& plask::optical::effective::RootDigger::log_value
| protected

Definition at line 68 of file rootdigger.hpp.

## ◆ params

Params plask::optical::effective::RootDigger::params

Definition at line 82 of file rootdigger.hpp.

## ◆ solver

Solver& plask::optical::effective::RootDigger::solver
| protected

Definition at line 62 of file rootdigger.hpp.

## ◆ val_function

function_type plask::optical::effective::RootDigger::val_function
| protected

Definition at line 65 of file rootdigger.hpp.

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

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