STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::mm::PrecisionControls Class Reference

Object to encapsulate energy precision control information. Like other namelist encapsualtors, this object can take input file data as part of its construction, or by a series of setters. Validation of each piece of data is handled as it appears either in the contructor or via setters. Getter functions dispense the internal information to any application using STORMM libraries. More...

#include <nml_precision.h>

Public Member Functions

int getGlobalPosScalingBits () const
 Get the global position fixed-precision bits.
 
int getLocalPosScalingBits () const
 Get the local position fixed-precision bits.
 
int getVelocityScalingBits () const
 Get the velocity fixed-precision bits.
 
int getForceScalingBits () const
 Get the force accumulation fixed-precision bits.
 
int getEnergyScalingBits () const
 Get the energy accumulation fixed-precision bits.
 
int getChargeMeshScalingBits () const
 Get the PME charge accumulation fixed-precision bits.
 
double getBondConstraintTolerance () const
 Get the SHAKE / RATTLE convergence tolerance.
 
PrecisionModel getValenceMethod () const
 Get the precision level for valence computations.
 
PrecisionModel getNonbondedMethod () const
 Get the precision level for short-ranged, non-bonded computations.
 
PrecisionModel getParticleMeshEwaldMethod () const
 Get the precision level for Particle-Mesh Ewald computations.
 
const NamelistEmulator & getTranscript () const
 Get the original namelist emulator object as a transcript of the user input.
 
void setGlobalPosScalingBits (int bitval)
 Set the global position fixed-precision bits.
 
void setLocalPosScalingBits (int bitval)
 Set the local position fixed-precision bits.
 
void setVelocityScalingBits (int bitval)
 Set the fixed-precision velocity scaling bits.
 
void setForceScalingBits (int bitval)
 Set the fixed-precision force accumulation bits.
 
void setEnergyScalingBits (int bitval)
 Set the fixed-precision energy accumulation bits.
 
void setChargeMeshScalingBits (int bitval)
 Set the fixed-precision charge mesh accumulation bits.
 
void setBondConstraintTolerance (double tol)
 Set the bond constraint convergence tolerance.
 
void setValenceMethod (PrecisionModel pmodel)
 Set the precision model to use in valence term computations.
 
void setNonbondedMethod (PrecisionModel pmodel)
 Set the precision model to use in non-bonded short-ranged pair computations.
 
void setParticleMeshEwaldMethod (PrecisionModel pmodel)
 Set the precision model to use in Particle Mesh Ewald (charge density accumulation, Fast Fourier Transforms, convolution, and force interpolation) computations.
 
 PrecisionControls (ExceptionResponse policy_in=ExceptionResponse::DIE, WrapTextSearch wrap=WrapTextSearch::NO)
 The constructor can prepare an object with default settings or read the corresponding namelist to accept user input.
 
 PrecisionControls (const TextFile &tf, int *start_line, bool *found_nml, ExceptionResponse policy_in=ExceptionResponse::DIE, WrapTextSearch wrap=WrapTextSearch::NO)
 
 PrecisionControls (const PrecisionControls &original)=default
 As with other control objects, copy and move constructors, plus copy and move assignment operators, can all take their default forms.
 
 PrecisionControls (PrecisionControls &&original)=default
 
PrecisionControlsoperator= (const PrecisionControls &original)=default
 
PrecisionControlsoperator= (PrecisionControls &&original)=default
 

Detailed Description

Object to encapsulate energy precision control information. Like other namelist encapsualtors, this object can take input file data as part of its construction, or by a series of setters. Validation of each piece of data is handled as it appears either in the contructor or via setters. Getter functions dispense the internal information to any application using STORMM libraries.

Constructor & Destructor Documentation

◆ PrecisionControls()

stormm::namelist::PrecisionControls::PrecisionControls ( ExceptionResponse policy_in = ExceptionResponse::DIE,
WrapTextSearch wrap = WrapTextSearch::NO )

The constructor can prepare an object with default settings or read the corresponding namelist to accept user input.

Parameters
tfInput file translated into RAM
start_lineLine of the input file to begin searching for the &solvent namelist
found_nmlIndication of whether the namelist was found in the input file
policy_inRequested error handling behavior
wrapIndicate that the search for a &conformer namelist should carry on from the beginning of an input file if no such namelist is found starting from the original starting point

Member Function Documentation

◆ setBondConstraintTolerance()

void stormm::namelist::PrecisionControls::setBondConstraintTolerance ( double tol)

Set the bond constraint convergence tolerance.

param tol The tolerance to which SHAKE- or RATTLE-constrained bonds must agree with their equilibrium lengths

◆ setChargeMeshScalingBits()

void stormm::namelist::PrecisionControls::setChargeMeshScalingBits ( int bitval)

Set the fixed-precision charge mesh accumulation bits.

Parameters
bitvalThe number of bits after the decimal (will be checked for validity in light of hard-coded limits and charge mesh filling methods)

◆ setEnergyScalingBits()

void stormm::namelist::PrecisionControls::setEnergyScalingBits ( int bitval)

Set the fixed-precision energy accumulation bits.

Parameters
bitvalThe number of bits after the decimal (will be checked for validity in light of hard-coded limits)

◆ setForceScalingBits()

void stormm::namelist::PrecisionControls::setForceScalingBits ( int bitval)

Set the fixed-precision force accumulation bits.

Parameters
bitvalThe number of bits after the decimal (will be checked for validity in light of hard-coded limits)

◆ setGlobalPosScalingBits()

void stormm::namelist::PrecisionControls::setGlobalPosScalingBits ( int bitval)

Set the global position fixed-precision bits.

Parameters
bitvalThe number of bits after the decimal (will be checked for validity in light of hard-coded limits)

◆ setLocalPosScalingBits()

void stormm::namelist::PrecisionControls::setLocalPosScalingBits ( int bitval)

Set the local position fixed-precision bits.

Parameters
bitvalThe number of bits after the decimal (will be checked for validity in light of hard-coded limits)

◆ setNonbondedMethod()

void stormm::namelist::PrecisionControls::setNonbondedMethod ( PrecisionModel pmodel)

Set the precision model to use in non-bonded short-ranged pair computations.

param pmodel The requested precision model

◆ setParticleMeshEwaldMethod()

void stormm::namelist::PrecisionControls::setParticleMeshEwaldMethod ( PrecisionModel pmodel)

Set the precision model to use in Particle Mesh Ewald (charge density accumulation, Fast Fourier Transforms, convolution, and force interpolation) computations.

param pmodel The requested precision model

◆ setValenceMethod()

void stormm::namelist::PrecisionControls::setValenceMethod ( PrecisionModel pmodel)

Set the precision model to use in valence term computations.

param pmodel The requested precision model

◆ setVelocityScalingBits()

void stormm::namelist::PrecisionControls::setVelocityScalingBits ( int bitval)

Set the fixed-precision velocity scaling bits.

Parameters
bitvalThe number of bits after the decimal (will be checked for validity in light of hard-coded limits)

The documentation for this class was generated from the following files: