Main Page | Class List | File List | Class Members | File Members

StepParam_t Struct Reference

Parameters for configuring Step class. More...

#include <step.h>

List of all members.

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


Detailed Description

Parameters for configuring Step class.

User must provide values where appropriate, depending on selected method. Must provide callbacks. Retains ownership of topology and force field arrays.


Member Data Documentation

MD_Atom* StepParam_t::atom
 

Array of atom data for system. (Only the mass is needed.)

double StepParam_t::bath_temperature
 

Temperature of the bath (in Kelvin). Can be set to 0.

double StepParam_t::cgmin_dis
 

Maximum displacement for line search; 1 A works OK.

int32 StepParam_t::cgmin_eval
 

Maximum number of potential evaluations before giving up; 50 seems to work well in practice.

double StepParam_t::cgmin_tol
 

Tolerance for line search; 0.01 A seems OK for most systems.

int(* StepParam_t::compute_force)(void *forceObjPtr, double *pe, MD_Dvec *force, const MD_Dvec *pos)
 

Computes force array for given pos array. Returns 0 for success. Must be provided.

double StepParam_t::drude_bond_temperature
 

Thermostat temperature for Drude bond displacements, the cold degrees of freedom.

double StepParam_t::drude_bond_timescale
 

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.

double StepParam_t::drude_com_temperature
 

Thermostat temperature for atomic COMs (centers of mass), the hot degrees of freedom.

double StepParam_t::drude_com_timescale
 

Thermostat timescale. Controls coupling of the COM system to its thermostat. B. Roux recommends 100 fs.

int32 StepParam_t::drude_multisteps
 

Number of multisteps for propagating extended system variables. Must be at least 1. Recommended greater than 1, between 2 and 100.

void* StepParam_t::forceObjPtr
 

Generic handle passed to compute_force() callback.

int32 StepParam_t::init_stepnum
 

Gives the initial step number.

double StepParam_t::initial_temperature
 

Initial temperature (in Kelvin). This is used to initialize velocities unless they are assigned in step_setup().

void* StepParam_t::messageObjPtr
 

Generic handle passed to output_message() callback.

StepMethod StepParam_t::method
 

Choose a method for integration or minimization.

int32 StepParam_t::natoms
 

Number of atoms in array. Used as length for position, velocity, and force arrays.

double StepParam_t::nh_temperature
 

Nose-Hoover thermostat temperature for canonical ensemble (K). Must be greater than 0.

double StepParam_t::nh_timescale
 

Nose-Hoover thermostat timescale. Controls coupling of the system to the thermostat. A reasonable choice is 50 fs, the period of a harmonic oscillator.

StepOption StepParam_t::options
 

Select one or more options by bitwise ORing.

int(* StepParam_t::output_message)(void *messageObjPtr, const char *msg)
 

Routine to receive messages from Step library.

unsigned long StepParam_t::random_seed
 

Seed for the random number generator.

double StepParam_t::relaxation_time
 

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.)

int32 StepParam_t::resultsFreq
 

Gives number of steps between each submit_results() call.

void* StepParam_t::resultsObjPtr
 

Generic handle passed to submit_results() callback.

double StepParam_t::settle_hoh_angle
 

Angle equilibrium length for water H-O-H.

double StepParam_t::settle_oh_dist
 

Bond equilibrium length for water O-H.

int(* StepParam_t::submit_results)(void *resultsObjPtr, StepSystem *sys)
 

Collects results at end-of-step intervals. Returns 0 for success. Must be provided.

double StepParam_t::timestep
 

Time step (in femtoseconds).


The documentation for this struct was generated from the following file:
Generated on Thu Feb 7 18:11:42 2008 for MDX by  doxygen 1.3.9.1