Illegal compute chunk/atom command while computing thermal conductivity

Hello,

I am using LAMMPS 19March 2020 version to compute thermal conductivity (https://lammps.sandia.gov/doc/fix_thermal_conductivity.html) of four aligned polymer chains (same length ~ 8 nm each) along the X axis.

The input file of a small case is as follows :

dimension 3
boundary p p p

units real
atom_style full
newton on

read_data data.NFC

###SPECIFYING THE POTENTIAL
pair_style reax/c NULL checkqeq yes safezone 16 mincap 1000
pair_coeff * * ffield.reax C H O
fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c

neighbor 2.0 bin
neigh_modify delay 50 every 10 check yes

compute reax all pair reax/c
variable eb equal c_reax[1]
variable ea equal c_reax[2]
variable elp equal c_reax[3]
variable emol equal c_reax[4]
variable ev equal c_reax[5]
variable epen equal c_reax[6]
variable ecoa equal c_reax[7]
variable ehb equal c_reax[8]
variable et equal c_reax[9]
variable eco equal c_reax[10]
variable ew equal c_reax[11]
variable ep equal c_reax[12]
variable efi equal c_reax[13]
variable eqeq equal c_reax[14]
thermo_style custom step cpu temp press vol pe evdwl v_eb v_ea v_elp v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew lx ly lz pxx pyy pzz
thermo 100
thermo_modify flush yes
timestep 0.1

region left_end block -8.3 -3.1 -3.5 17.4 -8.5 8.5
region right_end block 77.7 82.0 -3.5 17.4 -8.5 8.5

group fixedleft region left_end
group fixedright region right_end
group ends union fixedleft fixedright
group mobile subtract all ends

dump 1 all custom 100 NFC.lammpstrj id type x y z

displace_atoms all random 0.01 0.01 0.01 443322
min_style cg
min_modify line quadratic
minimize 1.0e-11 1.0e-9 1000 10000

#minimize 1.0e-20 1.0e-15 100000 1000000
write_restart equil.restart0

###EQUILIBRATE

velocity all create 300.0 4928459
fix 2 all npt temp 300.0 300.0 0.1 iso 0.0 0.0 1
thermo 50
timestep 0.001
run 100
unfix 2

fix 3 all nvt temp 300.0 300.0 0.1
run 100
unfix 3
write_restart equil.restart1

fix 4 all nve
run 50
unfix 4
write_restart equil.restart2

###Thermal Calculation

log log.thermal

variable t equal 15000
thermo $t

dump 2 all custom 500 NFC_Thermal.lammpstrj id type x y z

velocity ends set 0 0 0 units box
fix 6 ends setforce 0.0 0.0 0.0

fix 7 mobile nvt temp 300.0 300.0 10
fix 8 ends nve

fix thermal mobile thermal/conductivity 100 x 30
thermo_style custom step temp pe ke etotal press lx ly lz f_thermal
run 700

compute ke mobile ke/atom
variable temperature atom c_ke/(34.5*8.617e-5)

write_restart equil.restart3

compute cc1 mobile chunk/atom bin/1d x lower -3.0 units box
fix 9 mobile ave/chunk 1 100 100 cc1 v_temperature file temp.NFC_thermal
run 100

write_restart equil.restart4

Log file is as follows :

LAMMPS (19 Mar 2020)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (…/comm.cpp:94)
using 1 OpenMP thread(s) per MPI task
dimension 3
boundary p p p

units real
atom_style full
newton on

read_data data.NFC
orthogonal box = (-18.3 -13.5 -18.5) to (92 27.4 18.5)
1 by 1 by 1 MPI processor grid
reading atoms …
1344 atoms
0 = max # of 1-2 neighbors
0 = max # of 1-3 neighbors
0 = max # of 1-4 neighbors
1 = max # of special neighbors
special bonds CPU = 0.00897503 secs
read_data CPU = 0.019968 secs

###SPECIFYING THE POTENTIAL
pair_style reax/c NULL checkqeq yes safezone 16 mincap 1000
pair_coeff * * ffield.reax C H O
Reading potential file ffield.reax with DATE: 2010-02-19
fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c

neighbor 2.0 bin
neigh_modify delay 50 every 10 check yes

compute reax all pair reax/c
variable eb equal c_reax[1]
variable ea equal c_reax[2]
variable elp equal c_reax[3]
variable emol equal c_reax[4]
variable ev equal c_reax[5]
variable epen equal c_reax[6]
variable ecoa equal c_reax[7]
variable ehb equal c_reax[8]
variable et equal c_reax[9]
variable eco equal c_reax[10]
variable ew equal c_reax[11]
variable ep equal c_reax[12]
variable efi equal c_reax[13]
variable eqeq equal c_reax[14]
thermo_style custom step cpu temp press vol pe evdwl v_eb v_ea v_elp v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew lx ly lz pxx pyy pzz
thermo 100
thermo_modify flush yes
timestep 0.1

region left_end block -8.3 -3.1 -3.5 17.4 -8.5 8.5
region right_end block 77.7 82.0 -3.5 17.4 -8.5 8.5

group fixedleft region left_end
60 atoms in group fixedleft
group fixedright region right_end
56 atoms in group fixedright
group ends union fixedleft fixedright
116 atoms in group ends
group mobile subtract all ends
1228 atoms in group mobile

dump 1 all custom 100 NFC.lammpstrj id type x y z

displace_atoms all random 0.01 0.01 0.01 443322
min_style cg
min_modify line quadratic
minimize 1.0e-11 1.0e-9 1000 10000
WARNING: Using ‘neigh_modify every 1 delay 0 check yes’ setting during minimization (…/min.cpp:190)
Neighbor list info …
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 19 7 7
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair reax/c, perpetual
attributes: half, newton off, ghost
pair build: half/bin/newtoff/ghost
stencil: half/ghost/bin/3d/newtoff
bin: standard
(2) fix qeq/reax, perpetual, copy from (1)
attributes: half, newton off, ghost
pair build: copy
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 366.1 | 366.1 | 366.1 Mbytes
Step CPU Temp Press Volume PotEng E_vdwl v_eb v_ea v_elp v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew Lx Ly Lz Pxx Pyy Pzz
0 0 0 13902.849 166916.99 -142086.58 -134721.81 -211333.43 -1187.4467 2.8226503 5882.8454 0.017583311 -4.9774236e-14 -1422.7599 5017.783 -511.16856 68829.53 110.3 40.9 37 15778.981 19323.019 6606.5467
100 48.26294 0 -290.96334 166916.99 -147864.85 -140527.83 -206589.84 -3961.3691 71.99628 3644.7551 0.21753962 0 -1612.4049 4925.7393 -482.34993 63475.433 110.3 40.9 37 57.484303 -440.00892 -490.36541
200 93.675472 0 -384.80675 166916.99 -148908.66 -141458.87 -206792.3 -3819.8867 75.066704 3120.8646 0.19221248 0 -1752.5668 4902.4983 -470.30969 63277.575 110.3 40.9 37 -96.569462 -360.7953 -697.05548
300 139.03672 0 -790.62488 166916.99 -149848.04 -142298 -206778.03 -3766.0446 101.65467 2762.6929 0.1463422 0 -2025.9632 4899.5258 -467.38017 62975.396 110.3 40.9 37 -788.17441 -647.86971 -935.83051
400 201.90657 0 -955.418 166916.99 -150045.36 -142479.33 -206977.32 -3726.2816 116.83389 2710.9741 0.12394486 0 -2087.6118 4900.1612 -463.46822 63047.261 110.3 40.9 37 -1168.7627 -817.25558 -880.23575
500 261.23987 0 -1271.6015 166916.99 -150575.9 -142922.59 -206967.68 -3724.1334 129.45188 2575.9081 0.11637865 0 -2314.4599 4888.4313 -455.80294 62945.573 110.3 40.9 37 -1924.3248 -917.58574 -972.89386
561 335.69012 0 -997.16728 166916.99 -150633.59 -142970.49 -207138.1 -3694.214 131.24165 2540.8127 0.11280952 0 -2335.3175 4891.5631 -455.37261 63088.789 110.3 40.9 37 -1565.8001 -653.48505 -772.21673
Loop time of 335.697 on 1 procs for 561 steps with 1344 atoms

100.0% CPU use with 1 MPI tasks x 1 OpenMP threads

Minimization stats:
Stopping criterion = energy tolerance
Energy initial, next-to-last, final =
-142086.58301 -150633.588485 -150633.588469
Force two-norm initial, final = 3845.25 63.4547
Force max component initial, final = 215.826 12.957
Final line search alpha, max atom move = 2.30011e-10 2.98026e-09
Iterations, force evaluations = 561 3289

MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total

data.NFC (72.4 KB)

Hello,

I am using LAMMPS 19March 2020 version to compute thermal conductivity (https://lammps.sandia.gov/doc/fix_thermal_conductivity.html) of four aligned polymer chains (same length ~ 8 nm each) along the X axis.

The input file of a small case is as follows :

[…]

compute cc1 mobile chunk/atom bin/1d x lower -3.0 units box
ERROR: Illegal compute chunk/atom command (…/compute_chunk_atom.cpp:315)
Last command: compute cc1 mobile chunk/atom bin/1d x lower -3.0 units box

[…]

However, when the same command works well for a single boron nitride nanotube. Can someone please guide me at this? Thank you so much for your help.

You are specifying a negative bin width. That is unphysical and thus rejected by the compute chunk/atom command. I doubt that the exact same command would have ever worked. That line of code is unchanged since the inception of the compute chunk/atom command.

Axel.