STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::namelist::PPPMControls Class Reference

Object to encapsulate electrostatic and Lennard-Jones particle-mesh interaction controls. 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_pppm.h>

Public Member Functions

NonbondedTheme getTheme () const
 Get the non-bonded potential theme.
 
int getInterpolationOrder () const
 Get the interpolation order.
 
double getEwaldCoefficient () const
 Get the Ewald coefficient.
 
double getGaussianWidth () const
 Get the Gaussian particle density spreading sigma.
 
double getCutoff () const
 Get the particle-particle interaction cutoff.
 
double getDirectSumTolerance () const
 Get the direct sum tolerance.
 
int getMeshSubdivisions () const
 Get the number of particle-mesh interaction grid ticks per spatial decomposition cell.
 
PMIStrategy getStrategy () const
 Get the strategy for choosing particle-mesh interaction grid parameters. This is not passed along to other objects, and is reported for purposes of interrogating the contents of an object of this class.
 
VdwSumMethod getVdwSummation () const
 Get the method for computing van-der Waals interactions between particles.
 
void setInterpolationOrder (int order_in)
 Set the interpolation order.
 
void setEwaldCoefficient (double ewald_coefficient_in)
 Set the Ewald coefficient.
 
void setGaussianWidth (double spread_in)
 Set the Gaussian particle density spreading sigma.
 
void setCutoff (double cutoff_in)
 Set the particle-particle interaction cutoff.
 
void setDirectSumTolerance (double dsum_tol_in)
 Set the direct sum tolerance.
 
void setMeshSubdivisions (int mesh_ticks_in)
 Set the number of particle-interaction grid elements per spatial decomposition cell.
 
void applyStrategy ()
 Apply the current strategy, to the extent possible, for filling in missing parameters from the &pppm namelist in the interest of obtaining a particular level of accuracy.
 
 PPPMControls (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.
 
 PPPMControls (const TextFile &tf, int *start_line, bool *found_nml, ExceptionResponse policy_in=ExceptionResponse::DIE, WrapTextSearch wrap=WrapTextSearch::NO)
 
 PPPMControls (const PPPMControls &original)=default
 As with other control objects, copy and move constructors, plus copy and move assignment operators, can all take their default forms.
 
 PPPMControls (PPPMControls &&original)=default
 
PPPMControlsoperator= (const PPPMControls &original)=default
 
PPPMControlsoperator= (PPPMControls &&original)=default
 
void setTheme (NonbondedTheme theme_in)
 Set the non-bonded potential type.
 
void setTheme (const std::string &theme_in)
 
void setStrategy (PMIStrategy strat_in)
 Set the strategy for determining various parameters of the particle-mesh interaction grid. Overloading follows from other keywords which control an enumeration setting.
 
void setStrategy (const std::string &strat_in)
 
void setVdwSummation (const std::string &vdw_method_in)
 Set the strategy for evaluating the tails of van-der Waals (Lennard-Jones) interactions.
 
void setVdwSummation (const VdwSumMethod vdw_method_in)
 

Detailed Description

Object to encapsulate electrostatic and Lennard-Jones particle-mesh interaction controls. 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

◆ PPPMControls()

stormm::namelist::PPPMControls::PPPMControls ( 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 that the namelist was found (passed back to calling function)
policy_inRequested error handling behavior
wrapIndicate that the search for a &random 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

◆ setEwaldCoefficient()

void stormm::namelist::PPPMControls::setEwaldCoefficient ( double ewald_coefficient_in)

Set the Ewald coefficient.

Parameters
ewald_coefficient_inThe value a in, for example, the expression erf(a * r) / r

◆ setInterpolationOrder()

void stormm::namelist::PPPMControls::setInterpolationOrder ( int order_in)

Set the interpolation order.

Parameters
order_inThe interpoation order to set

◆ setStrategy()

void stormm::namelist::PPPMControls::setStrategy ( PMIStrategy strat_in)

Set the strategy for determining various parameters of the particle-mesh interaction grid. Overloading follows from other keywords which control an enumeration setting.

Parameters
strat_inRough description of the accuracy level sought in non-bonded calculations

◆ setTheme()

void stormm::namelist::PPPMControls::setTheme ( NonbondedTheme theme_in)

Set the non-bonded potential type.

Overloaded:

  • Set the theme based on an explicit enumeration
  • Set the theme based on a human-intepretable, or user-written, keyword string
Parameters
theme_inThe theme to apply

◆ setVdwSummation()

void stormm::namelist::PPPMControls::setVdwSummation ( const std::string & vdw_method_in)

Set the strategy for evaluating the tails of van-der Waals (Lennard-Jones) interactions.

Overloaded:

  • Provide a keyword that indicates some value of the enumerator
  • Provide a value of the enumerator itself
Parameters
vdw_method_inThe input determining how van-der Waals interactions will vanish

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