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

237 lines
16 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>2.8. Example Python scripts &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/Python_examples.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="2.9. Handling LAMMPS errors" href="Python_error.html" />
<link rel="prev" title="2.7. Output Readers" href="Python_formats.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>
<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"><a class="reference internal" href="Howto.html">8. Howto discussions</a></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 class="current">
<li class="toctree-l1"><a class="reference internal" href="Library.html">1. LAMMPS Library Interfaces</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="Python_head.html">2. Use Python with LAMMPS</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="Python_overview.html">2.1. Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="Python_install.html">2.2. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="Python_run.html">2.3. Run LAMMPS from Python</a></li>
<li class="toctree-l2"><a class="reference internal" href="Python_module.html">2.4. The <code class="docutils literal notranslate"><span class="pre">lammps</span></code> Python module</a></li>
<li class="toctree-l2"><a class="reference internal" href="Python_ext.html">2.5. Extending the Python interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="Python_call.html">2.6. Calling Python from LAMMPS</a></li>
<li class="toctree-l2"><a class="reference internal" href="Python_formats.html">2.7. Output Readers</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">2.8. Example Python scripts</a></li>
<li class="toctree-l2"><a class="reference internal" href="Python_error.html">2.9. Handling LAMMPS errors</a></li>
<li class="toctree-l2"><a class="reference internal" href="Python_trouble.html">2.10. Troubleshooting</a></li>
</ul>
</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="Python_head.html"><span class="section-number">2. </span>Use Python with LAMMPS</a></li>
<li class="breadcrumb-item active"><span class="section-number">2.8. </span>Example Python scripts</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="Python_formats.html" class="btn btn-neutral float-left" title="2.7. Output Readers" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="Python_error.html" class="btn btn-neutral float-right" title="2.9. Handling LAMMPS errors" 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="example-python-scripts">
<h1><span class="section-number">2.8. </span>Example Python scripts<a class="headerlink" href="#example-python-scripts" title="Link to this heading"></a></h1>
<p>The <code class="docutils literal notranslate"><span class="pre">python/examples</span></code> directory has Python scripts which show how Python
can run LAMMPS, grab data, change it, and put it back into LAMMPS.</p>
<p>These are the Python scripts included as demos in the <code class="docutils literal notranslate"><span class="pre">python/examples</span></code>
directory of the LAMMPS distribution, to illustrate the kinds of
things that are possible when Python wraps LAMMPS. If you create your
own scripts, send them to us and we can include them in the LAMMPS
distribution.</p>
<table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">trivial.py</span></code></p></td>
<td><p>read/run a LAMMPS input script through Python</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">demo.py</span></code></p></td>
<td><p>invoke various LAMMPS library interface routines</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">simple.py</span></code></p></td>
<td><p>run in parallel, similar to <code class="docutils literal notranslate"><span class="pre">examples/COUPLE/simple/simple.cpp</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">split.py</span></code></p></td>
<td><p>same as <code class="docutils literal notranslate"><span class="pre">simple.py</span></code> but running in parallel on a subset of procs</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">gui.py</span></code></p></td>
<td><p>GUI go/stop/temperature-slider to control LAMMPS</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">plot.py</span></code></p></td>
<td><p>real-time temperature plot with GnuPlot via Pizza.py</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">viz_TOOL.py</span></code></p></td>
<td><p>real-time viz via some viz package</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">vizplotgui_TOOL.py</span></code></p></td>
<td><p>combination of <code class="docutils literal notranslate"><span class="pre">viz_TOOL.py</span></code> and <code class="docutils literal notranslate"><span class="pre">plot.py</span></code> and <code class="docutils literal notranslate"><span class="pre">gui.py</span></code></p></td>
</tr>
</tbody>
</table>
<p>For the <code class="docutils literal notranslate"><span class="pre">viz_TOOL.py</span></code> and <code class="docutils literal notranslate"><span class="pre">vizplotgui_TOOL.py</span></code> commands, replace <code class="docutils literal notranslate"><span class="pre">TOOL</span></code>
with <code class="docutils literal notranslate"><span class="pre">gl</span></code> or <code class="docutils literal notranslate"><span class="pre">atomeye</span></code> or <code class="docutils literal notranslate"><span class="pre">pymol</span></code> or <code class="docutils literal notranslate"><span class="pre">vmd</span></code>, depending on what
visualization package you have installed.</p>
<p>Note that for GL, you need to be able to run the Pizza.py GL tool,
which is included in the pizza subdirectory. See the Pizza.py doc pages for more info:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://lammps.github.io/pizza">https://lammps.github.io/pizza</a></p></li>
</ul>
<p>Note that for AtomEye, you need version 3, and there is a line in the
scripts that specifies the path and name of the executable. See the
AtomEye web pages for more details:</p>
<ul class="simple">
<li><p><a class="reference external" href="http://li.mit.edu/Archive/Graphics/A/">http://li.mit.edu/Archive/Graphics/A/</a></p></li>
<li><p><a class="reference external" href="http://li.mit.edu/Archive/Graphics/A3/A3.html">http://li.mit.edu/Archive/Graphics/A3/A3.html</a></p></li>
</ul>
<p>The latter link is to AtomEye 3 which has the scripting capability
needed by these Python scripts.</p>
<p>Note that for PyMol, you need to have built and installed the
open-source version of PyMol in your Python, so that you can import it
from a Python script. See the PyMol web pages for more details:</p>
<blockquote>
<div><ul class="simple">
<li><p><a class="reference external" href="https://www.pymol.org">https://www.pymol.org</a></p></li>
<li><p><a class="reference external" href="https://github.com/schrodinger/pymol-open-source">https://github.com/schrodinger/pymol-open-source</a></p></li>
</ul>
</div></blockquote>
<p>The latter link is to the open-source version.</p>
<p>Note that for VMD, you need a fairly current version (1.8.7 works for
me) and there are some lines in the <code class="docutils literal notranslate"><span class="pre">pizza/vmd.py</span></code> script for 4 PIZZA
variables that have to match the VMD installation on your system.</p>
<hr class="docutils" />
<p>See the <code class="docutils literal notranslate"><span class="pre">python/README</span></code> file for instructions on how to run them and the
source code for individual scripts for comments about what they do.</p>
<p>Here are screenshots of the <code class="docutils literal notranslate"><span class="pre">vizplotgui_tool.py</span></code> script in action for
different visualization package options:</p>
<p><a class="reference internal" href="_images/screenshot_gl.jpg"><img alt="pyex1" src="_images/screenshot_gl.jpg" style="width: 24%;" /></a> <a class="reference internal" href="_images/screenshot_atomeye.jpg"><img alt="pyex2" src="_images/screenshot_atomeye.jpg" style="width: 24%;" /></a> <a class="reference internal" href="_images/screenshot_pymol.jpg"><img alt="pyex3" src="_images/screenshot_pymol.jpg" style="width: 24%;" /></a> <a class="reference internal" href="_images/screenshot_vmd.jpg"><img alt="pyex4" src="_images/screenshot_vmd.jpg" style="width: 24%;" /></a></p>
Click to see larger versions of the images.</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="Python_formats.html" class="btn btn-neutral float-left" title="2.7. Output Readers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="Python_error.html" class="btn btn-neutral float-right" title="2.9. Handling LAMMPS errors" 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>