Temperature control in fix gcmc with fix rigid/nvt/small

hi,

I’m trying to do gcmc simulation of rigid CH4 molecules adsorption isotherms in clay minerals

by using fix gcmc with fix rigid/nvt/small.

The coulomb potential was calculated by PPPM.

The fix rigid/nvt/small was combined with fix_modify dynamic/dof yes

and fix_modify temp as the LAMMPS Manuals says.

However, as the simulation going on (after a long time), the CH4 molecules were just kept adding to the system,

leading the pressure far higher than the pressure specified in fix gcmc command.

Also, the system temperature continues increasing up, higher than the specified temperature.

The fix rigid/nvt/small command seems did not thermostat well.

So, what’s the reason lying beneath this unusual phenomenon?

Part of my input file is :

variable temp equal 363.15

variable press equal 100.00

variable fug_coeff equal 0.934

molecule ch4 mol.ch4.txt #full atom methane molecule

compute Temp_methane methane temp/com

compute_modify Temp_methane dynamic/dof yes

fix mrsnvt methane rigid/nvt/small molecule temp {temp} {temp} 100.0 mol ch4

fix_modify mrsnvt dynamic/dof yes

fix_modify mrsnvt temp Temp_methane

fix 1 methane gcmc 1000 1000 500 0 2949499 ${temp} -0.28 0.5 mol ch4 &

maxangle 180 rigid mrsnvt pressure {press} fugacity_coeff { fug_coeff } full_energy

run 5000000

Best regards.

Youzhi Hao

Hi Youzhi,

I also observed similar phenomena for my water adsorption onto silicate systems where the temperature is not controlled as speciefied in gcmc command. However, I went ahead with the simulation and equilibrated the system separately once the final configuration was achieved from the gcmc run. Not really sure if this is to be expected from gcmc. So I look forward for any other user’s comments on this. Thanks!

Hi Mohammad,

I’ve tested in three simulation scenarios:

  1. Using fix gcmc to fill the clay structure with methane, combined with fix rigid/nvt/small. During this process, the system temperature was not well controlled.
    Specially, the system temperature was always much higher than the specified temperature, because the large amount of continuous filling of methane molecules.

  2. Unfix gcmc after some time which the system was filled with some methane, then let the fix rigid/nvt/small do the thermostat alone.
    However, the temperature was still not thermostat correctly, i.e. the temperature seemed not affected by this fix.

  3. Then let’s just start with a new simulation, with a methane pre-filled simulation system, by using fix rigid/nvt/small, then the temperature was finely thermostat!

As you can see, this indeed may be related to the fix gcmc command, but I cannot figure out the reason, could someone take a look at this?

regards,

Youzhi

Hi Mohammad,

This is update information for the question as I mentioned before as:

“2) Unfix gcmc after some time which the system was filled with some methane, then let the fix rigid/nvt/small do the thermostat alone.
However, the temperature was still not thermostat correctly, i.e. the temperature seemed not affected by this fix.”

Recently, I tried a different way to tackle the problem described above:

When unfix gcmc, also unfix rigid/nvt/small, then create a new fix rigid/nvt/small.

By doing this, the system is well thermostated. It seems that fix rigid/nvt/small functions well when fully detached from fix gcmc.

However, this question still troubles me:

Fix gcmc combined with fix rigid/nvt/small does not thermostat the system as user-specified temperature T.
This leads the system temperature differs greatly from the ideal gas reservoir’s temperature, which is not a uvt ensemble.

There were some recent improvements made to fix gcmc that might resolve the issues you describe here. If not, please post a *small* example that demonstrates the problem.

Aidan

hi Aidan,
I have installed the latest development LAMMPS version 23 June 2017 and tested it.
Now the fix gcmc with fix rigid/nvt/small works fine with my system, the temperature
is thermostatted well.
Thanks!

Best regards,
Youzhi