|
Overview
This section covers the variables that are set in the towhee_input
file Version 4.11.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.
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.
Bug reports and feature enhancements for 4.11.x versions
- 4.11.7: More small fixes for problems with the determination of the autofit gaussian parameters.
- 4.11.6: Fixed a problem in the angle energy computation that was giving not a number when the
angle was zero degrees with the Charmm angle. Modified the volume moves so the average change
in energy per change in volume is only computed for isotropic volume change moves. This term
is used to compute Hummer's thermodynamic pressure.
- 4.11.5: Rebuilt some of the internal routines for handling the towhee_input file input and
output. This resulted in some small format changes in the output. Fixed a bug in the dihedral
generation routines that was using biased distributions to generate some dihedrals that should
have been uniform instead. Fixed some other problems related to the generation of dihedral trials
using arbitrary distributions. Added the
Alavi et al. 2005 force field.
- 4.11.4: Fixed bugs related to the use of Gaussian distributions to generate bond, angle, or
torsion trials when using some of the newer cbmc_x_generation options. These distributions
were not being normallized properly and this affected the Rosenbluth weights, and therefore the
chemical potential. Replaced the 'ideal' cbmc_bond_generation style with the more
appropriately named 'r^2 with bounds' as that is a better description of the generation style.
Fixed a bug related to the normalization of the 'r^2 with bounds' bond generation and the true
distribution is now just proporational to r2 with no normalization constant as it is not
clear what to use for a distribution of infinte extent. All cbmc_bond_generation styles
now give the same chemical potential for the bond interaction, which was not true previously.
- 4.11.3: Fixed some bugs related to the 'helix cbmc' initialization option and added a new
example using this functionality
(Charmm27_Polyalanine).
- 4.11.2: Improved the manual pages describing the configurational-bias Monte Carlo moves
as implemented into Towhee. Minor changes to other web manual pages.
- 4.11.1: Added a new example
that exercises the new 'Scaled Lennard-Jones' classical potential.
- 4.11.0: Created a new version of the towhee_ff
format (version 10) in order to handle some bug fixes to the bending potentials used
in the UFF force field and made some related
changes to some of the angle terms in that forcefield. Added the 'Scaled Lennard-Jones'
classical potential and some new variables that are required for that potential.
towhee_input file differences from version 4.10.x
- Removed the cmix_rescaling_style for most classical potentials.
Variable explanations for towhee_input
- randomseed (integer)
- The 32 bit integer seed that is used to initialize the ranlux
random number generator. Must be positive.
- inputformat (character string)
- 'Towhee' : reads in the input variables following the format
for Towhee. This format is described in this file.
- 'LAMMPS' : reads in the input variables from the lammps_input
and lammps_data files. Outputs files suitable for use with
Towhee.
- 'Database' : reads in the input variables from the
database_input file. Runs energy calculations for a database
of conformations. See the
towhee_input database
format for more information about this feature.
- ensemble (character string of size 3)
- '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.
- '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).
- '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.
- temperature (double precision)
- The temperature in Kelvin.
- The variable in this subsection is only included in the input file if ensemble
is set to 'npt'
- pressure (double precision)
- The external pressure in kPa.
- End of the subsection only included if ensemble is 'npt'
- nmolty (integer)
- The total number of molecule types in the simulation. This must
be less then or equal to NTMAX
(see preproc.h).
- nmolectyp (integer) [one value for each molecule type]
- 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.
- The variable in this subsection is only included in the input file if ensemble
is set to 'uvt'
- chempot (double precision)
- 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
(identical to the output CB chemical potential).
- End of the subsection only included if ensemble is 'uvt'
- numboxes (integer)
- The number of simulation boxes in the system. This value must
be less than or equal to MAXBOXES (set in
preproc.h). 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.
- stepstyle (character string of length 10)
- 'cycles': Run a Monte Carlo simulation for nstep Monte Carlo cycles.
A cycle is equal to N Monte Carlo moves, where N is the number of
molecules in the system.
- 'moves': Run a Monte Carlo simulation for nstep Monte Carlo moves.
- nstep (integer)
- The number of Monte Carlo steps to perform where each step is either a full Monte Carlo
cycles (if stepstyle is 'cycles') or a single move (if stepstyle is 'moves')
- printfreq (integer)
- 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.
- blocksize (integer)
- 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.
- moviefreq (integer)
- 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.
- backupfreq (integer)
- 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.
- runoutput (character*20)
- 'full': if you want information about the individual blocks of the
block averages and information about the maximum displacement updates.
- 'blocks': if you want information about the individual blocks of the
block averages and don't want information about the maximum displacement updates.
- 'updates': if you don't want information about the individual blocks of the
block averages and do want information about the maximum displacement updates.
- 'none': if you don't want information about the individual blocks of the
block averages or information about the maximum displacement updates.
- pdb_output_freq (integer)
- 0: if you do not wish to output any pdb files during, or after, the simulation.
- The step frequency for outputing a snapshot of the simulation to a pdb file named
box_xx_step_yyyyyyyyyyyyyy.pdb where xx is the box number converted into a 2 character
string and yyyyyyyyyyyyyy is the step number converted into a 14 character string.
If you do not wish to output any pdb files then you can set pdb_output_freq to
0 to disable this feature.
- loutdft (logical)
- .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.
- .false. if you do not want to output dft files.
- loutlammps (logical)
- .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.
- .false. if you do not want to output LAMMPS files.
- The variables in this subsection are only included if ensemble is 'uvt'
- louthist (logical)
- .true. if you wish to output files used for histogram reweighting. When
set to this value you must also include two additional variables
- histcalcfreq (integer)
- The step frequency for computing the information needed for histogram
reweighting.
- histdumpfreq (integer)
- The step frequency for outputting the information needed for histogram
reweighting to the various towhee_histogram files. The ratio of
histdumpfreq/histcalcfreq must be less than the
NDUMPHIST value specified in preproc.h.
- .false. if you do not wish to output files for histogram reweighting.
No additional variables are required for this setting.
- End of the subsection only included if ensemble is 'uvt'
- pressurefreq (integer)
- The step frequency for computing the pressure via the pressure virial (for continuous
potentials) or the radial pressure (for discontinuous potentials) in each simulation box.
Be aware that computing the pressure is a relatively expensive task (especially for large systems).
If you do not wish to compute the pressure using these methods you can set the pressurefreq
to zero to disable this calculation.
- trmaxdispfreq (integer)
- 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 tatraa,
tatrac, and tarot). 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 trmaxdispfreq
to do 10 updates during a run.
- volmaxdispfreq (integer)
- The step frequency for updating the maximum volume displacements.
They are adjusted to try and achieve the target acceptance
rates (see tavol). 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 volmaxdisp to do 10 updates
during a run.
- chempotperstep (integer)
- The number of additional trial insertions to perform in each box for
at the end of every Monte Carlo step (listed sequentially for
each molecule type on a single line). This allows the
measurement of chemical potential in ensembles that do not have an insertion
and deletion move (such as canonical and isobaric-isothermal).
- potentialstyle
- 'classical': uses a classical intermolecular potential to describe the
energies between atoms. This is currently the only fully functional option
for potentialstyle, although some quantum options are under active development
and should be available soon.
- The variables in this subsection are only included in the input file if potentialstyle
is set to 'classical' or 'quantum//classical'
- ffnumber (integer)
- 1 or more: reads the force field information from this number of file(s) listed in the
ff_filename.
- ff_filename (formatted character*70) [one line for each force field]
- A list of the filenames (one per line) that contain the force field information. On most systems
you can just list this directory and then end the line. However, if you have trouble then adding
sufficient blank spaces to the end of the line to get up to 70 characters could resolve your problem.
- classical_potential (character*30)
The setting for this variable controls the nonbonded potential type. Depending on the setting
there are a number of other variables that are also required.
Please see the classical_potential
web page for more information.
- coulombstyle (character*20)
- 'ewald_fixed_kmax' if you want to use point charges with an Ewald sum that utlilizes a constant number
of inverse space vectors (kmax) and a variable electrostatic cutoff (rcelect) equal to half
the current box length.
When using this option you will also need to list the following variables.
- kalp (double precision)
- Value used in the Ewald sum to compute alpha. The actual Ewald sum alpha term is equal to
kalp divided by the shortest box length. The recommended value for kalp is 5.6.
- kmax (integer)
- 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 preproc.h).
- dielect (double precision)
- 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.
- 'ewald_fixed_cutoff' if you want to use point charges with an Ewald sum that utilizes a
constant electrostatic cutoff (rcelect) and adjusts the number of inverse space vectors
(kmax) according to the following heuristic.
- alpha = ( 1.35 - 0.15 log[ewald_prec]) / rcelect
- kmax = ( alpha * Max[box length] / Pi) * (log[ewald_prec])0.5
When using this option you will also need to list the following variables.
- ewald_prec (double precision)
- 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).
- rcelect (double precision)
- 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 rcut in classical_potential)
is recommended.
- dielect (double precision)
- 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.
- 'minimum image' uses the minimum image convention to compute the coulombic interactions between
all pairs of atoms in a system. When using this option you will also need to list the following variable.
- dielect (double precision)
- 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.
- 'none' if you do no want to compute any coulombic interactions.
- nfield (integer)
The number of external fields to apply in the simulation. These fields can take on a variety
of forms, but are always applied relative to a plane in one of the simulation boxes. Typical
uses are for simulating the effect of a rigid surface without having to treat the surface atoms
explicitly. If nfield is set to anything other than 0 you will need to list the following
variables for each field you wish to specify.
- fieldtype (character*20)
- 'Hard Wall': Places a hard wall of a specified diameter in one of the boxes. This
wall excludes the center of each atom in the simulation, so a hard wall with a radius of
6.0 would exclude all atoms within 6.0 Angstroms of its center point. With this option
you must also specify the following variables.
- hrdbox (integer)
- The number of the simulation box which contains this
hard wall. Must range from 1 to numboxes.
- hrdxyz (character*1)
- 'x': hard wall is perpendicular to the x-axis (in the yz plane)
- 'y': hard wall is perpendicular to the y-axis (in the xz plane)
- 'z': hard wall is perpendicular to the z-axis (in the xy plane)
- hrdcen (double precision)
- 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.
- hrdrad (double precision)
- Radius of the hard wall. The wall will exclude all atoms
whose centers are within this radius regardless of the classical_potential
or any of the atom parameters. The wall is felt through the periodic
boundaries.
- hrd_energy_type (character*11)
- 'infinite': any molecule inside of the hard wall has an infinite energy (hard overlap).
- 'finite': any molecule inside of the hard wall has a finite energy that is specified
by the hrd_wall_energy variable. If you use this option you must include the
following variable
- hrd_wall_energy (double precision)
- The energy given to any atom that is inside of the hard wall (in Kelvins).
This option is designed to enable equilibrium of a hard wall system as this provides
an incentive for molecules to leave the hard wall area without causing a simulation
ending overlap.
- 'Harmonic Attractor': Uses a harmonic potential to root certain atoms to a defined point or
their initial positions.
- hafbox (integer)
- The number of the simulation box in which this harmonic attractor
is employed. Must range from 1 to numboxes.
- hafk (double precision)
- The force constant for the harmonic potential.
- hafentries (integer)
- The number of types or elements to which this field is applied.
- hafrefpos (character*7)
- The type of reference position that you want to use.
- 'Global': Uses a global set of coordinates for each atom.
- hafglobxyz (double precision)
- The x,y, and z coordinates of the global position.
This should be entered all on the same line just separated by spaces.
- 'Initial': Uses the initial coordinates of each atom.
- hafkey (character*7)
- The way you want to identify which atoms to which this field is applied.
- 'Element': Allows the user to chose to apply this field to a specific
group of atoms which are all the same type of element. The following variables must
be included for each entry.
- hafmolec (integer)
- The field is applied to the element of choice in this molecule number.
- hafelement (character*2)
- The element type to which apply this field.
- 'FFtype': Allows the user to chose to apply this field to a specific
group of atoms which are all the same nonbond type. The following variables must
be included for each entry.
- hafmolec (integer)
- The field is applied to the element of choice in this molecule number.
- hafname (character*10)
- The nonbond type to which apply this field.
- 'Hooper Umbrella': Places a Hooper Umbrella field
(see Hooper et al. 2000) in a
simulation box. This is a 4th power energy function based on displacement along a single axis.
- v(d) = umba * [ (d - umbcenter) / umbcenter ]
With this option you must also specify the following variables.
- umbbox (integer)
- The number of the simulation box which contains this
Umbrella field. Must range from 1 to numboxes.
- umbxyz (character*1)
- 'x': Field is perpendicular to the x-axis (in the yz plane)
- 'y': Field is perpendicular to the y-axis (in the xz plane)
- 'z': Field is perpendicular to the z-axis (in the xy plane)
- umbcenter (double precision)
- The zero energy point of the field, listed as a distance in Angstroms along the axis
specified in umbxyz
- umba (double precision)
- The energy constant in units of K/kB.
- 'LJ 9-3 Wall': Places a 9-3 Lennard-Jones wall in one of the simulation boxes
The wall potential has the following functional form.
- v(d) = [ 2/3 Pi Epswf sigwf3 rhowall ]
* [ 2/15 (sigwf/d)9 - (sigwf/d)3 ]
With this option you must also specify the following variables.
- ljfbox (integer)
- The number of the simulation box which contains this
Lennard-Jones wall. Must range from 1 to numboxes.
- ljfxyz (character*1)
- 'x': Lennard-Jones wall is perpendicular to the x-axis (in
the yz plane)
- 'y': Lennard-Jones wall is perpendicular to the y-axis (in
the xz plane)
- 'z': Lennard-Jones wall is perpendicular to the z-axis (in
the xy plane)
- ljfcen (double precision)
- 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.
- ljfdir (integer)
- -1: Atoms only interact with the "left" face of this wall.
Unlike the hard walls, this does not extend through the periodic boundary.
- 1: Atoms only interact with the "right" face of this wall.
Unlike the hard walls, this does not extend through the periodic boundary.
- ljfcut (double precision)
- The distance beyond which the wall-atom interactions are
not computed and assumed to be zero.
- ljfshift (logical)
- T: if you want to shift the lj wall potential to be zero at the cutoff.
- F: if you do not want to shift the potential.
- ljfrho (double precision)
- The number density of atoms in the integrated wall potential (units of
atoms per cubic Angstrom).
- ljfntypes (integer)
- 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
you must list the following variables.
- ljfname (character*6)
- The name of the atom. This must match up with the atom names listed down in the
inpstyle 2 portion of each molecule that is interacting with this wall.
If you are not using that inpstyle this will still work except
you will need to know the atom names in the appropriate towhee_ff_whatever files.
- ljfsig (double precision)
- Sigma parameter for the interaction between this atom and the wall atoms.
Units are Angstroms.
- ljfeps (double precision)
- Epsilon parameter for the interaction bewteen this atom and the wall atoms.
Units are K/kB.
- 'Steele Wall': Places a 10-4 Lennard-Jones wall in one of the simulation boxes
The wall potential has the following functional form.
- v(z) = epsilonw [ 2/5 (sigmasf/z)10
- (sigmasf/z)4
- sigmasf4 / [ 3 Delta ( z + 0.61 Delta )3 ] ]
where
- epsilonw = 2 Pi epsilonsf rhos
sigmasf2 Delta
This potential is attributed to Steele 1973, but I
found that reference a bit confusing so I implemented the equations as presented in
Lastoskie et al. 1993 and the variable
names here follow the notation in that paper.
- With this option you must also specify the following variables.
- steele box (integer)
- The number of the simulation box which contains this
Steele wall. Must range from 1 to numboxes.
- steele xyz (character*1)
- 'x': wall is perpendicular to the x-axis (in the yz plane)
- 'y': wall is perpendicular to the y-axis (in the xz plane)
- 'z': wall is perpendicular to the z-axis (in the xy plane)
- steele surface (double precision)
- Position of the surface of the wall. Must be
between 0.0 and the box length of the axis that is perpendicular
to the wall.
- steele dir (integer)
- -1: Atoms only interact with the "left/bottom" face of this wall.
Unlike the hard walls, this does not extend through the periodic boundary.
- 1: Atoms only interact with the "right/top" face of this wall.
Unlike the hard walls, this does not extend through the periodic boundary.
- steele cutoff (double precision)
- The distance beyond which the wall-atom interactions are
not computed and assumed to be zero.
- steele shift (logical)
- T: if you want to shift the wall potential to be zero at the cutoff.
- F: if you do not want to shift the potential.
- steele delta (double precision)
- The spacing between the layers in the solid represented by this surface potential.
Units are in Angstroms.
- steele rho_s (double precision)
- The density of the atom in the solid represented by this surface potential.
Units are in atoms per cubic Angstrom.
- steele ntype (integer)
- 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 type you must list the
following variables.
- steele name (character*6)
- The name of the atom. This must match up with the atom names listed down in the
inpstyle 2 portion of each molecule that is interacting with this wall.
If you are not using that inpstyle this will still work except
you will need to know the atom names in the appropriate towhee_ff_whatever files.
- sigma_sf (double precision)
- Sigma parameter for the interaction between this atom and the wall atoms.
Units are Angstroms.
- epsilon_sf (double precision)
- Epsilon parameter for the interaction bewteen this atom and the wall atoms.
Units are K/kB.
- isolvtype (integer)
- 0: Perform a simulation without any implicit solvation. The default choice
for performing a simulation.
- 1: not yet working.
- 2: solvation using the Charmm19-EEF1 potential.
- 3: solvation using the classical density functional theory code Tramonto to
compute a solvation free energy. The Tramonto code is not yet publically available.
- End of the subsection that is only included in the input file if potentialstyle
is set to 'classical' or 'quantum//classical'
- linit (logical)
- .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.
- .false. if you want to continue the simulation by reading in
box lengths, maximum displacements, and coordinates from towhee_initial.
- initboxtype (character*20)
- 'unit cell': generates an initial structure by duplicating a unit cell. Reads information
from the towhee_cell file and uses that to create an initial structure.
- 'dimensions': the dimensions of the initial boxes are entered in order
to construct the initial boxes.
- 'number density': the total number density of molecules in the initial boxes are entered in order
to compute the initial sizes of the boxes. This option generates cubic boxes and requires
the following variable.
- initstyle (character*20)
- This variable is only required for initboxtype settings of 'dimensions' or 'number density'
One line for each simulation box in the system. Each line contains a value for each molecule type.
- 'full cbmc': A template for this molecule type is created using configurational-bias.
This template is then replicated throughout the simulation box on a simple cubic lattice to
generate an initial configuration.
- 'template': A template for this molecule type is read from towhee_template.
This template is then replicated throughout the simulation box on a simple cubic lattice to
generate an initial configuration.
- 'coords': 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.
- 'nanotube': 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. This template is then replicated throughout the simulation box on a simple
cubic lattice to generate an initial conformation.
- 'helix cbmc': 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 initstyle variables.
- helix_moltyp (integer)
An integer corresponding to the molecule type that had an initstyle
variable set to 4 in one of the simulation boxes. These must be listed
in consecutive order.
- helix_radius (double precicion)
The radius of the helix (units of Angstroms).
- helix_angle (double precision)
The pitch angle the helix makes with respect to the z-axis
(units of degrees).
- helix_keytype (character*10)
- 'element' compares the helix_keyname with the character*2
variable element that contains the 2 letter elemental code for each atom.
- 'nbname' compares the helix_keyname 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 (inpstyle 2).
- 'pdbname' compares the helix_keyname 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 (inpstyle 1)
or the Nucleic acid builder (inpstyle 4).
- helix_keyname (character*10)
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).
- helix_conlen (double precision)
The distance between consecutive helix_element atoms
(units of Angstroms).
- helix_phase (double precision)
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.
- 'partial cbmc': The molecule is constructed in two steps. First, a partial list of atom positions,
amino acid 3-letter codes, and 4-letter atom identifiers (following the pdb standard) is read
from towhee_partial and matched up against the expected amino acid and atom codes from the
molecule template listed in towhee_input. Then configurational-bias is used to grow all
of the missing atoms to create the initial structure.
- initlattice (character*20)
- This variable is only required for initboxtype settings of 'dimensions' or 'number density'
- 'center': puts the center of mass of the molecule in the very center of the box. This is a very
poor idea if you have multiples of the same molecule type in a box as they will all be right on top
of each other. However, it is useful if you are trying to get multiple different molecule types
in an initial configuration where one molecule is inside of another (nanotubes being an example).
- 'none': place the molecules exactly where their template indicates. This option makes the most
sense for initstyle options like 'coords' where you want to just read positions from a file.
- 'simple cubic': places the first atom of the molecule onto a simple cubic lattice and the rest of the
atoms in the molecule are placed relative to that atom. If you are not using an initstyle of
'coords' then this is probably the option you want to use to generate an initial structure.
- initmol (integer)
- This variable is only required for initboxtype settings of 'dimensions' or 'number density'
- The initial number of each type of molecule in each box (one
line per box).
- inix, iniy, iniz (integer)
- The initial number of molecules (for initboxtype settings of 'dimensions' or
'number density') or of duplicated unit cells (for initboxtype setting of 'unit cell')
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 (for initboxtype settings of 'dimensions' or
'number density'). While these are labeled x, y, and z they actually correspond to the three
coordinate vectors (truly x, y, and z for a rectangular box).
- hmatrix (double precision)
- This variable is only required for initboxtype settings of 'dimensions'
- 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.
- box_number_density (double precision)
- This variable is only required for initboxtype settings of 'number density'
- The initial total number density of molecules in each simulation box. Listed as
a single value per line with one line for each box as specified by numboxes.
Unit are molecules per nm3.
- 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.
- Comment: The formatting of the move variables is 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.
- Isotropic Volume Move: These variables are only included for the following cases
- ensemble is 'npt'
- ensemble is 'nvt' and numboxes is 2 or more.
- pmvol (double precision)
- Probability of performing a volume move. If (ensemble is 'npt') then
a single box is selected and it exchanges volume with an external
pressure bath (see pressure). If (ensemble = 'nvt' and numboxes >
1) a pair of boxes are selected and volume is exchanged between
them.
- pmvlpr (double precision)
- Probability of performing a volume move on a particular box,
or box pair. All of these variables are listed on a single line
If (ensemble = 'npt') then a value of pmvlpr is listed for each box.
If (ensemble = '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).
- rmvol (double precision) [a single value regardless
of the actual number of box pairs]
- The initial volume maximum displacement. If this is an isobaric-isothermal
ensemble (ensemble = 'npt') then this is the initial maximum volume
displacement (cubic Angstroms) in each box. If this is the canonical
Gibbs ensemble (ensemble = '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).
- tavol (double precision)
- 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.
- Anisotropic Volume Move: These variables are only included for the following cases
- ensemble is 'npt'
- ensemble is 'nvt' and numboxes is 2 or more.
- pmcell (double precision)
- Probability of performing a unit cell adjustment move. If (ensemble = '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
(ensemble = '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.
- pmcellpr (double precision)
- 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 (ensemble = 'npt') then a value of pmvlpr is listed for each box.
If (ensemble = '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).
- pmcellpt (double precision)
- 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 (ensemble = '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.
- rmcell (double precision)
- 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 iratv.
- tacell (double precision)
- 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.
- Rotational-bias 2 box molecule Transfer Move: These variables are only included
if numboxes is greater than or equal to 2
- pm2boxrbswap (double precision)
- 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 nch_nb_one attempted
different orientations and position (of the
center-of-mass) for the new molecule.
- pm2rbswmt (double precision)
- Probability of performing a rotational-bias interbox molecule
transfer move on each type of molecule in the system.
- pm2rbswpr (double precision)
- 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).
- Configurational-bias 2 box molecule Transfer Move: These variables are only included
if numboxes is greater than or equal to 2
- pm2boxcbswap (double precision)
- pm2cbswmt (double precision)
- Probability of performing a configurational-bias interbox molecule
transfer move on each type of molecule in the system.
- pm2cbswpr (double precision)
- 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).
- Configurational-bias grand-canonical insertion/deletion Move: These variables are only included
if ensemble is 'uvt'
- pmuvtcbswap (double precision)
- Probability of performing a grand-canonical configurational-bias insertion or
deletion move.
- pmuvtcbmt (double precision)
- Probability of performing a grand-canonical configurational-bias insertion or
deletion move on each type of molecule in the system.
- Configurational-bias single box molecule Reinsertion Move
- pm1boxcbswap (double precision)
- 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
coupled-decoupled configurational-bias Monte Carlo.
- pm1cbswmt (double precision)
- Probability of performing an intrabox configurational-bias molecule
transfer move on each type of molecule in the system.
- Aggregation Volume Bias Move Type 1
- pmavb1 (double precision)
- Probability of performing an aggregation volume bias move of type 1, as described in
Chen and Siepmann 2000.
This is useful for forming and destroying clusters in simulations with molecules
that tend to aggregate together.
- pmavb1in (double precision)
- Probability of trying to move a molecule into an inner region for aggregation
volume bias move of type 1.
- pmavb1mt (double precision)
- 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.
- pmavb1ct (double precision)
- 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 pmavb1mt 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.
- avb1rad (double precision)
- 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 rcut.
- Aggregation Volume Bias Move Type 2
- pmavb2 (double precision)
- Probability of performing an aggregation volume bias move of type 2, as described in
Chen and Siepmann 2001.
This is useful for forming and destroying clusters in simulations with molecules that
tend to aggregate together.
- pmavb2in (double precision)
- Probability of trying to move a molecule into an inner region for aggregation
volume bias move of type 2.
- pmavb2mt (double precision)
- 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.
- pmavb2ct (double precision)
- 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 pmavb2mt 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.
- avb2rad (double precision)
- 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 rcut.
- Aggregation Volume Bias Move Type 3
- pmavb3 (double precision)
- Probability of performing an aggregation volume bias move of type 3, as described in
Chen and Siepmann 2001.
This is useful for transfering molecules between clusters.
- pmavb3mt (double precision)
- 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.
- pmavb3ct (double precision)
- 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 pmavb1mt 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.
- avb3rad (double precision)
- 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 rcut.
- Configurational-Bias Partial Molecule Regrowth
- pmcb (double precision)
- 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
configurational-bias.
- pmcbmt (double precision)
- Probability of performing a molecule regrowth on
each type of molecule in the system.
- pmall (double precision)
- pmall is the probability that a molecule regrowth move will regrow
the entire molecule. This is listed for each molecule type in the
simulation.
- Configurational-Bias Protein backbone Regrowth
- pmback (double precision)
- 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.
- Torsional Pivot Move
- pmpivot (double precision)
- Probability of performing a pivot move about a random bond in the molecule.
This move chooses a bond that is not entirely contained in a single ring structure,
and has at least one bond emenating from each end,
and then rotates one side of the molecule about that bond.
- Concerted Rotation Move on a non-peptide backbone
- pmconrot (double precision)
- Probability of performing a concerted rotation move for a sequence of 9
atoms in a molecule.
- Concerted Rotation Move over a 3 peptides backbone sequence
- pmcrback (double precision)
- Probability of performing a concerted rotation move on a sequence of three
peptides in a polypeptide. This move only works for polypeptides.
- pmcrbmt (double precision)
- Probability of performing a protein backbone concerted rotation
move on each type of molecule in the system.
- Plane Shift Move
- pmplane (double precision)
- Probability of performing a plane shift move. This move displaces all of the
molecules whose center of mass lies in a plane of width planewidth. A new trial
position for the center of the plane of atoms is generated uniformly across the available
plane.
- pmplanebox (double precision)
- 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.
- planewidth (double precision)
- 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.
- Row Shift Move
- pmrow (double precision)
- Probability of performing a row shift move. This move displaces all of the
molecules whose center of mass lies in a row of diameter rowwidth. A new trial
position for the center of the row of atoms is generated uniformly across the available
row.
- pmrowbox (double precision)
- 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.
- rowwidth (double precision)
- 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.
- Intramolecular Single Atom Translation Move
- pmtraat (double precision)
- Probability of performing a single-atom translation
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, selects a vector on
a unit sphere at random, and then attempts to displace the
atom a random distance between -rmtraa and +rmtraa in that direction.
- pmtamt (double precision)
- Probability of performing a single-atom translation
move on each type of molecule in the system.
- rmtraa (double precision)
- The initial Atom-translation maximum displacement (Angstroms)
for all molecules types in all boxes. As the simulation progresses,
these values are updated to yield the desired acceptance
rate for each molecule type in each box (see trmaxdispfreq).
- tatraa (double precision)
- 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 trmaxdispfreq) to yield this acceptance
rate. I typically use a value of 0.5, though some researchers prefer
smaller values.
- Center-of-Mass Molecule Translation Move
- pmtracm (double precision)
- Probability of performing a center-of-mass translation
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, chooses a vector on a unit sphere at random, and then attempts
to displace the entire molecule a random distance between -rmtrac
and +rmtrac in that direction.
- pmtcmt (double precision)
- Probability of performing a center-of-mass translation
move on each type of molecule in the system.
- rmtrac (double precision)
- The initial Center-of-mass translation maximum displacement (Angstroms)
for all molecule types in all boxes. As the simulation progresses,
these values are updated to yield the desired acceptance
rate for each molecule type in each box (see trmaxdispfreq).
- tatrac (double precision)
- 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
trmaxdispfreq) to yield this acceptance rate. I typically use a value of
0.5, though some researchers prefer smaller values.
- Rotation about the Center-of-Mass Move
- pmrotate (double precision)
- Probability of performing a rotation about the center-of-mass move for
a molecule without regard to the box the molecule is currently
located in. This move chooses a molecule of the
appropriate type at random and then attempts to rotate the entire molecule about
the x, y, and z axes that run through the center-of-mass a random number of radians
between -rmrot and +rmrot around each of the three axes.
- pmromt (double precision)
- Probability of performing a rotation move on each
type of molecule in the system.
- rmrot (double precision)
- The initial molecular rotation maximum displacement (radians)
for all molecule types in all boxes. As the simulation progresses,
these values are updated to yeild the desired acceptance
rate for each molecule type in each box (see trmaxdispfreq).
- tarot (double precision)
- 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 trmaxdispfreq) to yield this acceptance rate. I typically
use a value of 0.5, though some researchers prefer smaller values.
- cbmc_style (character*30)
- 'coupled-decoupled': uses a combination of coupled and decoupled selections in order
to perform the configurational-bias Monte Carlo moves. The general concepts of coupled
and decoupled configurational-bias Monte Carlo are described in the main text of
Martin and Siepmann 1999. Currently
the only valid option in the code, but there are plans for additional options in the future.
This setting also requires the following variable.
- coupled_decoupled_form (character*30)
- 'Martin and Siepmann JPCB 1999': When performing a configurational-bias
move use the coupled-decoupled formulation presented in the appendix of
Martin and Siepmann 1999 with the
addition of a decoupled bond selection.
- 'Coupled to pre-nonbond': Uses a new algorithm that is not yet published. The bond, bending,
and dihedral selection are all decoupled from each other. However, they are all coupled to
the pre-nonbond loop.
- cbmc_setting_style (character*30)
- 'default ideal': sets up all of the configurational-bias variables according to a
general set of default values using the 'ideal' generation styles. This option sets
the following variables for all molecule types in the system.
(for more information about these variables see the explicit setting for this variable).
- cbmc_bond_generation = 'r^2 with bounds'
- cbmc_bend_generation = 'ideal'
- cbmc_dihedral_generation = 'ideal'
- nch_nb_one = 10
- nch_nb = 10
- nch_pre_nb = 1
- nch_tor = 360
- nch_tor_connect = 360
- nch_bend_a = 1000
- nch_bend_b = 1000
- nch_vib = 1000
- vibrang = 0.85 1.15
- 'widom ideal': sets up all of the configurational-bias variables according to a
general set of default values using the 'ideal' generation styles in such a manner that the
chemical potential is computed correctly using the normal widom insertion. This option sets
the following variables for all molecule types in the system.
(for more information about these variables see the explicit setting for this variable).
- cbmc_bond_generation = 'r^2 with bounds'
- cbmc_bend_generation = 'ideal'
- cbmc_dihedral_generation = 'ideal'
- nch_nb_one = 1
- nch_nb = 1
- nch_pre_nb = 1
- nch_tor = 360
- nch_tor_connect = 360
- nch_bend_a = 1000
- nch_bend_b = 1000
- nch_vib = 1000
- vibrang = 0.85 1.15
- 'Martin and Thompson FPE 2004': sets up all of the configurational-bias variables to the
values used in Martin and Thompson 2004.
This option sets the following variables for all molecule types in the system.
(for more information about these variables see the explicit setting for this variable).
- cbmc_bond_generation = 'r^2 with bounds'
- cbmc_bend_generation = 'ideal'
- cbmc_dihedral_generation = 'ideal'
- nch_nb_one = 10
- nch_nb = 10
- nch_pre_nb = 1
- nch_tor = 360
- nch_tor_connect = 360
- nch_bend_a = 100
- nch_bend_b = 100
- nch_vib = 1000
- vibrang = 0.85 1.15
- 'explicit': All of the configurational-bias options are explicitly required. When using this
option you also need to include the following variables.
- nch_nb_one (integer) [one value for each molecule type]
- The number of trial positions that are
sampled for the first atom inserted during a configurational-bias or rotational-bias molecule
exchange move (see pm2boxrbswap, pm2boxcbswap, and pm1boxcbswap).
The value must be less than or equal to NCHMAX
(see preproc.h).
- nch_nb (integer) [one value for each molecule type]
- The number of trial positions that are sampled for all
atoms except for the first atom inserted during a
configurational-bias
molecule exchange move (see pm2boxcbswap and pm1boxcbswap). This is used for
all atoms in a configurational-bias regrowth move.
The value must be less than or equal to NCHMAX
(see preproc.h).
- nch_pre_nb (integer) [one value for each molecule type]
- This variable is only required when the coupled_decoupled_form is 'Coupled to pre-nonbond'
- The number of trials for a selection procedure that takes place after the
dihedral selection, but before the nonbond selection when using a
coupled_decoupled_form of 'Coupled to pre-nonbond'.
The value must be less than or equal to NCHTOR_MAX
(see preproc.h).
- cbmc_dihedral_generation (character*30)
- 'ideal': dihedral trials are generated according to the ideal distribution. For dihedrals
that means trials are generation uniformly on (-Pi, Pi).
- 'global gaussian': dihedral trials are generated according a series of gaussian distributions
that are a function of the bondpatt on the central two atoms. This series is hard
coded into Towhee and details can be found by looking in the getcbdihed.F subroutine. This
gaussian bias is then removed in the acceptance rule. When using this option you must also
include the following variable.
- sdevtor (double precision)
The standard deviation (with units of degrees) that is used for each of the gaussian
distributions for the dihedral angles. For best results this number should be set to
the observed distribution computed in the
analyse_movie utility. This number must be
positive and a default value of 20.0 is suggested.
- 'autofit gaussian': dihedral trials are generated according to a series of gaussian distributions
that are individually fit to the Boltzman factor as a function of dihedral angle for each
individual dihedral in the system. This fit is performed automatically at the start of each simulation
using the equilibrium bond lengths and bending angles. This bias is then removed in the acceptance rule.
When using this option you must also include the following variable.
- dihedral_sdev_multiplier (double precision)
The factor that is multiplied by the observed gaussian standard deviation for each peak in
the automatic dihedral fit in order to create the standard deviations that are used to
generate the dihedrals during the simulation. This number must be positive and a default
value of 1.0 is suggested.
- 'ideal + autofit gaussian': dihedral trials are generated according to a linear combination of the
ideal distribution (uniform) and a series of gaussian distributions
that are individually fit to the Boltzman factor as a function of dihedral angle for each
individual dihedral in the system. This fit is performed automatically at the start of each simulation
using the equilibrium bond lengths and bending angles. This bias is then removed in the acceptance rule.
When using this option you must also include the following variables.
- dihedral_sdev_multiplier (double precision)
The factor that is multiplied by the observed gaussian standard deviation for each peak in
the automatic dihedral fit in order to create the standard deviations that are used to
generate the dihedrals during the simulation. This number must be positive and a default
value of 1.0 is suggested.
- dihedral_ideal_fraction (double precision)
The fraction of dihedral trials that are generated using the ideal distribution. The
remainder of the trials are generated using the autofit gaussians. This number must
be in the range [0.0,1.0] inclusive.
- nch_tor (integer) [one value for each molecule type]
- The number of trial dihedral angles that are sampled
during configurational-bias moves.
The value must be positive and also less than or equal to NCHTOR_MAX
(see preproc.h).
- nch_tor_connect (integer) [one value for each molecule type]
- The number of trial dihedral angles that are sampled during
configurational-bias 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 to regrow the interiors of large molecules.
The value must be positive and also less than or equal to NCHTOR_MAX
(see preproc.h).
- cbmc_bend_generation (character*30)
- 'ideal': bending trials are generated according to the ideal distribution.
This is the Sine distribution for bending angle type A and uniform on (-Pi, Pi)
for bending angle type B.
'global gaussian': bending trials are generated according to gaussian distributions.
Bending A trials are generated according to a single gaussian with a mean set to the
equilibrium bending angle and a standard deviation set to sdevbena.
Bending B trials are generated according to one or more gaussian distributions with
means set based upon the bondpatt of the central atom and a standard deviation
set to setbenb. For more details on the bending B distribution see the
getcbangle.F subroutine.
When using this option you must also include the following variables.
- sdevbena (double precision)
The standard deviation to use when generating the part A bending trials
(units of degrees). Must be positive, and it is best to set to the
observed distribution of the angles as measured by the
analyse_movie utility.
- sdevbenb (double precision)
The standard deviation to use when generating the part B bending trials
(units of degrees). Must be positive, and it is best to set to the
observed distribution of the angles as measured by the
analyse_movie utility.
- 'autofit gaussian': bending trials are generated according to gaussian distributions.
Bending A trials are generated according to a single gaussian with a mean and standard
deviation fit to Sin(theta)*exp(-beta Ubend). The standard deviation used to
generate trials is a product of the observed distribution standard deviation times
bend_a_sdev_multiplier. Bending B trials are generated according to one or more
gaussian distributions with means fitted to exp(-beta ubend) for rotating the
angles about a cone (with everything else set to the equilibrium bond lengths and bending angles).
The observed standard deviation from this fit is multiplied by bend_b_sdev_multiplier
to get the standard deviation used to generate bending B angles during the simulation. This
bias is removed in the acceptance rules. When using this option you must also include the
following variables.
- bend_a_sdev_multiplier (double precision)
This value is multiplied by the observed standard deviation from performing the fit
in order to create the standard deviation that is used to generate bending A trials
during the simulation. This value must be positive and the currently suggested value
is 1.0.
- bend_b_sdev_multiplier (double precision)
This value is multiplied by the observed standard deviation from performing the fit
in order to create the standard deviation that is used to generate bending B trials
during the simulation. This value must be positive and the currently suggested value
is 1.0.
- 'ideal + autofit gaussian': bending trials are generated according to a linear combination
of the ideal distributions (sine for bend A, uniform for bend B) and the autofit gaussian distributions.
Gaussian bending A trials are generated according to a single gaussian with a mean and standard
deviation fit to Sin(theta)*exp(-beta Ubend). The standard deviation used to
generate trials is a product of the observed distribution standard deviation times
bend_a_sdev_multiplier. Gaussian bending B trials are generated according to one or more
gaussian distributions with means fitted to exp(-beta ubend) for rotating the
angles about a cone (with everything else set to the equilibrium bond lengths and bending angles).
The observed standard deviation from this fit is multiplied by bend_b_sdev_multiplier
to get the standard deviation used to generate bending B angles during the simulation. This
bias is removed in the acceptance rules. When using this option you must also include the
following variables.
- bend_a_sdev_multiplier (double precision)
This value is multiplied by the observed standard deviation from performing the fit
in order to create the standard deviation that is used to generate bending A trials
during the simulation. This value must be positive and the currently suggested value
is 1.0.
- bend_b_sdev_multiplier (double precision)
This value is multiplied by the observed standard deviation from performing the fit
in order to create the standard deviation that is used to generate bending B trials
during the simulation. This value must be positive and the currently suggested value
is 1.0.
- bend_a_ideal_fraction (double precision)
The fraction of bending A trials that are generated using the ideal distribution of
Sin(theta). The remainder of the trials are generated using the autofit gaussians.
This value must be in the range [0.0,1.0] inclusive.
- bend_b_ideal_fraction (double precision)
The fraction of bending B trials that are generated using the ideal distribution of
uniform on (-Pi,Pi). The remainder of the trials are generated using the autofit gaussians.
This value must be in the range [0.0,1.0] inclusive.
- nch_bend_a (integer) [one value for each molecule type]
- The number of trial angles that are sampled during
configurational-bias
moves when we are selecting the iugrow-iufrom-iuprev angle. This value must be
positive. Currently suggested values are in the range of 100 to 1000 when using
cbmc_bend_generation style 'ideal' and in the range from 1 to 10 when using
cbmc_bend_generation styles 'global gaussian' or 'autofit gaussian'.
- nch_bend_b (integer) [one value for each molecule type]
- The number of trial angles that are sampled during
configurational-bias
moves when we are selecting the rotation about a cone of one of
the iugrow angles relative to the others. This value must be positive.
positive. Currently suggested values are in the range of 100 to 1000 when using
cbmc_bend_generation style 'ideal' and in the range from 1 to 10 when using
cbmc_bend_generation styles 'global gaussian' or 'autofit gaussian'.
- cbmc_bond_generation (character*30)
- 'r^2 with bounds': Generate trial bond lengths according to a bounded r2 probability distribution
within the ranges set by the vibrang variable. This distribution is proportional to the true distribution,
but has a limited sampling range while the true distribution is of infinite extent When using this option
you also need to incude the following variable.
- 'global gaussian': Generate trial bond lengths according to a gaussian distribution with a mean set to the
equilibrium bond length and a standard deviation specified as sdevvib.
When using this option you must also include the following variable.
- sdevvib (double precision)
The standard deviation of a gaussian distribution that is used to
sample bond lengths during a configurational-bias
regrowth for a cbmc_bond_generation style of 'global gaussian'. Units are Angtroms.
For best results perform a short simulation of single-atom translation moves, analyse that
data using the analyse_movie utility, and set
this value to the observed standard deviations in the bond length distribution.
- 'autofit gaussian': Generate trial bond lengths according to a gaussian distribution with a mean
and standard deviation fitted to r2 exp(-beta Ubond). When using this option
you also need to include the following variable.
- bond_sdev_multiplier (double precision)
This value is multiplied by the observed standard deviation of the
r2 exp(-beta Ubond) distribution in order to determine the
standard deviation used to generate bond trials. This value must be positive.
The currently suggested value is 1.0.
- nch_vib (integer) [one value for each molecule type]
- The number of trial bond lengths that are sampled during a
configurational-bias move.
This value must be positive. Currently suggested values are 1000 trials
for cbmc_bond_generation style 'r^2 with bounds' and a value in the range
of 1 to 10 for cbmc_bond_generation styles 'global gaussian' and
'autofit gaussian'.
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.
inpstyle (integer)
Return to the main towhee web page
|