Comparison between Airebo and Airebo/intel - Heat flux

Dear Sir/Madam,

I’ve recently contacted this forum for help with compatibility with airebo/intel and the latest version of lammps to which i appreciate the help for (successful - https://sourceforge.net/p/lammps/mailman/message/36516031/). I bring that up incase it is relevant - i’m unsure of its complete impact.

I’m contacting again as i ran two half a nano-second simulations through Hydra (HPC cluster), input script attached, of crystalline polyethylene (multiple chains in z-direction) of the exact same conditions (same velocity seed / etc).

The difference in the second simulation was using the intel acceleration package for airebo in the second run (i.e. change in pair_style) to output the heat flux (using EMD w/ the Green-Kubo approach). From there, my python post-processing script outputs close to zero (~ 0.25 W/mk - range expected of bulk polymers) thermal conductivity for the airebo/intel, in comparison to the airebo version of ~15 W/mk (more expected due to no defects/etc).

The heat flux values are significantly different between these two (ran for 100k steps in NVT prior) (top 50 values of each .txt files attached - file size is too big otherwise), but i naively assume that to be within the error of the acceleration package. This behaviour shown for lower time simulations too (100k steps of 0.25 fs). Either way, this near-zero result is strange to me as i believed that despite the algorithm changes to speed this process it is labelled to be reproducible with the same parallel configurations.

I investigated with the outputting the mean-square-displacement and airebo values. MSD shown minimal differences. Interestingly, the airebo/intel simulations didn’t yield the airebo parameters (rebo, lj and torsional) - i’m not sure if this is intentional or not.

Also, the mean of the flux values columns for airebo were: {X: -0.92037, Y: -0.31219, Z: 6.57244} and airebo/intel: {X: 0.03045, Y: -0.31928, Z: -0.28367}. The averages of the flux values in their columns explains that airebo/intel oscillates around zero very closely.

I’m slowly learning about this field and would appreciate any thoughts on this matter. Let me know if any other information/files are needed for the full picture.

Kind regards,

Ben

Other potentially related information:

  • the Hydra server i used has the following capabilities - ‘34 nodes (hydra152 to 185) with dual Intel Xeon CPU E5-2680 v2 at 2.80GHz 10 core processors (20 CPU cores per node) and 64GB RAM.’

  • just in case someone is curious about the small lammps replication command (assuming they thought it’s just a single cell) - this is because the random.data is already with the positions of a crystalline polyethylene (learning python through this) - lammps runs w/ 15360 atoms. (960 * 2 * 2 * 4)

top50_aireboIntHflux.txt (2.71 KB)

top50_aireboHflux.txt (2.7 KB)

in.kappa (1.72 KB)

Hi Ben,

  1. Because the two versions have different orders in the numerical computations, you cannot expect to have the same phase trajectory. You can output the trajectories to check how different they are. Heat flux (similar to virial stress) is very sensitive to the phase trajectory. This is likely the reason for the very different heat flux values you obtained.

  2. Reporting a single thermal conductivity value is not enough. You need to check the running thermal conductivity kappa(t) in detail:

kappa(t) = int_0^t <J(0) J(t’)> dt’

Here <J(0) J(t’)> is the heat current auto-correlation function. So if possible, plot kappa as a function of t (the upper limit of the time integral in the Green-Kubo formula) and you may get a different conclusion.

  1. It is also necessary to do at least a few simulations (with different initial velocities) and check the statistical error.

Best,
Bruce

Hi Ben,

Did you run the simulation in double precision? The default is mixed
precision, which can perform much worse depending on what you want to
simulate.
The USER-INTEL AIREBO code does not compute the partial energies
(E_TORS, E_REBO, E_LJ) separately.

Cheers, Markus

Hi both,

Bruce - i’ll attempt this now and let you know as soon as i can (need to make a few changes here and there)

Markus - yes, i changed this default mixed to ‘mode double’ in the command line.

Regardless, a while ago I noticed there were minimal difference between the airebo/intel flux values modes - at least in comparison with airebo and airebo/intel. However, very small samples (1000 steps) though, not too conclusive but somewhat an indicator.

Attached - flux values comparison of mixed (ran with 2 nodes -> 40 cores) and double (ran with 1 node -> 20 cores, didn’t have same configurations saved for equal comparison)

Kind regards,

Ben

AirInt_doublemode_1node_flux.txt (11 KB)

AirInt_mixedmode_2nodes_flux.txt (11 KB)