Programming Reference for VirtualLab Fusion  2022.1
Static Public Member Functions | List of all members
SpecialFunctions Class Reference

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class containing special (named) functions like the Laguerre, Bessel, Legendre, ... functions. The methods are just static methods, they are not derived from BaseFunction class. More...

Static Public Member Functions

static VectorD ConvertToEllipticalCoordinatesForIncePolynomials (VectorD rhoC, double f)
 Transformation of coordinate system, from Cartesian to Elliptic More...
 
static DoubleComplexVector EvenInceCoefficient (int p, int m, double ellipticity)
 Calculation of Coefficient Series of the Even Ince Polynomials (Cpm) More...
 
static Complex FirstKindBesselFunction (double n, Complex z)
 Calculates the Bessel function of the first kind. More...
 
static Complex FirstKindHankelFunction (double order, Complex coordinate)
 Calculates the Hankel function of the first kind. More...
 
static double FirstKindSphericalBesselDerivative (int order, Complex coordinate)
 Calculates the derivative of the Bessel function of the first kind. More...
 
static Complex FirstKindSphericalBesselFunction (int order, Complex coordinate)
 Calculates the Bessel function of the first kind for spherical coordinates. More...
 
static Complex FirstKindSphericalHankelDerivative (Complex coordinate, int order)
 Calculates the derivative of the Hankel function of the first kind. More...
 
static Complex FirstKindSphericalHankelFunction (int order, Complex coordinate)
 Calculates the Hankel function of the first kind for spherical coordinates. More...
 
static double HermitePolynomial (int order, double position)
 Calculates the Hermite Polynomial of order m at position x. More...
 
static Complex IncePoly (int p, Complex eta, DoubleComplexVector Coef, bool evenPolynomial)
 Calculation of Ince Polynomials on one point More...
 
static double LaguerrePolynomial (int p, int l, double x)
 Calculates the Laguerre Polynomial. More...
 
static double LegendrePolynomial0 (int order, double coordinate)
 Method to calculate the first kind Legendre polynomial More...
 
static double LegendrePolynomial1 (int order, double coordinate)
 Method to calculate the second kind Legendre polynomial More...
 
static double LegendrePolynomial2 (int order, double coordinate)
 Method to calculate the third kind Legendre polynomial More...
 
static DoubleComplexVector OddInceCoefficient (int p, int m, double ellipticity)
 Calculation of Coefficient Series of the Odd Ince Polynomials (Spm) More...
 
static Complex SecondKindBesselFunction (double n, Complex z)
 Calculates the Bessel function of the second kind. More...
 
static Complex SecondKindSphericalBesselFunction (int order, Complex coordinate)
 Calculates the Bessel function of the second kind for spherical coordinates. More...
 
static void SetTruncationFactorBessel (double truncationAccuracy)
 Sets the truncation factor for truncated calculation of Bessel functions. More...
 

Detailed Description

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class containing special (named) functions like the Laguerre, Bessel, Legendre, ... functions. The methods are just static methods, they are not derived from BaseFunction class.

Member Function Documentation

◆ ConvertToEllipticalCoordinatesForIncePolynomials()

static VectorD ConvertToEllipticalCoordinatesForIncePolynomials ( VectorD  rhoC,
double  f 
)
static

Transformation of coordinate system, from Cartesian to Elliptic

Parameters
rhoCVectorD, position vector in Cartesian CS, rhoC = (x, y)
fdouble, semi-focal separation at the waist plane of the Ince Gaussian beam
Returns
VectorD, position vector in Elliptic CS, rhoE = (xi, eta)

◆ EvenInceCoefficient()

static DoubleComplexVector EvenInceCoefficient ( int  p,
int  m,
double  ellipticity 
)
static

Calculation of Coefficient Series of the Even Ince Polynomials (Cpm)

Parameters
pint, order of the Ince Gaussian beam
mint, degree of the Ince Gaussian beam, m and p must have same parity
ellipticityellipticity parameter
Returns
DoubleComplexVector, coefficient series - A()

◆ FirstKindBesselFunction()

static Complex FirstKindBesselFunction ( double  n,
Complex  z 
)
static

Calculates the Bessel function of the first kind.

Parameters
nThe order (half-integer) to evaluate.
zThe argument of the Bessel Function
Returns
The value of the Bessel function for the given input parameters.

◆ FirstKindHankelFunction()

static Complex FirstKindHankelFunction ( double  order,
Complex  coordinate 
)
static

Calculates the Hankel function of the first kind.

Parameters
orderThe order (non-integer) to evaluate.
coordinateThe argument of the Hankel Function
Returns
The value of the Hankel function for the given input parameters.

◆ FirstKindSphericalBesselDerivative()

static double FirstKindSphericalBesselDerivative ( int  order,
Complex  coordinate 
)
static

Calculates the derivative of the Bessel function of the first kind.

Parameters
orderThe order to evaluate.
coordinateThe argument of the Bessel Function
Returns
The derivative of the Bessel function for the given input parameters.

◆ FirstKindSphericalBesselFunction()

static Complex FirstKindSphericalBesselFunction ( int  order,
Complex  coordinate 
)
static

Calculates the Bessel function of the first kind for spherical coordinates.

Parameters
orderThe order to evaluate.
coordinateThe argument of the Bessel Function in spherical coordinates.
Returns
The value of the Bessel function for the given input parameters.

◆ FirstKindSphericalHankelDerivative()

static Complex FirstKindSphericalHankelDerivative ( Complex  coordinate,
int  order 
)
static

Calculates the derivative of the Hankel function of the first kind.

Parameters
orderThe order to evaluate.
coordinateThe argument of the Hankel Function
Returns
The derivative of the Hankel function for the given input parameters.

◆ FirstKindSphericalHankelFunction()

static Complex FirstKindSphericalHankelFunction ( int  order,
Complex  coordinate 
)
static

Calculates the Hankel function of the first kind for spherical coordinates.

Parameters
orderThe order to evaluate.
coordinateThe argument of the Hankel Function in spherical coordinates.
Returns
The value of the Hankel function for the given input parameters.

◆ HermitePolynomial()

static double HermitePolynomial ( int  order,
double  position 
)
static

Calculates the Hermite Polynomial of order m at position x.

Parameters
orderThe order of the polynomial to evaluate.
positionthe coordinate to evaluate.
Returns
The value of the Hermite polynomial for the given input parameters.

◆ IncePoly()

static Complex IncePoly ( int  p,
Complex  eta,
DoubleComplexVector  Coef,
bool  evenPolynomial 
)
static

Calculation of Ince Polynomials on one point

Parameters
pint, order of the Ince Gaussian beam
etadouble, angular elliptic position variable
evenPolynomialWhether even Ince polynomials (true) are used, or odd Ince polynomials (false).
CoefDoubleComplexVector, coefficient series of Ince polynomials
Returns
DoubleComplexVector, coefficient series - A()

◆ LaguerrePolynomial()

static double LaguerrePolynomial ( int  p,
int  l,
double  x 
)
static

Calculates the Laguerre Polynomial.

Parameters
pThe radial order.
lThe angular order.
xthe coordinate to evaluate.
Returns
The value of the Laguerre polynomial for the given input parameters.

◆ LegendrePolynomial0()

static double LegendrePolynomial0 ( int  order,
double  coordinate 
)
static

Method to calculate the first kind Legendre polynomial

Parameters
orderthe order of the polynomial to evaluate
coordinatethe coordinate to evaluate
Returns
The value of the Legendre polynomial for the given input parameters.

◆ LegendrePolynomial1()

static double LegendrePolynomial1 ( int  order,
double  coordinate 
)
static

Method to calculate the second kind Legendre polynomial

Parameters
orderthe order of the polynomial to evaluate
coordinatethe coordinate to evaluate
Returns
the value of the Legendre polynomial for the given input parameters

◆ LegendrePolynomial2()

static double LegendrePolynomial2 ( int  order,
double  coordinate 
)
static

Method to calculate the third kind Legendre polynomial

Parameters
orderthe order of the polynomial to evaluate
coordinatethe coordinate to evaluate
Returns
the value of the Legendre polynomial for the given input parameters

◆ OddInceCoefficient()

static DoubleComplexVector OddInceCoefficient ( int  p,
int  m,
double  ellipticity 
)
static

Calculation of Coefficient Series of the Odd Ince Polynomials (Spm)

Parameters
porder of the Ince Gaussian beam
mdegree of the Ince Gaussian beam, m and p must have same parity
ellipticityellipticity parameter
Returns
DoubleComplexVector, coefficient series - B()

◆ SecondKindBesselFunction()

static Complex SecondKindBesselFunction ( double  n,
Complex  z 
)
static

Calculates the Bessel function of the second kind.

Parameters
nThe order (half-integer) to evaluate.
zThe argument of the Bessel Function
Returns
The value of the Bessel function for the given input parameters.

◆ SecondKindSphericalBesselFunction()

static Complex SecondKindSphericalBesselFunction ( int  order,
Complex  coordinate 
)
static

Calculates the Bessel function of the second kind for spherical coordinates.

Parameters
orderThe order to evaluate.
coordinateThe argument of the Bessel Function in spherical coordinates.
Returns
The value of the Bessel function for the given input parameters.

◆ SetTruncationFactorBessel()

static void SetTruncationFactorBessel ( double  truncationAccuracy)
static

Sets the truncation factor for truncated calculation of Bessel functions.

Parameters
truncationAccuracyThe truncation accuracy \(a\). For that the truncation factor \(f = 10^{-a}\) is calculated.