MaginnGroup / mosdef_cassandra

MoSDeF compatible wrapper for Cassandra Monte Carlo code
MIT License
11 stars 13 forks source link

Negative pressures while running an example #111

Closed RaphaelRobidas closed 7 months ago

RaphaelRobidas commented 7 months ago

I am not very familiar with GCMC simulations, so this is perhaps just ignorance on my part. However, I still haven't been able to figure it out. When I run examples/gcmc_adsorption.py, the results indicate that the pressure is nearly always negative. Even with more equilibration steps and a production run, the pressures remain negative and the number of methane molecules seems to have peaked.

Looking at some of the last frames, part of the methane molecules are not within the displayed zeolite. I'm not sure if the PBC are being applied and this is just a visual issue or if this is part of the problem.

From my understanding, the adsorption isotherm is obtained by plotting the average number of adsorbed molecules as a function of the pressure. Considering that most pressures are negative, the results are nothing like the expected curve, so I'm guessing that there is something wrong in the process.

Any help and insight is very much appreciated!

ejmaginn commented 7 months ago

Pressure in the zeolite phase is not meaningful. In this example, you set a chemical potential and compute a loading, that corresponds to that chemical potential. You need to run a separate simulation of an empty "gas phase" box at the same chemical potential and then compute the pressure of the gas phase. (see gcmc.py example). In this way, you can relate the loading from the first simulation to the pressure. What we usually do is run a series of gas phase simulations at fixed T and varying chemical potential and then this fixes the pressure-chemical potential relationship for that sorbate molecule (i.e. methane in the example). Then you can run adsorption calculations are different chemical potentials and relate this to pressure.

Be careful with the examples - they are short to give you a quick result. To get meaningful results, longer simulations are usually required.

RaphaelRobidas commented 7 months ago

Great, thanks a lot for clarifying! I managed to put this into practice and I get reasonable results. Very much appreciated