Updated some .mdp file variables to use "-" instead of deprecated "_"
authorCarsten Kutzner <ckutzne@gwdg.de>
Wed, 5 Nov 2014 14:53:34 +0000 (15:53 +0100)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Wed, 12 Nov 2014 01:34:07 +0000 (02:34 +0100)
In the .mdp file, now a minus sign instead of an underline is
generally used. Some sections of the manual still listed .mdp
variable names in the old notation.

- three manual sections (pulling, enforced rotation and computational
  electrophysiology) now use "-" instead of "_" in .mdp file variable
  names
- updated output of rotation code to reflect this up-to-date notation
- no functional changes are in this patch

Change-Id: I7b00193d3e3d549ce8c9a728b307280c0bdd35ce

docs/manual/special.tex
src/gromacs/gmxlib/txtdump.c
src/gromacs/gmxpreprocess/readrot.c
src/gromacs/pulling/pull_rotation.c

index 353d7cee7936b31fb1ad29706070fe044832688b..7a86051ddb3fb4bf107fcde734e84c492b17d86a 100644 (file)
@@ -234,14 +234,14 @@ to calculate the PMF of a lipid as function of its distance
 from the whole bilayer. The whole bilayer can be taken as reference
 group in that case, but it might also be of interest to define the
 reaction coordinate for the PMF more locally. The {\tt .mdp} option
-{\tt pull_geometry = cylinder} does not
+{\tt pull-geometry = cylinder} does not
 use all the atoms of the reference group, but instead dynamically only those
-within a cylinder with radius {\tt r_1} around the pull vector going
+within a cylinder with radius {\tt pull-r1} around the pull vector going
 through the pull group. This only
 works for distances defined in one dimension, and the cylinder is
 oriented with its long axis along this one dimension. A second cylinder
-can be defined with {\tt r_0}, with a linear switch function that weighs
-the contribution of atoms between {\tt r_0} and {\tt r_1} with
+can be defined with {\tt pull-r0}, with a linear switch function that weighs
+the contribution of atoms between {\tt pull-r0} and {\tt pull-r1} with
 distance. This smooths the effects of atoms moving in and out of the
 cylinder (which causes jumps in the pull forces).
 
@@ -859,14 +859,14 @@ similar to those of $V\rotflextwo$ and $\ve{F}\rotflextwo$.
 \subsection{Usage}
 To apply enforced rotation, the particles $i$ that are to
 be subjected to one of the rotation potentials are defined via index groups
-{\tt rot\_group0}, {\tt rot\_group1}, etc., in the {\tt .mdp} input file. 
+{\tt rot-group0}, {\tt rot-group1}, etc., in the {\tt .mdp} input file. 
 The reference positions $\ve{y}_i^0$ are
 read from a special {\tt .trr} file provided to {\tt grompp}. If no such file is found,
 $\ve{x}_i(t=0)$ are used as reference positions and written to {\tt .trr} such
 that they can be used for subsequent setups. All parameters of the potentials
 such as $k$, $\epsilon'$, etc. (\tabref{vars}) are provided as {\tt .mdp}
-parameters; {\tt rot\_type} selects the type of the potential. 
-The option {\tt rot\_massw} allows to choose whether or not to use
+parameters; {\tt rot-type} selects the type of the potential. 
+The option {\tt rot-massw} allows to choose whether or not to use
 mass-weighted averaging. 
 For the flexible potentials, a cutoff value $g_n^\mathrm{min}$ 
 (typically  $g_n^\mathrm{min}=0.001$) makes shure that only
@@ -888,7 +888,7 @@ to additional output files and which are described below.
 \begin{tabular}{l>{$}l<{$}rccccccc}
 \hline
 parameter           &               &                      & $k$      & $\hat{\ve{v}}$ & $\ve{u}$     & $\omega$    & $\epsilon'$ & $\Delta x$        & $g_n^\mathrm{min}$ \\
-\multicolumn{3}{l}{{\tt .mdp} input variable name}         & \smtt{k} & \smtt{vec}     & \smtt{pivot} & \smtt{rate} & \smtt{eps}  & \smtt{slab\_dist} & \smtt{min\_gauss}  \\
+\multicolumn{3}{l}{{\tt .mdp} input variable name}         & \smtt{k} & \smtt{vec}     & \smtt{pivot} & \smtt{rate} & \smtt{eps}  & \smtt{slab-dist}  & \smtt{min-gauss}   \\
 unit                &               &                      & \kunit   & -              & nm           & $^\circ$/ps & nm$^2$      & nm                & \,-\,              \\[1mm]
 \hline \multicolumn{2}{l}{fixed axis potentials:} & eqn.\\
 isotropic           & V\rotiso      & (\ref{eqn:potiso})   & {\sf x}  & {\sf x}        & {\sf x}      & {\sf x}     & -           & -                 &  -                 \\
@@ -969,7 +969,7 @@ positions are weighted with the Gaussian function of slab $n$, and
 $\theta_\mathrm{fit}(t,n)$ is calculated as in \eqnref{rmsdfit}) from the
 Gaussian-weighted positions.
 
-For all angles, the {\tt .mdp} input option {\tt rot\_fit\_method} controls
+For all angles, the {\tt .mdp} input option {\tt rot-fit-method} controls
 whether a normal RMSD fit is performed or whether for the fit each
 position $\ve{x}_i$ is put at the same distance to the rotation axis as its
 reference counterpart $\ve{y}_i^0$. In the latter case, the RMSD
@@ -977,7 +977,7 @@ measures only angular differences, not radial ones.
 
 
 \subsubsection*{Angle Determination by Searching the Energy Minimum}
-Alternatively, for {\tt rot\_fit\_method = potential}, the angle of the rotation 
+Alternatively, for {\tt rot-fit-method = potential}, the angle of the rotation 
 group is determined as the angle for which the rotation potential energy is minimal.
 Therefore, the used rotation potential is additionally evaluated for a set of angles
 around the current reference angle. In this case, the {\tt rotangles.log} output file
@@ -1059,24 +1059,24 @@ The following {\tt .mdp} options control the CompEL protocol:
 {\small
 \begin{verbatim}
 swapcoords     = Z            ; Swap positions: no, X, Y, Z
-swap_frequency = 100          ; Swap attempt frequency
+swap-frequency = 100          ; Swap attempt frequency
 \end{verbatim}}
 Choose {\tt Z} if your membrane is in the $xy$-plane (\figref{compelsetup} A, B).
 Ions will be exchanged between compartments depending on their $z$-positions alone.
-{\tt swap_frequency} determines how often a swap attempt will be made.
+{\tt swap-frequency} determines how often a swap attempt will be made.
 This step requires that the positions of the ions, solvent, and swap groups are
-communicated between the parallel ranks, so if chosen too small it can decrease the simulation
+communicated between the parallel processes, so if chosen too small it can decrease the simulation
 performance.
 {\small
 \begin{verbatim}
-split_group0   = channel0     ; Defines compartment boundary 
-split_group1   = channel1     ; Defines other compartment boundary 
-massw_split0   = no           ; use mass-weighted center?
-massw_split1   = no
+split-group0   = channel0     ; Defines compartment boundary 
+split-group1   = channel1     ; Defines other compartment boundary 
+massw-split0   = no           ; use mass-weighted center?
+massw-split1   = no
 \end{verbatim}}
-{\tt split_group0} and {\tt split_group1} are two index groups that define the boundaries
+{\tt split-group0} and {\tt split-group1} are two index groups that define the boundaries
 between the two compartments, which are usually the centers of the channels.
-If {\tt massw_split0} or {\tt massw_split1} are set to {\tt yes}, the center of mass
+If {\tt massw-split0} or {\tt massw-split1} are set to {\tt yes}, the center of mass
 of each index group is used as boundary, here in $z$-direction. Otherwise, the
 geometrical centers will be used ($\times$ in \figref{compelsetup} A). If, such as here, a membrane
 channel is selected as split group, the center of the channel will define the dividing
@@ -1084,19 +1084,19 @@ plane between the compartments (dashed horizontal line in the figure). All index
 must be defined in the index file.
 {\small
 \begin{verbatim}
-swap_group     = NA+_CL-      ; Ions to be included in exchange
-solvent_group  = SOL          ; Group name of solvent molecules
-cyl0_r         = 5.0          ; Split cylinder 0: pore radius (nm)
-cyl0_up        = 0.75         ; Split cylinder 0 upper extension (nm)
-cyl0_down      = 0.75         ; Split cylinder 0 lower extension (nm)
-cyl1_r         = 5.0          ; same for other channel
-cyl1_up        = 0.75
-cyl1_down      = 0.75
-coupl_steps    = 10           ; Average over these many swap steps
+swap-group     = NA+_CL-      ; Ions to be included in exchange
+solvent-group  = SOL          ; Group name of solvent molecules
+cyl0-r         = 5.0          ; Split cylinder 0: pore radius (nm)
+cyl0-up        = 0.75         ; Split cylinder 0 upper extension (nm)
+cyl0-down      = 0.75         ; Split cylinder 0 lower extension (nm)
+cyl1-r         = 5.0          ; same for other channel
+cyl1-up        = 0.75
+cyl1-down      = 0.75
+coupl-steps    = 10           ; Average over these many swap steps
 threshold      = 1            ; Do not swap if < threshold
 \end{verbatim}}
-{\tt swap_group} identifies the index group of ions that 
-should be involved in the flux and exchange cycles, {\tt solvent_group} defines the solvent
+{\tt swap-group} identifies the index group of ions that 
+should be involved in the flux and exchange cycles, {\tt solvent-group} defines the solvent
 group with which they are swapped. The cylinder options only influence the counting of
 ions, i.e., ions will be counted as having traveled through either channel 0 or channel 1
 according to the definition of (channel) cylinder radius, upper and lower extension,
@@ -1104,14 +1104,14 @@ relative to the location of the respective split group. This will not affect the
 flux or exchange, but will provide you with the ion permeation numbers across
 each of the channels. Note that an ion can only be counted as passing through a particular
 channel if it is detected \emph{within} the defined split cylinder in a swap step.
-If {\tt swap_frequency} is chosen too high, a particular ion may be detected in compartment {\bf A}
+If {\tt swap-frequency} is chosen too high, a particular ion may be detected in compartment {\bf A}
 in one swap step, and in compartment {\bf B} in the following swap step, so it will be unclear
 through which of the channels it has passed.
 
-{\tt coupl_steps} sets the number of swap attempt steps. A discrepancy between
+{\tt coupl-steps} sets the number of swap attempt steps. A discrepancy between
 actual and reference ion numbers in each compartment must persist over this many attempts
-before an actual exchange takes place. If {\tt coupl_steps} is set to 1, then the momentary ion distribution determines
-whether ions are exchanged. {\tt coupl_steps} \textgreater\ 1 will use the time-average
+before an actual exchange takes place. If {\tt coupl-steps} is set to 1, then the momentary ion distribution determines
+whether ions are exchanged. {\tt coupl-steps} \textgreater\ 1 will use the time-average
 of ion distributions over the selected number of attempt steps instead. This can be useful, for example,
 when ions diffuse near compartment boundaries, which would lead to numerous unproductive
 ion exchanges. A {\tt threshold} of 1 means that a swap is performed if the average ion
index 7d94359da578ef303bf076eb1ce1bdfd2f212c88..9743fc16a80a507da78fd471234a4a389d612195 100644 (file)
@@ -792,8 +792,8 @@ static void pr_rotgrp(FILE *fp, int indent, int g, t_rotgrp *rotg)
     PR("rot-min-gauss", rotg->min_gaussian);
     PR("rot-eps", rotg->eps);
     PS("rot-fit-method", EROTFIT(rotg->eFittype));
-    PI("rot_potfit_nstep", rotg->PotAngle_nstep);
-    PR("rot_potfit_step", rotg->PotAngle_step);
+    PI("rot-potfit-nstep", rotg->PotAngle_nstep);
+    PR("rot-potfit-step", rotg->PotAngle_step);
 }
 
 static void pr_rot(FILE *fp, int indent, t_rot *rot)
index cc25957b1adcde7ceebac92a68449460e2b782e9..237ea878dbafb8bcaac6eda4fdc5b4790b75ea30 100644 (file)
@@ -80,15 +80,15 @@ extern char **read_rotparams(int *ninp_p, t_inpfile **inp_p, t_rot *rot,
 
     /* read rotation parameters */
     CTYPE("Output frequency for angle, torque and rotation potential energy for the whole group");
-    ITYPE("rot_nstrout",     rot->nstrout, 100);
+    ITYPE("rot-nstrout",     rot->nstrout, 100);
     CTYPE("Output frequency for per-slab data (angles, torques and slab centers)");
-    ITYPE("rot_nstsout",     rot->nstsout, 1000);
+    ITYPE("rot-nstsout",     rot->nstsout, 1000);
     CTYPE("Number of rotation groups");
-    ITYPE("rot_ngroups",     rot->ngrp, 1);
+    ITYPE("rot-ngroups",     rot->ngrp, 1);
 
     if (rot->ngrp < 1)
     {
-        gmx_fatal(FARGS, "rot_ngroups should be >= 1");
+        gmx_fatal(FARGS, "rot-ngroups should be >= 1");
     }
 
     snew(rot->grp, rot->ngrp);
@@ -100,19 +100,19 @@ extern char **read_rotparams(int *ninp_p, t_inpfile **inp_p, t_rot *rot,
         rotg = &rot->grp[g];
         snew(grpbuf[g], STRLEN);
         CTYPE("Rotation group name");
-        sprintf(buf, "rot_group%d", g);
+        sprintf(buf, "rot-group%d", g);
         STYPE(buf, grpbuf[g], "");
 
         CTYPE("Rotation potential. Can be iso, iso-pf, pm, pm-pf, rm, rm-pf, rm2, rm2-pf, flex, flex-t, flex2, flex2-t");
-        sprintf(buf, "rot_type%d", g);
+        sprintf(buf, "rot-type%d", g);
         ETYPE(buf, rotg->eType, erotg_names);
 
         CTYPE("Use mass-weighting of the rotation group positions");
-        sprintf(buf, "rot_massw%d", g);
+        sprintf(buf, "rot-massw%d", g);
         ETYPE(buf, rotg->bMassW, yesno_names);
 
         CTYPE("Rotation vector, will get normalized");
-        sprintf(buf, "rot_vec%d", g);
+        sprintf(buf, "rot-vec%d", g);
         STYPE(buf, s_vec, "1.0 0.0 0.0");
         string2dvec(s_vec, vec);
         /* Normalize the rotation vector */
@@ -122,7 +122,7 @@ extern char **read_rotparams(int *ninp_p, t_inpfile **inp_p, t_rot *rot,
         }
         else
         {
-            sprintf(warn_buf, "rot_vec%d = 0", g);
+            sprintf(warn_buf, "rot-vec%d = 0", g);
             warning_error(wi, warn_buf);
         }
         fprintf(stderr, "%s Group %d (%s) normalized rot. vector: %f %f %f\n",
@@ -133,7 +133,7 @@ extern char **read_rotparams(int *ninp_p, t_inpfile **inp_p, t_rot *rot,
         }
 
         CTYPE("Pivot point for the potentials iso, pm, rm, and rm2 (nm)");
-        sprintf(buf, "rot_pivot%d", g);
+        sprintf(buf, "rot-pivot%d", g);
         STYPE(buf, s_vec, "0.0 0.0 0.0");
         clear_dvec(vec);
         if ( (rotg->eType == erotgISO) || (rotg->eType == erotgPM) || (rotg->eType == erotgRM) || (rotg->eType == erotgRM2) )
@@ -146,57 +146,57 @@ extern char **read_rotparams(int *ninp_p, t_inpfile **inp_p, t_rot *rot,
         }
 
         CTYPE("Rotation rate (degree/ps) and force constant (kJ/(mol*nm^2))");
-        sprintf(buf, "rot_rate%d", g);
+        sprintf(buf, "rot-rate%d", g);
         RTYPE(buf, rotg->rate, 0.0);
 
-        sprintf(buf, "rot_k%d", g);
+        sprintf(buf, "rot-k%d", g);
         RTYPE(buf, rotg->k, 0.0);
         if (rotg->k <= 0.0)
         {
-            sprintf(warn_buf, "rot_k%d <= 0", g);
+            sprintf(warn_buf, "rot-k%d <= 0", g);
             warning_note(wi, warn_buf);
         }
 
         CTYPE("Slab distance for flexible axis rotation (nm)");
-        sprintf(buf, "rot_slab_dist%d", g);
+        sprintf(buf, "rot-slab-dist%d", g);
         RTYPE(buf, rotg->slab_dist, 1.5);
         if (rotg->slab_dist <= 0.0)
         {
-            sprintf(warn_buf, "rot_slab_dist%d <= 0", g);
+            sprintf(warn_buf, "rot-slab-dist%d <= 0", g);
             warning_error(wi, warn_buf);
         }
 
         CTYPE("Minimum value of Gaussian function for the force to be evaluated (for flex* potentials)");
-        sprintf(buf, "rot_min_gauss%d", g);
+        sprintf(buf, "rot-min-gauss%d", g);
         RTYPE(buf, rotg->min_gaussian, 1e-3);
         if (rotg->min_gaussian <= 0.0)
         {
-            sprintf(warn_buf, "rot_min_gauss%d <= 0", g);
+            sprintf(warn_buf, "rot-min-gauss%d <= 0", g);
             warning_error(wi, warn_buf);
         }
 
         CTYPE("Value of additive constant epsilon' (nm^2) for rm2* and flex2* potentials");
-        sprintf(buf, "rot_eps%d", g);
+        sprintf(buf, "rot-eps%d", g);
         RTYPE(buf, rotg->eps, 1e-4);
         if ( (rotg->eps <= 0.0) && (rotg->eType == erotgRM2 || rotg->eType == erotgFLEX2) )
         {
-            sprintf(warn_buf, "rot_eps%d <= 0", g);
+            sprintf(warn_buf, "rot-eps%d <= 0", g);
             warning_error(wi, warn_buf);
         }
 
         CTYPE("Fitting method to determine angle of rotation group (rmsd, norm, or potential)");
-        sprintf(buf, "rot_fit_method%d", g);
+        sprintf(buf, "rot-fit-method%d", g);
         ETYPE(buf, rotg->eFittype, erotg_fitnames);
         CTYPE("For fit type 'potential', nr. of angles around the reference for which the pot. is evaluated");
-        sprintf(buf, "rot_potfit_nsteps%d", g);
+        sprintf(buf, "rot-potfit-nsteps%d", g);
         ITYPE(buf, rotg->PotAngle_nstep, 21);
         if ( (rotg->eFittype == erotgFitPOT) && (rotg->PotAngle_nstep < 1) )
         {
-            sprintf(warn_buf, "rot_potfit_nsteps%d < 1", g);
+            sprintf(warn_buf, "rot-potfit-nsteps%d < 1", g);
             warning_error(wi, warn_buf);
         }
         CTYPE("For fit type 'potential', distance in degrees between two consecutive angles");
-        sprintf(buf, "rot_potfit_step%d", g);
+        sprintf(buf, "rot-potfit-step%d", g);
         RTYPE(buf, rotg->PotAngle_step, 0.25);
     }
 
index cdee91efff60099565e5ec362f87bbdbe65d522b..4ab6b30cb8c7d73b3ec2429a60e5addaa23538d9 100644 (file)
@@ -874,7 +874,7 @@ static FILE *open_rot_out(const char *fn, t_rot *rot, const output_env_t oenv)
         fp = xvgropen(fn, "Rotation angles and energy", "Time (ps)", "angles (degrees) and energies (kJ/mol)", oenv);
         fprintf(fp, "# Output of enforced rotation data is written in intervals of %d time step%s.\n#\n", rot->nstrout, rot->nstrout > 1 ? "s" : "");
         fprintf(fp, "# The scalar tau is the torque (kJ/mol) in the direction of the rotation vector v.\n");
-        fprintf(fp, "# To obtain the vectorial torque, multiply tau with the group's rot_vec.\n");
+        fprintf(fp, "# To obtain the vectorial torque, multiply tau with the group's rot-vec.\n");
         fprintf(fp, "# For flexible groups, tau(t,n) from all slabs n have been summed in a single value tau(t) here.\n");
         fprintf(fp, "# The torques tau(t,n) are found in the rottorque.log (-rt) output file\n");
 
@@ -886,19 +886,19 @@ static FILE *open_rot_out(const char *fn, t_rot *rot, const output_env_t oenv)
 
             fprintf(fp, "#\n");
             fprintf(fp, "# ROTATION GROUP %d, potential type '%s':\n", g, erotg_names[rotg->eType]);
-            fprintf(fp, "# rot_massw%d          %s\n", g, yesno_names[rotg->bMassW]);
-            fprintf(fp, "# rot_vec%d            %12.5e %12.5e %12.5e\n", g, rotg->vec[XX], rotg->vec[YY], rotg->vec[ZZ]);
-            fprintf(fp, "# rot_rate%d           %12.5e degrees/ps\n", g, rotg->rate);
-            fprintf(fp, "# rot_k%d              %12.5e kJ/(mol*nm^2)\n", g, rotg->k);
+            fprintf(fp, "# rot-massw%d          %s\n", g, yesno_names[rotg->bMassW]);
+            fprintf(fp, "# rot-vec%d            %12.5e %12.5e %12.5e\n", g, rotg->vec[XX], rotg->vec[YY], rotg->vec[ZZ]);
+            fprintf(fp, "# rot-rate%d           %12.5e degrees/ps\n", g, rotg->rate);
+            fprintf(fp, "# rot-k%d              %12.5e kJ/(mol*nm^2)\n", g, rotg->k);
             if (rotg->eType == erotgISO || rotg->eType == erotgPM || rotg->eType == erotgRM || rotg->eType == erotgRM2)
             {
-                fprintf(fp, "# rot_pivot%d          %12.5e %12.5e %12.5e  nm\n", g, rotg->pivot[XX], rotg->pivot[YY], rotg->pivot[ZZ]);
+                fprintf(fp, "# rot-pivot%d          %12.5e %12.5e %12.5e  nm\n", g, rotg->pivot[XX], rotg->pivot[YY], rotg->pivot[ZZ]);
             }
 
             if (bFlex)
             {
-                fprintf(fp, "# rot_slab_distance%d   %f nm\n", g, rotg->slab_dist);
-                fprintf(fp, "# rot_min_gaussian%d   %12.5e\n", g, rotg->min_gaussian);
+                fprintf(fp, "# rot-slab-distance%d   %f nm\n", g, rotg->slab_dist);
+                fprintf(fp, "# rot-min-gaussian%d   %12.5e\n", g, rotg->min_gaussian);
             }
 
             /* Output the centers of the rotation groups for the pivot-free potentials */
@@ -914,7 +914,7 @@ static FILE *open_rot_out(const char *fn, t_rot *rot, const output_env_t oenv)
 
             if ( (rotg->eType == erotgRM2) || (rotg->eType == erotgFLEX2) || (rotg->eType == erotgFLEX2T) )
             {
-                fprintf(fp, "# rot_eps%d            %12.5e nm^2\n", g, rotg->eps);
+                fprintf(fp, "# rot-eps%d            %12.5e nm^2\n", g, rotg->eps);
             }
             if (erotgFitPOT == rotg->eFittype)
             {
@@ -1107,7 +1107,7 @@ static FILE *open_torque_out(const char *fn, t_rot *rot)
                 fprintf(fp, "# Rotation group %d (%s), slab distance %f nm.\n", g, erotg_names[rotg->eType], rotg->slab_dist);
                 fprintf(fp, "# The scalar tau is the torque (kJ/mol) in the direction of the rotation vector.\n");
                 fprintf(fp, "# To obtain the vectorial torque, multiply tau with\n");
-                fprintf(fp, "# rot_vec%d            %10.3e %10.3e %10.3e\n", g, rotg->vec[XX], rotg->vec[YY], rotg->vec[ZZ]);
+                fprintf(fp, "# rot-vec%d            %10.3e %10.3e %10.3e\n", g, rotg->vec[XX], rotg->vec[YY], rotg->vec[ZZ]);
                 fprintf(fp, "#\n");
             }
         }