Low temperature divergence thermal conductivity

Dear all, my system is a mixture of 3 organic components and I am trying to calculate the thermal conductivity using green-kubo method. I find that at high temperatures the integrals in the LAMMPS output converges, but they do not at low temperatures of 300 and 358K. Two of these integrals would usually converge but the third will be so way of and I would get a k value of about 0.4~0.5 W/mK whereas experimental result is 0.19W/mK. I have tried a lot of things based on the mailing list, but no solution so far.

I have attached a part of my input file here and would appreciate your help. I use the OPLS-AA FF if that helps. Thank you.

variable T equal 300 # Simulated Temperature [K]
variable p equal 10000 # correlation length
variable s equal 1 # sample interval
variable d equal $p*$s*20 # dump interval
variable V equal vol
variable dt equal 1.0 # timestep

Setup Parameter

units real
dimension 3
boundary p p p
atom_style full
neighbor 2.0 bin
neigh_modify every 1 delay 0 check yes page 1000000
kspace_style pppm 1.0e-6
pair_style lj/charmm/coul/long 10.00 10.10
bond_style harmonic
angle_style harmonic
dihedral_style harmonic
improper_style cvff

atom_modify sort 0 0.0
read_restart file-300-2.lammps-run08
timestep ${dt}
velocity all create $T 102486 dist gaussian

reset_timestep 0
compute myKE all ke/atom
compute myPE all pe/atom
compute myStress all stress/atom NULL virial
compute flux all heat/flux myKE myPE myStress
variable Jx equal c_flux[1]/vol
variable Jy equal c_flux[2]/vol
variable Jz equal c_flux[3]/vol
fix 1 all nve
fix JJ all ave/correlate $s $p d & c_flux[1] c_flux[2] c_flux[3] type auto file profile.dat ave running variable scale equal {convert}/${kB}/$T/$T/$V*s*{dt}
variable k11 equal trap(f_JJ[3]){scale} variable k22 equal trap(f_JJ[4])*{scale}
variable k33 equal trap(f_JJ[5])

thermo_style custom step temp pe etotal press vol v_Jx v_Jy v_Jz v_k11 v_k22 v_k33
thermo $d

Backup and total number of steps

restart 5000 {name}-{tempname}-1.lammps-run${runnumber} {name}-{tempname}-2.lammps-run${runnumber}

run 5000000

variable k equal (v_k11+v_k22+v_k33)/3.0
variable ndens equal count(all)/vol
print “average conductivity: $k[W/mK] @ T K, {ndens} /A^3”

To talk about divergence, you need to show the time dependence of the conductivity. Better to show a figure. As for comparison, many things need to be considered:

  1. accuracy of the force field
  2. your statistical accuracy (a single number is meaningless)
  3. quality of experimental samples
  4. possible quantum effects


Sonibare, Kolawole <[email protected]…6053…> 于 2019年6月6日周四 00:42写道: