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

Encapsulate the data extracted from a &receptor namelist to define a grid-mapped representation of a rigid macromolecular structure. More...

#include <nml_mesh.h>

Public Member Functions

double getAlpha () const
 Get the mesh alpha angle, between the b and c unit cell axes. The value is returned in units of radians.
 
double getBeta () const
 Get the mesh beta angle, between the a and c unit cell axes, in units of radians.
 
double getGamma () const
 Get the mesh gamma angle, between the a and b unit cell axes, in units of radians.
 
double getOrigin (CartesianDimension dim) const
 Get the origin of the mesh in one Cartesian dimension.
 
GridDetail getDetail () const
 Get the type of content (potential energy field) that the mesh will represent. In general, programs that use meshes will have specific applications for them, and therefore have a concept of what their content should be. This keyword will often be specified to associate its parameters with one of the meshes that a given program intends to make, e.g. "the dimensions in this namelist apply to the clash grid, whereas the electrostatic non-bonded field uses parameters specified in a separate &mesh namelist.".
 
NonbondedPotential getPotential () const
 Get the type of potential to be expressed on the mesh. This complements the getContent() function and its associated "kind" keyword to specify a particular non-bonded potential in situations where programs utilize separate meshes for electrostatics and van-der Waals potentials.
 
BoundaryCondition getBoundaries () const
 Get the boundary conditions of the mesh.
 
MeshPosition getPosition () const
 Get the manner in which the mesh is aligned to the rigid molecule it represents.
 
int getScalingBits () const
 Get the number of bits after the decimal to be used in composing the mesh-based field as well as the positions of its vertices.
 
double getElecClashDistance () const
 Get the switching range for softcore electrostatic potentials. This will only apply to meshes representing an electrostatic potential.
 
double getVdwClashRatio () const
 Get the switching ratio for softcore van-der Waals potentials. This will only apply to meshes representing a Lennard-Jones (or, perhaps other) van-der Waals potential.
 
const NamelistEmulatorgetTranscript () const
 Get the original namelist emulator object as a transcript of the user input.
 
void setAlphaAngle (double alpha_in)
 Set the mesh alpha angle.
 
void setBetaAngle (double beta_in)
 Set the mesh beta angle.
 
void setGammaAngle (double gamma_in)
 Set the mesh gamma angle.
 
void setOrigin (double mesh_origin_in, CartesianDimension dim)
 Set the mesh origin along one Cartesian axis.
 
void setScalingBits (int mesh_scaling_bits_in)
 Set the number of bits after the decimal to be used in mesh calculations.
 
void setElecClashDistance (double clash_distance_in)
 Set the electrostatic clash distance.
 
void setVdwClashRatio (double clash_ratio_in)
 Set the van-der Waals clash ratio.
 
 MeshControls (ExceptionResponse policy_in=ExceptionResponse::DIE)
 The constructor can prepare an object with default settings or read the corresponding namelist to accept user input.
 
 MeshControls (const TextFile &tf, int *start_line, bool *found_nml, ExceptionResponse policy_in=ExceptionResponse::DIE, WrapTextSearch wrap=WrapTextSearch::NO)
 
 MeshControls (const MeshControls &original)=default
 As with other control objects, copy and move constructors, plus copy and move assignment operators, can all take their default forms.
 
 MeshControls (MeshControls &&original)=default
 
MeshControlsoperator= (const MeshControls &original)=default
 
MeshControlsoperator= (MeshControls &&original)=default
 
int getAxisElementCount (UnitCellAxis dim) const
 Get the number of grid points in a particular dimension. This can serve to query a particular piece of information without invoking the more complex but comprehensive MeshParameters object.
 
int getAxisElementCount (CartesianDimension dim) const
 
double getSpacing (UnitCellAxis dim) const
 Get the mesh spacing along a particular axis. Overloads and input parameters to this function follow from getAxisElementCount() above.
 
double getSpacing (CartesianDimension dim) const
 
double getBufferWidth (UnitCellAxis dim) const
 Get buffer widths between mesh boundaries and the receptor structure or structures.
 
double getBufferWidth (CartesianDimension dim) const
 
void setElementCount (int mesh_points_in, UnitCellAxis dim)
 Set the number of mesh points along a particular axis.
 
void setElementCount (int mesh_points_in, CartesianDimension dim)
 
void setSpacing (double mesh_spacing_in, UnitCellAxis dim)
 Set the mesh spacing along a particular axis. Overloading of this function follows from setElementCount() above.
 
void setSpacing (double mesh_spacing_in, CartesianDimension dim)
 
void setBufferWidth (double buffer_width_in)
 Set the buffer distance between the mesh boundary and the nearest van-der Waals sphere.
 
void setBufferWidth (double buffer_width_in, UnitCellAxis dim)
 
void setBufferWidth (double buffer_width_in, CartesianDimension dim)
 
void setDetail (const std::string &kind_in)
 Set the type of mesh that this namelist will be assumed to describe.
 
void setDetail (GridDetail kind_in)
 
void setPotential (const std::string &potential_in)
 Set the potential energy field that the mesh will represent.
 
void setPotential (NonbondedPotential potential_in)
 
void setBoundaries (const std::string &boundaries_in)
 Set the boundary conditions for the mesh. Overloading in this function follows from setPotential() above.
 
void setBoundaries (BoundaryCondition boundaries_in)
 

Detailed Description

Encapsulate the data extracted from a &receptor namelist to define a grid-mapped representation of a rigid macromolecular structure.

Constructor & Destructor Documentation

◆ MeshControls()

stormm::namelist::MeshControls::MeshControls ( ExceptionResponse policy_in = ExceptionResponse::DIE)

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

◆ getAxisElementCount()

int stormm::namelist::MeshControls::getAxisElementCount ( UnitCellAxis dim) const

Get the number of grid points in a particular dimension. This can serve to query a particular piece of information without invoking the more complex but comprehensive MeshParameters object.

Overloaded:

  • Technically more correct, specify the unit cell axis
  • Specify the axis by analogy to Cartesian axes (X -> a, Y -> b, Z -> c)
Parameters
dimThe axis along which to measure the number of mesh points

◆ getBufferWidth()

double stormm::namelist::MeshControls::getBufferWidth ( UnitCellAxis dim) const

Get buffer widths between mesh boundaries and the receptor structure or structures.

Overloaded:

  • Technically more correct, specify the unit cell axis
  • Specify the axis by analogy to Cartesian axes (X -> a, Y -> b, Z -> c)
Parameters
dimThe Cartesian or unit cell axis normal to the face of interest (along which the width is relevant)

◆ setAlphaAngle()

void stormm::namelist::MeshControls::setAlphaAngle ( double alpha_in)

Set the mesh alpha angle.

Parameters
alpha_inThe angle to set, in units of radians.

◆ setBetaAngle()

void stormm::namelist::MeshControls::setBetaAngle ( double beta_in)

Set the mesh beta angle.

Parameters
beta_inThe angle to set, in units of radians.

◆ setBoundaries()

void stormm::namelist::MeshControls::setBoundaries ( const std::string & boundaries_in)

Set the boundary conditions for the mesh. Overloading in this function follows from setPotential() above.

Parameters
boundaries_inThe chosen boundary conditions

◆ setBufferWidth()

void stormm::namelist::MeshControls::setBufferWidth ( double buffer_width_in)

Set the buffer distance between the mesh boundary and the nearest van-der Waals sphere.

Overloaded:

  • Set a single parameter for all three unit cell or Cartesian axes
  • Set separate parameters for secific unit cell or Cartesian axes
Parameters
buffer_width_inThe buffer width to set, in units of Angstroms
dimThe unit cell or Cartesian axis normal to the face of interest

◆ setDetail()

void stormm::namelist::MeshControls::setDetail ( const std::string & kind_in)

Set the type of mesh that this namelist will be assumed to describe.

Overloaded:

  • Provide the enumerated value explicitly
  • Translate a string into the appropriate enumeration
Parameters
kind_inThe type of energetic field

◆ setElecClashDistance()

void stormm::namelist::MeshControls::setElecClashDistance ( double clash_distance_in)

Set the electrostatic clash distance.

Parameters
clash_distance_inThe point at which electrostatic interactions switch over to a softcore potential (inverted parabola, with a maximum at r = -1.0)

◆ setElementCount()

void stormm::namelist::MeshControls::setElementCount ( int mesh_points_in,
UnitCellAxis dim )

Set the number of mesh points along a particular axis.

Overloaded:

  • Technically more correct, specify the unit cell axis
  • Specify the axis by analogy to Cartesian axes (X -> a, Y -> b, Z -> c)
Parameters
mesh_points_inThe desired number of mesh points
dimThe unit cell axis in question

◆ setGammaAngle()

void stormm::namelist::MeshControls::setGammaAngle ( double gamma_in)

Set the mesh gamma angle.

Parameters
gamma_inThe angle to set, in units of radians.

◆ setOrigin()

void stormm::namelist::MeshControls::setOrigin ( double mesh_origin_in,
CartesianDimension dim )

Set the mesh origin along one Cartesian axis.

Parameters
mesh_origin_inThe desired mesh origin coordinate
dimThe Cartesian axis of interest

◆ setPotential()

void stormm::namelist::MeshControls::setPotential ( const std::string & potential_in)

Set the potential energy field that the mesh will represent.

Overloaded:

  • Provide the enumerated value explicitly
  • Translate a string into the appropriate enumeration
Parameters
potential_inThe type of energetic field

◆ setScalingBits()

void stormm::namelist::MeshControls::setScalingBits ( int mesh_scaling_bits_in)

Set the number of bits after the decimal to be used in mesh calculations.

Parameters
scaling_bits_inThe bit count

◆ setSpacing()

void stormm::namelist::MeshControls::setSpacing ( double mesh_spacing_in,
UnitCellAxis dim )

Set the mesh spacing along a particular axis. Overloading of this function follows from setElementCount() above.

Parameters
mesh_spacing_inThe desired distance between mesh points, in Angstroms
dimThe unit cell axis in question

◆ setVdwClashRatio()

void stormm::namelist::MeshControls::setVdwClashRatio ( double clash_ratio_in)

Set the van-der Waals clash ratio.

Parameters
clash_ratio_inThe proportion of the van-der Waals (Lennard-Jones) sigma parameter at which interactions for a given pair switch over to a softcore potential (inverted quartic function, with a maximum at r = -1.0)

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