Polyethylene in Argon

Dear LAMMPS users,

I am a new user of LAMMPS. I am used to NAMD and Gromacs but I am starting to use LAMMPS because I am interested in polyethylene at high temperature and I would like to see how the bonds break by heating the system.
From what I did read, REAXFF seems to be one part of the solution to my problem.
REAXFF is well define for C H in my case so until here, everything is fine.

However my polyethylene should be in the presence of argon and here start the tricky part of the problem.
Ar is obviously not define in REAXFF. As I said, I am new in using LAMMPS so it is only “thinking” from my side.

I thought it could be possible to have
1 pair style for the polymer :

pair_style reax/c NULL checkqeq no
pair_coeff * * ffield.reax C H

and one pair style LJ for the Ar-Ar ; Ar-C and Ar-H

something like : (please do not look closely at the arguments as I have to check them myself.)

pair_style lj/cubic
pair_coeff 1 1 0.0102701 3.42
pair_coeff 1 2 0.0102701 3.42
pair_coeff 1 3 0.0102701 3.42

Here I have some question.

  • I wanted to define a pair_style hybrid. However, I am not sure this is the good idea.
    Could someone tell me if this is a good idea regarding what I am interested in ?

  • Second, I tried to make this script works :

initial structure

units real
boundary p p p
atom_style full

read_data PEAgr.data

#REAXFF for C and H forming the polymer

pair_style reax/c NULL checkqeq no
pair_coeff * * ffield.reax C H

#LJ for Argon-Argon, Ar-C and Ar-H

pair_style lj/cubic
pair_coeff 1 1 0.0102701 3.42
pair_coeff 1 2 0.0102701 3.42
pair_coeff 1 3 0.0102701 3.42

But I get this :

ERROR: Incorrect args for pair coefficients (…/pair_reaxff.cpp:282)
Last command: pair_coeff * * ffield.reax C H

CAn anyone help ?

Thanks a lot !

If the way I want to do this study does not feel/seem right, please let me know what you think !

Best regards,

A few things:

  • Using the pair_style command twice won’t work. The second one will wipe out the settings from the first
  • The best solution would be a ReaxFF parameterization that includes all elements you use
  • Use ReaxFF correctly requires charge equilibration. You are telling the pair style not to check that it is enabled. That is wrong
  • The second best solution is to use pair_style hybrid. That requires some special consideration for your input. In particular, setting up the charge equilibration is difficult since its parameters are usually taken from the ReaxFF parameter file, but that is lacking the settings for Argon. In that case you must use a parameter file that was specifically generated for hydrocarbons at ambient conditions. Parameters for combustion are not suitable. ReaxFF parameters are not very transferable.
  • The error is because the number of arguments to the pair_coeff command and the number of atom types do not match. Please see the documentation.
  • A simpler solution would be to use AIREBO instead of ReaxFF. Of course you still need to set up a hybrid pair style. But AIREBO has been parameterized and tested for polyethylene among other compounds and it doesn’t require charge equilibration or atom charges, which makes things much easier.
  • Please make certain, there are no bonds in your data file. Using atom style full is suspicious. Typical for ReaxFF is atom style charge, for AIREBO the default atomic atom style would suffice.

Hi!

Thanks a lot for all these information!

Using the pair_style command twice won’t work. The second one will wipe out the settings from the first

This, I did not know. Lammps’ documentation is quite huge and I did not manage to read this. Thanks for telling me !

The best solution would be a ReaxFF parameterization that includes all elements you use

This was my first guess. This is something I did already with Gromacs.

`

Use ReaxFF correctly requires charge equilibration. You are telling the pair style not to check that it is enabled. That is wrong

`

I will look at this mistake and correct it thanks!

The second best solution is to use pair_style hybrid. That requires some special consideration for your input. In particular, setting up the charge equilibration is difficult since its parameters are usually taken from the ReaxFF parameter file, but that is lacking the settings for Argon. In that case you must use a parameter file that was specifically generated for hydrocarbons at ambient conditions. Parameters for combustion are not suitable. ReaxFF parameters are not very transferable.

Noted !

The error is because the number of arguments to the pair_coeff command and the number of atom types do not match. Please see the documentation.

Thanks… I tried different things here. As I thought I could define all the pair_coeff using 2 different force fields, I was unable to understand why my script was not working. But knowing that using pair_style twice does not work, Now I understand! Thanks !

A simpler solution would be to use AIREBO instead of ReaxFF. Of course you still need to set up a hybrid pair style. But AIREBO has been parameterized and tested for polyethylene among other compounds and it doesn’t require charge equilibration or atom charges, which makes things much easier.

Does this mean, sorry if I am asking trivial questions, that I have to use AIREBO for the polyethylene and then include my lennard jones for Ar-Ar Ar-C and Ar-H ? And these are set up via a hybrid pair style ?
From your point of view, as you are the specialist here, what is the best ? take time and set up the reaxff or go for a simpler solution using AIREBO ?

Please make certain, there are no bonds in your data file. Using atom style full is suspicious. Typical for ReaxFF is atom style charge, for AIREBO the default atomic atom style would suffice.

I did see that for REAXFF, only the number of atoms needed to be specified so my “input file” started with this :

LAMMPS data file. CGCMM style. atom_style full generated by VMD/TopoTools v1.8 on Tue Feb 14 22:44:21 CET 2023
 1019 atoms
 3 atom types

 0.586993 151.291003  xlo xhi
 1.613998 27.756000  ylo yhi
 1.560000 27.340001  zlo zhi


 Masses

 1 12.000000 # Ar
 2 12.011000 # C
 3 1.008000 # H

 Atoms # full

...

Thanks again for your answer and advises!

That is what I am implying.

My opinion should not be relevant. It is ultimately your decision which force field and parameterization is most suitable for your research project. That said, since setting up the (hybrid force field) simulation with AIREBO is so much simpler yet still a reactive force field, and both, LJ for Argon and AIREBO do not use explicit charges, it is certainly worth doing first. Even if you decide to go for ReaxFF and find a suitable parametrization that covers all your elements in the designated thermodynamic state, this is would be a step toward learning how to correctly set up a LAMMPS simulation, run, and analyze it.

The topo writelammpsdata command takes an optional additional argument which would be the desired atom style. Your file is correct and suitable, but writing it out with atom style atomic or charge would make the data file smaller and require less storage when running the simulation and require a little less communication when run in parallel. Given that current computer hardware usually has ample storage, this is not so much of a benefit unless you are aiming to do simulations of very large systems and need to save memory and CPU time as much as possible.