Question about "sample interval" and "correlation length" in demo scripts, thanks a lot.

Hi, all,

Will anyone share some idea as to why the “sample interval” and “correlation length” are set to 10 and 200 in the demo scripts please? I tried other values, which however lead to very different results. I’m expecting a converging trend, but is there any guidline about such settings?

Sorry for the over-simplicity before, what I meant is the scripts from LAMMPS mannual, as attached below.

I got different results for varying s (sample interval), I am thinking if it's due to the definition of {scale} in the lower part, if I modify this Ar case for Si with metal units.
(Forgive me, I am a completely new LAMMPS user. :slight_smile: )

Thanks for giving any suggestions.


# Sample LAMMPS input script for thermal conductivity of solid Ar 

units       real
variable    T equal 70
variable    V equal vol
variable    dt equal 4.0
variable    p equal 200     # correlation length
variable    s equal 10      # sample interval
variable    d equal $p*$s   # dump interval 

# convert from LAMMPS real units to SI 

variable    kB equal 1.3806504e-23    # [J/K] Boltzmann
variable    kCal2J equal 4186.0/6.02214e23
variable    A2m equal 1.0e-10
variable    fs2s equal 1.0e-15
variable    convert equal ${kCal2J}*${kCal2J}/${fs2s}/${A2m} 

# setup problem 

dimension    3
boundary     p p p
lattice      fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
region       box block 0 4 0 4 0 4
create_box   1 box
create_atoms 1 box
mass	     1 39.948
pair_style   lj/cut 13.0
pair_coeff   * * 0.2381 3.405
timestep     ${dt}
thermo	     $d 

# equilibration and thermalization 

velocity     all create $T 102486 mom yes rot yes dist gaussian
fix          NVT all nvt temp $T $T 10 drag 0.2
run          8000 

# thermal conductivity calculation, switch to NVE if desired 

#unfix       NVT
#fix         NVE all nve 

reset_timestep 0
compute      myKE all ke/atom
compute      myPE all pe/atom
compute      myStress all stress/atom 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          JJ all ave/correlate $s $p $d &
             c_flux[1] c_flux[2] c_flux[3] type auto file J0Jt.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])*${scale}
thermo_style custom step temp v_Jx v_Jy v_Jz v_k11 v_k22 v_k33
run          100000
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" 

Reese can probably comment on this - I think it is his script.
He’s asking why the final value of kappa appears sensitive
to the choice of variables p and s.


Dear Steve and Reese,

Yes, I tested several values of s and p when calculating the thermal conductivity of bulk Si. After a finite-size study, I am now using systems of 10x10x10 unit cells. I hope you can help me with these two problems:

  1. when I use p=[300,500], the results are very different for s=[10,100].
  2. sometimes, k_ii are different to a considerable factor, is this normal?

Thank you very much,