forked from lijiext/lammps
481 lines
36 KiB
HTML
481 lines
36 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>fix ttm command — LAMMPS documentation</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="top" title="LAMMPS documentation" href="index.html"/>
|
|
|
|
|
|
<script src="_static/js/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<div class="wy-grid-for-nav">
|
|
|
|
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-nav-search">
|
|
|
|
|
|
|
|
<a href="Manual.html" class="icon icon-home"> LAMMPS
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
|
|
|
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
|
|
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="Manual.html">LAMMPS</a>
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href="Manual.html">Docs</a> »</li>
|
|
|
|
<li>fix ttm command</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
|
|
|
|
<a href="http://lammps.sandia.gov">Website</a>
|
|
<a href="Section_commands.html#comm">Commands</a>
|
|
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div itemprop="articleBody">
|
|
|
|
<div class="section" id="fix-ttm-command">
|
|
<span id="index-0"></span><h1>fix ttm command</h1>
|
|
</div>
|
|
<div class="section" id="fix-ttm-mod-command">
|
|
<h1>fix ttm/mod command</h1>
|
|
<div class="section" id="syntax">
|
|
<h2>Syntax</h2>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">fix</span> <span class="n">ID</span> <span class="n">group</span><span class="o">-</span><span class="n">ID</span> <span class="n">ttm</span> <span class="n">seed</span> <span class="n">C_e</span> <span class="n">rho_e</span> <span class="n">kappa_e</span> <span class="n">gamma_p</span> <span class="n">gamma_s</span> <span class="n">v_0</span> <span class="n">Nx</span> <span class="n">Ny</span> <span class="n">Nz</span> <span class="n">T_infile</span> <span class="n">N</span> <span class="n">T_outfile</span>
|
|
<span class="n">fix</span> <span class="n">ID</span> <span class="n">group</span><span class="o">-</span><span class="n">ID</span> <span class="n">ttm</span><span class="o">/</span><span class="n">mod</span> <span class="n">seed</span> <span class="n">init_file</span> <span class="n">Nx</span> <span class="n">Ny</span> <span class="n">Nz</span> <span class="n">T_infile</span> <span class="n">N</span> <span class="n">T_outfile</span>
|
|
</pre></div>
|
|
</div>
|
|
<ul class="simple">
|
|
<li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><span class="doc">fix</span></a> command</li>
|
|
<li>style = <em>ttm</em> or <em>ttm_mod</em></li>
|
|
<li>seed = random number seed to use for white noise (positive integer)</li>
|
|
<li>remaining arguments for fix ttm:</li>
|
|
</ul>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">C_e</span> <span class="o">=</span> <span class="n">electronic</span> <span class="n">specific</span> <span class="n">heat</span> <span class="p">(</span><span class="n">energy</span><span class="o">/</span><span class="p">(</span><span class="n">electron</span><span class="o">*</span><span class="n">temperature</span><span class="p">)</span> <span class="n">units</span><span class="p">)</span>
|
|
<span class="n">rho_e</span> <span class="o">=</span> <span class="n">electronic</span> <span class="n">density</span> <span class="p">(</span><span class="n">electrons</span><span class="o">/</span><span class="n">volume</span> <span class="n">units</span><span class="p">)</span>
|
|
<span class="n">kappa_e</span> <span class="o">=</span> <span class="n">electronic</span> <span class="n">thermal</span> <span class="n">conductivity</span> <span class="p">(</span><span class="n">energy</span><span class="o">/</span><span class="p">(</span><span class="n">time</span><span class="o">*</span><span class="n">distance</span><span class="o">*</span><span class="n">temperature</span><span class="p">)</span> <span class="n">units</span><span class="p">)</span>
|
|
<span class="n">gamma_p</span> <span class="o">=</span> <span class="n">friction</span> <span class="n">coefficient</span> <span class="n">due</span> <span class="n">to</span> <span class="n">electron</span><span class="o">-</span><span class="n">ion</span> <span class="n">interactions</span> <span class="p">(</span><span class="n">mass</span><span class="o">/</span><span class="n">time</span> <span class="n">units</span><span class="p">)</span>
|
|
<span class="n">gamma_s</span> <span class="o">=</span> <span class="n">friction</span> <span class="n">coefficient</span> <span class="n">due</span> <span class="n">to</span> <span class="n">electronic</span> <span class="n">stopping</span> <span class="p">(</span><span class="n">mass</span><span class="o">/</span><span class="n">time</span> <span class="n">units</span><span class="p">)</span>
|
|
<span class="n">v_0</span> <span class="o">=</span> <span class="n">electronic</span> <span class="n">stopping</span> <span class="n">critical</span> <span class="n">velocity</span> <span class="p">(</span><span class="n">velocity</span> <span class="n">units</span><span class="p">)</span>
|
|
<span class="n">Nx</span> <span class="o">=</span> <span class="n">number</span> <span class="n">of</span> <span class="n">thermal</span> <span class="n">solve</span> <span class="n">grid</span> <span class="n">points</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">x</span><span class="o">-</span><span class="n">direction</span> <span class="p">(</span><span class="n">positive</span> <span class="n">integer</span><span class="p">)</span>
|
|
<span class="n">Ny</span> <span class="o">=</span> <span class="n">number</span> <span class="n">of</span> <span class="n">thermal</span> <span class="n">solve</span> <span class="n">grid</span> <span class="n">points</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">y</span><span class="o">-</span><span class="n">direction</span> <span class="p">(</span><span class="n">positive</span> <span class="n">integer</span><span class="p">)</span>
|
|
<span class="n">Nz</span> <span class="o">=</span> <span class="n">number</span> <span class="n">of</span> <span class="n">thermal</span> <span class="n">solve</span> <span class="n">grid</span> <span class="n">points</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">z</span><span class="o">-</span><span class="n">direction</span> <span class="p">(</span><span class="n">positive</span> <span class="n">integer</span><span class="p">)</span>
|
|
<span class="n">T_infile</span> <span class="o">=</span> <span class="n">filename</span> <span class="n">to</span> <span class="n">read</span> <span class="n">initial</span> <span class="n">electronic</span> <span class="n">temperature</span> <span class="kn">from</span>
|
|
<span class="nn">N</span> <span class="o">=</span> <span class="n">dump</span> <span class="n">TTM</span> <span class="n">temperatures</span> <span class="n">every</span> <span class="n">this</span> <span class="n">many</span> <span class="n">timesteps</span><span class="p">,</span> <span class="mi">0</span> <span class="o">=</span> <span class="n">no</span> <span class="n">dump</span>
|
|
<span class="n">T_outfile</span> <span class="o">=</span> <span class="n">filename</span> <span class="n">to</span> <span class="n">write</span> <span class="n">TTM</span> <span class="n">temperatures</span> <span class="n">to</span> <span class="p">(</span><span class="n">only</span> <span class="n">needed</span> <span class="k">if</span> <span class="n">N</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span>
|
|
</pre></div>
|
|
</div>
|
|
<ul class="simple">
|
|
<li>remaining arguments for fix ttm/mod:</li>
|
|
</ul>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">init_file</span> <span class="o">=</span> <span class="n">file</span> <span class="k">with</span> <span class="n">the</span> <span class="n">parameters</span> <span class="n">to</span> <span class="n">TTM</span>
|
|
<span class="n">Nx</span> <span class="o">=</span> <span class="n">number</span> <span class="n">of</span> <span class="n">thermal</span> <span class="n">solve</span> <span class="n">grid</span> <span class="n">points</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">x</span><span class="o">-</span><span class="n">direction</span> <span class="p">(</span><span class="n">positive</span> <span class="n">integer</span><span class="p">)</span>
|
|
<span class="n">Ny</span> <span class="o">=</span> <span class="n">number</span> <span class="n">of</span> <span class="n">thermal</span> <span class="n">solve</span> <span class="n">grid</span> <span class="n">points</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">y</span><span class="o">-</span><span class="n">direction</span> <span class="p">(</span><span class="n">positive</span> <span class="n">integer</span><span class="p">)</span>
|
|
<span class="n">Nz</span> <span class="o">=</span> <span class="n">number</span> <span class="n">of</span> <span class="n">thermal</span> <span class="n">solve</span> <span class="n">grid</span> <span class="n">points</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">z</span><span class="o">-</span><span class="n">direction</span> <span class="p">(</span><span class="n">positive</span> <span class="n">integer</span><span class="p">)</span>
|
|
<span class="n">T_infile</span> <span class="o">=</span> <span class="n">filename</span> <span class="n">to</span> <span class="n">read</span> <span class="n">initial</span> <span class="n">electronic</span> <span class="n">temperature</span> <span class="kn">from</span>
|
|
<span class="nn">N</span> <span class="o">=</span> <span class="n">dump</span> <span class="n">TTM</span> <span class="n">temperatures</span> <span class="n">every</span> <span class="n">this</span> <span class="n">many</span> <span class="n">timesteps</span><span class="p">,</span> <span class="mi">0</span> <span class="o">=</span> <span class="n">no</span> <span class="n">dump</span>
|
|
<span class="n">T_outfile</span> <span class="o">=</span> <span class="n">filename</span> <span class="n">to</span> <span class="n">write</span> <span class="n">TTM</span> <span class="n">temperatures</span> <span class="n">to</span> <span class="p">(</span><span class="n">only</span> <span class="n">needed</span> <span class="k">if</span> <span class="n">N</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="examples">
|
|
<h2>Examples</h2>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">fix</span> <span class="mi">2</span> <span class="nb">all</span> <span class="n">ttm</span> <span class="mi">699489</span> <span class="mf">1.0</span> <span class="mf">1.0</span> <span class="mi">10</span> <span class="mf">0.1</span> <span class="mf">0.0</span> <span class="mf">2.0</span> <span class="mi">1</span> <span class="mi">12</span> <span class="mi">1</span> <span class="n">initialTs</span> <span class="mi">1000</span> <span class="n">T</span><span class="o">.</span><span class="n">out</span>
|
|
<span class="n">fix</span> <span class="mi">2</span> <span class="nb">all</span> <span class="n">ttm</span> <span class="mi">123456</span> <span class="mf">1.0</span> <span class="mf">1.0</span> <span class="mf">1.0</span> <span class="mf">1.0</span> <span class="mf">1.0</span> <span class="mf">5.0</span> <span class="mi">5</span> <span class="mi">5</span> <span class="mi">5</span> <span class="n">Te</span><span class="o">.</span><span class="ow">in</span> <span class="mi">1</span> <span class="n">Te</span><span class="o">.</span><span class="n">out</span>
|
|
<span class="n">fix</span> <span class="mi">2</span> <span class="nb">all</span> <span class="n">ttm</span><span class="o">/</span><span class="n">mod</span> <span class="mi">34277</span> <span class="n">parameters</span><span class="o">.</span><span class="n">txt</span> <span class="mi">5</span> <span class="mi">5</span> <span class="mi">5</span> <span class="n">T_init</span> <span class="mi">10</span> <span class="n">T_out</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="description">
|
|
<h2>Description</h2>
|
|
<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 class="reference internal" href="#duffy"><span class="std std-ref">(Duffy)</span></a>
|
|
and <a class="reference internal" href="#rutherford"><span class="std std-ref">(Rutherford)</span></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>The description in this sub-section applies to both fix ttm and fix
|
|
ttm/mod. Fix ttm/mod adds options to account for external heat
|
|
sources (e.g. at a surface) and for specifying parameters that allow
|
|
the electronic heat capacity to depend strongly on electronic
|
|
temperature. It is more expensive computationally than fix ttm
|
|
because it treats the thermal diffusion equation as non-linear. More
|
|
details on fix ttm/mod are given below.</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 class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a>) in three important ways. First, the
|
|
Langevin thermostat is applied uniformly to all atoms in the
|
|
user-specified group for a single target temperature, whereas the TTM
|
|
fix applies Langevin thermostatting locally to atoms within the
|
|
volumes represented by the user-specified grid points with a target
|
|
temperature specific to that grid point. 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
|
|
(<em>gamma_p</em>), and one for electron stopping (<em>gamma_s</em>).</p>
|
|
<p>When the friction coefficient due to electron stopping, <em>gamma_s</em>, is
|
|
non-zero, electron stopping effects are included for atoms moving
|
|
faster than the electron stopping critical velocity, <em>v_0</em>. For
|
|
further details about this algorithm, see <a class="reference internal" href="#duffy"><span class="std std-ref">(Duffy)</span></a> and
|
|
<a class="reference internal" href="#rutherford"><span class="std std-ref">(Rutherford)</span></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>
|
|
<img alt="_images/fix_ttm.jpg" class="align-center" src="_images/fix_ttm.jpg" />
|
|
<p>where C_e is the specific heat, rho_e is the density, kappa_e is the
|
|
thermal conductivity, T is temperature, the “e” and “a” subscripts
|
|
represent 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. C_e, rho_e, and kappa_e are
|
|
specified as parameters to the fix. The other quantities are derived.
|
|
The form of the heat diffusion equation used here is almost the same
|
|
as that in equation 6 of <a class="reference internal" href="#duffy"><span class="std std-ref">(Duffy)</span></a>, with the exception that the
|
|
electronic density is explicitly reprensented, rather than being part
|
|
of the the specific heat parameter.</p>
|
|
<p>Currently, fix ttm assumes that none of the user-supplied parameters
|
|
will vary with temperature. Note that <a class="reference internal" href="#duffy"><span class="std std-ref">(Duffy)</span></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. See more discussion below for fix ttm/mod.</p>
|
|
<p>These fixes require 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 class="reference internal" href="#rutherford"><span class="std std-ref">(Rutherford)</span></a> where the atomic subsystem was
|
|
embedded within a larger continuum representation of the electronic
|
|
subsystem.</p>
|
|
<p>The initial electronic temperature input file, <em>T_infile</em>, 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 (Nx by Ny by Nz). 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 <em>T_infile</em>
|
|
as follows:</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="mi">0</span> <span class="mi">0</span> <span class="mi">0</span> <span class="mf">1.0</span>
|
|
<span class="mi">0</span> <span class="mi">0</span> <span class="mi">1</span> <span class="mf">1.0</span>
|
|
<span class="mi">0</span> <span class="mi">0</span> <span class="mi">2</span> <span class="mf">1.0</span>
|
|
<span class="mi">0</span> <span class="mi">1</span> <span class="mi">0</span> <span class="mf">2.0</span>
|
|
<span class="mi">0</span> <span class="mi">1</span> <span class="mi">1</span> <span class="mf">2.0</span>
|
|
<span class="mi">0</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mf">2.0</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>where the electronic temperatures along the y=0 plane have been set to
|
|
1.0, and the electronic temperatures along the y=1 plane have been set
|
|
to 2.0. The order of lines in this file is no important. If all the
|
|
nodal values are not specified, LAMMPS will generate an error.</p>
|
|
<p>The temperature output file, <em>T_oufile</em>, 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 Nx*Ny*Nz columns contain the temperatures for the atomic
|
|
subsystem, and the final Nx*Ny*Nz columns contain the temperatures for
|
|
the electronic subsystem. The ordering of the Nx*Ny*Nz columns is
|
|
with the z index varing fastest, y the next fastest, and x the
|
|
slowest.</p>
|
|
<p>These fixes do not change the coordinates of their atoms; they only
|
|
scales their velocities. Thus a time integration fix (e.g. <a class="reference internal" href="fix_nve.html"><span class="doc">fix nve</span></a>) should still be used to time integrate the affected
|
|
atoms. The fixes should not normally be used on atoms that have their
|
|
temperature controlled by another fix - e.g. <a class="reference internal" href="fix_nh.html"><span class="doc">fix nvt</span></a> or
|
|
<a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a>.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">The current implementations of these fixes create a copy of the
|
|
electron grid that overlays the entire simulation domain, for each
|
|
processor. Values on the grid are summed across all processors. Thus
|
|
you should insure that this grid is not too large, else your
|
|
simulation could incur high memory and communication costs.</p>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<p><strong>Additional details for fix ttm/mod</strong></p>
|
|
<p>Fix ttm/mod uses the heat diffusion equation with possible external
|
|
heat sources (e.g. laser heating in ablation simulations):</p>
|
|
<img alt="_images/fix_ttm_mod.jpg" class="align-center" src="_images/fix_ttm_mod.jpg" />
|
|
<p>where theta is the Heaviside step function, I_0 is the (absorbed)
|
|
laser pulse intensity for ablation simulations, l_skin is the depth
|
|
of skin-layer, and all other designations have the same meaning as in
|
|
the former equation. The duration of the pulse is set by the parameter
|
|
<em>tau</em> in the <em>init_file</em>.</p>
|
|
<p>Fix ttm/mod also allows users to specify the dependencies of C_e and
|
|
kappa_e on the electronic temperature. The specific heat is expressed
|
|
as</p>
|
|
<img alt="_images/fix_ttm_ce.jpg" class="align-center" src="_images/fix_ttm_ce.jpg" />
|
|
<p>where <em>X</em> = T_e/1000, and the thermal conductivity is defined as
|
|
kappa_e = D_e*rho_e*C_e, where D_e is the thermal diffusion
|
|
coefficient.</p>
|
|
<p>Electronic pressure effects are included in the TTM model to account
|
|
for the blast force acting on ions because of electronic pressure
|
|
gradient (see <a class="reference internal" href="#chen"><span class="std std-ref">(Chen)</span></a>, <a class="reference internal" href="#norman"><span class="std std-ref">(Norman)</span></a>). The total force
|
|
acting on an ion is:</p>
|
|
<img alt="_images/fix_ttm_blast.jpg" class="align-center" src="_images/fix_ttm_blast.jpg" />
|
|
<p>where F_langevin is a force from Langevin thermostat simulating
|
|
electron-phonon coupling, and nabla P_e/n_ion is the electron blast
|
|
force.</p>
|
|
<p>The electronic pressure is taken to be P_e = B*rho_e*C_e*T_e</p>
|
|
<p>The current fix ttm/mod implementation allows TTM simulations with a
|
|
vacuum. The vacuum region is defined as the grid cells with zero
|
|
electronic temperature. The numerical scheme does not allow energy
|
|
exchange with such cells. Since the material can expand to previously
|
|
unoccupied region in some simulations, the vacuum border can be
|
|
allowed to move. It is controlled by the <em>surface_movement</em> parameter
|
|
in the <em>init_file</em>. If it is set to 1, then “vacuum” cells can be
|
|
changed to “electron-filled” cells with the temperature <em>T_e_min</em> if
|
|
atoms move into them (currently only implemented for the case of
|
|
1-dimensional motion of flat surface normal to the X axis). The
|
|
initial borders of vacuum can be set in the <em>init_file</em> via <em>lsurface</em>
|
|
and <em>rsurface</em> parameters. In this case, electronic pressure gradient
|
|
is calculated as</p>
|
|
<img alt="_images/fix_ttm_blast1.jpg" class="align-center" src="_images/fix_ttm_blast1.jpg" />
|
|
<p>where lambda is the electron mean free path (see <a class="reference internal" href="#norman"><span class="std std-ref">(Norman)</span></a>,
|
|
<a class="reference internal" href="#pisarev"><span class="std std-ref">(Pisarev)</span></a>)</p>
|
|
<p>The fix ttm/mod parameter file <em>init_file</em> has the following syntax/
|
|
Every line with the odd number is considered as a comment and
|
|
ignored. The lines with the even numbers are treated as follows:</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">a_0</span><span class="p">,</span> <span class="n">energy</span><span class="o">/</span><span class="p">(</span><span class="n">temperature</span><span class="o">*</span><span class="n">electron</span><span class="p">)</span> <span class="n">units</span>
|
|
<span class="n">a_1</span><span class="p">,</span> <span class="n">energy</span><span class="o">/</span><span class="p">(</span><span class="n">temperature</span><span class="o">^</span><span class="mi">2</span><span class="o">*</span><span class="n">electron</span><span class="p">)</span> <span class="n">units</span>
|
|
<span class="n">a_2</span><span class="p">,</span> <span class="n">energy</span><span class="o">/</span><span class="p">(</span><span class="n">temperature</span><span class="o">^</span><span class="mi">3</span><span class="o">*</span><span class="n">electron</span><span class="p">)</span> <span class="n">units</span>
|
|
<span class="n">a_3</span><span class="p">,</span> <span class="n">energy</span><span class="o">/</span><span class="p">(</span><span class="n">temperature</span><span class="o">^</span><span class="mi">4</span><span class="o">*</span><span class="n">electron</span><span class="p">)</span> <span class="n">units</span>
|
|
<span class="n">a_4</span><span class="p">,</span> <span class="n">energy</span><span class="o">/</span><span class="p">(</span><span class="n">temperature</span><span class="o">^</span><span class="mi">5</span><span class="o">*</span><span class="n">electron</span><span class="p">)</span> <span class="n">units</span>
|
|
<span class="n">C_0</span><span class="p">,</span> <span class="n">energy</span><span class="o">/</span><span class="p">(</span><span class="n">temperature</span><span class="o">*</span><span class="n">electron</span><span class="p">)</span> <span class="n">units</span>
|
|
<span class="n">A</span><span class="p">,</span> <span class="mi">1</span><span class="o">/</span><span class="n">temperature</span> <span class="n">units</span>
|
|
<span class="n">rho_e</span><span class="p">,</span> <span class="n">electrons</span><span class="o">/</span><span class="n">volume</span> <span class="n">units</span>
|
|
<span class="n">D_e</span><span class="p">,</span> <span class="n">length</span><span class="o">^</span><span class="mi">2</span><span class="o">/</span><span class="n">time</span> <span class="n">units</span>
|
|
<span class="n">gamma_p</span><span class="p">,</span> <span class="n">mass</span><span class="o">/</span><span class="n">time</span> <span class="n">units</span>
|
|
<span class="n">gamma_s</span><span class="p">,</span> <span class="n">mass</span><span class="o">/</span><span class="n">time</span> <span class="n">units</span>
|
|
<span class="n">v_0</span><span class="p">,</span> <span class="n">length</span><span class="o">/</span><span class="n">time</span> <span class="n">units</span>
|
|
<span class="n">I_0</span><span class="p">,</span> <span class="n">energy</span><span class="o">/</span><span class="p">(</span><span class="n">time</span><span class="o">*</span><span class="n">length</span><span class="o">^</span><span class="mi">2</span><span class="p">)</span> <span class="n">units</span>
|
|
<span class="n">lsurface</span><span class="p">,</span> <span class="n">electron</span> <span class="n">grid</span> <span class="n">units</span> <span class="p">(</span><span class="n">positive</span> <span class="n">integer</span><span class="p">)</span>
|
|
<span class="n">rsurface</span><span class="p">,</span> <span class="n">electron</span> <span class="n">grid</span> <span class="n">units</span> <span class="p">(</span><span class="n">positive</span> <span class="n">integer</span><span class="p">)</span>
|
|
<span class="n">l_skin</span><span class="p">,</span> <span class="n">length</span> <span class="n">units</span>
|
|
<span class="n">tau</span><span class="p">,</span> <span class="n">time</span> <span class="n">units</span>
|
|
<span class="n">B</span><span class="p">,</span> <span class="n">dimensionless</span>
|
|
<span class="k">lambda</span><span class="p">,</span> <span class="n">length</span> <span class="n">units</span>
|
|
<span class="n">n_ion</span><span class="p">,</span> <span class="n">ions</span><span class="o">/</span><span class="n">volume</span> <span class="n">units</span>
|
|
<span class="n">surface_movement</span><span class="p">:</span> <span class="mi">0</span> <span class="n">to</span> <span class="n">disable</span> <span class="n">tracking</span> <span class="n">of</span> <span class="n">surface</span> <span class="n">motion</span><span class="p">,</span> <span class="mi">1</span> <span class="n">to</span> <span class="n">enable</span>
|
|
<span class="n">T_e_min</span><span class="p">,</span> <span class="n">temperature</span> <span class="n">units</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info">
|
|
<h2>Restart, fix_modify, output, run start/stop, minimize info</h2>
|
|
<p>These fixes write the state of the electronic subsystem and the energy
|
|
exchange between the subsystems to <a class="reference internal" href="restart.html"><span class="doc">binary restart files</span></a>. See the <a class="reference internal" href="read_restart.html"><span class="doc">read_restart</span></a> command
|
|
for info on how to re-specify a fix in an input script that reads a
|
|
restart file, so that the operation of the fix continues in an
|
|
uninterrupted fashion.</p>
|
|
<p>Because the state of the random number generator is not saved in the
|
|
restart files, this means you cannot do “exact” restarts with this
|
|
fix, where the simulation continues on the same as if no restart had
|
|
taken place. However, in a statistical sense, a restarted simulation
|
|
should produce the same behavior.</p>
|
|
<p>None of the <a class="reference internal" href="fix_modify.html"><span class="doc">fix_modify</span></a> options are relevant to these
|
|
fixes.</p>
|
|
<p>Both fixes compute 2 output quantities stored in a vector of length 2,
|
|
which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>. The first quantity is the
|
|
total energy of the electronic subsystem. The second quantity is the
|
|
energy transferred from the electronic to the atomic subsystem on that
|
|
timestep. Note that the velocity verlet integrator applies the fix ttm
|
|
forces to the atomic subsystem as two half-step velocity updates: one
|
|
on the current timestep and one on the subsequent timestep.
|
|
Consequently, the change in the atomic subsystem energy is lagged by
|
|
half a timestep relative to the change in the electronic subsystem
|
|
energy. As a result of this, users may notice slight fluctuations in
|
|
the sum of the atomic and electronic subsystem energies reported at
|
|
the end of the timestep.</p>
|
|
<p>The vector values calculated are “extensive”.</p>
|
|
<p>No parameter of the fixes can be used with the <em>start/stop</em> keywords
|
|
of the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command. The fixes are not invoked during
|
|
<a class="reference internal" href="minimize.html"><span class="doc">energy minimization</span></a>.</p>
|
|
</div>
|
|
<div class="section" id="restrictions">
|
|
<h2>Restrictions</h2>
|
|
<p>Fix <em>ttm</em> is part of the MISC package. It is only enabled if LAMMPS
|
|
was built with that package. Fix <em>ttm/mod</em> is part of the USER-MISC
|
|
package. It is only enabled if LAMMPS was built with that package.
|
|
See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more
|
|
info.</p>
|
|
<p>These fixes can only be used for 3d simulations and orthogonal
|
|
simlulation boxes. You must also use periodic
|
|
<a class="reference internal" href="boundary.html"><span class="doc">boundary</span></a> conditions.</p>
|
|
</div>
|
|
<div class="section" id="related-commands">
|
|
<h2>Related commands</h2>
|
|
<p><a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a>, <a class="reference internal" href="fix_dt_reset.html"><span class="doc">fix dt/reset</span></a></p>
|
|
<p><strong>Default:</strong> none</p>
|
|
<hr class="docutils" />
|
|
<p id="duffy"><strong>(Duffy)</strong> D M Duffy and A M Rutherford, J. Phys.: Condens. Matter, 19,
|
|
016207-016218 (2007).</p>
|
|
<p id="rutherford"><strong>(Rutherford)</strong> A M Rutherford and D M Duffy, J. Phys.:
|
|
Condens. Matter, 19, 496201-496210 (2007).</p>
|
|
<p id="chen"><strong>(Chen)</strong> J Chen, D Tzou and J Beraun, Int. J. Heat
|
|
Mass Transfer, 49, 307-316 (2006).</p>
|
|
<p id="norman"><strong>(Norman)</strong> G E Norman, S V Starikov, V V Stegailov et al., Contrib.
|
|
Plasma Phys., 53, 129-139 (2013).</p>
|
|
<p id="pisarev"><strong>(Pisarev)</strong> V V Pisarev and S V Starikov, J. Phys.: Condens. Matter, 26,
|
|
475401 (2014).</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2013 Sandia Corporation.
|
|
</p>
|
|
</div>
|
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'./',
|
|
VERSION:'',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
|
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="_static/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |