Files
lammps/doc/html/Howto_2d.html
2025-01-13 14:55:48 +00:00

263 lines
21 KiB
HTML

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>8.2.1. 2d simulations &mdash; LAMMPS documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/sphinx-design.min.css" type="text/css" />
<link rel="stylesheet" href="_static/css/lammps.css" type="text/css" />
<link rel="shortcut icon" href="_static/lammps.ico"/>
<link rel="canonical" href="https://docs.lammps.org/Howto_2d.html" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="_static/documentation_options.js?v=5929fcd5"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/design-tabs.js?v=f930bc37"></script>
<script async="async" src="_static/mathjax/es5/tex-mml-chtml.js?v=cadf963e"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="8.2.2. Type labels" href="Howto_type_labels.html" />
<link rel="prev" title="8.1.8. Broken Bonds" href="Howto_broken_bonds.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="Manual.html">
<img src="_static/lammps-logo.png" class="logo" alt="Logo"/>
</a>
<div class="lammps_version">Version: <b>19 Nov 2024</b></div>
<div class="lammps_release">git info: </div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="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="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">User Guide</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="Intro.html">1. Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="Install.html">2. Install LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">3. Build LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Run_head.html">4. Run LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Commands.html">5. Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="Packages.html">6. Optional packages</a></li>
<li class="toctree-l1"><a class="reference internal" href="Speed.html">7. Accelerate performance</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="Howto.html">8. Howto discussions</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="Howto.html#general-howto">8.1. General howto</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="Howto.html#settings-howto">8.2. Settings howto</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">8.2.1. 2d simulations</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_type_labels.html">8.2.2. Type labels</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_triclinic.html">8.2.3. Triclinic (non-orthogonal) simulation boxes</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_thermostat.html">8.2.4. Thermostats</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_barostat.html">8.2.5. Barostats</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_walls.html">8.2.6. Walls</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_nemd.html">8.2.7. NEMD simulations</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_dispersion.html">8.2.8. Long-range dispersion settings</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="Howto.html#analysis-howto">8.3. Analysis howto</a></li>
<li class="toctree-l2"><a class="reference internal" href="Howto.html#force-fields-howto">8.4. Force fields howto</a></li>
<li class="toctree-l2"><a class="reference internal" href="Howto.html#packages-howto">8.5. Packages howto</a></li>
<li class="toctree-l2"><a class="reference internal" href="Howto.html#tutorials-howto">8.6. Tutorials howto</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Examples.html">9. Example scripts</a></li>
<li class="toctree-l1"><a class="reference internal" href="Tools.html">10. Auxiliary tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="Errors.html">11. Errors</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Programmer Guide</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Library.html">1. LAMMPS Library Interfaces</a></li>
<li class="toctree-l1"><a class="reference internal" href="Python_head.html">2. Use Python with LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Modify.html">3. Modifying &amp; extending LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Developer.html">4. Information for Developers</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Command Reference</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="commands_list.html">Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="fixes.html">Fix Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="computes.html">Compute Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="pairs.html">Pair Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="bonds.html">Bond Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="angles.html">Angle Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="dihedrals.html">Dihedral Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="impropers.html">Improper Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="dumps.html">Dump Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="fix_modify_atc_commands.html">fix_modify AtC commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="Bibliography.html">Bibliography</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<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 style-external-links">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="Manual.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="Howto.html"><span class="section-number">8. </span>Howto discussions</a></li>
<li class="breadcrumb-item active"><span class="section-number">8.2.1. </span>2d simulations</li>
<li class="wy-breadcrumbs-aside">
<a href="https://www.lammps.org"><img src="_static/lammps-logo.png" width="64" height="16" alt="LAMMPS Homepage"></a> | <a href="Commands_all.html">Commands</a>
</li>
</ul><div class="rst-breadcrumbs-buttons" role="navigation" aria-label="Sequential page navigation">
<a href="Howto_broken_bonds.html" class="btn btn-neutral float-left" title="8.1.8. Broken Bonds" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="Howto_type_labels.html" class="btn btn-neutral float-right" title="8.2.2. Type labels" accesskey="n">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<p><span class="math notranslate nohighlight">\(\renewcommand{\AA}{\text{Å}}\)</span></p>
<section id="d-simulations">
<h1><span class="section-number">8.2.1. </span>2d simulations<a class="headerlink" href="#d-simulations" title="Link to this heading"></a></h1>
<p>You must use the <a class="reference internal" href="dimension.html"><span class="doc">dimension</span></a> command to specify a 2d
simulation. The default is 3d.</p>
<p>A 2d simulation box must be periodic in z as set by the <a class="reference internal" href="boundary.html"><span class="doc">boundary</span></a> command. This is the default.</p>
<p>Simulation boxes in LAMMPS can be either orthogonal or triclinic in
shape. Orthogonal boxes in 2d are a rectangle with 4 edges that are
each perpendicular to either the x or y coordinate axes. Triclinic
boxes in 2d are a parallelogram with opposite pairs of faces parallel
to each other. LAMMPS supports two forms of triclinic boxes,
restricted and general, which for 2d differ in how the box is oriented
with respect to the xy coordinate axes. See the <a class="reference internal" href="Howto_triclinic.html"><span class="doc">Howto triclinic</span></a> for a detailed description of all 3 kinds of
simulation boxes.</p>
<p>Here are examples of using the <a class="reference internal" href="create_box.html"><span class="doc">create_box</span></a> command
to define the simulation box for a 2d system.</p>
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="c"># 2d orthogonal box using a block-style region</span>
<span class="k">region </span><span class="nv nv-Identifier">mybox</span><span class="w"> </span><span class="n">block</span><span class="w"> </span><span class="o">-</span><span class="m">10</span><span class="w"> </span><span class="m">10</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">10</span><span class="w"> </span><span class="o">-</span><span class="m">0.5</span><span class="w"> </span><span class="m">0.5</span>
<span class="k">create_box </span><span class="nv nv-Identifier">1</span><span class="w"> </span><span class="nv nv-Identifier">mybox</span>
<span class="c"># 2d restricted triclinic box using a prism-style region with only xy tilt</span>
<span class="k">region </span><span class="nv nv-Identifier">mybox</span><span class="w"> </span><span class="n">prism</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">10</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">10</span><span class="w"> </span><span class="o">-</span><span class="m">0.5</span><span class="w"> </span><span class="m">0.5</span><span class="w"> </span><span class="m">2.0</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="m">0.0</span>
<span class="k">create_box </span><span class="nv nv-Identifier">1</span><span class="w"> </span><span class="nv nv-Identifier">mybox</span>
<span class="c"># 2d general triclinic box using a primitive cell for a 2d hex lattice</span>
<span class="k">lattice</span><span class="w"> </span><span class="n">custom</span><span class="w"> </span><span class="m">1.0</span><span class="w"> </span><span class="n">a1</span><span class="w"> </span><span class="m">1.0</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="n">a2</span><span class="w"> </span><span class="m">0.5</span><span class="w"> </span><span class="m">0.86602540378</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="o">&amp;</span>
<span class="w"> </span><span class="n">a3</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="m">1.0</span><span class="w"> </span><span class="n">basis</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="n">triclinic</span><span class="o">/</span><span class="n">general</span>
<span class="k">create_box </span><span class="nv nv-Identifier">1</span><span class="w"> </span><span class="nv nv-Identifier">NULL</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">5</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">5</span><span class="w"> </span><span class="o">-</span><span class="m">0.5</span><span class="w"> </span><span class="m">0.5</span>
</pre></div>
</div>
<p>Note that for 2d orthogonal or restricted triclinic boxes, the box has
a 3rd dimension which must straddle z = 0.0 in the z dimension.
Typically the width of box in the z dimension should be narrow,
e.g. -0.5 to 0.5, but that is not required. For a 2d general
triclinic box, the <em>a3</em> vector defined by the <a class="reference internal" href="lattice.html"><span class="doc">lattice</span></a>
command must be (0.0,0.0,1.0), which is its default value. Also the
<em>clo</em> and <em>chi</em> arguments of the <a class="reference internal" href="create_box.html"><span class="doc">create_box</span></a>
command must be -0.5 and 0.5.</p>
<p>Here are examples of using the <a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a> command
to define the simulation box for a 2d system via keywords in the
header section of the data file. These are the same boxes as the examples
for the <a class="reference internal" href="create_box.html"><span class="doc">create_box</span></a> command</p>
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="c"># 2d orthogonal box</span>
<span class="o">-</span><span class="m">10</span><span class="w"> </span><span class="m">10</span><span class="w"> </span><span class="n">xlo</span><span class="w"> </span><span class="n">xhi</span>
<span class="m">0</span><span class="w"> </span><span class="m">10</span><span class="w"> </span><span class="n">ylo</span><span class="w"> </span><span class="n">yhi</span>
<span class="o">-</span><span class="m">0.5</span><span class="w"> </span><span class="m">0.5</span><span class="w"> </span><span class="n">zlo</span><span class="w"> </span><span class="n">zhi</span><span class="w"> </span><span class="c"># this is the default, so no need to specify</span>
<span class="c"># 2d restricted triclinic box with only xy tilt</span>
<span class="o">-</span><span class="m">10</span><span class="w"> </span><span class="m">10</span><span class="w"> </span><span class="n">xlo</span><span class="w"> </span><span class="n">xhi</span>
<span class="m">0</span><span class="w"> </span><span class="m">10</span><span class="w"> </span><span class="n">ylo</span><span class="w"> </span><span class="n">yhi</span>
<span class="o">-</span><span class="m">0.5</span><span class="w"> </span><span class="m">0.5</span><span class="w"> </span><span class="n">zlo</span><span class="w"> </span><span class="n">zhi</span><span class="w"> </span><span class="c"># this is the default, so no need to specify</span>
<span class="m">2.0</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="n">xy</span><span class="w"> </span><span class="n">xz</span><span class="w"> </span><span class="n">yz</span>
<span class="c"># 3d general triclinic box using a primitive cell for a 2d hex lattice</span>
<span class="m">5</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="n">avec</span>
<span class="m">2.5</span><span class="w"> </span><span class="m">4.3301270189</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="n">bvec</span>
<span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">1</span><span class="w"> </span><span class="n">cvec</span><span class="w"> </span><span class="c"># this is the default, so no need to specify</span>
<span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="o">-</span><span class="m">0.5</span><span class="w"> </span><span class="n">abc</span><span class="w"> </span><span class="n">origin</span><span class="w"> </span><span class="c"># this is the default for 2d, so no need to specify</span>
</pre></div>
</div>
<p>Note that for 2d orthogonal or restricted triclinic boxes, the box has
a 3rd dimension specified by the <em>zlo zhi</em> values, which must straddle
z = 0.0. Typically the width of box in the z dimension should be
narrow, e.g. -0.5 to 0.5, but that is not required. For a 2d general
triclinic box, the z component of <em>avec</em> and <em>bvec</em> must be zero, and
<em>cvec</em> must be (0,0,1), which is the default. The z component of <em>abc
origin</em> must also be -0.5, which is the default.</p>
<p>If using the <a class="reference internal" href="create_atoms.html"><span class="doc">create_atoms</span></a> command to create
atoms in the 2d simulation box, all the z coordinates of created atoms
will be zero.</p>
<p>If using the <a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a> command to read in a data
file of atom coordinates for a 2d system, the z coordinates of all
atoms should be zero. A value within epsilon of zero is also allowed
in case the data file was generated by another program with finite
numeric precision, in which case the z coord for the atom will be set
to zero.</p>
<p>Use the <a class="reference internal" href="fix_enforce2d.html"><span class="doc">fix enforce2d</span></a> command as the last fix
defined in the input script. It ensures that the z-components of
velocities and forces are zeroed out every timestep. The reason to
make it the last fix is so that any forces added by other fixes will
also be zeroed out.</p>
<p>Many of the example input scripts included in the examples directory
are for 2d models.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Some models in LAMMPS treat particles as finite-size spheres, as
opposed to point particles. See the <a class="reference internal" href="atom_style.html"><span class="doc">atom_style sphere</span></a> and <a class="reference internal" href="fix_nve_sphere.html"><span class="doc">fix nve/sphere</span></a> commands
for details. By default, for 2d simulations, such particles will
still be modeled as 3d spheres, not 2d discs (circles), meaning
their moment of inertia will be that of a sphere. If you wish to
model them as 2d discs, see the <a class="reference internal" href="set.html"><span class="doc">set density/disc</span></a>
command and the <em>disc</em> option for the <a class="reference internal" href="fix_nve_sphere.html"><span class="doc">fix nve/sphere</span></a>, <a class="reference internal" href="fix_nvt_sphere.html"><span class="doc">fix nvt/sphere</span></a>,
<a class="reference internal" href="fix_nph_sphere.html"><span class="doc">fix nph/sphere</span></a>, <a class="reference internal" href="fix_npt_sphere.html"><span class="doc">fix npt/sphere</span></a> commands.</p>
</div>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="Howto_broken_bonds.html" class="btn btn-neutral float-left" title="8.1.8. Broken Bonds" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="Howto_type_labels.html" class="btn btn-neutral float-right" title="8.2.2. Type labels" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2003-2025 Sandia Corporation.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(false);
});
</script>
</body>
</html>