Difference between revisions of "Forcing checkpoints in GROMACS"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
+ | We have access to the param->ir data structure in md.c. If we place a function in the main loop that checks for messages from mother requesting information, we would have all of the following data at our disposal: | ||
+ | |||
typedef struct { | typedef struct { | ||
int eI; /* Integration method */ | int eI; /* Integration method */ |
Revision as of 16:10, 21 June 2005
We have access to the param->ir data structure in md.c. If we place a function in the main loop that checks for messages from mother requesting information, we would have all of the following data at our disposal:
typedef struct {
int eI; /* Integration method */ int nsteps; /* number of steps to be taken */ int init_step; /* start at a stepcount >0 (used w. tpbconv) */ int ns_type; /* which ns method should we use? */ int nstlist; /* number of steps before pairlist is generated */ int ndelta; /* number of cells per rlong */ bool bDomDecomp; /* Should we do domain decomposition? */ int decomp_dir; /* Direction of decomposition (may not be opt.) */ int nstcomm; /* number of steps after which center of mass */ /* motion is removed */ int nstcheckpoint; /* checkpointing frequency */ int nstlog; /* number of steps after which print to logfile */ int nstxout; /* number of steps after which X is output */ int nstvout; /* id. for V */ int nstfout; /* id. for F */ int nstenergy; /* number of steps after which energies printed */ int nstxtcout; /* id. for compressed trj (.xtc) */ real init_t; /* initial time (ps) */ real delta_t; /* time step (ps) */ real xtcprec; /* precision of xtc file */ int nkx,nky,nkz; /* number of k vectors in each spatial dimension*/ /* for fourier methods for long range electrost.*/ int pme_order; /* interpolation order for PME */ real ewald_rtol; /* Real space tolerance for Ewald, determines */ /* the real/reciprocal space relative weight */ int ewald_geometry; /* normal/3d ewald, or pseudo-2d LR corrections */ real epsilon_surface; /* Epsilon for PME dipole correction */ bool bOptFFT; /* optimize the fft plan at start */ int ePBC; /* Type of periodic boundary conditions */ bool bUncStart; /* Do not constrain the start configuration */ int etc; /* temperature coupling */ int epc; /* pressure coupling */ int epct; /* pressure coupling type */ real tau_p; /* pressure coupling time (ps) */ tensor ref_p; /* reference pressure (kJ/(mol nm^3)) */ tensor compress; /* compressability ((mol nm^3)/kJ) */ int andersen_seed; /* Random seed for Andersen thermostat. */ real rlist; /* short range pairlist cut-off (nm) */ int coulombtype; /* Type of electrostatics treatment */ real rcoulomb_switch; /* Coulomb switch range start (nm) */ real rcoulomb; /* Coulomb cutoff (nm) */ real epsilon_r; /* relative dielectric constant */ int gb_algorithm; /* Algorithm to use for calculation Born radii */ int nstgbradii; /* Frequency of updating Generalized Born radii */ real rgbradii; /* Cutoff for GB radii calculation */ real gb_saltconc; /* Salt concentration (M) for GBSA models */ int vdwtype; /* Type of Van der Waals treatment */ real rvdw_switch; /* Van der Waals switch range start (nm) */ real rvdw; /* Van der Waals cutoff (nm) */ int implicit_solvent;/* No (=explicit water), or GBSA solvent models */ int eDispCorr; /* Perform Long range dispersion corrections */ real tabext; /* Extension of the table beyond the cut-off, * * as well as the table length for 1-4 interac. */ real shake_tol; /* tolerance for shake */ real fudgeQQ; /* Id. for 1-4 coulomb interactions */ int efep; /* free energy interpolation no/yes */ real init_lambda; /* initial value for perturbation variable */ real delta_lambda; /* change of lambda per time step (1/dt) */ real sc_alpha; /* free energy soft-core parameter */ real sc_sigma; /* free energy soft-core sigma when c6 or c12=0 */ real dr_fc; /* force constant for ta_disre */ int eDisreWeighting; /* type of weighting of pairs in one restraints */ bool bDisreMixed; /* Use comb of time averaged and instan. viol's */ int nstdisreout; /* frequency of writing pair distances to enx */ real dr_tau; /* time constant for memory function in disres */ real orires_fc; /* force constant for orientational restraints */ real orires_tau; /* time constant for memory function in orires */ int nstorireout; /* frequency of writing tr(SD) to enx */ int dihre_fc; /* force constant for dihedral restraints */ int nstdihreout; /* frequency of writing dihedrals to enx */ real dr_tau; /* time constant for memory function in disres */ real orires_fc; /* force constant for orientational restraints */ real orires_tau; /* time constant for memory function in orires */ int nstorireout; /* frequency of writing tr(SD) to enx */ int dihre_fc; /* force constant for dihedral restraints */ int nstdihreout; /* frequency of writing dihedrals to enx */ real dihre_tau; /* time constant for memory function in dihres */ real em_stepsize; /* The stepsize for updating */ real em_tol; /* The tolerance */ int niter; /* Number of iterations for convergence of */ /* steepest descent in relax_shells */ real fc_stepsize; /* Stepsize for directional minimization */ /* in relax_shells */ int nstcgsteep; /* number of steps after which a steepest */ /* descents step is done while doing cg */ int nbfgscorr; /* Number of corrections to the hessian to keep */ int eConstrAlg; /* Type of constraint algorithm */ int nProjOrder; /* Order of the LINCS Projection Algorithm */ real LincsWarnAngle; /* If bond rotates more than %g degrees, warn */ int nLincsIter; /* Number of iterations in the final Lincs step */ bool bShakeSOR; /* Use successive overrelaxation for shake */ real bd_temp; /* Temperature for Brownian Dynamics (BD) */ real bd_fric; /* Friction coefficient for BD (amu / ps) */ int ld_seed; /* Random seed for SD and BD */ real cos_accel; /* Acceleration for viscosity calculation */ int userint1; /* User determined parameters */ int userint2; int userint3; int userint4; real userreal1; real userreal2; real userreal3; real userreal4; t_grpopts opts; /* Group options */ t_cosines ex[DIM]; /* Electric field stuff (spatial part) */ t_cosines et[DIM]; /* Electric field stuff (time part) */
} t_inputrec;