forked from lijiext/lammps
91 lines
4.0 KiB
Plaintext
91 lines
4.0 KiB
Plaintext
"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
|
Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Commands_all.html)
|
|
|
|
:line
|
|
|
|
Calculate thermal conductivity :h3
|
|
|
|
The thermal conductivity kappa of a material can be measured in at
|
|
least 4 ways using various options in LAMMPS. See the examples/KAPPA
|
|
directory for scripts that implement the 4 methods discussed here for
|
|
a simple Lennard-Jones fluid model. Also, see the "Howto
|
|
viscosity"_Howto_viscosity.html doc page for an analogous discussion
|
|
for viscosity.
|
|
|
|
The thermal conductivity tensor kappa is a measure of the propensity
|
|
of a material to transmit heat energy in a diffusive manner as given
|
|
by Fourier's law
|
|
|
|
J = -kappa grad(T)
|
|
|
|
where J is the heat flux in units of energy per area per time and
|
|
grad(T) is the spatial gradient of temperature. The thermal
|
|
conductivity thus has units of energy per distance per time per degree
|
|
K and is often approximated as an isotropic quantity, i.e. as a
|
|
scalar.
|
|
|
|
The first method is to setup two thermostatted regions at opposite
|
|
ends of a simulation box, or one in the middle and one at the end of a
|
|
periodic box. By holding the two regions at different temperatures
|
|
with a "thermostatting fix"_Howto_thermostat.html, the energy added to
|
|
the hot region should equal the energy subtracted from the cold region
|
|
and be proportional to the heat flux moving between the regions. See
|
|
the papers by "Ikeshoji and Hafskjold"_#howto-Ikeshoji and
|
|
"Wirnsberger et al"_#howto-Wirnsberger for details of this idea. Note
|
|
that thermostatting fixes such as "fix nvt"_fix_nh.html, "fix
|
|
langevin"_fix_langevin.html, and "fix
|
|
temp/rescale"_fix_temp_rescale.html store the cumulative energy they
|
|
add/subtract.
|
|
|
|
Alternatively, as a second method, the "fix heat"_fix_heat.html or
|
|
"fix ehex"_fix_ehex.html commands can be used in place of thermostats
|
|
on each of two regions to add/subtract specified amounts of energy to
|
|
both regions. In both cases, the resulting temperatures of the two
|
|
regions can be monitored with the "compute temp/region" command and
|
|
the temperature profile of the intermediate region can be monitored
|
|
with the "fix ave/chunk"_fix_ave_chunk.html and "compute
|
|
ke/atom"_compute_ke_atom.html commands.
|
|
|
|
The third method is to perform a reverse non-equilibrium MD simulation
|
|
using the "fix thermal/conductivity"_fix_thermal_conductivity.html
|
|
command which implements the rNEMD algorithm of Muller-Plathe.
|
|
Kinetic energy is swapped between atoms in two different layers of the
|
|
simulation box. This induces a temperature gradient between the two
|
|
layers which can be monitored with the "fix
|
|
ave/chunk"_fix_ave_chunk.html and "compute
|
|
ke/atom"_compute_ke_atom.html commands. The fix tallies the
|
|
cumulative energy transfer that it performs. See the "fix
|
|
thermal/conductivity"_fix_thermal_conductivity.html command for
|
|
details.
|
|
|
|
The fourth method is based on the Green-Kubo (GK) formula which
|
|
relates the ensemble average of the auto-correlation of the heat flux
|
|
to kappa. The heat flux can be calculated from the fluctuations of
|
|
per-atom potential and kinetic energies and per-atom stress tensor in
|
|
a steady-state equilibrated simulation. This is in contrast to the
|
|
two preceding non-equilibrium methods, where energy flows continuously
|
|
between hot and cold regions of the simulation box.
|
|
|
|
The "compute heat/flux"_compute_heat_flux.html command can calculate
|
|
the needed heat flux and describes how to implement the Green_Kubo
|
|
formalism using additional LAMMPS commands, such as the "fix
|
|
ave/correlate"_fix_ave_correlate.html command to calculate the needed
|
|
auto-correlation. See the doc page for the "compute
|
|
heat/flux"_compute_heat_flux.html command for an example input script
|
|
that calculates the thermal conductivity of solid Ar via the GK
|
|
formalism.
|
|
|
|
:line
|
|
|
|
:link(howto-Ikeshoji)
|
|
[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261
|
|
(1994).
|
|
|
|
:link(howto-Wirnsberger)
|
|
[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104
|
|
(2015).
|