[lammps-users] Thermal Conductivity Calculation using Green-Kubo Relations

Dear All,

I would like to calculate the thermal conductivity of a simple one component LJ system using LAMMPS. The Green-Kubo relation to calculate thermal conductivity (lambda) is:

lambda = ( 1/(3VkB*T^2) ) * Integral( 0 to infinity){ <j(0)j(t)>} dt


j(t) = sum (over i) {v ei} + 0.5* Sum (over i,j; i not eq j) { (Fij dot vi) rij }

However, I have not been able to locate the variable, (if it exists) that gives the force between a given pair of particles. This would be required to perform the above calculation.

Please can you point me as to whether such a variable exists / any other way I can get a handle to this quantity.
If not, could you please provide access to this variable in the next release of LAMMPS? Similarly, a variable that gives the potential between two specified particles would also be helpful.

Any suggestions in performing the above calculations are welcome.

Mario Pinto

PS: I have looked at the thermal/conductivity fix, but that works only for particles of the same mass; However in the near future I would like to carry out computations for systems consisting of a mixture of particles.

LAMMPS doesn't store Fij anywhere, it is computed in the pair
potentials, summed to Fi and Fj and discarded. You could write
a fix that looped over the neighbor list, and called pair->single()
on each pair, which will return Fij to use however you wish. The
single() method also computes Eij.


I have some variant of code with calculation of j(t) - heat flux,
actually energy flux.
For the calculation of lambda in the few components systems.
I tested it on a linux cluster using 32 Xenon processors for Ar -
solid and liquid.
It looks like it's working OK. So I can share it. I will appreciate
any information of
mistakes in the code.

But I do not know how to include Coulomb interactions in this code.
As I understand pair->single() returns only real space part of
coulomb interaction. How I can calculate rest of the sum which is
calculated in kspace?

German Samolyuk