Scale in thermal conductivity

I am trying to calculate the thermal conductivity of Si using the GK method. My script is based on the example in KAPPA “in.heatflux”. My question relates to this unsolved issue: calculation of thermal conductivity from heat/flux?

Why is the volume in the denominator? The unit analysis matches the documentation. V should be in the numerator.

Perhaps @athomps can comment on this.

At its core, this is a question about compute heat/flux. If you read that doc page, you will see this helpful note: “The 1/V scaling factor in the equation for J is not included…” Essentially this means that this compute calculates the extensive quantity JV, rather than the intensive quantity J. This is done because a good choice for the value of V is very dependent on the context. In general, it is easy to check quickly the dimensional correctness of any expression involving statistical fluctuations e.g. Green-Kubo expression for diffusion, or the energy fluctuation expression for the heat capacity. The variance of an extensive quantity is itself extensive i.e. increase in proportion to the system size N, while the variance of an intensive quantity decreases as O(1/N), assuming the quantity is summed or averaged over many uncorrelated subsystems. In the case of compute heat/flux, JV is extensive, so the integrand JV(0)*JV(t) is also extensive. Dividing by V results in an intensive estimate of the thermal conductivity, as it should.

2 Likes

Hi, thank you for the detailed answer.
I did read the doc page and found that note. However in the script that you provide in the same page, the heat flux is calculated as

variable Jx equal c_flux[1]/vol

I understand that this value is already intensive and therefore no need to divide again by V² in the kappa computation

variable scale equal "${convert}/${kB}/$T/$T/$V*$s*${dt}

Am I wrong?

Unfortunately, yes, you are still wrong. It is dangerous to draw strong conclusions from a single line of code or a single LAMMPS variable definition. The integrand is JJ, not Jx.

Alright, thank you

The example of kappa for argon that is given in lammps documentation, after calculating the unit of convert and the scale instead of getting W/mK as final unit i am getting W/m^4K