Segmentation fault with Hybrid Pair Style (UNCLASSIFIED)

CLASSIFICATION: UNCLASSIFIED

Dear LAMMPS-users:

I am currently modeling an Aluminum-Carbon composite system using a hybrid
pair style with AIREBO (C-C), eam/alloy (Al-Al, Al99 by Mishin), and Morse
(Al-C) using the August 2017 version of LAMMPS. To this date, I have
successfully modeled bulk Al using eam/alloy as well as bulk graphite using
airebo.

I constructed the composite Al-C structure external to LAMMPS (via MATLAB)
and attempted to run an energy minimization, however I received a
segmentation fault error before the code reached the minimize command. I
ensured there were no overlapping or "very close" atoms (via delete_atoms
command up to 1.5 Angstroms) and verified appropriate box dimensions, but
the SG persisted. Next, I switched to pair_style zero and the simulation
reached the minimizer and performed one (albeit insignificant) minimization
step.

I then tried using tersoff instead of airebo, as well as lj/cut instead of
morse and eam to no avail.

Lastly, I ran the same simulation (airebo/eam/morse) on an older version of
LAMMPS (Nov 2016) and the minimization completed as expected without errors
or faults. The March 2017 version lead to a segmentation fault as well. I
have attached a simple input deck, data file, Al99 potential file, as well
as sample outputs for both LAMMPS version. All simulations were performed on
32 processors (Single node on HPC cluster) in a Cray Linux environment.

I see that there was a change to pair_style hybrid/overlay after Nov 16 and
before Mar 17, but no other noted changes to pair_style hybrid are jumping
out in the problematic time frame.

Any input into the possible cause of the Seg Fault is appreciated and I am
happy to share any additional information/files/tests that could help.

Best Regards,

Chris

Christopher M. Shumeyko, Ph. D.
Vehicle Technology Directorate
U.S. Army Research Laboratory
Aberdeen Proving Ground, MD 21005
Office: 410-278-0681
[email protected]...

CLASSIFICATION: UNCLASSIFIED

CMS_AlC_LAMMPSML.dat (59.9 KB)

in.CMS_AlC_LAMMPSML (1.18 KB)

out.CMS_AlC_LAMMPSML_Aug17 (1.99 KB)

out.CMS_AlC_LAMMPSML_Nov16 (4.47 KB)

Al99.eam.alloy (762 KB)

CLASSIFICATION: UNCLASSIFIED

Dear LAMMPS-users:

I am currently modeling an Aluminum-Carbon composite system using a hybrid
pair style with AIREBO (C-C), eam/alloy (Al-Al, Al99 by Mishin), and Morse
(Al-C) using the August 2017 version of LAMMPS. To this date, I have
successfully modeled bulk Al using eam/alloy as well as bulk graphite using
airebo.

I constructed the composite Al-C structure external to LAMMPS (via MATLAB)
and attempted to run an energy minimization, however I received a
segmentation fault error before the code reached the minimize command. I
ensured there were no overlapping or "very close" atoms (via delete_atoms
command up to 1.5 Angstroms) and verified appropriate box dimensions, but
the SG persisted. Next, I switched to pair_style zero and the simulation
reached the minimizer and performed one (albeit insignificant) minimization
step.

I then tried using tersoff instead of airebo, as well as lj/cut instead of
morse and eam to no avail.

Lastly, I ran the same simulation (airebo/eam/morse) on an older version of
LAMMPS (Nov 2016) and the minimization completed as expected without errors
or faults. The March 2017 version lead to a segmentation fault as well. I
have attached a simple input deck, data file, Al99 potential file, as well
as sample outputs for both LAMMPS version. All simulations were performed
on
32 processors (Single node on HPC cluster) in a Cray Linux environment.

I see that there was a change to pair_style hybrid/overlay after Nov 16 and
before Mar 17, but no other noted changes to pair_style hybrid are jumping
out in the problematic time frame.

Any input into the possible cause of the Seg Fault is appreciated and I am
happy to share any additional information/files/tests that could help.

as far as i can tell, ​the segfault is due to the neighbor list refactoring
that happened​ after the november 2016 stable release.
the neighbor list code tries harder to avoid having to recompute full
neighbor lists, but apparently it can get misdirected on occasion.

so what you are are seeing is clearly a bug. when run with a current
version of LAMMPS one can see that the neighbor list created for the
delete_atoms command is still available and used to build other sublists.
that should not be.

fortunately, there seems to be a workaround: try inserting a "run 0" after
the delete_atoms command.
that should reset the list of active neighbor list requests.

​axel.​

CLASSIFICATION: UNCLASSIFIED

Axel,

Thank you for the quick reply and confirmation of a bug. I went ahead and added "run 0" as suggested and the minimization ran to completion.

Attached is the updated output file, if it's of interest to anyone.

Best,

Chris

out.CMS_AlC_LAMMPSML_Aug17_Run0 (9.54 KB)