Dear Lammps users,
I encountered a problem when I simulate a carbon nanotube with a COO- functioncal group. I have two lammps executables (lmp_g++_openmpi and lmp_intel_cpu_openmpi) compiled with g++ and Intel compiler, respectively. The Lammps version is LAMMPS (7 Aug 2019). In the example file, there are two C-O bonds and one C-C’ bond, C’ is the aromatic carbon atom connecting the COO carbon. The structure is like following and the values in the parentheses are the partial charges chosen arbitrarily just for test.
O (-0.4)
/
C’(0.1) – C (0.7)
O (-0.4)
I am using lj/cut/coul/long to account for the short range interactions. The problem is that the two executables give different short range E_vdw and E_coul, while the long range E_long, and bond and angle energies are consistent. I run 0 step with the attached data file and in file, I obtain following results:
For lmp_g++_openmpi:
Step CPU Temp E_vdwl E_coul E_long E_pair E_bond E_angle E_impro TotEng Press PotEng
0 0 0 291.6445648 24.91085569 -24.92351992 291.6319006 48.533504 3.092334748e-27 0 340.1654046 150.8209546 340.1654046
For lmp_intel_cpu_openmpi:
Step CPU Temp E_vdwl E_coul E_long E_pair E_bond E_angle E_impro TotEng Press PotEng
0 0 0 310.4625205 19.3011671 -24.92351999 304.8401676 48.533504 3.092334748e-27 0 353.3736716 162.5949633 353.3736716
I have tested systems with only water and ions (e.g. Na+, K+), the energies are consistent. Here, if I remove the C’-C bond, I get consistent results:
For lmp_g++_openmpi:
Step CPU Temp E_vdwl E_coul E_long E_pair E_bond E_angle E_impro TotEng Press PotEng
0 0 0 12673.20152 28.96379157 -24.92351992 12677.24179 2.758883244e-26 3.092334748e-27 0 12677.24179 7492.570331 12677.24179
For lmp_intel_cpu_openmpi:
Step CPU Temp E_vdwl E_coul E_long E_pair E_bond E_angle E_impro TotEng Press PotEng
0 0 0 12673.20152 28.96379157 -24.92351999 12677.24179 2.758883244e-26 3.092334748e-27 0 12677.24179 7492.570331 12677.24179
Furthermore, I changed the special_bonds parameters 0.0 0.0 0.5 to 0.0 1.0 0.5 to include the 1-3 interaction, the results are also consistent. It seems that the treatment of 1-3 interaction may be different with the two compilers.
I found the simulations are very stable running with lmp_g++_openmpi, while usually crashed down using lmp_intel_cpu_openmpi due to the functional groups are unstable at certain time steps.
I would like to know your thoughts on this issue. Attached please find the input files for simulation and makefiles for the two excutables.
Thanks and best regards,
Xiang
data.cnt.coo.lammps (48.2 KB)
in.cnt.coo.eq (1.4 KB)
Makefile.intel_cpu_openmpi (3.85 KB)
Makefile.g++_openmpi (3.1 KB)