about fix gcmc

Dear all,

I have utilized lammps simulate the mass transfer of solute molecules across interface. However, there are some phenomenon which I am very confused: Through visualizing observation of simulation results, the all particles stopped moving after running for 30,000 steps. Why did this happen? I looked through a lot of materials but could not find a solution.

In addition, I found that when I removed the fix GCMC command, the particles kept moving without any problems.I think the problem is that the fix GCMC command is not properly used

Could anyone should give me some advice?


With Regards !


simulation process:

To keep the mass transfer of solute molecules across interface at steady rate, a source region and a sink region having the given solute concentration were applied in NEMD simulations. At the beginning, solvent A and solvent B were placed in the simulation box, and an interface region parallel to the yz-plane appeared due to the immiscibility between liquid A and B. To keep the given solute concentration in the source and sink region, during the NEMD simulation process we regularly performed Monte Carlo move of exchanging molecule identity between solvent A and the solute in the source region and that between solvent B and solute in the sink region

Here’s a simple example input script for fix gcmc (see below).

This might be an issue with thermostatting. Hard to say. You could try adding temperature computes for the groups b and c. You might also try running a simpler problem e.g. only one gcmc fix.


Hello all,
I am performing a similar type of simulations to study diffusion,
I am fixing the concentration of a type of particle (solute) in two sections of my simulation box. One section has a high concentration and the other a low concentration. I achieved this with two gcmc fixes at different chemical potential
There is also solvent for which the number of particle is constant during the simulation.
I realize that the high concentration zone was warming and the others were cooling down, The average temperature of the hole box was okay but when I compute the temperature in different regions the temperature in the source region was much higher. I solved this by dividing the thermostating of the simulation in 6 regions along the longest dimension. Number six was arbitrary.

Now it works okay. I don’t know how appropriate this decision might be


Thanks for sharing. When running non-equilibrium simulations with a concentration gradient, it is definitely a good idea to check for variations in temperature across the simulation box. Ideally, GCMC moves should be done sufficiently infrequently that no concentration gradient is induced, but this may not be very practical. Applying separate thermostats to the high and low concentration regions is a good compromise. It is better not to thermostat particles in the gradient region, to avoid modifying the dynamics.

thanks for Aidan’s suggestion and matias sharing, i have a question that how to ascertain the mu . that the mu_id can be computed from the manual but the mu_ex dosen’t have formula to compute .
look forward to your advice!

In a GCMC simulation, you set the excess chemical potential to a value that you are interested in, similar to how you set the pressure to a value you are interested in in an NPH simulation. It probably makes sense to perform a scan in the excess chemical potential to see what value gets you closest to your desired concentrations.