pair_style hybrid/overlay with reax/c and lj/cut/coul/long

Dear LAMMPS users,

I have a molecular system including 9 atom types on which fix gcmc command is going to be applied. Using a hybrid simulation I want to apply reaxff force field for types 1, 2 and 9 and lj/cut/coul/long for all atoms. At first, is it possible?

To do so, I wrote the following commands:

units real
atom_style full
boundary p p p

pair_style hybrid/overlay lj/cut/coul/long 13 reax/c NULL

bond_style harmonic
angle_style hybrid fourier cosine/periodic
dihedral_style harmonic
improper_style fourier

read_data MILads.data
molecule CO2mol CO2.txt
group CO2 type 1 2
group reax type 1 2 9
group adsexN type 3 4 5 6 7 8

pair_modify pair lj/cut/coul/long mix arithmetic tail yes
pair_coeff * * reax/c ffield.reax C O N

delete_bonds all multi
fix qeqcal reax qeq/reax 1 0.0 10.0 1e-6 reax/c
kspace_style ewald 0.0001
fix classic adsexN freeze



I receive the following error:

ERROR: Incorrect args for pair coefficients (…/pair_reaxc.cpp:288)
Last command: pair_coeff * * reax/c ffield.reax C O N

I also tried to use these pair_coeffs:
pair_coeff 1 1 reax/c ffield.reax C

pair_coeff 2 2 reax/c ffield.reax O

pair_coeff 1 2 reax/c ffield.reax C O

pair_coeff 1 9 reax/c ffield.reax C N

pair_coeff 2 9 reax/c ffield.reax C O N

But regarding the manual “Only a single pair_coeff command is used with the reax/c style which specifies a ReaxFF potential file with parameters for all needed elements”. So, the error is still remaining.

I would appreciate any advice in this regard, and about other commands such as kspace_style or delete_bond. Thank you so much.

Best regards,
Mina Sedighi

Dear LAMMPS users,

I have a molecular system including 9 atom types on which fix gcmc command is going to be applied. Using a hybrid simulation I want to apply reaxff force field for types 1, 2 and 9 and lj/cut/coul/long for all atoms. At first, is it possible?

it may be syntactically possible, but it is not advisable. this is a bad model. with a coul/long pair style, you need to do a kspace style calculation, but that applies to all atoms, but ReaxFF already contains a Wolf-sum like coulomb handling, so you would be double counting the long-range parts of coulomb. also ReaxFF has a fluctuating charge model (using fix qeq/reax) but the rest not, which will lead to inconsistencies and undesired/unbalanced interactions.
In addition, you are using hybrid/overlay, which is clearly the wrong choice for the kind of mixing force fields you intend, since that sums all interactions, but what you want is to have different interactions for different parts of the system, which is what pair style hybrid does.

To do so, I wrote the following commands:

units real
atom_style full
boundary p p p

pair_style hybrid/overlay lj/cut/coul/long 13 reax/c NULL

bond_style harmonic
angle_style hybrid fourier cosine/periodic
dihedral_style harmonic
improper_style fourier

read_data MILads.data
molecule CO2mol CO2.txt
group CO2 type 1 2
group reax type 1 2 9
group adsexN type 3 4 5 6 7 8

pair_modify pair lj/cut/coul/long mix arithmetic tail yes
pair_coeff * * reax/c ffield.reax C O N

this is clearly wrong. you have 9 atom types but you are mapping only 3 of them (1, 2, and 3).

delete_bonds all multi
fix qeqcal reax qeq/reax 1 0.0 10.0 1e-6 reax/c
kspace_style ewald 0.0001
fix classic adsexN freeze



I receive the following error:

ERROR: Incorrect args for pair coefficients (…/pair_reaxc.cpp:288)
Last command: pair_coeff * * reax/c ffield.reax C O N

I also tried to use these pair_coeffs:
pair_coeff 1 1 reax/c ffield.reax C

pair_coeff 2 2 reax/c ffield.reax O

pair_coeff 1 2 reax/c ffield.reax C O

pair_coeff 1 9 reax/c ffield.reax C N

pair_coeff 2 9 reax/c ffield.reax C O N

But regarding the manual “Only a single pair_coeff command is used with the reax/c style which specifies a ReaxFF potential file with parameters for all needed elements”. So, the error is still remaining.

I would appreciate any advice in this regard, and about other commands such as kspace_style or delete_bond. Thank you so much.

this is all documented in the manual. you need to read it more carefully. but that is all useless in this specific case, because you are trying to implement a badly conceived and inconsistent model. it is not worth your or my time to try an make it work past the syntax errors.

axel.

Dear Prof. kohlmeyer,

I really appreciate your clear and helpful reply.

I have used hybrid/overlay style to see the interactions between CO2 molecules and N atoms of functional group (using reax/c) in addition to the ones between CO2 molecules and the atoms of the adsorbent (using lj/cut/coul/long) (I decided to follow this strategy due to the fact that there is no reaxff parameters for all included atom types in my system).

If hybrid style is used, how can I see the CO2-adsorbent interactions? (because in this case, CO2-N interactions are calculated using reax/c and adsorbent-adsorbent ones are computed using lj/cut/coul/long. So, where is CO2-adsorbent interactions?). Could you please correct me if I am wrong?

At first, I set the atomic charges of C, O and N atoms equal to zero in the data file. Then this charges are calculated using reaxff parameters (using fix qeq/reax) and kspace_style works based on the initially-calculated qeq charges using reax force field. Is this a correct method?

A part of my .in file:

pair_modify pair lj/cut/coul/long mix arithmetic tail yes
pair_coeff * * reax/c ffield.reax C O N

*****Axel: this is clearly wrong. you have 9 atom types but you are mapping only 3 of them (1, 2, and 3).

I have defined pair_coeff for all 9 atoms in the data file and reaxff parameters for C, O and N. Is it wrong?

I would really appreciate any advice because I am a bit confused. Thank you so much in advance.

Best regards,
Mina Sedighi

Dear LAMMPS users,

I have a molecular system including 9 atom types on which fix gcmc command is going to be applied. Using a hybrid simulation I want to apply reaxff force field for types 1, 2 and 9 and lj/cut/coul/long for all atoms. At first, is it possible?

it may be syntactically possible, but it is not advisable. this is a bad model. with a coul/long pair style, you need to do a kspace style calculation, but that applies to all atoms, but ReaxFF already contains a Wolf-sum like coulomb handling, so you would be double counting the long-range parts of coulomb. also ReaxFF has a fluctuating charge model (using fix qeq/reax) but the rest not, which will lead to inconsistencies and undesired/unbalanced interactions.
In addition, you are using hybrid/overlay, which is clearly the wrong choice for the kind of mixing force fields you intend, since that sums all interactions, but what you want is to have different interactions for different parts of the system, which is what pair style hybrid does.

To do so, I wrote the following commands:

units real
atom_style full
boundary p p p

pair_style hybrid/overlay lj/cut/coul/long 13 reax/c NULL

bond_style harmonic
angle_style hybrid fourier cosine/periodic
dihedral_style harmonic
improper_style fourier

read_data MILads.data
molecule CO2mol CO2.txt
group CO2 type 1 2
group reax type 1 2 9
group adsexN type 3 4 5 6 7 8

pair_modify pair lj/cut/coul/long mix arithmetic tail yes
pair_coeff * * reax/c ffield.reax C O N

this is clearly wrong. you have 9 atom types but you are mapping only 3 of them (1, 2, and 3).

delete_bonds all multi
fix qeqcal reax qeq/reax 1 0.0 10.0 1e-6 reax/c
kspace_style ewald 0.0001
fix classic adsexN freeze



I receive the following error:

ERROR: Incorrect args for pair coefficients (…/pair_reaxc.cpp:288)
Last command: pair_coeff * * reax/c ffield.reax C O N

I also tried to use these pair_coeffs:
pair_coeff 1 1 reax/c ffield.reax C

pair_coeff 2 2 reax/c ffield.reax O

pair_coeff 1 2 reax/c ffield.reax C O

pair_coeff 1 9 reax/c ffield.reax C N

pair_coeff 2 9 reax/c ffield.reax C O N

But regarding the manual “Only a single pair_coeff command is used with the reax/c style which specifies a ReaxFF potential file with parameters for all needed elements”. So, the error is still remaining.

I would appreciate any advice in this regard, and about other commands such as kspace_style or delete_bond. Thank you so much.

this is all documented in the manual. you need to read it more carefully. but that is all useless in this specific case, because you are trying to implement a badly conceived and inconsistent model. it is not worth your or my time to try an make it work past the syntax errors.

axel.

What you say makes no sense in terms of the physics of the model. This is not the place and I don’t have the time to explain this to you. You need to discuss with your adviser or have your adviser find a sufficiently competent tutor for you.

Also, you obviously have not followed the explanations in the manual. I already told you that your input is syntactically wrong and the description of how to do it is in the manual. If you are confused that just means you have not understood it.
Start with something simpler and work your way up.

However, your questions and descriptions in general also indicate that you also are lacking a sufficient understanding of the physics of the model you want to do and why it is bogus. To help you gain that understanding is beyond the scope of this mailing list.
I also very much dislike the fact that you are ignoring the serious concerns that I am pointing out and simply continue to proceed with a bogus model.

Axel.

Dear Prof. Kohlmeyer,

I read more and completely understood what you mean. Thank you so much. Now, I have a question:

As I explained before, my purpose is to show if there is a chemisorption interaction between CO2 molecules and N atoms of the functional groups. In this case, can it be a real model if I ignore kspace calculations and just use lj/cut potential in a hybrid pair style?

pair_style hybrid reax/c NULL lj/cut 12

reax/c for C,O and N and lj/cut for others (adsorbent-adsorbent and CO2-adsorbent except N)

I really appreciate your advice in advance.

Kind regards,
Mina

Dear Prof. kohlmeyer,

I really appreciate your clear and helpful reply.

I have used hybrid/overlay style to see the interactions between CO2 molecules and N atoms of functional group (using reax/c) in addition to the ones between CO2 molecules and the atoms of the adsorbent (using lj/cut/coul/long) (I decided to follow this strategy due to the fact that there is no reaxff parameters for all included atom types in my system).

If hybrid style is used, how can I see the CO2-adsorbent interactions? (because in this case, CO2-N interactions are calculated using reax/c and adsorbent-adsorbent ones are computed using lj/cut/coul/long. So, where is CO2-adsorbent interactions?). Could you please correct me if I am wrong?

At first, I set the atomic charges of C, O and N atoms equal to zero in the data file. Then this charges are calculated using reaxff parameters (using fix qeq/reax) and kspace_style works based on the initially-calculated qeq charges using reax force field. Is this a correct method?

A part of my .in file:

pair_modify pair lj/cut/coul/long mix arithmetic tail yes
pair_coeff * * reax/c ffield.reax C O N

*****Axel: this is clearly wrong. you have 9 atom types but you are mapping only 3 of them (1, 2, and 3).

I have defined pair_coeff for all 9 atoms in the data file and reaxff parameters for C, O and N. Is it wrong?

I would really appreciate any advice because I am a bit confused. Thank you so much in advance.

Best regards,
Mina Sedighi

Dear LAMMPS users,

I have a molecular system including 9 atom types on which fix gcmc command is going to be applied. Using a hybrid simulation I want to apply reaxff force field for types 1, 2 and 9 and lj/cut/coul/long for all atoms. At first, is it possible?

it may be syntactically possible, but it is not advisable. this is a bad model. with a coul/long pair style, you need to do a kspace style calculation, but that applies to all atoms, but ReaxFF already contains a Wolf-sum like coulomb handling, so you would be double counting the long-range parts of coulomb. also ReaxFF has a fluctuating charge model (using fix qeq/reax) but the rest not, which will lead to inconsistencies and undesired/unbalanced interactions.
In addition, you are using hybrid/overlay, which is clearly the wrong choice for the kind of mixing force fields you intend, since that sums all interactions, but what you want is to have different interactions for different parts of the system, which is what pair style hybrid does.

To do so, I wrote the following commands:

units real
atom_style full
boundary p p p

pair_style hybrid/overlay lj/cut/coul/long 13 reax/c NULL

bond_style harmonic
angle_style hybrid fourier cosine/periodic
dihedral_style harmonic
improper_style fourier

read_data MILads.data
molecule CO2mol CO2.txt
group CO2 type 1 2
group reax type 1 2 9
group adsexN type 3 4 5 6 7 8

pair_modify pair lj/cut/coul/long mix arithmetic tail yes
pair_coeff * * reax/c ffield.reax C O N

this is clearly wrong. you have 9 atom types but you are mapping only 3 of them (1, 2, and 3).

delete_bonds all multi
fix qeqcal reax qeq/reax 1 0.0 10.0 1e-6 reax/c
kspace_style ewald 0.0001
fix classic adsexN freeze



I receive the following error:

ERROR: Incorrect args for pair coefficients (…/pair_reaxc.cpp:288)
Last command: pair_coeff * * reax/c ffield.reax C O N

I also tried to use these pair_coeffs:
pair_coeff 1 1 reax/c ffield.reax C

pair_coeff 2 2 reax/c ffield.reax O

pair_coeff 1 2 reax/c ffield.reax C O

pair_coeff 1 9 reax/c ffield.reax C N

pair_coeff 2 9 reax/c ffield.reax C O N

But regarding the manual “Only a single pair_coeff command is used with the reax/c style which specifies a ReaxFF potential file with parameters for all needed elements”. So, the error is still remaining.

I would appreciate any advice in this regard, and about other commands such as kspace_style or delete_bond. Thank you so much.

this is all documented in the manual. you need to read it more carefully. but that is all useless in this specific case, because you are trying to implement a badly conceived and inconsistent model. it is not worth your or my time to try an make it work past the syntax errors.

axel.

Even if you manage to get your proposed system (ReaxFF on some atoms with lj/cut for others) to run without errors, it’s unlikely to be meaningful and representative of the physics you’re trying to simulate. Is there a paper you’re trying to replicate that combines ReaxFF with another non-many-body potential? From what I know of ReaxFF, it’s not meant to be combined with other force fields. It’s meant to simulate a single system by itself. Have you contacted Dr. Adri van Duin (https://www.mri.psu.edu/materials-computation-center/connect-mcc) and confirmed with him that there are no ReaxFF parameter sets that are applicable to your system?

Unless you are absolutely sure of the physics involved with combining different force fields, it is better to stick with one force field.

Will