PLaSK library
Loading...
Searching...
No Matches
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< RootDiggerget (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

Solversolver
 
function_type val_function
 
DataLog< dcomplex, dcomplex > & log_value
 

Detailed Description

Definition at line 22 of file rootdigger.hpp.

Member Typedef Documentation

◆ function_type

Definition at line 24 of file rootdigger.hpp.

Member Enumeration Documentation

◆ 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 ( )
inlinevirtual

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
startinitial 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
funcfunction to find zero of
detlogoutput logger
paramsrootdigger 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
inlineprotected

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: