OEHermiteOptions

class OEHermiteOptions

This is an option class for the OEHermite class. It allows the user to input the level of Hermite expansion (NPolyMax), the parameters \(\lambda_x, \lambda_y, \lambda_z\) and whether or not the latter need to be optimized inside the OEHermite class.

Constructors

OEHermiteOptions()
OEHermiteOptions(const OEHermiteOptions &)

This class has a default constructor and a copy constructor. The default constructor assumes the following parameters NPolyMax = 4, \(\,\lambda_{x,y,z} = 1.0\,\), UseOptimalLambdas = True. The copy constructor as expected copies the option class into the new class.

operator=

OEHermiteOptions &operator=(const OEHermiteOptions &)

The assignment operator allows for copying an option class into another option class using the equal sign.

GetLambdaX

double GetLambdaX() const

Returns the value of \(\lambda_x\) parameter.

GetLambdaY

double GetLambdaY() const

Returns the value of \(\lambda_y\) parameter.

GetLambdaZ

double GetLambdaZ() const

Returns the value of \(\lambda_z\) parameter.

GetNPolyMax

unsigned int GetNPolyMax() const

Returns the value of NPolyMax parameter, which controls the level of Hermite expansion. In particular the lowest value 0 corresponds to a very inaccurate expansion, approximating the entire molecule by a single Gaussian, while the largest currently allowed value is equal to 30, which corresponds to a list of 5456 Hermite coefficients \(\,f_{l,m,n}\). In the limit NPolyMax \(\rightarrow \infty\) we obtain exact equivalence of the Hermite expansion to the Gaussian representation of the molecule.

GetUseOptimalLambdas

bool GetUseOptimalLambdas() const

This method returns the value of the parameter UseOptimalLambdas. When this parameter is True, inside the Setup method, when it is passed a molecule an optimization of \(\,\lambda_{x,y,z}\,\) parameters will be performed via maximizing the self-overlap of the molecule at a given resolution of the Hermite expansion. Please note, that even in the case when UseOptimalLambdas is set to False, if the value of NPolyMax is high enough the Hermite expansion will converge to the Gaussian shape. However in practice at a given low resolution of Hermite expansion it is essential to use the optimal \(\,\lambda_{x,y,z}\,\) parameters for faster convergence.

Alternatively when UseOptimalLambdas is False, the current values of the \(\,\lambda_{x,y,z}\,\) parameters will be used inside the Setup method, without optimization.

SetLambdaX

void SetLambdaX(double)

Sets the value of \(\lambda_x\) parameter. Default value is 1.0.

SetLambdaY

void SetLambdaY(double)

Sets the value of \(\lambda_y\) parameter. Default value is 1.0.

SetLambdaZ

void SetLambdaZ(double)

Sets the value of \(\lambda_z\) parameter. Default value is 1.0.

SetNPolyMax

void SetNPolyMax(unsigned int)

Sets the value of NPolyMax parameter. Default value is 4.

SetUseOptimalLambdas

void SetUseOptimalLambdas(bool)

Sets the value of UseOptimalLambdas parameter. Default value is True.