This page contains the source code for the gcmc program. Each source file is listed followed by a brief description of what it contains.
Notes about the code
source.tar | The source code in a tar file. |
add.f90 | Subroutine to attempt a particle creation. |
alpha_ch.f90 | Subroutine to attempt an "inflation" or "deflation" of a molecule. Necessary for expanded ensemble simulations. |
amoeba.f90 | Numerical recipies routine. It is used to adjust the temperature and activity of Hamiltonians to mimic the behavior of the first Hamiltonian. |
amotry.f90 | Numerical recipies routine used with amoeba.f90. |
banner.f90 | Subroutine to write header information to the results file. |
bigread.f90 | Subroutine to read in most information. |
bondl.f90 | Subroutine to find a bondlength for beads that are attached via a harmonic stretching potential. |
com.f90 | Subroutine to determine the center of mass of a molecule. |
cone.f90 | Subroutine to place a bead a fixed distance and bond angle from existing beads. |
cranksh.f90 | Subroutines to perform crank shaft and bending moves on reservoir molecules. |
create.f90 | Subroutine to create a system from scratch or from an existing configuration. |
displace.f90 | Subroutine to displace or rotate a molecule. |
e6interact.f90 | Subroutine to calculate the LJ or exp-6 energy of the entire system. |
e6molecule.f90 | Subroutine to calculate the LJ or exp-6 energy due to a single molecule. |
erf.f90 | Numerical recipies routine to calculate the error function. |
erfc.f90 | Numerical recipies routine to calculate the complementary error function. |
fourier_move.f90 | Subroutine to calculate the Fourier space energy of the Ewald summation for point charges. |
fourier_setup.f90 | Subroutine to setup the arrays needed to calculate the Fourier space energy of the Ewald summation. |
gcmc.f90 | The main routine to run the gcmc program. |
grow.f90 | Subroutine to grow a molecule using configurational-bias. |
intrabend.f90 | Subroutine to calculate the harmonic bending energy of three consecutive beads. |
intratorsion.f90 | Subroutine to calculate the torsion energy of four consecutive beads. |
ionmolecule.f90 | Subroutine to calculate the intramolecular Coulombic energy between nonbonded beads. |
littleread.f90 | Subroutine to read input data used to allocate arrays before bigread is called. |
lrcorr.f90 and lrcorr.dat |
Subroutine to calculate the long-range correction to the LJ or exp-6 energy. |
methods.f90 | Contains different growth methods used by grow to generate molecules. |
newmaxima.f90 | Subroutine to adjust the maximum particele displacement and rotation. |
outfold.f90 | Subroutine to unfold a molecule's coordinates from periodic boundary conditions. |
predict.f90 | Subroutine to adjust the temperature and activity of the Hamiltonians to match the f(N) distribution of the first Hamiltonian. |
ran2.f90 | Random number generator from numerical recipies. |
realinteract.f90 | Subroutine to calculate the real space energy of the Ewald summation for the entire system. |
realmolecule.f90 | Subroutine to calculate the real space energy of the Ewald summation due to a single molecule. |
regrow.f90 | Subroutine to attempt an internal regrowth move for flexible molecules. |
remove.f90 | Subroutine to attempt a particle annihilation. |
resmethods.f90 | Contains growth methods used to insert molecules in conjunction with the reservoir. |
resread.f90 | Subroutine to read information necessary for the reservoir. |
ressetup.f90 | Subroutine to setup the reservoirs at the beginning of the program. |
resupdate.f90 | Subroutine to update the reservoirs during the simulation. |
selfmolecule.f90 | Subroutine to calculate the self energy of the Ewald summation. |
sphere.f90 | Subroutine to determine a random location on the surface of a sphere. |
store.f90 | Subroutine to write the configuration to disk. |
surf_move.f90 | Subroutine to calculate the surface term of the Ewald summation. |
weights.f90 | Subroutines to adjust the Hamiltonian and expanded ensemble weights. |
writedata.f90 | Subroutine to write initial information to the results file. |
writehist.f90 | Subroutine to write the particle number-energy (f(N,E)) histogram to disk. |
writeresults.f90 | Subroutine to write the results to the results file at the end of an equilibration or production phase. |
zbrent.f90 | Root finding routine from numerical recipies. |