git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@2726 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2009-04-06 15:58:28 +00:00
parent 3d1ba30578
commit ea615ff444
4 changed files with 364 additions and 0 deletions

BIN
doc/Eqs/fix_ttm.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

15
doc/Eqs/fix_ttm.tex Normal file
View File

@ -0,0 +1,15 @@
\documentclass[12pt]{article}
\begin{document}
$$
C_e \rho_e \frac{\partial T_e}{\partial t} =
\bigtriangledown (\kappa_e \bigtriangledown T_e) -
g_p (T_e - T_a) + g_s T_a'
$$
\end{document}

178
doc/fix_ttm.html Normal file
View File

@ -0,0 +1,178 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>fix ttm command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID ttm seed e_specific_heat e_density e_thermal_conductivity gamma_p gamma_s v_0 nxnodes nynodes nznodes T_infile N T_outfile
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>ttm = style name of this fix command
<LI>seed = random number seed to use for white noise (positive integer)
<LI>e_specific_heat = electronic specific heat (energy/(electron*temperature) units)
<LI>e_density = electronic density (electrons/volume units)
<LI>e_thermal_conductivity = electronic thermal conductivity (energy/(time*distance*temperature) units)
<LI>gamma_p = friction coefficient due to electron-ion interactions (mass/time units)
<LI>gamma_s = friction coefficient due to electronic stopping (mass/time units)
<LI>v_0 = electronic stopping critical velocity (velocity units)
<LI>nxnodes = number of thermal solve grid points in the x-direction (positive integer)
<LI>nynodes = number of thermal solve grid points in the y-direction (positive integer)
<LI>nznodes = number of thermal solve grid points in the z-direction (positive integer)
<LI>T_infile = filename to read initial electronic temperature from
<LI>N = dump TTM temperatures every this many timesteps, 0 = no dump
<LI>T_outfile = filename to write TTM temperatures to (only needed if N > 0)
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 2 all ttm 699489 1.0 1.0 10 0.1 0.0 2.0 1 12 1 initialTs 1000 T.out
fix 2 all ttm 123456 1.0 1.0 1.0 1.0 1.0 5.0 5 5 5 Te.in 1 Te.out
</PRE>
<P><B>Description:</B>
</P>
<P>Use a two-temperature model (TTM) to represent heat transfer through
and between electronic and atomic subsystems. LAMMPS models the
atomic subsystem as usual with a molecular dynamics model and the
classical force field specified by the user, but the electronic
subsystem is modeled as a continuum, or a background "gas", on a
regular grid. Energy can be transferred spatially within the grid
representing the electrons. Energy can also be transferred between
the electronic and the atomic subsystems. The algorithm underlying
this fix was derived by D. M. Duffy and A. M. Rutherford and is
discussed in two J Physics: Condensed Matter papers: <A HREF = "#Duffy">(Duffy)</A>
and <A HREF = "#Rutherford">(Rutherford)</A>. They used this algorithm in cascade
simulations where a primary knock-on atom (PKA) was initialized with a
high velocity to simulate a radiation event.
</P>
<P>Heat transfer between the electronic and atomic subsystems is carried
out via an inhomogeneous Langevin thermostat. This thermostat differs
from the regular Langevin thermostat (<A HREF = "fix_langevin.html">fix
langevin</A>) in three important ways. First, the
Langevin thermostat is applied uniformly to all atoms in the
user-specified group, whereas the TTM fix applies Langevin
thermostatting locally within the volumes represented by the
user-specified grid points. Second, the Langevin thermostat couples
the temperature of the atoms to an infinite heat reservoir, whereas
the heat reservoir for fix TTM is finite and represents the local
electrons. Third, the TTM fix allows users to specify not just one
friction coefficient, but rather two independent friction
coefficients: one for the electron-ion interactions and one for
electron stopping.
</P>
<P>When the friction coefficient due to electron stopping, <I>gamma_s</I>, is
non-zero, electron stopping effects are included for atoms moving
faster than the electron stopping critical velocity, <I>v_0</I>. For
further details about this algorithm, see <A HREF = "#Duffy">(Duffy)</A> and
<A HREF = "#Rutherford">(Rutherford)</A>.
</P>
<P>Energy transport within the electronic subsystem is solved according
to the heat diffusion equation with added source terms for heat
transfer between the subsystems:
</P>
<CENTER><IMG SRC = "Eqs/fix_ttm.jpg">
</CENTER>
<P>where C is the specific heat, rho is the density, kappa is the thermal
conductivity, and the "e" and "a" subscripts represent the electronic
and atomic subsystems respectively. g_p is the coupling constant for
the electron-ion interaction, and g_s is the electron stopping
coupling parameter. The form of the heat diffusion equation used here
is almost the same as that in equation 6 of <A HREF = "#Duffy">(Duffy)</A>, with the
exception that the electronic density is explicitly reprensented,
rather than being part of the the specific heat parameter.
</P>
<P>Currently, this fix assumes that none of the user-supplied parameters
will vary with temperature. This assumption can be relaxed by
modifying the source code to include the desired temperature
dependency and functional form for any of the parameters. Note that
<A HREF = "#Duffy">(Duffy)</A> used a tanh() functional form for the temperature
dependence of the electronic specific heat, but ignored temperature
dependencies of any of the other parameters.
</P>
<P>This fix requires use of periodic boundary conditions and a 3D
simulation. Periodic boundary conditions are also used in the heat
equation solve for the electronic subsystem. This varies from the
approach of <A HREF = "#Rutherford">(Rutherford)</A> where the atomic subsystem was
embedded within a larger continuum representation of the electronic
subsystem.
</P>
<P>The initial electronic temperature input file, <I>T_infile</I>, is a text
file LAMMPS reads in with no header and with four numeric columns
(ix,iy,iz,Temp) and with a number of rows equal to the number of
user-specified grid points (nxnodes*nynodes*nznodes). The ix,iy,iz
are node indices from 0 to nxnodes-1, etc. For example, the initial
electronic temperatures on a 1 by 2 by 3 grid could be specified in a
<I>T_infile</I> as follows:
</P>
<PRE>0 0 0 1.0
0 0 1 1.0
0 0 2 1.0
0 1 0 2.0
0 1 1 2.0
0 1 2 2.0
</PRE>
<P>where the electronic temperatures along the nynodes=0 plane have been
set to 1.0, and the electronic temperatures along the nynodes=1 plane
have been set to 2.0. The order of lines in this file is unimportant.
If all the nodal values are not specified, LAMMPS will generate an
error.
</P>
<P>The temperature output file, <I>T_oufile</I>, is created and written by
this fix. Temperatures for both the electronic and atomic subsystems
at every node and every N timesteps are output. If N is specified as
zero, no output is generated, and no output filename is needed. The
format of the output is as follows. One long line is written every
output timestep. The timestep itself is given in the first column.
The next nxnodes*nynodes*nznodes columns contain the temperatures for
the atomic subsystem, and the final nxnodes*nynodes*nznodes columns
contain the temperatures for the electronic subsystem. The ordering
of the nxnodes*nynodes*nznodes columns is with the z index varing
fastest, y the next fastest, and x the slowest.
</P>
<P>This fix does not change the coordinates of its atoms; it only scales
their velocities. Thus a time integration fix (e.g. <A HREF = "fix_nve.html">fix
nve</A>) should still be used to time integrate the affected
atoms. This fix should not normally be used on atoms that have their
temperature controlled by another fix - e.g. <A HREF = "fix_nvt.html">fix nvt</A> or
<A HREF = "fix_langevin.html">fix langevin</A>.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
</P>
<P><B>Restrictions:</B>
</P>
<P>This fix can only be used for 3d simulations and orthogonal
simlulation boxes. You must use periodic <A HREF = "doc/boundary.html">boundary</A>
conditions with this fix.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_langevin.html">fix langevin</A>, <A HREF = "fix_dt_reset.html">fix dt/reset</A>
</P>
<P><B>Default:</B> none
</P>
<A NAME = "Duffy"></A>
<P><B>(Duffy)</B> D M Duffy and A M Rutherford, J. Phys.: Condens. Matter, 19,
016207-016218 (2007).
</P>
<A NAME = "Rutherford"></A>
<P><B>(Rutherford)</B> A M Rutherford and D M Duffy, J. Phys.:
Condens. Matter, 19, 496201-496210 (2007).
</P>
</HTML>

171
doc/fix_ttm.txt Normal file
View File

@ -0,0 +1,171 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix ttm command :h3
[Syntax:]
fix ID group-ID ttm seed e_specific_heat e_density e_thermal_conductivity gamma_p gamma_s v_0 nxnodes nynodes nznodes T_infile N T_outfile :pre
ID, group-ID are documented in "fix"_fix.html command
ttm = style name of this fix command
seed = random number seed to use for white noise (positive integer)
e_specific_heat = electronic specific heat (energy/(electron*temperature) units)
e_density = electronic density (electrons/volume units)
e_thermal_conductivity = electronic thermal conductivity (energy/(time*distance*temperature) units)
gamma_p = friction coefficient due to electron-ion interactions (mass/time units)
gamma_s = friction coefficient due to electronic stopping (mass/time units)
v_0 = electronic stopping critical velocity (velocity units)
nxnodes = number of thermal solve grid points in the x-direction (positive integer)
nynodes = number of thermal solve grid points in the y-direction (positive integer)
nznodes = number of thermal solve grid points in the z-direction (positive integer)
T_infile = filename to read initial electronic temperature from
N = dump TTM temperatures every this many timesteps, 0 = no dump
T_outfile = filename to write TTM temperatures to (only needed if N > 0) :ul
[Examples:]
fix 2 all ttm 699489 1.0 1.0 10 0.1 0.0 2.0 1 12 1 initialTs 1000 T.out
fix 2 all ttm 123456 1.0 1.0 1.0 1.0 1.0 5.0 5 5 5 Te.in 1 Te.out :pre
[Description:]
Use a two-temperature model (TTM) to represent heat transfer through
and between electronic and atomic subsystems. LAMMPS models the
atomic subsystem as usual with a molecular dynamics model and the
classical force field specified by the user, but the electronic
subsystem is modeled as a continuum, or a background "gas", on a
regular grid. Energy can be transferred spatially within the grid
representing the electrons. Energy can also be transferred between
the electronic and the atomic subsystems. The algorithm underlying
this fix was derived by D. M. Duffy and A. M. Rutherford and is
discussed in two J Physics: Condensed Matter papers: "(Duffy)"_#Duffy
and "(Rutherford)"_#Rutherford. They used this algorithm in cascade
simulations where a primary knock-on atom (PKA) was initialized with a
high velocity to simulate a radiation event.
Heat transfer between the electronic and atomic subsystems is carried
out via an inhomogeneous Langevin thermostat. This thermostat differs
from the regular Langevin thermostat ("fix
langevin"_fix_langevin.html) in three important ways. First, the
Langevin thermostat is applied uniformly to all atoms in the
user-specified group, whereas the TTM fix applies Langevin
thermostatting locally within the volumes represented by the
user-specified grid points. Second, the Langevin thermostat couples
the temperature of the atoms to an infinite heat reservoir, whereas
the heat reservoir for fix TTM is finite and represents the local
electrons. Third, the TTM fix allows users to specify not just one
friction coefficient, but rather two independent friction
coefficients: one for the electron-ion interactions and one for
electron stopping.
When the friction coefficient due to electron stopping, {gamma_s}, is
non-zero, electron stopping effects are included for atoms moving
faster than the electron stopping critical velocity, {v_0}. For
further details about this algorithm, see "(Duffy)"_#Duffy and
"(Rutherford)"_#Rutherford.
Energy transport within the electronic subsystem is solved according
to the heat diffusion equation with added source terms for heat
transfer between the subsystems:
:c,image(Eqs/fix_ttm.jpg)
where C is the specific heat, rho is the density, kappa is the thermal
conductivity, and the "e" and "a" subscripts represent the electronic
and atomic subsystems respectively. g_p is the coupling constant for
the electron-ion interaction, and g_s is the electron stopping
coupling parameter. The form of the heat diffusion equation used here
is almost the same as that in equation 6 of "(Duffy)"_#Duffy, with the
exception that the electronic density is explicitly reprensented,
rather than being part of the the specific heat parameter.
Currently, this fix assumes that none of the user-supplied parameters
will vary with temperature. This assumption can be relaxed by
modifying the source code to include the desired temperature
dependency and functional form for any of the parameters. Note that
"(Duffy)"_#Duffy used a tanh() functional form for the temperature
dependence of the electronic specific heat, but ignored temperature
dependencies of any of the other parameters.
This fix requires use of periodic boundary conditions and a 3D
simulation. Periodic boundary conditions are also used in the heat
equation solve for the electronic subsystem. This varies from the
approach of "(Rutherford)"_#Rutherford where the atomic subsystem was
embedded within a larger continuum representation of the electronic
subsystem.
The initial electronic temperature input file, {T_infile}, is a text
file LAMMPS reads in with no header and with four numeric columns
(ix,iy,iz,Temp) and with a number of rows equal to the number of
user-specified grid points (nxnodes*nynodes*nznodes). The ix,iy,iz
are node indices from 0 to nxnodes-1, etc. For example, the initial
electronic temperatures on a 1 by 2 by 3 grid could be specified in a
{T_infile} as follows:
0 0 0 1.0
0 0 1 1.0
0 0 2 1.0
0 1 0 2.0
0 1 1 2.0
0 1 2 2.0 :pre
where the electronic temperatures along the nynodes=0 plane have been
set to 1.0, and the electronic temperatures along the nynodes=1 plane
have been set to 2.0. The order of lines in this file is unimportant.
If all the nodal values are not specified, LAMMPS will generate an
error.
The temperature output file, {T_oufile}, is created and written by
this fix. Temperatures for both the electronic and atomic subsystems
at every node and every N timesteps are output. If N is specified as
zero, no output is generated, and no output filename is needed. The
format of the output is as follows. One long line is written every
output timestep. The timestep itself is given in the first column.
The next nxnodes*nynodes*nznodes columns contain the temperatures for
the atomic subsystem, and the final nxnodes*nynodes*nznodes columns
contain the temperatures for the electronic subsystem. The ordering
of the nxnodes*nynodes*nznodes columns is with the z index varing
fastest, y the next fastest, and x the slowest.
This fix does not change the coordinates of its atoms; it only scales
their velocities. Thus a time integration fix (e.g. "fix
nve"_fix_nve.html) should still be used to time integrate the affected
atoms. This fix should not normally be used on atoms that have their
temperature controlled by another fix - e.g. "fix nvt"_fix_nvt.html or
"fix langevin"_fix_langevin.html.
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
files"_restart.html. None of the "fix_modify"_fix_modify.html options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
commands"_Section_howto.html#4_15. No parameter of this fix can be
used with the {start/stop} keywords of the "run"_run.html command.
This fix is not invoked during "energy minimization"_minimize.html.
[Restrictions:]
This fix can only be used for 3d simulations and orthogonal
simlulation boxes. You must use periodic "boundary"_doc/boundary.html
conditions with this fix.
[Related commands:]
"fix langevin"_fix_langevin.html, "fix dt/reset"_fix_dt_reset.html
[Default:] none
:link(Duffy)
[(Duffy)] D M Duffy and A M Rutherford, J. Phys.: Condens. Matter, 19,
016207-016218 (2007).
:link(Rutherford)
[(Rutherford)] A M Rutherford and D M Duffy, J. Phys.:
Condens. Matter, 19, 496201-496210 (2007).