+ init_pull_group(pgrp, wbuf);
+ }
+
+ /* Read the pull coordinates */
+ for (i = 1; i < pull->ncoord + 1; i++)
+ {
+ pcrd = &pull->coord[i-1];
+ sprintf(buf, "pull-coord%d-groups", i);
+ STYPE(buf, groups, "");
+ nscan = sscanf(groups, "%d %d %d", &pcrd->group[0], &pcrd->group[1], &idum);
+ if (nscan != 2)
+ {
+ fprintf(stderr, "ERROR: %s should have %d components\n", buf, 2);
+ nerror++;
+ }
+ sprintf(buf, "pull-coord%d-origin", i);
+ STYPE(buf, origin_buf, "0.0 0.0 0.0");
+ sprintf(buf, "pull-coord%d-vec", i);
+ STYPE(buf, vec_buf, "0.0 0.0 0.0");
+ sprintf(buf, "pull-coord%d-init", i);
+ RTYPE(buf, pcrd->init, 0.0);
+ sprintf(buf, "pull-coord%d-rate", i);
+ RTYPE(buf, pcrd->rate, 0.0);
+ sprintf(buf, "pull-coord%d-k", i);
+ RTYPE(buf, pcrd->k, 0.0);
+ sprintf(buf, "pull-coord%d-kB", i);
+ RTYPE(buf, pcrd->kB, pcrd->k);
+
+ /* Initialize the pull coordinate */
+ init_pull_coord(pcrd, pull->eGeom, origin_buf, vec_buf);