#include <step.h>
Public Attributes | |
StepMethod | method |
StepOption | options |
unsigned long | random_seed |
double | timestep |
double | initial_temperature |
void * | messageObjPtr |
int(* | output_message )(void *messageObjPtr, const char *msg) |
void * | forceObjPtr |
int(* | compute_force )(void *forceObjPtr, double *pe, MD_Dvec *force, const MD_Dvec *pos) |
void * | resultsObjPtr |
int(* | submit_results )(void *resultsObjPtr, StepSystem *sys) |
int32 | resultsFreq |
int32 | init_stepnum |
MD_Atom * | atom |
int32 | natoms |
double | bath_temperature |
double | relaxation_time |
double | nh_temperature |
double | nh_timescale |
double | drude_com_temperature |
double | drude_bond_temperature |
double | drude_com_timescale |
double | drude_bond_timescale |
int32 | drude_multisteps |
double | cgmin_dis |
double | cgmin_tol |
int32 | cgmin_eval |
double | settle_oh_dist |
double | settle_hoh_angle |
User must provide values where appropriate, depending on selected method. Must provide callbacks. Retains ownership of topology and force field arrays.
|
Array of atom data for system. (Only the mass is needed.) |
|
Temperature of the bath (in Kelvin). Can be set to 0. |
|
Maximum displacement for line search; 1 A works OK. |
|
Maximum number of potential evaluations before giving up; 50 seems to work well in practice. |
|
Tolerance for line search; 0.01 A seems OK for most systems. |
|
Computes |
|
Thermostat temperature for Drude bond displacements, the cold degrees of freedom. |
|
Thermostat timescale. Controls coupling of the bond system to its thermostat. B. Roux recommends 7.07 fs for Drude particles with mass 0.8 AMU, and shorter for smaller mass values. |
|
Thermostat temperature for atomic COMs (centers of mass), the hot degrees of freedom. |
|
Thermostat timescale. Controls coupling of the COM system to its thermostat. B. Roux recommends 100 fs. |
|
Number of multisteps for propagating extended system variables. Must be at least 1. Recommended greater than 1, between 2 and 100. |
|
Generic handle passed to compute_force() callback. |
|
Gives the initial step number. |
|
Initial temperature (in Kelvin). This is used to initialize velocities unless they are assigned in step_setup(). |
|
Generic handle passed to output_message() callback. |
|
Choose a method for integration or minimization. |
|
Number of atoms in array. Used as length for position, velocity, and force arrays. |
|
Nose-Hoover thermostat temperature for canonical ensemble (K). Must be greater than 0. |
|
Nose-Hoover thermostat timescale. Controls coupling of the system to the thermostat. A reasonable choice is 50 fs, the period of a harmonic oscillator. |
|
Select one or more options by bitwise ORing. |
|
Routine to receive messages from Step library. |
|
Seed for the random number generator. |
|
Relaxation time to determine coupling to temperature bath. Units in femtoseconds. Need relaxation_time >= timestep. Use of relaxation_time == timestep gives simple velocity rescaling. (Leach recommends 400 fs for timestep==1fs.) |
|
Gives number of steps between each submit_results() call. |
|
Generic handle passed to submit_results() callback. |
|
Angle equilibrium length for water H-O-H. |
|
Bond equilibrium length for water O-H. |
|
Collects results at end-of-step intervals. Returns 0 for success. Must be provided. |
|
Time step (in femtoseconds). |