[lammps-users] Thermal conductivity computation

Steve,
I went through the Schelling et al. 2002 paper in Physical Review B (attached) in which they describe their “direct approach” for computing thermal conductivity in silicon. Their approach does appear to be a variation of the reverse NEMD approach implemented in LAMMPS (fix/thermal conductivity).
In the Schelling et al. approach, they “add” kinetic energy to a slab/layer of atoms at a certain location in the domain, and “remove” the same kinetic energy from a different slab/layer of atoms in the domain. This kinetic energy addition/subtraction at each timestep is done via a velocity rescaling of the atoms in the relevant layers/slabs, while ensuring that energy is conserved.
In LAMMPS (fix/thermal conductivity), the kinetic energy of the hottest atom in the “cold” layer is exchanged with the kinetic energy of the coldest atom in the “hot” layer.

It will be interesting to try out the Schelling et al. approach in LAMMPS. Can you please advise on how I can get started with this?

Thanks,
Sreekant

Schellingetal-2002.pdf (147 KB)

Sreekant,

See "fix heat" command to add and subtract energy to create a temperature
gradient. It uses Jund's method.

Cheers,
Ali

Ali,
Thanks for the note - I will explore the fix heat command. I do need to go through the Jund and Jullien paper also.

Sreekant

Look at the source code for fix thermal/conductivity. It selects an atom
in layers. So you can easily rescale more atoms in those layers.

Steve

Steve,
It was also suggested that the “fix heat” command can be used to exchange energy. I was wondering how using “fix heat” compares to altering fix thermal/conductivity to rescale more atoms (i.e. if you think one approach is preferable over the other).

Thanks,
Sreekant

I don't really know - you've read more papers on this than I have.
I would read the doc pages and try them out.

Steve