Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 01fdc0b336185a24a094689dccd5b064 > files > 263

towhee-doc-7.0.4-2.fc18.noarch.rpm

<html>
<head>
  <title>MCCCS Towhee (towhee_input Version 3.17.x)</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table width="675" border="0" cellspacing="0" cellpadding="0" height="590">
  <tr> 
    <td colspan="2" height="29"> 
      <div align="center"> <font size="5"> <b><font face="Arial, Helvetica,
    sans-serif">
    <a name="top"></a>MCCCS 
        Towhee (towhee_input Version 3.17.x)</font></b> </font> </div>
    </td>
  </tr>
<A href="http://sourceforge.net"> 
  <IMG src="http://sourceforge.net/sflogo.php?group_id=87039&amp;type=5" width="210" height="62" border="0" 
  alt="SourceForge.net Logo" align="right"/>
</A>
  <tr> 
    <td width="18" height="371" valign="top"> 
      <p>&nbsp; </p>
      <p>&nbsp;</p>
    </td>
    <td width="697" valign="top"> <b>Overview</b> 
      <ul>
        This section covers the variables that are set in the towhee_input
	file Version 3.17.x. Each variable is listed along with its type 
	(logical, character, integer, or double precision). towhee_input 
	is the main input file for Towhee and is generally the only file 
	that needs to be edited on a regular basis. It has a regimented 
	style to the input. The variables are described here in the order 
	they appear in this file. Please look at one of the example files 
	(available with the code package) for the precise file format. 
	<p></p>
	Note that for each variable listed below you must include the name of 
	the variable on the previous line.  In addition, the variables that
	are subsets of various Monte Carlo moves must be indented 10 spaces.
      </ul>

      <b>Bug reports / feature enhancements for 3.17.x versions</b>
      <ul>
        <li>3.17.8: Fixed a bug that generated incorrect energies when
	  performing a 2 box swap with <b>nch_nb_one</b> set to a value of 1.
	  Incorporated rweam.F into the more general rwforcefield.F routine and 
	  added the basics for a tabulated potential (not fully implemented at 
	  this time).  This created a new force field version (version 5) that 
	  is still compatable with version 4, except for <b>potentype</b> 7.
	  Added a few more routines for generating force fields into the code 
	  and included functionallity to generate (almost) all of the force 
	  field routines included with the distribution with a single command.
	  Fixed a few dimensioning bugs related to the grand canonical
	  ensemble.  Fixed a major bug that was using a different defination 
	  of the chemical potential for the input values (in grand canonical) 
	  compared to the definitions used for the output chemical potential.
	  This caused a discrepancy whenever a molecule had non-zero bonded or 
	  intramolecular interactions.
      </li>
        <li>3.17.7: Fixed a bug caused by the assumption that no molecule
	  would interact with itself through the periodic images when computing a
	  torsion interaction.  It turns out that for hard sphere chains (and other 
	  molecules whose torsions are short-ranged nonbond) whose length is long 
	  compared to the size of the box that this is not the case.  The code should 
	  now detect such situations and compute the appropriate energies for all moves.
        <li>3.17.6: Fixed an error in the TIP3P and TIP4P force field implementations.
	 Added the NERDv3 force field into the distribution.  Added a few new terms 
	 to the Charmm22 and Charmm27 force fields.</li>
        <li>3.17.5: Changed the format of the output from the system snapshots (<b>printfreq</b>)
	 and the block averages (<b>blocksize</b>) so that it works with a new utility 
	 for parsing the standard output of simulations from a single component vapor-liquid 
	 coexistence curve simulation run.  Made some changes to the readdatabase functionallity 
	 so that you can opt to only optimize a subset of the variables instead of all of the 
	 variables in the force field.</li>
        <li>3.17.4: Added more parameters to the OPLS-ua force field.  Fixed a 
	bug in readtowhee.F that was leading to a spurious failed string comparison 
	on some platforms.</li>
        <li>3.17.3: Continue to increase the coverage of the OPLS-ua force field.
	Made some more minor changes to all of the force field generation utilities.
	Added parameters and fixed bugs in the Charmm22 and NERDv3 force field files.
	Slight modification to the writelammps subroutine.  Finished the implementation
	of the C19sasa force field.  Added the TIP3P, TIP4P, and TIP5P water models as 
	separate force fields (and removed them from their parent OPLS force field files).</li>
        <li>3.17.2: Finished implementing the Sum2003 force field and added an example.
	Fixed a bug in swapmoves.F that was causing a segmentation fault when trying 
	to perform an AVB move in a box containing zero molecules.</li>
        <li>3.17.1: Added the NERD Version 1, 2, and 3 force fields and the Sum2003 
	force field to the distribution.  Fixed a bug in getcbangle that was causing 
	a crash in very rare cases (thanks to Shang-Shan Chong for reporting the bug).
	Updated the TraPPE-UA force field to have a scaled 1-4 coulombic interaction.</li>
        <li>3.17.0: Replaced the <b>lcoulomb</b> variable with <b>coulombstyle</b>
	and added another option to manage the Ewald sum with a fixed coulombic 
	cutoff instead of a fixed kmax.  Expanded the format of the helix builder 
	to allow for the use of either the element, pdbname, or nbname.  Updated some 
	force fields to a different setting for the fixed angle tolerance in a continued 
	effort to track down an occasional problem in getcbangle.</li>
      </ul>

      <b>towhee_input file differences from version 3.16.x</b> 

      <ul>
        <li><b>helix_element</b> replaced by the more general <b>helix_keyname</b>
	and added the related <b>helix_keytype</b> variable.</li>
	<li><b>lcoulomb</b> replaced by the more general <b>coulombstyle</b> along with 
	some new variables for use with the 'ewald_fixed_cutoff' option.</li>
      </ul>

      <b>Variable explanations for towhee_input</b> 

      <ul>
        <dt><a name="randomseed"><b>randomseed (integer)</b></a> 
          <ul>
            <li>The 32 bit integer seed that is used to initialize the ranlux 
	    random number generator.  Must be positive.</li>
          </ul>
        </dt>

        <dt><a name="inputformat"><b>inputformat (character string)</b></a> 
          <ul>
            <li>'Towhee' : reads in the input variables following the format 
	    for Towhee.  This format is described in this file.</li>
	    <li>'LAMMPS' : reads in the input variables from the lammps_input 
	    and lammps_data files.  Outputs files suitable for use with
	    Towhee.</li>
	    <li>'Database' : reads in the input variables from the 
	    database_input file.  Runs energy calculations for a database 
	    of conformations.  See the 
	    <a href=../database/towhee_input_database.html>towhee_input database<a/> 
	    format for more information about this feature.</li>
          </ul>
	</dt>

        <dt><a name="ensemble"><b>ensemble (character string of size 3)</b></a> 
          <ul>
            <li> 'npt': Isobaric-Isothermal Ensemble.  The volume moves for
	      each simulation box are performed in an exchange with an
	      external pressure bath set at a specified pressure.  
	      The total number of molecules is conserved.</li>
            <li> 'nvt': Canonical Ensemble.  The total volume of the system is conserved. 
	      The total number of molecules in the system is conserved.  In
	      the case of a multi-box simulation this exchanges volume between 
              pairs of boxes (canonical Gibbs ensemble).</li>
	    <li> 'uvt': Grand Canonical Ensemble.  The total volume of the system is
              conserved.  The total number of molecules in the system 
	      equilibrates with an external ideal gas bath set at a specified
	      chemical potential.  
	  </ul>
	</dt>

        <dt><a name="temperature"><b>temperature (double precision)</b></a> 
          <ul>
            <li> The temperature in Kelvin.</li>
          </ul>
	</dt>

	<hr></hr>
	<dt>The variable in this subsection is only included in the input file if <b>ensemble</b>
	is set to 'npt'</dt>	
        <dt><a name="pressure"><b>pressure (double precision)</b></a> 
          <ul>
            <li> The external pressure in kPa.</li>
          </ul>
	</dt>
	<dt>End of the subsection only included if <b>ensemble</b> is 'npt'</dt>
	<hr></hr>

        <dt><a name="nmolty"><b>nmolty (integer)</b></a> 
          <ul>
            <li> The total number of molecule types in the simulation. This must 
              be less then or equal to NTMAX 
	      (see <a href="../code/code_manual.html#preproc">preproc.h</a>).</li>
          </ul>
	</dt>

        <dt><a name="nmolectyp"><b>nmolectyp (integer) [one value for each molecule type]</b></a> 
          <ul>
            <li> The number of molecules of each type (listed sequentially on 
             a single line).  For the constant N ensembles (nvt, npt) this is
	     the actual number of molecules in the simulation.  For the constant
	     chemical potential ensembles (uvt) this is the maximum number of molecules allowed in
	     the simulation.</li>
          </ul>
	</dt>

	<hr></hr>
	<dt>The variable in this subsection is only included in the input file if <b>ensemble</b>
	is set to 'uvt'</dt>	
        <dt><a name="chempot"><b>chempot (double precision)</b></a> 
          <ul>
            <li> The real chemical potential (this includes intramolecular portions 
	     and is identical to the CB chemical potential output by the code) for
	     molecules of each type (listed sequentially on 
             a single line).  The units are in Kelvin divided by Boltzmann's constant 
	     (identical to the output CB chemical potential).</li>
          </ul>
	</dt>
	<dt>End of the subsection only included if <b>ensemble</b> is 'uvt'</dt>
	<hr></hr>

        <dt><a name="numboxes"><b>numboxes (integer)</b></a> 
          <ul>
            <li> The number of simulation boxes in the system. This value must 
              be less than or equal to MAXBOXES (set in 
	      <a href="../code/code_manual.html#preproc">preproc.h</a>). Note that 
              many of the variables below depend upon numboxes as you will have 
              to provide information for each box (such as box lengths) and
	      some Monte Carlo moves are only valid for multiple box ensembles.</li>
          </ul>
	</dt>

        <dt><a name="stepstyle"><b>stepstyle (character string of length 10)</b></a> 
          <ul>
	    The different settings for stepstyle require a different set of
	    variables afterwards.  For each
	    <b>stepstyle</b> I list a description of the resutling step style
	    and the set of variables that must follow.
	    <li> 'cycles': Run a Monte Carlo simulation for <b>nstep</b> Monte Carlo cycles.  
	    A cycle is equal to <b>N</b> Monte Carlo moves, where <b>N</b> is the number of 
	    molecules in the system.</li>
	    <ul>
	      <dt><a name="stepstyle_cycles_nstep"><b>nstep (integer)</b></a> 
		<ul>
		  <li> The number of Monte Carlo steps to perform where each step is a cycle.</li>
                </ul>
              </dt>
	    </ul>

            <li> 'moves': Run a Monte Carlo simulation for <b>nstep</b> Monte Carlo moves.</li>
	      <ul>
	        <dt><a name="stepstyle_moves_nstep"><b>nstep (integer)</b></a> 
		  <ul>
		    <li> The number of Monte Carlo steps to perform where each step is a 
		    single move.</li>
                  </ul>
                </dt>
	      </ul>

            <li> 'minimize': Perform a minimization.</li>
	      <ul>
	        <dt><a name="stepstyle_minimize_optstyle"><b>optstyle (integer)</b></a> 
		  <ul>
		    <li> 1: Use the Broyden-Fletcher-Goldfarb-Shanno variant of the variable-metric
		    or quasi-newton method for minimization.  The suggested reference in Numirical 
		    Recipes was <a href="../references.html#polak_1971">Polak 1971</a>.</li>
                  </ul>
                </dt>
	        <dt><a name="stepstyle_minimize_mintol"><b>mintol (double precision)</b></a> 
		  <ul>
		    <li> The convergance tolerance for the minimization.</li>
                  </ul>
                </dt>
	      </ul>
	  </ul>
	</dt>

        <dt><a name="printfreq"><b>printfreq (integer)</b></a> 
          <ul>
            <li> The step frequency for outputting information about the system to stdout (fort.6). 
	      The information is the number of Monte 
              Carlo steps performed thus far during the run, the total energy 
              in each box, the x-box length of each box, the pressure of each 
              box, and the number of molecules of each type in each box.</li>
          </ul>
	</dt>

        <dt><a name="blocksize"><b>blocksize (integer)</b></a> 
          <ul>
            <li> The size of the blocks for computing block averages. If you want 
              this to be meaningful then blocksize should divide cleanly into nstep. 
              The quantities that are averaged (in each simulation box) are the 
              specific density, the pressure, all of the energy terms, the chemical 
              potential of each molecule type, number density of each molecule 
              type, and the mole fractions.</li>
          </ul>
	</dt>

        <dt><a name="moviefreq"><b>moviefreq (integer)</b></a></a>
          <ul>
            <li> The step frequency for outputting the system conformations 
              to the towhee_movie file. This file is analyzed after the run using 
              the analyze_movie.F routine to compute a variety of distribution 
              functions. This file can get pretty big if you output frequently 
              so be careful if you have a limited amount of hard disk space available.</li>
          </ul>
	</dt>

        <dt><a name="backupfreq"><b>backupfreq (integer)</b></a> 
          <ul>
            <li> The step frequency for writing a file named 
              towhee_backup that is suitable for use as a restart file. It overwrites 
              the previous version of towhee_backup each time so it does not take 
              up much space. Typically I set backupfreq so that I get around 10 backups 
              during a run. For more information about restart files look at the 
              manual entries for towhee_initial, towhee_backup, and towhee_final.</li>
          </ul>
	</dt>

        <dt><a name="loutpdb"><b>loutpdb (logical)</b></a> 
          <ul>
            <li> .true. if you wish to output Protein Data Bank (pdb) files for 
              each simulation box at the end of the run. These files are named 
              box_xx.pdb where xx is the simulation box number.</li>
            <li> .false. if you do not want to output pdb files.</li>
          </ul>
	</dt>

        <dt><a name="loutdft"><b>loutdft (logical)</b></a> 
          <ul>
            <li> .true. if you wish to output files for use with the Tramonto 
              classical density functional theory code. This outputs dft_surfaces.dat 
              and dft_decode.dat. See the Tramonto code for information on what 
              these files mean.</li>
            <li> .false. if you do not want to output dft files.</li>
          </ul>
	</dt>

        <dt><a name="loutlammps"><b>loutlammps (logical)</b></a> 
          <ul>
            <li> .true. if you wish to output files for use with the LAMMPS massively 
              parallel molecular dynamics code. This outputs lammps_input and 
              lammps_data# where the number is each of the simulation box numbers. 
              See the LAMMPS documentation for more information on how to read 
              in these files.</li>
            <li> .false. if you do not want to output LAMMPS files.</li>
          </ul>
	</dt>

	<hr></hr>
	<dt>The variables in this subsection are only included if <b>ensemble</b> is 'uvt'</dt>
        <dt><a name="louthist"><b>louthist (logical)</b></a> 
          <ul>
            <li> .true. if you wish to output files used for histogram reweighting.  When 
	    set to this value you must also include two additional variables</li>
	    <dt><a name="histcalcfreq"><b>histcalcfreq (integer)</b></a> 
              <ul>
	        <li>The step frequency for computing the information needed for histogram 
	        reweighting.</li>
              </ul>
	    </dt>
	    <dt><a name="histdumpfreq"><b>histdumpfreq (integer)</b></a> 
              <ul>
	        <li>The step frequency for outputting the information needed for histogram 
	        reweighting to the various towhee_histogram files.  The ratio of 
	        <b>histdumpfreq</b>/<b>histcalcfreq</b> must be less than the 
	        <b>NDUMPHIST</b> value specified in preproc.h.</li>
              </ul>
	    </dt>
            <li> .false. if you do not wish to output files for histogram reweighting.
	    No additional variables are required for this setting.</li>
	  </ul>	
	</dt>
	<dt>End of the subsection only included if <b>ensemble</b> is 'uvt'</dt>
	<hr></hr>

        <dt><a name="pressurefreq"><b>pressurefreq (integer)</b></a> 
          <ul>
            <li> The step frequency for computing the pressure in each simulation box.
	      Be aware that computing the pressure is a fairly expensive 
              task (especially for large systems) so if you don't really care 
              about the computed pressure then it will pay to set <b>pressurefreq</b> to a high 
              value.</li>
          </ul>
	</dt>

        <dt><a name="trmaxdispfreq"><b>trmaxdispfreq (integer)</b></a> 
          <ul>
            <li> The step frequency for updating the maximum translational (atom and center-of-mass) and rotational 
              displacements. They are 
              adjusted to try and achieve the target acceptance rates (see <b>tatraa</b>, 
              <b>tatrac</b>, and <b>tarot</b>). It is a good idea to do this fairly frequently 
              at the start of the simulation (every step or every 10 steps) in 
              order to get good values for the maximum displacements. Once the 
              acceptance rates are near their desired values I typically set <b>trmaxdispfreq</b>
              to do 10 updates during a run.</li>
          </ul>
	</dt>

        <dt><a name="volmaxdispfreq"><b>volmaxdispfreq (integer)</b></a> 
          <ul>
            <li> The step frequency for updating the maximum volume displacements. 
	      They are adjusted to try and achieve the target acceptance 
              rates (see <b>tavol</b>). It is a good idea to do this fairly frequently 
              at the start of the simulation (every few steps) in order to get 
              good values for the maximum displacements. Once the acceptance rates 
              are near their desired values I typically set <b>volmaxdisp</b> to do 10 updates 
              during a run.</li>
          </ul>
	</dt>

        <dt><a name="ffnumber"><b>ffnumber (integer)</b></a> 
          <ul>
	    <li> 1 or more: reads the force field information from this number of file(s) listed in the 
	    <b>ff_filename</b>.</li>
          </ul>
	</dt>

        <dt><a name="ff_filename"><b>ff_filename (formatted character*70) [one line for each force field]</b></a> 
          <ul>
            <li>A list of the filenames (one per line) that contain the force field information.</li>
          </ul>
	</dt>

        <dt><a name="potentype"><b>potentype (integer)</b></a> 
          <ul>
	  The setting for this variable controls the nonbonded potential type.  Depending on the setting 
	  there are a number of other variables that also must be listed.
	  Please see the <a href="../potentype/towhee_input_potentype.html">potentype</a> web page for more information.
          </ul>
	</dt>

        <dt><a name="coulombstyle"><b>coulombstyle (character*20)</b></a> 
          <ul>
	    <li>'none' if you do no want to compute any coulombic interactions.</li>
	    <li>'ewald_fixed_kmax' if you want to use point charges with an Ewald sum that utlilizes a constant number of inverse 
	      space vectors (<b>kmax</b>) and a variable electrostatic cutoff (<b>rcelect</b>) equal to half the current box length.
	      When using this option you will also need to list the following variables.
	      <ul>
                <dt><a name="kalp"><b>kalp (double precision)</b></a> 
                  <ul>
		    <li> Value used in the Ewald sum to compute alpha.  If you set <b>kalp</b> and <b>kmax</b> both 
		    to zero then you will effectively disable the Ewald sum.  The actual Ewald sum alpha term is equal to 
		    <b>kalp</b> divided by the shortest box length.  The recommended value for <b>kalp</b> is 5.6.</li>
		  </ul>
		</dt>

		<dt><a name="kmax"><b>kmax (integer)</b></a> 
		  <ul>
		    <li> Maximum number of inverse space vectors to use in any dimension 
		    for the Ewald sum. Recommended value of this parameter is 5. If 
		    you want to set this to a larger value to may have to increase VECTORMAX 
		    (see <a href="../code/code_manual.html#preproc">preproc.h</a>).  Note that you can effectively 
		    disable the Ewald sum by setting both <b>kalp</b> and <b>kmax</b> to zero.</li>
		  </ul>
		</dt>

		<dt><a name="dielect"><b>dielect (double precision)</b></a> 
		  <ul>
		    <li> The dielectric constant used when computing coulombic interactions.  Generally this
		    should be set to 1.0 as the solvated system will act as the screening that the dielectric
		    constant is intended to represent.  If you are performing a simulation without any solvent 
		    (for example a protein without the water) you might want to set the dielectric constant to represent 
		    the missing solvent.</li>
		  </ul>
		</dt>
	      </ul>
	    </li>

	    <li>'ewald_fixed_cutoff' if you want to use point charges with an Ewald sum that utilizes a constant electrostatic 
	      cutoff (<b>rcelect</b>) and adjusts the number of inverse space vectors (<b>kmax</b>) according to the following 
	      heuristic.  
	      <dt>alpha = ( 1.35 - 0.15 log[<b>ewald_prec</b>]) / <b>rcelect</b></dt>
	      <dt>kmax = ( alpha * Max[box length] / Pi) * (log[<b>ewald_prec</b>])<sup>0.5</sup></dt>
	      When using this option you will also need to list the following variables.
	      <ul>
                <dt><a name="ewald_prec"><b>ewald_prec (double precision)</b></a> 
                  <ul>
		    <li> Controls the precision of the Ewald summation technique.  The smaller the value, the 
		    better the results (and the more expensive the simulation).  The recommended value of 1d-4 is generally 
		    adequate, while a value of 1d-5 is very good (but more expensive).
		  </ul>
		</dt>

		<dt><a name="rcelect"><b>rcelect (double precision)</b></a> 
		  <ul>
		    <li>The cutoff for electrostatic interations computed in the "real space" portion of the Ewald sum.
		    Decreasing this value means less work in the "real space", but correspondingly more work in the 
		    "inverse space".  Setting this equal to the general nonbonded cutoff 
		    (see <b>rcut</b> in <a href="../potentype/towhee_input_potentype.html">potentype</a>) is recommended.</li>
		  </ul>
		</dt>

		<dt><a name="dielect"><b>dielect (double precision)</b></a> 
		  <ul>
		    <li> The dielectric constant used when computing coulombic interactions.  Generally this
		    should be set to 1.0 as the solvated system will act as the screening that the dielectric
		    constant is intended to represent.  If you are performing a simulation without any solvent 
		    (for example a protein without the water) you might want to set the dielectric constant to represent 
		    the missing solvent.</li>
		  </ul>
		</dt>
	      </ul>
	    </li>
          </ul>
	</dt>

        <dt><a name="nhrdfld"><b>nhrdfld (integer)</b></a> 
          <ul>
            <li> Number of hard walls you wish to include in the simulation. As 
              this is not typically used, it has a slightly different input style 
              from normal. If nhrdfld = 0 then none of the hrd* variables are 
              required in the input file. Otherwise for each hard field you need to list 
	      the following variables (hrd***) one per line.</li>

            <li><b>hrdbox (integer)</b></a>
              <ul>
                <li> This is the number of the simulation box which contains this 
                  hard wall. Must range from 1 to numboxes.</li>
              </ul>
            </li>

            <li><b>hrdxyz (integer)</b></a>
              <ul>
                <li> 1: hard wall is perpendicular to the x-axis (in the yz plane)</li>
                <li> 2: hard wall is perpendicular to the y-axis (in the xz plane)</li>
                <li> 3: hard wall is perpendicular to the z-axis (in the xy plane)</li>
              </ul>
	    </li>

            <li><b>hrdcen (double precision)</b></a> 
              <ul>
                <li> Position of the center of the hard wall. Must be between 
                  0.0 and the box length of the axis that is perpendicular to 
                  the wall.</li>
              </ul>
	    </li>

            <li><b>hrdrad (double precision)</b></a> 
              <ul>
                <li> Radius of the hard wall. The wall will exclude all atoms 
                  whose centers are within this radius regardless of the potentype 
                  or any of the atom parameters. The wall is felt through the periodic 
                  boundaries.</li>
              </ul>
	    </li>

          </ul>
	</dt>

        <dt><a name="nljfld"><b>nljfld (integer)</b></a> 
          <ul>
            <li> Number of 9-3 Lennard-Jones walls you wish to include in the 
              simulation.  The wall potential has the following functional form.
	      <dt>v(d) = [ 2/3 Pi Eps<sub>wf</sub> sig<sub>wf</sub><sup>3</sup> rho<sub>wall</sub> ] 
	      * [ 2/15 (sig<sub>wf</sub>/d)<sup>9</sup> - (sig<sub>wf</sub>/d)<sup>3</sup> ]</dt>
	      As this is not typically used, it has a slightly different 
              input style from normal. If nljfld = 0 then none of the ljf* variables 
              are required in the input file. Otherwise for field you need to include the 
	      following variables (one per line).</li>

            <li><b>ljfbox (integer)</b></a> 
              <ul>
                <li> This is the number of the simulation box which contains this 
                  Lennard-Jones wall. Must range from 1 to numboxes.</li>
              </ul>
	    </li>

            <li><b>ljfxyz (integer)</b></a> 
              <ul>
                <li> 1: Lennard-Jones wall is perpendicular to the x-axis (in 
                  the yz plane)</li>
                <li> 2: Lennard-Jones wall is perpendicular to the y-axis (in 
                  the xz plane)</li>
                <li> 3: Lennard-Jones wall is perpendicular to the z-axis (in 
                  the xy plane)</li>
              </ul>
	    </li>

            <li><b>ljfcen (double precision)</b></a> 
              <ul>
                <li> Position of the center of the Lennard-Jones wall. Must be 
                  between 0.0 and the box length of the axis that is perpendicular 
                  to the wall.</li>
              </ul>
	    </li>

            <li><b>ljfdir (integer)</b></a> 
              <ul>
                <li> -1: Atoms only interact with the "left" face of this wall. 
                  Unlike the hard walls, this does not extend through the periodic boundary.</li>
                <li> 1: Atoms only interact with the "right" face of this wall. 
                  Unlike the hard walls, this does not extend through the periodic boundary.</li>
              </ul>
	    </li>

            <li><b>ljfcut (double precision)</b></a> 
              <ul>
                <li> The distance beyond which the wall-atom interactions are 
                  not computed and assumed to be zero.</li>
              </ul>
	    </li>

            <li><b>ljfshift (logical)</b></a> 
              <ul>
                <li>T: if you want to shift the lj wall potential to be zero at the cutoff.</li>
		<li>F: if you do not want to shift the potential.</li>
              </ul>
	    </li>

            <li><b>ljfrho (double precision)</b></a> 
              <ul>
                <li>The number density of atoms in the integrated wall potential (units of atoms per cubic Angstrom).</li>
              </ul>
	    </li>

            <li><b>ljfntypes (integer)</b></a> 
              <ul>
                <li>The number of atom types in the system that interact with the wall.  Any atom type not listed 
		here will have zero interaction with the wall.  For each value of <ljfntypes> you must list the 
		following variables.</li>

		<li><b>ljfname (character*6)</b></a> 
		  <ul>
		    <li> The name of the atom.  This must match up
		    with the atom names listed down in the
		    <b>inpstyle</b> 2 portion of each molecule that is
		    interacting with this wall.  If you are not using
		    that <b>inpstyle</b> this will still work except
		    you will need to know the atom names in the
		    appropriate towhee_ff_whatever files.</li>
		  </ul>
	        </li>

		<li><b>ljfsig (double precision)</b></a> 
		  <ul>
		    <li> Sigma parameter for the interaction between this atom and the wall atoms.  Units are Angstroms.</li>
		  </ul>
	        </li>

		<li><b>ljfeps (double precision)</b></a> 
		  <ul>
		    <li> Epsilon parameter for the interaction bewteen this atom and the wall atoms.
		    Units are K/k<sub>b</sub>.</li>
		  </ul>
		</li>
              </ul>
	    </li>
          </ul>
	</dt>

        <dt><a name="numbfld"><b>numbfld (integer)</b></a> 
          <ul>
            <li> Number of so-called "umbrella" fields.  This is taken from 
	    <a href="../references.html#hooper_et_al_2000">Hooper <i>et al.</i> 2000</a> and is a 4th power 
	    energy function based on displacement along a single axis.
	    <dt>v(d) = umba * [ (d - umbcenter) / umbcenter ]</dt>
	    This follows the convention for fields in Towhee where if <b>numbfld</b> is 0 then nothing else 
	    about this field must be listed.  If <b>numbfld</b> is nonzero then you must list all of the <b>umb***</b> 
	    variables immediately below, one per line, for each field.</li>

            <li><b>umbbox (integer)</b></a> 
              <ul>
                <li> This is the number of the simulation box which contains this 
                  Umbrella field. Must range from 1 to numboxes.</li>
              </ul>
	    </li>

            <li><b>umbxyz (integer)</b></a> 
              <ul>
                <li> 1: Field is perpendicular to the x-axis (in the yz plane)</li>
                <li> 2: Field is perpendicular to the y-axis (in the xz plane)</li>
                <li> 3: Field is perpendicular to the z-axis (in the xy plane)</li>
              </ul>
	    </li>

            <li><b>umbcenter (double precision)</b></a> 
              <ul>
                <li>The zero energy point of the field, listed as a distance in Angstroms along the axis 
		specified in <b>umbxyz</b></li>
              </ul>
	    </li>

            <li><b>umba (double precision)</b></a> 
              <ul>
                <li>The energy constant in units of K/k<sub>b</sub>.</li>
              </ul>
	    </li>
	  </ul>
	</dt>

        <dt><a name="isolvtype"><b>isolvtype (integer)</b></a> 
          <ul>
            <li>0: Perform a simulation without any implicit solvation.  This is the default choice 
	    for performing a simulation.</li>
	    <li>1: not yet working.</li>
	    <li>2: solvation using the Charmm19-EEF1 potential.</li>
	    <li>3: solvation using the classical density functional theory code Tramonto to 
	    compute a solvation free energy.  The Tramonto code is not yet publically available.</li>
          </ul>
	</dt>

        <dt><a name="linit"><b>linit (logical)</b></a> 
          <ul>
            <li> .true. if you are starting the simulation and wish to generate 
              the positions of all of the atoms, assign initial box lengths and 
              maximum displacements.</li>
            <li> .false. if you want to continue the simulation by reading in 
              box lengths, maximum displacements, and coordinates from towhee_initial.</li>
          </ul>
	</dt>

	<dt><a name="initstyle"><b>initstyle (integer) [one line for each simulation box and on each line one value 
	  for each molecule type]</b></a> 
          <ul>
            One line for each simulation box in the system. Each line contains 
            a value for each molecule type. 
            <li> 0: A template for this molecule type is created using configurational-bias. 
              This template is then replicated throughout the simulation box to 
              generate an initial configuration.</li>
            <li> 1: A template for this molecule type is read from towhee_template. 
              This template is then replicated throughout the simulation box to 
              generate an initial configuration.</li>
            <li> 2: The coordinates for each atom are read from towhee_coords. 
              This is useful if you are starting from a different file format 
              (such as pdb), or have another code for building an initial configuration.</li>
            <li> 3: The coordinates for each atom are read from towhee_nanotube.
	      This file is generated by the Towhee code if you use the inpstyle for carbon 
	      nanotubes.</li>
            <li> 4: The molecule is generated by placing some of the backbone atoms onto 
	      a helix and then growing the rest of the atoms using CBMC.  Any molecule 
	      initialized using this style must have the following information listed 
	      subsequent to the <b>initstyle</b> variables.
	      <ul>
	        <dt><a name="helix_moltyp"><b>helix_moltyp (integer)</b></a>
		  <ul>
		    An integer corresponding to the molecule type that had an <b>initstyle</b>
		    variable set to 4 in one of the simulation boxes.  These must be listed 
		    in consecutive order.
		  </ul>
		</dt>
		<dt><a name="helix_radius"><b>helix_radius (double precicion)</b></a>
		  <ul>
		    The radius of the helix (units of Angstroms).
		  </ul>
		</dt>
		<dt><a name="helix_angle"><b>helix_angle (double precision)</b></a>
		  <ul>
		    The pitch angle the helix makes with respect to the z-axis 
		    (units of degrees).
		  </ul>
		</dt>
		<dt><a name="helix_keytype"><b>helix_keytype (character*10)</b></a>
		  <ul>
		    <li>'element' compares the <b>helix_keyname</b> with the character*2 
		    variable element that contains the 2 letter elemental code for each atom.</li>
		    <li>'nbname' compares the <b>helix_keyname</b> with the character*10 
		    variable nbname that contains the 10 character code for each atom type.  This 
		    is the same variable that is used when inputting the atom names with the 
		    Atom-based connectivity map (<b>inpstyle</b> 2).</li>
		    <li>'pdbname' compares the <b>helix_keyname</b> with the character*4 
		    variable pdbname that contains the 4 character code used in the pdb format output.
		    This is most suitable for use with the Polypeptide builder (<b>inpstyle</b> 1) 
		    or the Nucleic acid builder (<b>inpstyle</b> 4).</li>
                  </ul>
		</dt>
		<dt><a name="helix_keyname"><b>helix_keyname (character*10)</b></a>
		  <ul>
		    The key for finding matches of the atom with the data structures for the molecule 
		    that is being grown as a helix.  You need to choose an atom name that only appears 
		    in the backbone (e.g. 'P' for Charmm27 nucleic acids when using the element keytype, 
		    or ' CA ' for the C alpha backbone carbon of a polypeptide when using the pdbname keytype).
                  </ul>
		</dt>
		<dt><a name="helix_conlen"><b>helix_conlen (double precision)</b></a>
		  <ul>
		    The distance between consecutive <b>helix_element</b> atoms 
		    (units of Angstroms).
                  </ul>
                </dt>
		<dt><a name="helix_phase"><b>helix_phase (double precision)</b></a>
		  <ul>
		    The initial angle of the helixcal chain (units of degrees).  Normally,
		    this has little effect as it is just a rotation about the z-axis, but 
		    if you are trying to set up two complementary nucleic acid chains to 
		    form a double helix then you would want their phase angles to differ 
		    by 180 degrees.
		  </ul>
		</dt>
              </ul>
            </li>
          </ul>
	</dt>

        <dt><a name="hmatrix"><b>hmatrix (double precision)</b></a> 
          <ul>
            <li> The initial box dimensions (Angstroms) for the three
	    vectors that describe the simulation box.  There are nine
	    entries (3 for each of the 3 vectors) in total for each
	    simulation box.  These are listed one vector at a time, with the three numbers
	    which make up each vector listed on the same line.  Note that the coordinate system
	    you choose does not have to be orthogonal, but it must follow the right hand rule.  The 
	    three vectors must also all be at least 45 degrees apart.  Note that if you wish to use 
	    a rectangular box then only the diagonal elements of hmatrix will be non-zero, and these 
	    will be equal to the boxlengths in the x, y, and z dimensions.</li>
          </ul>
	</dt>

        <dt><a name="initmol"><b>initmol (integer)</b></a> 
          <ul>
            <li> The initial number of each type of molecule in each box (one 
              line per box).</li>
          </ul>
	</dt>

        <dt><a name="inix"><b>inix, iniy, iniz (integer)</b></a> 
          <ul>
            <li> The initial number of molecules in each direction in each box. 
              The product of inix*iniy*iniz must be greater than or equal to the 
              initial number of molecules in that box (the sums of initmol).  While these 
	      are labeled x, y, and z they actually correspond to the three coordinate 
	      vectors.</li>
          </ul>
	</dt>

        <dt><a name="inimix"><b>inimix (integer)</b></a> 
          <ul>
	    One line for each simulation box in the system.
            <li> -1: molecules are initially placed in each box in alternating 
              order.</li>
            <li> 0: molecules are initially placed in each box in random order.</li>
            <li> 1: molecules are initially placed in each box in order. Thus all 
              molecules of type 1 are placed in a box before any molecules of 
              type 2. If you are using initstyle = 2 then this is the only valid 
              option and the other options will be reset to this option by the
              code.</li>
          </ul>
	</dt>

        <li>Note: the pm* variables are used to determine which move type to 
	    perform every time we want to do a Monte Carlo move. A move is selected 
            by choosing a random number between 0.0 and 1.0 and then going down 
            the list of pm* until you find one which has a value higher than the 
            random number.  At least one of the variables must be set to 1.0.
	    A similar procedure is performed when we want to determine which boxes or molecule types 
            to perform the selected move upon. These are done using the pm**pr 
            and pm**mt arrays.
        </li>
	<li>Comment: The formatting of the move variables is now very specific.  In all cases 
	    the first variable for a move (pm***) is left justified (as is the standard for 
	    most variable) while all other variables for that move are indented 10 spaces.
	</li>

	<hr></hr>
	<dt>Isotropic Volume Move: These variables are only included for the following cases</dt>
	<ul>
	  <li><b>ensemble</b> is 'npt'</li>
	  <li><b>ensemble</b> is 'nvt' and <b>numboxes</b> is 2 or more.</li>
	</ul>
        <dt><a name="pmvol"><b>pmvol (double precision)</b></a> 
          <ul>
            <li> Probability of performing a volume move. If (<b>ensemble</b> is 'npt') then 
              a single box is selected and it exchanges volume with an external 
              pressure bath (see pressure). If (<b>ensemble</b> = 'nvt' and numboxes > 
              1) a pair of boxes are selected and volume is exchanged between 
              them.</li>
          </ul>
	</dt>

        <dt><a name="pmvlpr"><b>pmvlpr (double precision)</b></a> 
          <ul>
            <li> Probability of performing a volume move on a particular box, 
              or box pair. All of these variables are listed on a single line 
              If (<b>ensemble</b> = 'npt') then a value of pmvlpr is listed for each box. 
              If (<b>ensemble</b> = 'nvt') then a value is listed for each pair of simulation 
              boxes where the pairs are ordered (1,2), (1,3), ... (1,numboxes), 
              (2,3), ... (numboxes-1,numboxes).</li>
          </ul>
	</dt>

        <dt><a name="rmvol"><b>rmvol (double precision) [a single value regardless 
	of the actual number of box pairs]</b></a> 
          <ul>
            <li> The initial volume maximum displacement. If this is an isobaric-isothermal 
              ensemble (<b>ensemble</b> = 'npt') then this is the initial maximum volume 
              displacement (cubic Angstroms) in each box. If this is the canonical 
              Gibbs ensemble (<b>ensemble</b> = 'nvt' and numboxes > 1 ) then this is the 
              maximum displacement (logarithmic space) for each pair of boxes. 
              As the simulation progresses, these values will be updated for each 
              box, or each pair of boxes (see iratv).</li>
          </ul>
	</dt>

        <dt><a name="tavol"><b>tavol (double precision)</b></a> 
          <ul>
            <li> The target acceptance rate for the volume move. Must be a value 
              between 0.0 and 1.0. The volume displacement (rmvol) is periodically 
              adjusted (see iratv) to yield this acceptance rate. I typically use 
              a value of 0.5, though some researchers prefer smaller values.</li>
          </ul>
	</dt>

	<hr></hr>
	<dt>Anisotropic Volume Move: These variables are only included for the following cases</dt>
	<ul>
	  <li><b>ensemble</b> is 'npt'</li>
	  <li><b>ensemble</b> is 'nvt' and <b>numboxes</b> is 2 or more.</li>
	</ul>
        <dt><a name="pmcell"><b>pmcell (double precision)</b></a> 
          <ul>
            <li> Probability of performing a unit cell adjustment move. If (<b>ensemble</b> = 'npt' )
	    then a single box is selected and a single hmatrix element is changed.  This results in 
	    a volume exchange with a fictional external pressure bath (see pressure). If 
	    (<b>ensemble</b> = 'nvt' and numboxes > 1) a pair of boxes are selected.  One of the 
	    boxes is then selected according to the pmcellpt variable and a single hmatrix element 
	    is changed in that box.  This results in a change of volume for 
	    the first box which is countered by isotropically changing the volume in the second 
	    box.</li>
          </ul>
	</dt>

        <dt><a name="pmcellpr"><b>pmcellpr (double precision)</b></a> 
          <ul>
            <li> Probability of performing a unit cell adjustment move on a particular box, 
              or box pair. All of these variables are listed on a single line 
              If (<b>ensemble</b> = 'npt') then a value of pmvlpr is listed for each box. 
              If (<b>ensemble</b> = 'nvt') then a value is listed for each pair of simulation 
              boxes where the pairs are ordered (1,2), (1,3), ... (1,numboxes), 
              (2,3), ... (numboxes-1,numboxes).</li>
          </ul>
	</dt>

        <dt><a name="pmcellpt"><b>pmcellpt (double precision)</b></a> 
          <ul>
            <li> Probability of selecting the first box of the pair as the box to perform the 
	    non-isotropic volume move upon, while its partner undergoes an isotropic volume move.  
	    This variable is only meaningful if (<b>ensemble</b> = 'nvt').  Note that you can 
	    choose to perform the non-isotropic volume move always on the same box and this might be 
	    useful if you are doing a solid-vapor equilibria calculation.</li>
          </ul>
	</dt>

        <dt><a name="rmcell"><b>rmcell (double precision)</b></a> 
          <ul>
            <li> The initial unit cell adjustment maximum displacement.  In all cases, this is 
	    the maximum amount (in Angstroms) that a single element of the hmatrix can change in 
	    a single unit cell move.  Note, the in the canonical Gibbs ensemble case it is possible 
	    for the isotropic box to undergo an hmatrix change that is larger than this value as 
	    that box simply makes up for the volume change caused by the non-isotropic adjustment 
	    in the first box.  As the simulation progresses, these values are
	    updated for each box with a frequency controlled by <b>iratv</b>.</li>
          </ul>
	</dt>

        <dt><a name="tacell"><b>tacell (double precision)</b></a> 
          <ul>
            <li> The target acceptance rate for the unit cell adjustment move. Must be a value 
              between 0.0 and 1.0. The unit cell displacement (rmcell) is periodically 
              adjusted (see iratv) to yield this acceptance rate. I typically use 
              a value of 0.5.</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Rotational-bias 2 box molecule Transfer Move: These variables are only included 
	if <b>numboxes</b> is greater than or equal to 2</dt>
        <dt><a name="pm2boxrbswap"><b>pm2boxrbswap (double precision)</b></a> 
          <ul>
            <li>Probability of performing a rotational-bias interbox
              molecule transfer move. This move takes a molecule out
              of one box and tries to place it in another box. The
              molecule is grown using <b>nch_nb_one</b> attempted
              different orientations and position (of the
              center-of-mass) for the new molecule.</li>
          </ul>
	</dt> 

        <dt><a name="pm2rbswmt"><b>pm2rbswmt (double precision)</b></a> 
          <ul>
	     <li>Probability of performing a rotational-bias interbox molecule 
                transfer move on each type of molecule in the system.</li>
          </ul>
	</dt> 

        <dt><a name="pm2rbswpr"><b>pm2rbswpr (double precision)</b></a> 
          <ul>
            <li> Probability of performing a rotational-bias interbox molecule transfer move 
              between each pair of boxes in the system. The box pairs are ordered 
              (1,2), (1,3), ... (1,numboxes), (2,3), ... (numboxes-1,numboxes).</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Configurational-bias 2 box molecule Transfer Move: These variables are only included 
	if <b>numboxes</b> is greater than or equal to 2</dt>
        <dt><a name="pm2boxcbswap"><b>pm2boxcbswap (double precision)</b></a> 
          <ul>
            <li>Probability of performing a configurational-bias interbox molecule 
              transfer move. This move takes a molecule out of one box and tries 
              to place it in another box. The molecule is grown using 
	      <a href="../algorithm/cbmc.html">coupled-decoupled 
              configurational-bias Monte Carlo</a>.</li>
          </ul>
	</dt> 

        <dt><a name="pm2cbswmt"><b>pm2cbswmt (double precision)</b></a> 
          <ul>
	     <li>Probability of performing a configurational-bias interbox molecule 
                transfer move on each type of molecule in the system.</li>
          </ul>
	</dt> 

        <dt><a name="pm2cbswpr"><b>pm2cbswpr (double precision)</b></a> 
          <ul>
            <li> Probability of performing a configurational-bias interbox molecule transfer move 
              between each pair of boxes in the system. The box pairs are ordered 
              (1,2), (1,3), ... (1,numboxes), (2,3), ... (numboxes-1,numboxes).</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Configurational-bias grand-canonical insertion/deletion Move: These variables are only included 
	if <b>ensemble</b> is 'uvt'</dt>
        <dt><a name="pmuvtcbswap"><b>pmuvtcbswap (double precision)</b></a> 
          <ul>
	     <li>Probability of performing a grand-canonical configurational-bias insertion or
	     deletion move.</li>
          </ul>
	</dt> 

        <dt><a name="pm2cbswpr"><b>pmuvtcbmt (double precision)</b></a> 
          <ul>
	     <li>Probability of performing a grand-canonical configurational-bias insertion or
	     deletion move on each type of molecule in the system.</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Configurational-bias single box molecule Reinsertion Move</dt>
        <dt><a name="pm1boxcbswap"><b>pm1boxcbswap (double precision)</b></a> 
          <ul>
            <li> Probability of performing an intrabox configurational-bias molecule 
              transfer move. This move takes a molecule out of one box and tries 
              to place it back into the same box. The molecule is grown using 
              <a href="../algorithm/cbmc.html">coupled-decoupled configurational-bias Monte Carlo</a>.</li>
          </ul>
	</dt>

        <dt><a name="pm1cbswmt"><b>pm1cbswmt (double precision)</b></a> 
          <ul>
            <li> Probability of performing an intrabox configurational-bias molecule 
              transfer move on each type of molecule in the system.</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Aggregation Volume Bias Move Type 1</dt>
        <dt><a name="pmavb1"><b>pmavb1 (double precision)</b></a> 
          <ul>
            <li> Probability of performing an aggregation volume bias move of type 1, as described in 
	      <a href="../references.html#chen_siepmann_2000">Chen and Siepmann 2000</a>.
	       This is useful for forming and destroying clusters in simulations with molecules 
	       that tend to aggregate together.
          </ul>
	</dt>

        <dt><a name="pmavb1in"><b>pmavb1in (double precision)</b></a> 
          <ul>
            <li> Probability of trying to move a molecule into an inner region for aggregation 
	    volume bias move of type 1.</li>
          </ul>
	</dt>

        <dt><a name="pmavb1mt"><b>pmavb1mt (double precision)</b></a> 
          <ul>
            <li> Probability of performing an aggregation volume bias move of type 1 where a 
	    molecule of a certain type is moved.  
	    This is an array with one element for each molecule type.</li>
          </ul>
	</dt>

        <dt><a name="pmavb1ct"><b>pmavb1ct (double precision)</b></a> 
          <ul>
            <li> Probability of performing an aggregation volume bias move of type 1 where the 
	    molecule target is of a certain type.
	    The molecule that is moved is chosen according to <b>pmavb1mt</b> and then the type 
	    of molecule that is used as a reference 
	    for determining the inner and outer regions is found using this variable.   
	    This is a two dimensional array and uses one line of text for each type of molecule 
	    in the system.</li>
          </ul>
	</dt>

        <dt><a name="avb1rad"><b>avb1rad (double precision)</b></a> 
          <ul>
            <li> The radius used to define the inner and outer volumes in the aggregation volume 
	    bias move of type 1.
	    The distance is specified in Angstroms and must be greater than zero, but less than 
	    or equal to <b>rcut</b>.</li>
          </ul>
	</dt>

	<hr></hr>
	<dt>Aggregation Volume Bias Move Type 2</dt>
        <dt><a name="pmavb2"><b>pmavb2 (double precision)</b></a> 
          <ul>
            <li> Probability of performing an aggregation volume bias move of type 2, as described in 
	      <a href="../references.html#chen_siepmann_2001">Chen and Siepmann 2001</a>.
	       This is useful for forming and destroying clusters in simulations with molecules that 
	       tend to aggregate together.
          </ul>
	</dt>

        <dt><a name="pmavb2in"><b>pmavb2in (double precision)</b></a> 
          <ul>
            <li> Probability of trying to move a molecule into an inner region for aggregation 
	    volume bias move of type 2.</li>
          </ul>
	</dt>

        <dt><a name="pmavb2mt"><b>pmavb2mt (double precision)</b></a> 
          <ul>
            <li> Probability of performing an aggregation volume bias move of type 2 where a 
	    molecule of a certain type is moved.  
	    This is an array with one element for each molecule type.</li>
          </ul>
	</dt>

        <dt><a name="pmavb2ct"><b>pmavb2ct (double precision)</b></a> 
          <ul>
            <li> Probability of performing an aggregation volume bias move of type 2 where the 
	    molecule target is of a certain type.
	    The molecule that is moved is chosen according to <b>pmavb2mt</b> and then the type 
	    of molecule that is used as a reference 
	    for determining the inner and outer regions is found using this variable.   
	    This is a two dimensional array and uses one line of text for each type of molecule 
	    in the system.</li>
          </ul>
	</dt>

        <dt><a name="avb2rad"><b>avb2rad (double precision)</b></a> 
          <ul>
            <li> The radius used to define the inner and outer volumes in the aggregation 
	    volume bias move of type 2.
	    The distance is specified in Angstroms and must be greater than zero, but less than 
	    or equal to <b>rcut</b>.</li>
          </ul>
	</dt>

	<hr></hr>
	<dt>Aggregation Volume Bias Move Type 3</dt>
        <dt><a name="pmavb3"><b>pmavb3 (double precision)</b></a> 
          <ul>
            <li> Probability of performing an aggregation volume bias move of type 3, as described in 
	      <a href="../references.html#chen_siepmann_2001">Chen and Siepmann 2001</a>.
	       This is useful for transfering molecules between clusters.
          </ul>
	</dt>

        <dt><a name="pmavb3mt"><b>pmavb3mt (double precision)</b></a> 
          <ul>
            <li> Probability of performing an aggregation volume bias move of type 3 where a 
	    molecule of a certain type is moved.  
	    This is an array with one element for each molecule type.</li>
          </ul>
	</dt>

        <dt><a name="pmavb3ct"><b>pmavb3ct (double precision)</b></a> 
          <ul>
            <li> Probability of performing an aggregation volume bias move of type 3 where the 
	    molecule target is of a certain type.
	    The molecule that is moved is chosen according to <b>pmavb1mt</b> and then the 
	    type of molecule that is used as a reference 
	    for determining the inner and outer regions is found using this variable.   
	    This is a two dimensional array and uses one line of text for each type of molecule 
	    in the system.</li>
          </ul>
	</dt>

        <dt><a name="avb3rad"><b>avb3rad (double precision)</b></a> 
          <ul>
            <li> The radius used to define the inner and outer volumes in the aggregation 
	    volume bias move of type 3.
	    The distance is specified in Angstroms and must be greater than zero, but less 
	    than or equal to <b>rcut</b>.</li>
          </ul>
	</dt>

	<hr></hr>
	<dt>Configurational-Bias Partial Molecule Regrowth</dt>
        <dt><a name="pmcb"><b>pmcb (double precision)</b></a> 
          <ul>
            <li> Probability of performing a molecule regrowth move 
              on a molecule without regard to which box the molecule is currently 
              located in. This move chooses a molecule of the appropriate type 
              at random, selects an atom of the molecule at random, and then regrows 
              the molecule either entirely (if a random number < pmall) or in 
              all directions except for one.  The molecule is regrown using
	      <a href="../algorithm/cbmc.html">configurational-bias</a>.</li>
          </ul>
	</dt>

        <dt><a name="pmcbmt"><b>pmcbmt (double precision)</b></a> 
          <ul>
            <li> Probability of performing a molecule regrowth on 
              each type of molecule in the system.</li>
          </ul>
	</dt>

        <dt><a name="pmall"><b>pmall (double precision)</b></a> 
          <ul>
            <li> pmall is the probability that a molecule regrowth move will regrow 
              the entire molecule. This is listed for each molecule type in the 
              simulation.</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Configurational-Bias Protein backbone Regrowth</dt>
        <dt><a name="pmback"><b>pmback (double precision)</b></a> 
          <ul>
            <li> Probability of performing configurational-bias fixed-endpoint
	      regrowth of a portion of the protein backbone.  This selects an atom along the 
	      peptide backbone, chooses another backbone atom that is connected by three bonds 
	      to the first atom, and then regrows all of the atoms inbetween these two atoms.</li>
          </ul>
	</dt>

        <dt><a name="pmbkmt"><b>pmbkmt (double precision)</b></a> 
          <ul>
            <li> Probability of performing a backbone regrowth 
              move on each type of molecule in the system.</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Torsional Pivot Move</dt>
        <dt><a name="pmpivot"><b>pmpivot (double precision)</b></a> 
          <ul>
            <li> Probability of performing a pivot move about a random bond in the molecule.
	    This move chooses a bond that is not part of a cyclic geometry, and has at least one bond 
	    emenating from each end, and then rotates one side of the molecule about that bond.</li>
          </ul>
	</dt>

        <dt><a name="pmpivmt"><b>pmpivmt (double precision)</b></a> 
          <ul>
            <li> Probability of performing a pivot
              move on each type of molecule in the system.</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Concerted Rotation Move on a non-peptide backbone</dt>
        <dt><a name="pmconrot"><b>pmconrot (double precision)</b></a> 
          <ul>
            <li> Probability of performing a concerted rotation move for a sequence of 9 
	    atoms in a molecule.</li>
          </ul>
	</dt>

        <dt><a name="pmcrmt"><b>pmcrmt (double precision)</b></a> 
          <ul>
            <li> Probability of performing a concerted rotation move
              move on each type of molecule in the system.</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Concerted Rotation Move over a 3 peptides backbone sequence</dt>
        <dt><a name="pmcrback"><b>pmcrback (double precision)</b></a> 
          <ul>
            <li> Probability of performing a concerted rotation move on a sequence of three 
	    peptides in a polypeptide.  This move only works for polypeptides.</li>
          </ul>
	</dt>

        <dt><a name="pmcrbmt"><b>pmcrbmt (double precision)</b></a> 
          <ul>
            <li> Probability of performing a protein backbone concerted rotation 
              move on each type of molecule in the system.</li>
          </ul>
	</dt>

	<hr></hr>
	<dt>Plane Shift Move</dt>
	<dt><a name="pmplane"><b>pmplane (double precision)</b></a>
	  <ul>
	    <li> Probability of performing a plane shift move.  This move displaces all of the 
	    molecules whose center of mass lies in a plane of width <b>planewidth</b>.  A new trial 
	    position for the center of the plane of atoms is generated uniformly across the available 
	    plane.</li>
	  </ul>
	</dt>

	<dt><a name="pmplanebox"><b>pmplanebox (double precision)</b></a>
	  <ul>
	    <li> Probability of performing a plane shift in each of the simulation boxes.  List one
	    value for each simulation box.  At least one of the boxes must have a value of 1.0d0.</li>
	  </ul>  
	</dt>

	<dt><a name="planewidth"><b>planewidth (double precision)</b></a>
	  <ul>
	    <li> The width of the plane for the plane shift move.  Any molecule whose center of 
	    mass is within a plane of this thickness (whose position is chosen uniformly along 
	    one axis) will move during the plane shift move.  The value of planewidth must be 
	    greater than 0.0d0 and less than the shortest boxlength.</li>
           </ul>
	</dt>

	<hr></hr>
	<dt>Row Shift Move</dt>
	<dt><a name="pmrow"><b>pmrow (double precision)</b></a>
	  <ul>
	    <li> Probability of performing a row shift move.  This move displaces all of the 
	    molecules whose center of mass lies in a row of diameter <b>rowwidth</b>.  A new trial 
	    position for the center of the row of atoms is generated uniformly across the available 
	    row.</li>
	  </ul>
	</dt>

	<dt><a name="pmrowbox"><b>pmrowbox (double precision)</b></a>
	  <ul>
	    <li> Probability of performing a row shift in each of the simulation boxes.  List one
	    value for each simulation box.  At least one of the boxes must have a value of 1.0d0.</li>
	  </ul>  
	</dt>

	<dt><a name="rowwidth"><b>rowwidth (double precision)</b></a>
	  <ul>
	    <li> The width of the plan for the row shift move.  Any molecule whose center of mass is 
	    within a row of this thickness (whose position is chosen uniformly along one axis) will 
	    move during the row shift move.  The value of rowwidth must be greater than 0.0d0 and less 
	    than the shortest boxlength.</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Intramolecular Single Atom Translation Move</dt>
        <dt><a name="pmtraat"><b>pmtraat (double precision)</b></a> 
          <ul>
            <li> Probability of performing a single-atom translation 
              move a molecule without regard to which box the molecule is currently 
              located in. This move chooses a molecule of the appropriate type 
              at random, selects an atom of the molecule at random, chooses the 
              x,y, or z direction at random, and then attempts to displace the 
              atom a random distance between -rmtraa and +rmtraa in that direction.</li>
          </ul>
	</dt>

        <dt><a name="pmtamt"><b>pmtamt (double precision)</b></a> 
          <ul>
            <li> Probability of performing a single-atom translation 
              move on each type of molecule in the system.</li>
          </ul>
	</dt>

        <dt><a name="rmtraa"><b>rmtraa (double precision)</b></a> 
          <ul>
            <li> The initial Atom-translation maximum displacement (Angstroms) 
              for all molecules types in all boxes. As the simulation progresses, 
              these values will be updated independently to give the desired acceptance 
              rate for each molecule type in each dimension of each box (see iratio).</li>
          </ul>
	</dt>

        <dt><a name="tatraa"><b>tatraa (double precision)</b></a> 
          <ul>
            <li> The target acceptance rate for the atom translation move. Must 
              be a value between 0.0 and 1.0. The maximum atom translational displacement 
              (rmtraa) is periodically adjusted (see iratio) to yield this acceptance 
              rate. I typically use a value of 0.5, though some researchers prefer 
              smaller values.</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Center-of-Mass Molecule Translation Move</dt>
        <dt><a name="pmtracm"><b>pmtracm (double precision)</b></a> 
          <ul>
            <li> Probability of performing a center-of-mass translation 
              move a molecule without regard to which box the molecule is currently 
              located in. This move chooses a molecule of the appropriate type 
              at random, chooses the x,y, or z direction at random, and then attempts 
              to displace the entire molecule a random distance between -rmtrac 
              and +rmtrac in that direction.</li>
          </ul>
	</dt>

        <dt><a name="pmtcmt"><b>pmtcmt (double precision)</b></a> 
          <ul>
            <li> Probability of performing a center-of-mass translation 
              move on each type of molecule in the system.</li>
          </ul>
	</dt>

        <dt><a name="rmtrac"><b>rmtrac (double precision)</b></a> 
          <ul>
            <li> The initial Center-of-mass translation maximum displacement (Angstroms) 
              for all molecule types in all boxes. As the simulation progresses, 
              these values will be updated independently to give the desired acceptance 
              rate for each molecule type in each dimension of each box (see iratio).</li>
          </ul>
	</dt>

        <dt><a name="tatrac"><b>tatrac (double precision)</b></a> 
          <ul>
            <li> The target acceptance rate for the center-of-mass translation 
              move. Must be a value between 0.0 and 1.0. The maximum center-of-mass 
              translational displacement (rmtrac) is periodically adjusted (see 
              iratio) to yield this acceptance rate. I typically use a value of 
              0.5, though some researchers prefer smaller values.</li>
          </ul>
	</dt>

        <hr></hr>
	<dt>Rotation about the Center-of-Mass Move</dt>
        <dt><a name="pmrotate"><b>pmrotate (double precision)</b></a> 
          <ul>
            <li> Probability of performing a rotation about the center-of-mass move for 
              a molecule without regard to which box the molecule is currently 
              located in.
	      This move chooses a molecule of the 
              appropriate type at random, chooses the x,y, or z direction at random, 
              and then attempts to rotate the entire molecule about an x,y, or 
              z axis that runs through the center-of-mass a random number of radians 
              between -<b>rmrot</b> and +<b>rmrot</b>.</li>
          </ul>
	</dt>

        <dt><a name="pmromt"><b>pmromt (double precision)</b></a> 
          <ul>
            <li> Probability of performing a rotation move on each 
              type of molecule in the system.</li> 
          </ul>
	</dt>

        <dt><a name="rmrot"><b>rmrot (double precision)</b></a> 
          <ul>
            <li> The initial molecular rotation maximum displacement (radians) 
              for all molecule types in all boxes. As the simulation progresses, 
              these values will be updated independently to give the desired acceptance 
              rate for each molecule type about each axis of each box (see iratio).</li>
          </ul>
	</dt>

        <dt><a name="tarot"><b>tarot (double precision)</b></a> 
          <ul>
            <li> The target acceptance rate for the rotation move. Must be a value 
              between 0.0 and 1.0. The rotation displacement (rmrot) is periodically 
              adjusted (see iratio) to yield this acceptance rate. I typically 
              use a value of 0.5, though some researchers prefer smaller values.</li>
          </ul>
	</dt>

        <hr></hr>
        <dt><a name="tor_cbstyle"><b>tor_cbstyle (integer)</b></a> 
          <ul>
            <li> 0: When performing a <a href="../algorithm/cbmc.html">configurational-bias</a> 
	    move, generate trial dihedral angles 
	    according to the true, ideal probability distribution.  This is the method described in 
	    <a href="../references.html#martin_siepmann_1999">Martin and Siepmann 1999</a></li>
            <li> 1: When performing a <a href="../algorithm/cbmc.html">configurational-bias</a> move, 
	    generate trial dihedral angles 
	    according to a different probability density and then
	    fix this up in the acceptance rules.  This work is still in progress and is 
	    not yet published.</li>
          </ul>
	</dt>

        <dt><a name="bend_cbstyle"><b>bend_cbstyle (integer)</b></a> 
          <ul>
            <li> 0: When performing a <a href="../algorithm/cbmc.html">configurational-bias</a> move, 
	    generate trial bending angles
	    according to the true, ideal probability distribution. 
	    This is the method described in 
	    <a href="../references.html#martin_siepmann_1999">Martin and Siepmann 1999</a></li>
            <li> 1: When performing a <a href="../algorithm/cbmc.html">configurational-bias</a> move, 
	    generate trial bending angles according to a different probability density and then
	    fix this up in the acceptance rules.  This work is still in progress and is not 
	    yet published.</li>
          </ul>
	</dt>

        <dt><a name="vib_cbstyle"><b>vib_cbstyle (integer)</b></a> 
          <ul>
            <li> 0: When performing a <a href="../algorithm/cbmc.html">configurational-bias</a> move, 
	    generate trial bond lengths according to the true, ideal probability distribution 
	    within the ranges set by the <b>vibrang</b> variable.</li>
            <li> 1: When performing a <a href="../algorithm/cbmc.html">configurational-bias</a> move, 
	    generate trial bond lengths according to a different probability density and then
	    fix this up in the acceptance rules.  This work is still in progress and is not 
	    yet published.</li>
          </ul>
	</dt>

        <dt><a name="sdevtor"><b>sdevtor (double precision)</b></a> 
          <ul>
            <li> This is the standard deviation of a gaussian distribution that is used to 
	    sample dihedral angles [on 0,360] during a 
	    <a href="../algorithm/cbmc.html">configurational-bias</a> 
	    regrowth for <b>tor_cbstyle</b> 1.  Specify a value in degrees.  Right now I am using a 
	    value of 20.0.  If <b>tor_cbstyle</b> is not 1 then
	    this value is not used in the code, but must still be entered into the input file.</li>
          </ul>
	</dt>

        <dt><a name="sdevbena"><b>sdevbena (double precision)</b></a> 
          <ul>
            <li> This is the standard deviation of a gaussian distribution that is used to 
	    generate trials for the part A bending angles [on 0,180] during a 
	    <a href="../algorithm/cbmc.html">configurational-bias</a>
	    regrowth for <b>bend_cbstyle</b> 1.  Specify a value in degrees.  
	    Right now I am using a value of 10.0.  
	    If <b>bend_cbstyle</b> is not 1 then this value is not used in the code, but must 
	    still be entered into the input file.
          </ul>
	</dt>

        <dt><a name="sdevbenb"><b>sdevbenb (double precision)</b></a> 
          <ul>
            <li> This is the standard deviation of a gaussian distribution that is used to 
	    generate trials for the part B bending angles [on 0,360] during a 
	    <a href="../algorithm/cbmc.html">configurational-bias</a>
	    regrowth for <b>bend_cbstyle</b> 1.  Specify a value in degrees.  
	    Right now I am using a value of 20.0.  
	    If <b>bend_cbstyle</b> is not 1 then this value is not used in the code, 
	    but must still be entered into the input file.
          </ul>
	</dt>

        <dt><a name="sdevvib"><b>sdevvib (double precision)</b></a> 
          <ul>
            <li> This is the standard deviation of a gaussian distribution that is used to 
	    sample bond lengths during a <a href="../algorithm/cbmc.html">configurational-bias</a> 
	    regrowth for <b>vib_cbstyle</b> 1.  Specify a value in Angtroms.  
	    Right now I am using a value of 0.1.  If <b>vib_cbstyle</b> is not 1 then
	    this value is not used in the code, but must still be entered into the input file.
          </ul>
	</dt>

        <dt><a name="vibrang"><b>vibrang (double precision, double precision)</b></a> 
          <ul>
            <li> This is the range of bond lengths to sample via 
	    <a href="../algorithm/cbmc.html">configurational-bias</a>
	    Monte Carlo. The range is expressed as a fraction of the equilibrium 
            bond length for the lower bound and the upper bound. I usually values 
            of 0.85 and 1.15 for <b>vib_cbstyle</b> 0, and the values have no meaning 
	    for <b>vib_cbstyle</b> 1.</li>
          </ul>
	</dt>

        <dt><a name="cdform"><b>cdform (integer)</b></a> 
          <ul>
            <li> cdform = 0: When performing a <a href="../algorithm/cbmc.html">configurational-bias</a> 
	    move use the coupled-decoupled formulation presented in the appendix of 
	    <a href="../references.html#martin_siepmann_1999">Martin and Siepmann 1999</a>.</li>
            <li> cdform = 1: Uses a new algorithm that is not yet published.</li>
          </ul>
	</dt>

        <dt><a name="nch_nb_one"><b>nch_nb_one (integer) [one value for each molecule type]</b></a> 
          <ul>
            <li> This is the number of trial positions that are
              sampled for the first atom inserted during a <a
              href="../algorithm/cbmc.html">configurational-bias</a> or rotational-bias molecule
              exchange move (see pm2boxrbswap, pm2boxcbswap, and pm1boxcbswap). I typically use a
              value of 10. The value must be less than or equal to NCHMAX (see <a
              href="../code/code_manual.html#preproc">preproc.h</a>).</li>
          </ul>
	</dt>

        <dt><a name="nch_nb"><b>nch_nb (integer) [one value for each molecule type]</b></a> 
          <ul>
            <li> This is the number of trial positions that are sampled for all 
              atoms except for the first atom inserted during a 
	      <a href="../algorithm/cbmc.html">configurational-bias</a>
              molecule exchange move (see pm2boxcbswap and pm1boxcbswap). This is used for 
              all atoms in a <a href="../algorithm/cbmc.html">configurational-bias</a> regrowth move. I 
              typically use a value of 10. The value must be less than or equal 
              to NCHMAX (see <a href="../code/code_manual.html#preproc">preproc.h</a>).</li>
          </ul>
	</dt>

        <dt><a name="nch_tor_out"><b>nch_tor_out (integer) [one value for each molecule type]</b></a> 
          <ul>
            <li> This is the number of outer loops over the dihedral angles that are sampled 
              during <a href="../algorithm/cbmc.html">configurational-bias</a> moves with 
	      <b>cdform</b> = 1.  This has no meaning for 
	      <b>cdform</b> = 0.  I typically use a value in the range 1 to 10 with <b>cdform</b> = 1.
	      The value must be less than or equal to NCHTOR_MAX 
	      (see <a href="../code/code_manual.html#preproc">preproc.h</a>).</li>
          </ul>
	</dt>

        <dt><a name="nch_tor_in"><b>nch_tor_in (integer) [one value for each molecule type]</b></a> 
          <ul>
            <li> This is the number of trial dihedral angles that are sampled 
              during <a href="../algorithm/cbmc.html">configurational-bias</a> moves. 
	      I typically use a value in the range 100 to 360 for <b>tor_cbstyle</b> 0 and in 
	      the range 10 to 100 for <b>tor_cbstyle</b> 1. 
	      The value must be less than or equal to NCHTOR_MAX 
              (see <a href="../code/code_manual.html#preproc">preproc.h</a>).
	    </li>
          </ul>
	</dt>

        <dt><a name="nch_tor_in_con"><b>nch_tor_in_con (integer) 
	[one value for each molecule type]</b></a> 
          <ul>
            <li> This is the number of trial dihedral angles that are sampled during 
	      <a href="../algorithm/cbmc.html">configurational-bias</a> moves when we have grown the 
	      molecule such that we need to connect back up with atoms that already exist. 
	      This is needed in order to regrow cyclic molecules, and also could 
	      be used to regrow the interiors of large molecules. 
	      I typically use a value in the range 100 to 360. The value must 
	      be less than or equal to NCHTOR_MAX 
	      (see <a href="../code/code_manual.html#preproc">preproc.h</a>).
	    </li>
          </ul>
	</dt>

        <dt><a name="nch_bend_a"><b>nch_bend_a (integer) [one value for each molecule type]</b></a> 
          <ul>
            <li> This is the number of trial angles that are sampled during 
	      <a href="../algorithm/cbmc.html">configurational-bias</a>
              moves when we are selecting the iugrow-iufrom-iuprev angle.  I typically use a value of 
              1000 for <b>bend_cbstyle</b> of 0, and 10 for <b>bend_cbstyle</b> of 1.
	    </li>
          </ul>
	</dt>

        <dt><a name="nch_bend_b"><b>nch_bend_b (integer) [one value for each molecule type]</b></a> 
          <ul>
            <li> This is the number of trial angles that are sampled during 
	      <a href="../algorithm/cbmc.html">configurational-bias</a>
              moves when we are selecting the rotation about a cone of one of 
              the iugrow angles relative to the others. 
              I typically use a value of 1000 for <b>bend_cbstyle</b> of 0, and 10 for 
	      <b>bend_cbstyle</b> of 1.
	    </li>
          </ul>
	</dt>

        <dt><a name="nch_vib"><b>nch_vib (integer) [one value for each molecule type]</b></a> 
          <ul>
            <li> This is the number of trial bond lengths that are sampled during 
              <a href="../algorithm/cbmc.html">configurational-bias</a> moves when we are growing atoms. 
	      I typically use a value of 1000 for <b>vib_cbstyle</b> 0 and 10 for 
	      <b>vib_cbstyle</b> 1, unless I am using a fixed-bond length force 
              field, in which case you might as well just use 1.
	    </li>
          </ul>
	</dt>

        <p>&nbsp;</p>
        <dt>The final section of towhee_input contains the information that 
            is used to construct the forcefield for the molecule types in the 
            system. The choice of inpstyle determines which other variables are required 
	    to describe the molecule.  Click on the appropriate link for each inpstyle to learn about
	    the remaining variables that are required for each case.
	</dt> 

	<dt><a name="inpstyle"><b>inpstyle (integer)</b></a> 
          <ul>
            <li> 0: <a href="../inpstyle/inpstyle_0.html">Explicit declaration of all terms</a></li>
            <li> 1: <a href="../inpstyle/inpstyle_1.html">Polypeptide builder</a></li>
            <li> 2: <a href="../inpstyle/inpstyle_2.html">Atom-based connectivity map</a></li>
            <li> 3: <a href="../inpstyle/inpstyle_3.html">Nucleic acid builder</a></li>
            <li> 4: <a href="../inpstyle/inpstyle_4.html">Nanotube builder</a></li>
          </ul>
	</dt>
      </ul>
      <a href="../index.html">Return to the main towhee web page</a> 
      <p>&nbsp;</p>
    </td>
  </tr>
</table>
<hr width="715" align="left">
<i><font size="2">Send comments to:</font></i> <font size="2"> 
<a href="mailto:marcus_martin@users.sourceforge.net">Marcus G. Martin</a><br>
<i>Last updated:</i> 
<!-- #BeginDate format:Am1 -->October 02, 2004<!-- #EndDate -->
</font> <br>
</body>
</html>