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.
See also
OEHermite class
OEHermiteShapeFunc class
Shape from Hermite expansion examples
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.
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.