I am writing to make sure that my understanding in pair_coeff is correct.
My confusion lies in here:
type i type j epsilon sigma epsilon_i_a epsilon_i_b epsilon__c epsilon_J_a epsilon_J_b epsilon_J_c

I mishit the send button when I was still working on this email, but I copied what I have already resent, and thought it might be more noticeable in this way. Thanks very much for your help!

Sincerely,
LQ

Sorry for sending out the incomplete one by mis-pressed the send button.

Dear Lammps users,

I am writing to make sure that my understanding in pair_coeff is correct.
My confusion lies in here:

For better understanding,I listed these values in a table form. (The information below is taken from Lammps default input file of ellipse)

type i type j epsilon sigma epsilon_i_a epsilon_i_b epsilon__c epsilon_J_a epsilon_J_b epsilon_J_c

According to the Lammps description of values of these epsilons, where it mentioned ’ the typical way to define the epsilon_i and epsilon_j coefficients is to list their values in “pair_coeff I J” commands when I = J, but set them to 0.0 when I != J.’, and then here comes my question.

If say pair_coeff for type 1 to 1 is supposed to be listed (b/c list values when I=J),especially epsilon_J_(a,b,c), then why for type 2 to 2 (I=J) the pair_coeffs are not listed for epsilon_J(a,b,c)? According to my understanding after reading the manual, the epsilon J_a, epsilon J_b, epsilon J_c should be assigned values as well.

Can someone kindly explain to me how are these values supposed to be assigned?
Thanks in advance for any ideas!
Sincerely,
LQ

There are multiple ways to set the epsilon I and J, because
they appear multiple times. When they are all 0, they are ignored,
which means they are set in another pair coeff command.
As the doc page says:

Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are
non-zero, the three values are assigned to atom type I. If all the
epsilon_i values are zero, they are ignored. If any of epsilon_j_a,
epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned
to atom type J. If all three epsilon_i values are zero, they are
ignored. Thus the typical way to define the epsilon_i and epsilon_j
coefficients is to list their values in "pair_coeff I J" commands when
I = J, but set them to 0.0 when I != J. If you do list them when I !=
J, you should insure they are consistent with their values in other
pair_coeff commands.

Note that for that example problem, type 1 is LJ particles (not ellipsoids)
and type 2 = ellipsoids.

Thanks for your reply! Just to make sure with you again if I change the example into the following, will they be equivalent? My understanding after your explanation is that, once coeffs are assigned to type I, they don’t have to be assigned once again, even though it could,like the pair coeffs for type 1 particles. (I know I can run it to see the difference, but it’s more straightforward if I make sure with you right away.)

type i type j epsilon sigma epsilon_i_a epsilon_i_b epsilon__c epsilon_J_a epsilon_J_b epsilon_J_c

Thanks very much again!
LQ
P.S. Thanks for reminding me that type I is LJ particle. I noticed and I like the way Lammps using this form of GB to include more flexibility.