[lammps-users] Suggesting to add new features of GCMC method in LAMMPS

Dear all,

Recently, I used the fix GCMC command to simulate Li insertion into Si anode during the charging process. However, with the increase of Li concentration, the successful rate of MC trial insertion becomes extremely low, and even MC trial insertion always failed. This is a quite common issue in fully packed materials compared with porous materials or surface adsorption.

In order to solve this problem, the group from PSU proposed a modification of standard GCMC algorithm. (https://aip.scitation.org/doi/pdf/10.1063/1.4815820; https://www.sciencedirect.com/science/article/pii/S1566736713004640?via%3Dihub). That is:

  1. They introduce an energy minimization step after each MC trial move;
  2. then use an accessible volume caused by energy minimization to replace the standard system volume. They also implement this new algorithm in SCM ReaxFF package.

Since the current fix gcmc command doesn’t have such option, and I think it can be used in much more material systems and research fields (battery charging/discharging, oxidation), my question is that is that possible for developers to consider about adding this new features of fix gcmc in the near future?

If I have to implement it by myself, can anyone give me some suggestions on how to modify this command (key challenge is how to add the energy minimization step after MC trial move)?

Best regards,
Mingchao

Dear all,

Recently, I used the fix GCMC command to simulate Li insertion into Si anode during the charging process. However, with the increase of Li concentration, the successful rate of MC trial insertion becomes extremely low, and even MC trial insertion always failed. This is a quite common issue in fully packed materials compared with porous materials or surface adsorption.

In order to solve this problem, the group from PSU proposed a modification of standard GCMC algorithm. (https://aip.scitation.org/doi/pdf/10.1063/1.4815820; https://www.sciencedirect.com/science/article/pii/S1566736713004640?via%3Dihub). That is:

  1. They introduce an energy minimization step after each MC trial move;
  2. then use an accessible volume caused by energy minimization to replace the standard system volume. They also implement this new algorithm in SCM ReaxFF package.

Since the current fix gcmc command doesn’t have such option, and I think it can be used in much more material systems and research fields (battery charging/discharging, oxidation), my question is that is that possible for developers to consider about adding this new features of fix gcmc in the near future?

very unlikely. fix gcmc is already convoluted and overloaded. and the features you suggest add a significant amount of complexity.

fix gcmc was originally conceived for studying diffusion of atoms or small molecules in confined environments where the problems you are experiencing do not manifest. it is not a good fit for the kind of systems that you are describing.

If I have to implement it by myself, can anyone give me some suggestions on how to modify this command (key challenge is how to add the energy minimization step after MC trial move)?

I don’t think this can be done as part of fix gcmc. What you would need would be a significant redesign of the functionality and implement it as its own “execution mechanism” (i.e. different from minimization and regular MD runstyles). that would take a lot of complex logic out of fix gcmc and instead make that part of the run method.

Axel.

Again, I’ll let Aidan comment. But my guess is that if you want this implemented,
you’ll need to do it yourself. If you can do it be deriving from the existing fix GCMC class
and adding a small amount of code, you could contribute your new fix for consideration
in the public distribution.

Steve