Hi Issak. You can find the average number of molecules in each box by
writing a script to average the mc_molecules file that is printed
out. The format is
Step number # of molecules of type 1 # of molecules of type
2 ..... etc, for box 1
Step number # of molecules of type 1 # of molecules of type
2 ..... etc, for box 2 (if there is a second box in the system)
At one time this was printed out at the end of a run, but for some
reason I removed it. There is no way to set this number via the
pressure...you just need to change the box volume, run the simulation,
see what the average density is (assuming the simulation has
equilibrated), change the box volume so that average density will give
the desired number of molecules, and then rerun. If the number of
molecules in the box is very small, there will be large fluctuations
around this number over the course of the run, but assuming the
simulation is long enough and equilibrated, the average should be what
you desire.
The easiest way of keeping a large molecule rigid is to change the
_MOL probabilities in the input file. For example, if the big
molecule is type 1 and the gas atoms are type 2, then a line of
PMSWAP_MOL 0.0 1.0
will let the gas molecules swap between boxes but not the big
molecule. Similarly,
PMTRAION_MOL 0.0 1.0
will attempt to change the conformation of molecule 2 but not molecule
1. If you want 30% of molecule translations to be done on molecule 1
and 70% on molecule 2, a line like
PMTRANS_MOL 0.3 1.0
would work. Hope that clarifies things. The file, tests/MC/regtest/
GEMC_NVT_box1.inp uses this, since it has two molecule types.
Cheers, Matt