Class xlifepp::Malyuzhinets#

class Malyuzhinets#

Collaboration diagram for xlifepp::Malyuzhinets:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "5" [label="std::map< string_t, number_t >" tooltip="std::map< string_t, number_t >"] "6" [label="std::map< K, T >" tooltip="std::map< K, T >"] "4" [label="std::vector< T >" tooltip="std::vector< T >"] "7" [label="std::vector< real_t >" tooltip="std::vector< real_t >"] "3" [label="std::vector< xlifepp::Parameter * >" tooltip="std::vector< xlifepp::Parameter * >"] "1" [label="xlifepp::Malyuzhinets" tooltip="xlifepp::Malyuzhinets" fillcolor="#BFBFBF"] "2" [label="xlifepp::Parameters" tooltip="xlifepp::Parameters"] "5" -> "6" [dir=forward tooltip="template-instance"] "7" -> "4" [dir=forward tooltip="template-instance"] "3" -> "4" [dir=forward tooltip="template-instance"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "7" [dir=forward tooltip="usage"] "2" -> "3" [dir=forward tooltip="usage"] "2" -> "5" [dir=forward tooltip="usage"] }

describes the class providing the computation of Malyuzhinets function involved in wedge diffraction

Public Functions

Malyuzhinets(real_t wa, int_t ng = 2, CalType qr = _laguerreCal, bool adapt = true)#

constructor

complex_t compute(complex_t z) const#

compute Malyuzhinets function at a point z

compute Malyuzhinets function at points zs

std::vector<complex_t> compute(const std::vector<complex_t> &zs, bool parallel = true) const#

compute Malyuzhinets function at points zs

complex_t integral(real_t t0, real_t tf, const complex_t &z) const#

integral at z

compute Malyuzhinets function at point z

std::vector<complex_t> integral(real_t t0, real_t tf, const std::vector<complex_t> &zs) const#

integral at zs

std::vector<complex_t> integrand(const std::vector<real_t> &ts, const complex_t &z) const#

integrand at (ts,z)

complex_t integrand(real_t t, const complex_t &z) const#

integrand at (t,z)

inline complex_t operator()(complex_t z) const#

< compute Malyuzhinets function at a point z

inline std::vector<complex_t> operator()(const std::vector<complex_t> &zs, bool parallel = true) const#

< compute Malyuzhinets function at points zs

Public Members

bool adaptive#

true* if local or global adaptive quadrature must be used

real_t eps#

relative tolerance when using adaptive quadrature (default 1E-4)

mutable std::vector<real_t> lagPoints#

to store Laguerre points

mutable std::vector<real_t> lagWeights#

to store Laguerre weights

number_t ngamma#

number of Gamma function (default 2)

number_t nq#

number of quadrature points (default 32)

Parameters pars#

internal parameters

real_t Phi#

wedge angle

CalType quad#

quadrature method (_trapezeCal, _laguerreCal*,_defaultCal),

mutable complex_t z_#

current z