Object to encapsulate molecular dynamics 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...
|
int | getStepCount () const |
| Get the total number of dynamics steps.
|
|
int | getDiagnosticPrintFrequency () const |
| Get the printing frequency for energies and other state variables of the system or collection of systems.
|
|
int | getTrajectoryPrintFrequency () const |
| Get the printing frequency for trajectory snapshots.
|
|
int | getCenterOfMassMotionPurgeFrequency () const |
| Get the frequency for purging motion of the system's center of mass.
|
|
double | getTimeStep () const |
| Get the simulation time step.
|
|
double | getElectrostaticCutoff () const |
| Get the electrostatic pairwise cutoff in periodic simulations.
|
|
double | getVanDerWaalsCutoff () const |
| Get the van-der Waals pairwise cutoff in periodic simulations.
|
|
VdwSumMethod | getVdwSummation () const |
| Get the method for computing van-der Waals interactions between particles.
|
|
double | getCoulombConstant () const |
| Get the value of Coulomb's constant.
|
|
double | getElec14Screening () const |
| Get the electrostatic 1:4 screening value.
|
|
double | getVdw14Screening () const |
| Get the van-der Waals 1:4 screening value.
|
|
bool | coulombSetByUser () const |
| Report whether the value of Coulomb's constant was set explicitly or left at the default value.
|
|
bool | elec14SetByUser () const |
| Report whether the electrostatic 1:4 scaling was set explicitly or left at its default value.
|
|
bool | vdw14SetByUser () const |
| Report whether the van-der Waals 1:4 scaling was set explicitly or left at its default value.
|
|
ApplyConstraints | constrainGeometry () const |
| Indicate whether general geometric constraints (RATTLE for hub-and-spoke bonded groups, SETTLE for rigid water molecules) are to be implemented.
|
|
ApplyConstraints | useShake () const |
| Indicate whether SHAKE (and, by extension, RATTLE in the velocity-Verlet integrator) should be implemented.
|
|
ApplyConstraints | useSettle () const |
| Indicate whether SHAKE (and, by extension, RATTLE in the velocity-Verlet integrator) should be implemented.
|
|
double | getRattleTolerance () const |
| Get the RATTLE tolerance.
|
|
int | getRattleIterations () const |
| Get the maximum number of RATTLE iterations.
|
|
RattleMethod | getCpuRattleMethod () const |
| Get the CPU-based method of implementing RATTLE for multiple constrained bonds connected to one central atom. This determines the order in which the position of the central atom is updated with each iteration.
|
|
ThermostatKind | getThermostatKind () const |
| Get the thermostat kind.
|
|
int | getThermostatEvolutionStart () const |
| Get the starting step for temperature evolution from the initial temperature profile to the final temperature profile across all atoms and all systems.
|
|
int | getThermostatEvolutionEnd () const |
| Get the final step for temperature evolution from the initial temperature profile to the final temperature profile across all atoms and all systems.
|
|
int | getThermostatCacheDepth () const |
| Get the depth of the thermostat's random number cache.
|
|
int | getThermostatSeed () const |
| Get the random seed to be used in the thermostat's random number generators.
|
|
int | getThermostatLayerCount () const |
| Get the number of distinct layers to the thermostat, the number of different temperature and system groups that must be parsed (in order) that the temperature profiles at which to maintain all systems of the synthesis are to be maintained. This function also serves as a check on the consistency of array sizes: for each initial temeprature specification, there must be a final temperature specification, a label, a label index, and an atom mask (even if the latter three are "all", -1 (integer code for all), and "@=" (all atoms).
|
|
int | getAndersenFrequency () const |
| Get the frequncy of velocity reassignments for a "massive" Andersen thermostat, one in which all velocities are reassigned after a particular number of steps.
|
|
double | getLangevinFrequency () const |
| Get the Langevin collison frequency, in units of inverse femtoseconds.
|
|
PrecisionModel | getThermostatCacheConfig () const |
| Get the thermostat cache configuration.
|
|
const std::vector< double > & | getInitialTemperatureTargets () const |
| Get the vector of initial temperature targets for all groups of atoms and systems.
|
|
const std::vector< double > & | getFinalTemperatureTargets () const |
| Get the vector of final temperature targets for all groups of atoms and systems.
|
|
const std::vector< std::string > & | getThermostatLabels () const |
| Get the list of label groups within the systems cache to which each thermostated group of atoms belongs.
|
|
const std::vector< int > & | getThermostatLabelIndices () const |
| Get the indices of systems within the label groups to which each thermostated group of atoms belongs.
|
|
const std::vector< std::string > & | getThermostatMasks () const |
| Get the atom mask strings for each thermostated group of atoms.
|
|
int | getNTWarpMultiplicity () const |
| Get the warp multiplicity for non-bonded pairwise calculations.
|
|
const NamelistEmulator & | getTranscript () const |
| Get the original namelist emulator object as a transcript of the user input.
|
|
void | setStepCount (int total_step_count_in) |
| Set the total number of dynamics steps.
|
|
void | setDiagnosticPrintFrequency (int diagnostic_frequency_in) |
| Set the diagnostic printing frequency.
|
|
void | setTrajectoryPrintFrequency (int trajectory_frequency_in) |
| Set the trajectory snapshot printing frequency.
|
|
void | setCenterOfMassMotionPurgeFrequency (int com_motion_purge_ferquency_in) |
| Set the center of mass motion purge frequency.
|
|
void | setTimeStep (double time_step_in) |
| Set the simulation time step.
|
|
void | setElectrostaticCutoff (double cutoff_in) |
| Set the short-ranged electrostatic cutoff for the simulation.
|
|
void | setVanDerWaalsCutoff (double cutoff_in) |
| Set the short-ranged van-der Waals cutoff for the simulation.
|
|
void | setCutoff (double cutoff_in) |
| Set the cutoffs for short-ranged van-der Waals as well as electrostatic interactions in a periodic simulation.
|
|
void | setCoulombConstant (double coulomb_in) |
| Set the value of Coulomb's constant.
|
|
void | setElec14Screening (double screening_in) |
| Set the screening factor for 1:4 electrostatic interactions.
|
|
void | setVdw14Screening (double screening_in) |
| Set the screening factor for 1:4 van-der Waals interactions.
|
|
void | setThermostatEvolutionStart (int thermo_evolution_start_in) |
| Set the starting step for temperature evolution from the initial temperature profile to the final temperature profile across all atoms and all systems.
|
|
void | setThermostatEvolutionEnd (int step_number) |
| Set the final step for temperature evolution from the initial temperature profile to the final temperature profile across all atoms and all systems.
|
|
void | setThermostatCacheDepth (int depth_in) |
| Set the depth of the thermostat's random number cache.
|
|
void | setThermostatSeed (int igseed) |
| Set the random seed to be used in the thermostat's random number generators.
|
|
void | setAndersenFrequency (int frequency_in) |
| Set the velocity restart frequency for a "massive" Andersen thermostat.
|
|
void | setLangevinFrequency (double frequency_in) |
| Set the stochastic collision frequency for a Langevin thermostat.
|
|
void | setThermostatGroup (double initial_target=default_simulation_temperature, double final_target=default_simulation_temperature, const std::string &label=std::string("all"), int label_index=-1, const std::string &mask=std::string("@=")) |
| Get the vector of initial temperature targets for all groups of atoms and systems.
|
|
void | setNTWarpMultiplicity (int mult_in) |
| Get the warp multiplicity for non-bonded pairwise calculations. This applies only to periodic dynamics.
|
|
|
| DynamicsControls (ExceptionResponse policy_in=ExceptionResponse::DIE) |
| The constructor can prepare an object with default settings or read the corresponding namelist to accept user input.
|
|
| DynamicsControls (const TextFile &tf, int *start_line, bool *found_nml, ExceptionResponse policy_in=ExceptionResponse::DIE, WrapTextSearch wrap=WrapTextSearch::NO) |
|
|
| DynamicsControls (const DynamicsControls &original)=default |
| As with other control objects, copy and move constructors, plus copy and move assignment operators, can all take their default forms.
|
|
| DynamicsControls (DynamicsControls &&original)=default |
|
DynamicsControls & | operator= (const DynamicsControls &original)=default |
|
DynamicsControls & | operator= (DynamicsControls &&original)=default |
|
|
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) |
|
|
void | setGeometricConstraints (const std::string &constrain_geometry_in) |
| Stipulate whether geometric constraints will be implemented.
|
|
void | setGeometricConstraints (ApplyConstraints constrain_geometry_in=ApplyConstraints::YES) |
|
|
void | setUseShake (const std::string &use_shake_in) |
| Stipulate whether bonds to hydrogen atoms will be held rigid at their equilibrium length. Overloading follows from setGeometricConstraints(), above.
|
|
void | setUseShake (ApplyConstraints use_shake_in=ApplyConstraints::YES) |
|
|
void | setUseSettle (const std::string &use_settle_in) |
| Stipulate whether three-atom isosceles arrangements with two light atoms (e.g. water) will be held rigid at their equilibrium geometries. Overloading follows from setGeometricConstraints(), above.
|
|
void | setUseSettle (ApplyConstraints use_settle_in=ApplyConstraints::YES) |
|
|
void | setCpuRattleMethod (const std::string &rattle_protocol_in) |
| Set the RATTLE protocol to be used in CPU operations (the GPU will always use the "CENTER_SUM" approach).
|
|
void | setRattleTolerance (double rattle_tolerance_in) |
| Set the simulation RATTLE tolerance.
|
|
void | setThermostatKind (const std::string &thermostat_kind_in) |
| Get the thermostat kind.
|
|
void | setThermostatKind (ThermostatKind thermostat_kind_in) |
|
|
void | setThermostatCacheConfig (const std::string &cache_config_in) |
| Set the thermostat cache configuration.
|
|
void | setThermostatCacheConfig (PrecisionModel cache_config_in) |
|
Object to encapsulate molecular dynamics 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.