Question about fix gcmc for hybrid algorithm

Dear Steve, Paul and developers,

It’s so great to have the MC package. I have some questions about the fix gcmc command (lammps-29Aug2014).
I want to use this command to perform Dual-control volume hybrid gcmc+MD (DCV-GCMD) method, but failed (I’ve searched the maillist, you said it can’t perform it yet). However, I found some problems.
The following are the cases (pls see attachment).
I set two parallel walls with LJ potential in z-direction, periodic boundary in y-direction and fix boundary of wall/reflect in x-direction. Then we have a slit-like flow channel in x-direction. I divided the channel to three parts: left, middle and right , and set the left and right volume as the gcmc reservoirs with buffer, high pressure on the left and low pressure on the right (see the inpur script in.test1). So, the atoms should flow from left to right through the middle part.
I used the fix gcmc command with region keyword to control pressure. However, the atoms cannot flow out the gcmc reservoirs. Just like there is a virtual wall on the boundary of the gcmc region.
Because the gcmc command is performed every N steps as the manual said, I tried to run the simulation for N-steps and using loop (see in.test2), then the atoms can flow out.
However, I found the atoms in the middle region cannot flow into the gcmc reservoirs, when I test a larger model. It seems that I can perform DCV-GCMD by using very small timesteps and fix/unfix gcmc every loop (e.g. fix gcmc for 1000 steps and then unfix gcmc running 1000 steps, very inefficient). I haven’t finished the test yet.
So, is it possible to make the gcmc command to allow the atoms flow in and out the region? If Lammps can do it, it certainly can perform DCV-GCMD then.

Best Regards,

Tianhao Wu,
College of Engineering, Peking University.

dump.test.lammpstrj (601 Bytes)

in.test1 (1.2 KB)

in.test2 (1.27 KB)

I know Paul has thought about this - I’ll let him answer …


I think that the main problem was with the dynamic groups and fix nvt, but now that that has been fixed, I’ll be curious to hear how the DCV-GCMD simulations go.


Hi, Steve and Paul,

Thanks for fixing the nvt command.
I’m still working on the DCV-GCMD simulation. I believe I can finish some cases in a few days.

And, I have another question about compute stress/atom. I’m not very clear about the temp-ID argument in the manual. If I assign a temp compute, e.g. tempX, will the command subtract off the kinetic energy contribution of tempX, or substitute the kinetic energy contribution with tempX?


The latter.

From the doc page:

The temp-ID argument can be used to affect the per-atom velocities used in the kinetic energy contribution to the total stress. If the kinetic energy is not included in the stress, than the temperature compute is not used and can be specified as NULL. If the kinetic energy is included and you wish to use atom velocities as-is, then temp-ID can also be specified as NULL. If desired, the specified temperature compute can be one that subtracts off a bias to leave each atom with only a thermal velocity to use in the formula above, e.g. by subtracting a background streaming velocity. See the doc pages for individual compute commands to determine which ones include a bias.