640 lines
56 KiB
HTML
640 lines
56 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>fix controller command — 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/fix_controller.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="fix damping/cundall command" href="fix_damping_cundall.html" />
|
|
<link rel="prev" title="fix colvars command" href="fix_colvars.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>
|
|
<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 & 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 class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="commands_list.html">Commands</a></li>
|
|
<li class="toctree-l1 current"><a class="reference internal" href="fixes.html">Fix Styles</a><ul class="current">
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_accelerate_cos.html">fix accelerate/cos command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_acks2_reaxff.html">fix acks2/reaxff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_adapt.html">fix adapt command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_adapt_fep.html">fix adapt/fep command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_add_heat.html">fix add/heat command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_addforce.html">fix addforce command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_addtorque.html">fix addtorque command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_alchemy.html">fix alchemy command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_amoeba_bitorsion.html">fix amoeba/bitorsion command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_amoeba_pitorsion.html">fix amoeba/pitorsion command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_append_atoms.html">fix append/atoms command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_atc.html">fix atc command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_atom_swap.html">fix atom/swap command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ave_atom.html">fix ave/atom command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ave_chunk.html">fix ave/chunk command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ave_correlate.html">fix ave/correlate command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ave_correlate_long.html">fix ave/correlate/long command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ave_grid.html">fix ave/grid command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ave_histo.html">fix ave/histo command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ave_histo.html#fix-ave-histo-weight-command">fix ave/histo/weight command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ave_spatial.html">fix ave/spatial command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ave_spatial_sphere.html">fix ave/spatial/sphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ave_time.html">fix ave/time command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_aveforce.html">fix aveforce command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_balance.html">fix balance command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_bocs.html">fix bocs command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_bond_break.html">fix bond/break command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_bond_create.html">fix bond/create command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_bond_create.html#fix-bond-create-angle-command">fix bond/create/angle command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_bond_react.html">fix bond/react command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_bond_swap.html">fix bond/swap command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_box_relax.html">fix box/relax command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_brownian.html">fix brownian command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_brownian.html#fix-brownian-sphere-command">fix brownian/sphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_brownian.html#fix-brownian-asphere-command">fix brownian/asphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_charge_regulation.html">fix charge/regulation command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_cmap.html">fix cmap command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_colvars.html">fix colvars command</a></li>
|
|
<li class="toctree-l2 current"><a class="current reference internal" href="#">fix controller command</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="#syntax">Syntax</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#examples">Examples</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#description">Description</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#restart-fix-modify-output-run-start-stop-minimize-info">Restart, fix_modify, output, run start/stop, minimize info</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#restrictions">Restrictions</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#related-commands">Related commands</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#default">Default</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_damping_cundall.html">fix damping/cundall command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_deform.html">fix deform command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_deform_pressure.html">fix deform/pressure command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_deposit.html">fix deposit command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_dpd_energy.html">fix dpd/energy command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_dpd_source.html">fix edpd/source command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_dpd_source.html#fix-tdpd-source-command">fix tdpd/source command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_drag.html">fix drag command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_drude.html">fix drude command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_drude_transform.html">fix drude/transform/direct command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_drude_transform.html#fix-drude-transform-inverse-command">fix drude/transform/inverse command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_dt_reset.html">fix dt/reset command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_efield.html">fix efield command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_efield.html#fix-efield-tip4p-command">fix efield/tip4p command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ehex.html">fix ehex command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_electrode.html">fix electrode/conp command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_electrode.html#fix-electrode-conq-command">fix electrode/conq command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_electrode.html#fix-electrode-thermo-command">fix electrode/thermo command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_electron_stopping.html">fix electron/stopping command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_electron_stopping.html#fix-electron-stopping-fit-command">fix electron/stopping/fit command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_enforce2d.html">fix enforce2d command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_eos_cv.html">fix eos/cv command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_eos_table.html">fix eos/table command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_eos_table_rx.html">fix eos/table/rx command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_evaporate.html">fix evaporate command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_external.html">fix external command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ffl.html">fix ffl command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_filter_corotate.html">fix filter/corotate command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_flow_gauss.html">fix flow/gauss command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_freeze.html">fix freeze command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_gcmc.html">fix gcmc command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_gld.html">fix gld command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_gle.html">fix gle command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_gravity.html">fix gravity command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_grem.html">fix grem command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_halt.html">fix halt command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_heat.html">fix heat command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_heat_flow.html">fix heat/flow command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_hyper_global.html">fix hyper/global command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_hyper_local.html">fix hyper/local command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_imd.html">fix imd command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_indent.html">fix indent command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ipi.html">fix ipi command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_langevin.html">fix langevin command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_langevin_drude.html">fix langevin/drude command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_langevin_eff.html">fix langevin/eff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_langevin_spin.html">fix langevin/spin command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_lb_fluid.html">fix lb/fluid command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_lb_momentum.html">fix lb/momentum command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_lb_viscous.html">fix lb/viscous command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_lineforce.html">fix lineforce command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_manifoldforce.html">fix manifoldforce command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_mdi_qm.html">fix mdi/qm command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_mdi_qmmm.html">fix mdi/qmmm command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_meso_move.html">fix meso/move command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_mol_swap.html">fix mol/swap command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_momentum.html">fix momentum command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_momentum.html#fix-momentum-chunk-command">fix momentum/chunk command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_move.html">fix move command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_msst.html">fix msst command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_mvv_dpd.html">fix mvv/dpd command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_mvv_dpd.html#fix-mvv-edpd-command">fix mvv/edpd command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_mvv_dpd.html#fix-mvv-tdpd-command">fix mvv/tdpd command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_neb.html">fix neb command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_neb_spin.html">fix neb/spin command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh.html">fix nvt command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh.html#fix-npt-command">fix npt command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh.html#fix-nph-command">fix nph command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh_eff.html">fix nvt/eff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh_eff.html#fix-npt-eff-command">fix npt/eff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh_eff.html#fix-nph-eff-command">fix nph/eff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh_uef.html">fix nvt/uef command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh_uef.html#fix-npt-uef-command">fix npt/uef command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nonaffine_displacement.html">fix nonaffine/displacement command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nph_asphere.html">fix nph/asphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nph_body.html">fix nph/body command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nph_sphere.html">fix nph/sphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nphug.html">fix nphug command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_npt_asphere.html">fix npt/asphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_npt_body.html">fix npt/body command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_npt_cauchy.html">fix npt/cauchy command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_npt_sphere.html">fix npt/sphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_numdiff.html">fix numdiff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_numdiff_virial.html">fix numdiff/virial command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve.html">fix nve command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_asphere.html">fix nve/asphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_asphere_noforce.html">fix nve/asphere/noforce command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_awpmd.html">fix nve/awpmd command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_body.html">fix nve/body command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_bpm_sphere.html">fix nve/bpm/sphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_dot.html">fix nve/dot command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_dotc_langevin.html">fix nve/dotc/langevin command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_eff.html">fix nve/eff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_limit.html">fix nve/limit command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_line.html">fix nve/line command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_manifold_rattle.html">fix nve/manifold/rattle command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_noforce.html">fix nve/noforce command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_sphere.html">fix nve/sphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_spin.html">fix nve/spin command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve_tri.html">fix nve/tri command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nvk.html">fix nvk command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nvt_asphere.html">fix nvt/asphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nvt_body.html">fix nvt/body command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nvt_manifold_rattle.html">fix nvt/manifold/rattle command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nvt_sllod.html">fix nvt/sllod command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nvt_sllod_eff.html">fix nvt/sllod/eff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nvt_sphere.html">fix nvt/sphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_oneway.html">fix oneway command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_orient.html">fix orient/fcc command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_orient.html#fix-orient-bcc-command">fix orient/bcc command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_orient_eco.html">fix orient/eco command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_pafi.html">fix pafi command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_pair.html">fix pair command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_phonon.html">fix phonon command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_pimd.html">fix pimd/langevin command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_pimd.html#fix-pimd-nvt-command">fix pimd/nvt command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_pimdb.html">fix pimdb/langevin command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_pimdb.html#fix-pimdb-nvt-command">fix pimdb/nvt command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_planeforce.html">fix planeforce command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_plumed.html">fix plumed command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_poems.html">fix poems command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_polarize.html">fix polarize/bem/gmres command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_polarize.html#fix-polarize-bem-icc-command">fix polarize/bem/icc command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_polarize.html#fix-polarize-functional-command">fix polarize/functional command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_pour.html">fix pour command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_precession_spin.html">fix precession/spin command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_press_berendsen.html">fix press/berendsen command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_press_langevin.html">fix press/langevin command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_print.html">fix print command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_propel_self.html">fix propel/self command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_property_atom.html">fix property/atom command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_python_invoke.html">fix python/invoke command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_python_move.html">fix python/move command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qbmsst.html">fix qbmsst command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qeq.html">fix qeq/point command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qeq.html#fix-qeq-shielded-command">fix qeq/shielded command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qeq.html#fix-qeq-slater-command">fix qeq/slater command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qeq.html#fix-qeq-ctip-command">fix qeq/ctip command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qeq.html#fix-qeq-dynamic-command">fix qeq/dynamic command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qeq.html#fix-qeq-fire-command">fix qeq/fire command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qeq_comb.html">fix qeq/comb command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qeq_reaxff.html">fix qeq/reaxff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qmmm.html">fix qmmm command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qtb.html">fix qtb command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qtpie_reaxff.html">fix qtpie/reaxff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_reaxff_bonds.html">fix reaxff/bonds command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_reaxff_species.html">fix reaxff/species command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_recenter.html">fix recenter command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_restrain.html">fix restrain command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rheo.html">fix rheo command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rheo_oxidation.html">fix rheo/oxidation command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rheo_pressure.html">fix rheo/pressure command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rheo_thermal.html">fix rheo/thermal command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rheo_viscosity.html">fix rheo/viscosity command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rhok.html">fix rhok command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid.html">fix rigid command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid.html#fix-rigid-nve-command">fix rigid/nve command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid.html#fix-rigid-nvt-command">fix rigid/nvt command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid.html#fix-rigid-npt-command">fix rigid/npt command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid.html#fix-rigid-nph-command">fix rigid/nph command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid.html#fix-rigid-small-command">fix rigid/small command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid.html#fix-rigid-nve-small-command">fix rigid/nve/small command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid.html#fix-rigid-nvt-small-command">fix rigid/nvt/small command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid.html#fix-rigid-npt-small-command">fix rigid/npt/small command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid.html#fix-rigid-nph-small-command">fix rigid/nph/small command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rigid_meso.html">fix rigid/meso command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_rx.html">fix rx command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_saed_vtk.html">fix saed/vtk command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_setforce.html">fix setforce command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_setforce.html#fix-setforce-spin-command">fix setforce/spin command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_sgcmc.html">fix sgcmc command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_shake.html">fix shake command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_shake.html#fix-rattle-command">fix rattle command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_shardlow.html">fix shardlow command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_smd.html">fix smd command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_smd_adjust_dt.html">fix smd/adjust_dt command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_smd_integrate_tlsph.html">fix smd/integrate_tlsph command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_smd_integrate_ulsph.html">fix smd/integrate_ulsph command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_smd_move_triangulated_surface.html">fix smd/move_tri_surf command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_smd_setvel.html">fix smd/setvel command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_smd_wall_surface.html">fix smd/wall_surface command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_sph.html">fix sph command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_sph_stationary.html">fix sph/stationary command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_spring.html">fix spring command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_spring_chunk.html">fix spring/chunk command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_spring_rg.html">fix spring/rg command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_spring_self.html">fix spring/self command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_srd.html">fix srd command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_store_force.html">fix store/force command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_store_state.html">fix store/state command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_temp_berendsen.html">fix temp/berendsen command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_temp_csvr.html">fix temp/csvr command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_temp_csvr.html#fix-temp-csld-command">fix temp/csld command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_temp_rescale.html">fix temp/rescale command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_temp_rescale_eff.html">fix temp/rescale/eff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_tfmc.html">fix tfmc command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_tgnh_drude.html">fix tgnvt/drude command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_tgnh_drude.html#fix-tgnpt-drude-command">fix tgnpt/drude command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_thermal_conductivity.html">fix thermal/conductivity command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ti_spring.html">fix ti/spring command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_tmd.html">fix tmd command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ttm.html">fix ttm command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ttm.html#fix-ttm-grid-command">fix ttm/grid command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ttm.html#fix-ttm-mod-command">fix ttm/mod command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_tune_kspace.html">fix tune/kspace command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_vector.html">fix vector command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_viscosity.html">fix viscosity command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_viscous.html">fix viscous command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_viscous_sphere.html">fix viscous/sphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall.html">fix wall/lj93 command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall.html#fix-wall-lj126-command">fix wall/lj126 command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall.html#fix-wall-lj1043-command">fix wall/lj1043 command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall.html#fix-wall-colloid-command">fix wall/colloid command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall.html#fix-wall-harmonic-command">fix wall/harmonic command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall.html#fix-wall-lepton-command">fix wall/lepton command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall.html#fix-wall-morse-command">fix wall/morse command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall.html#fix-wall-table-command">fix wall/table command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_body_polygon.html">fix wall/body/polygon command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_body_polyhedron.html">fix wall/body/polyhedron command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_ees.html">fix wall/ees command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_ees.html#fix-wall-region-ees-command">fix wall/region/ees command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_flow.html">fix wall/flow command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_gran.html">fix wall/gran command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_gran_region.html">fix wall/gran/region command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_piston.html">fix wall/piston command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_reflect.html">fix wall/reflect command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_reflect_stochastic.html">fix wall/reflect/stochastic command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_region.html">fix wall/region command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_wall_srd.html">fix wall/srd command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_widom.html">fix widom command</a></li>
|
|
</ul>
|
|
</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="fixes.html">Fix Styles</a></li>
|
|
<li class="breadcrumb-item active">fix controller command</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="fix_colvars.html" class="btn btn-neutral float-left" title="fix colvars command" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
|
<a href="fix_damping_cundall.html" class="btn btn-neutral float-right" title="fix damping/cundall command" 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="fix-controller-command">
|
|
<span id="index-0"></span><h1>fix controller command<a class="headerlink" href="#fix-controller-command" title="Link to this heading"></a></h1>
|
|
<section id="syntax">
|
|
<h2>Syntax<a class="headerlink" href="#syntax" title="Link to this heading"></a></h2>
|
|
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="k">fix </span><span class="nv nv-Identifier">ID</span><span class="w"> </span><span class="nv nv-Identifier">group-ID</span><span class="w"> </span><span class="n">controller</span><span class="w"> </span><span class="n">Nevery</span><span class="w"> </span><span class="n">alpha</span><span class="w"> </span><span class="n">Kp</span><span class="w"> </span><span class="n">Ki</span><span class="w"> </span><span class="n">Kd</span><span class="w"> </span><span class="n">pvar</span><span class="w"> </span><span class="n">setpoint</span><span class="w"> </span><span class="n">cvar</span>
|
|
</pre></div>
|
|
</div>
|
|
<ul>
|
|
<li><p>ID, group-ID are documented in <a class="reference internal" href="fix.html"><span class="doc">fix</span></a> command</p></li>
|
|
<li><p>controller = style name of this fix command</p></li>
|
|
<li><p>Nevery = invoke controller every this many timesteps</p></li>
|
|
<li><p>alpha = coupling constant for PID equation (see units discussion below)</p></li>
|
|
<li><p>Kp = proportional gain in PID equation (unitless)</p></li>
|
|
<li><p>Ki = integral gain in PID equation (unitless)</p></li>
|
|
<li><p>Kd = derivative gain in PID equation (unitless)</p></li>
|
|
<li><p>pvar = process variable of form c_ID, c_ID[I], f_ID, f_ID[I], or v_name</p>
|
|
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>c_ID = global scalar calculated by a compute with ID
|
|
c_ID[I] = Ith component of global vector calculated by a compute with ID
|
|
f_ID = global scalar calculated by a fix with ID
|
|
f_ID[I] = Ith component of global vector calculated by a fix with ID
|
|
v_name = value calculated by an equal-style variable with name
|
|
</pre></div>
|
|
</div>
|
|
</li>
|
|
<li><p>setpoint = desired value of process variable (same units as process variable)</p></li>
|
|
<li><p>cvar = name of control variable</p></li>
|
|
</ul>
|
|
</section>
|
|
<section id="examples">
|
|
<h2>Examples<a class="headerlink" href="#examples" title="Link to this heading"></a></h2>
|
|
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="k">fix </span><span class="nv nv-Identifier">1</span><span class="w"> </span><span class="nv nv-Identifier">all</span><span class="w"> </span><span class="n">controller</span><span class="w"> </span><span class="m">100</span><span class="w"> </span><span class="m">1.0</span><span class="w"> </span><span class="m">0.5</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">c_thermo_temp</span><span class="w"> </span><span class="m">1.5</span><span class="w"> </span><span class="n">tcontrol</span>
|
|
<span class="k">fix </span><span class="nv nv-Identifier">1</span><span class="w"> </span><span class="nv nv-Identifier">all</span><span class="w"> </span><span class="n">controller</span><span class="w"> </span><span class="m">100</span><span class="w"> </span><span class="m">0.2</span><span class="w"> </span><span class="m">0.5</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="n">v_pxxwall</span><span class="w"> </span><span class="m">1.01325</span><span class="w"> </span><span class="n">xwall</span>
|
|
<span class="k">fix </span><span class="nv nv-Identifier">1</span><span class="w"> </span><span class="nv nv-Identifier">all</span><span class="w"> </span><span class="n">controller</span><span class="w"> </span><span class="m">10000</span><span class="w"> </span><span class="m">0.2</span><span class="w"> </span><span class="m">0.5</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">2000</span><span class="w"> </span><span class="n">v_avpe</span><span class="w"> </span><span class="o">-</span><span class="m">3.785</span><span class="w"> </span><span class="n">tcontrol</span>
|
|
</pre></div>
|
|
</div>
|
|
</section>
|
|
<section id="description">
|
|
<h2>Description<a class="headerlink" href="#description" title="Link to this heading"></a></h2>
|
|
<p>This fix enables control of a LAMMPS simulation using a control loop
|
|
feedback mechanism known as a proportional-integral-derivative (PID)
|
|
controller. The basic idea is to define a “process variable” which is
|
|
a quantity that can be monitored during a running simulation. A
|
|
desired target value is chosen for the process variable. A “control
|
|
variable” is also defined which is an adjustable attribute of the
|
|
running simulation, which the process variable will respond to. The
|
|
PID controller continuously adjusts the control variable based on the
|
|
difference between the process variable and the target.</p>
|
|
<p>Here are examples of ways in which this fix can be used. The
|
|
examples/pid directory contains a script that implements the simple
|
|
thermostat.</p>
|
|
<table class="docutils align-default">
|
|
<tbody>
|
|
<tr class="row-odd"><td><p>Goal</p></td>
|
|
<td><p>process variable</p></td>
|
|
<td><p>control variable</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td><p>Simple thermostat</p></td>
|
|
<td><p>instantaneous T</p></td>
|
|
<td><p>thermostat target T</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p>Find melting temperature</p></td>
|
|
<td><p>average PE per atom</p></td>
|
|
<td><p>thermostat target T</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td><p>Control pressure in non-periodic system</p></td>
|
|
<td><p>force on wall</p></td>
|
|
<td><p>position of wall</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="admonition note">
|
|
<p class="admonition-title">Note</p>
|
|
<p>For this fix to work, the control variable must actually induce
|
|
a change in a running LAMMPS simulation. Typically this will only
|
|
occur if there is some other command (e.g. a thermostat fix) which
|
|
uses the control variable as an input parameter. This could be done
|
|
directly or indirectly, e.g. the other command uses a variable as
|
|
input whose formula uses the control variable. The other command
|
|
should alter its behavior dynamically as the variable changes.</p>
|
|
</div>
|
|
<div class="admonition note">
|
|
<p class="admonition-title">Note</p>
|
|
<p>If there is a command you think could be used in this fashion,
|
|
but does not currently allow a variable as an input parameter, please
|
|
notify the LAMMPS developers. It is often not difficult to enable a
|
|
command to use a variable as an input parameter.</p>
|
|
</div>
|
|
<p>The group specified with this command is ignored. However, note that
|
|
the process variable may be defined by calculations performed by
|
|
computes and fixes which store their own “group” definitions.</p>
|
|
<p>The PID controller is invoked once each <em>Nevery</em> timesteps.</p>
|
|
<p>The PID controller is implemented as a discretized version of
|
|
the following dynamic equation:</p>
|
|
<div class="math notranslate nohighlight">
|
|
\[\frac{dc}{dt} = -\alpha (K_p e + K_i \int_0^t e \, dt + K_d \frac{de}{dt} )\]</div>
|
|
<p>where <em>c</em> is the continuous time analog of the control variable,
|
|
<em>e</em> =<em>pvar</em>-<em>setpoint</em> is the error in the process variable, and
|
|
<span class="math notranslate nohighlight">\(\alpha\)</span>, <span class="math notranslate nohighlight">\(K_p\)</span>, <span class="math notranslate nohighlight">\(K_i\)</span> , and <span class="math notranslate nohighlight">\(K_d\)</span> are constants
|
|
set by the corresponding
|
|
keywords described above. The discretized version of this equation is:</p>
|
|
<div class="math notranslate nohighlight">
|
|
\[c_n = c_{n-1} -\alpha \left( K_p \tau e_n + K_i \tau^2 \sum_{i=1}^n e_i + K_d (e_n - e_{n-1}) \right)\]</div>
|
|
<p>where <span class="math notranslate nohighlight">\(\tau = \mathtt{Nevery} \cdot \mathtt{timestep}\)</span> is the time
|
|
interval between updates,
|
|
and the subscripted variables indicate the values of <em>c</em> and <em>e</em> at
|
|
successive updates.</p>
|
|
<p>From the first equation, it is clear that if the three gain values
|
|
<span class="math notranslate nohighlight">\(K_p\)</span>, <span class="math notranslate nohighlight">\(K_i\)</span>, <span class="math notranslate nohighlight">\(K_d\)</span> are dimensionless constants,
|
|
then <span class="math notranslate nohighlight">\(\alpha\)</span> must have
|
|
units of [unit <em>cvar</em>]/[unit <em>pvar</em>]/[unit time] e.g. [ eV/K/ps
|
|
]. The advantage of this unit scheme is that the value of the
|
|
constants should be invariant under a change of either the MD timestep
|
|
size or the value of <em>Nevery</em>. Similarly, if the LAMMPS <a class="reference internal" href="units.html"><span class="doc">unit style</span></a> is changed, it should only be necessary to change
|
|
the value of <span class="math notranslate nohighlight">\(\alpha\)</span> to reflect this, while leaving <span class="math notranslate nohighlight">\(K_p\)</span>,
|
|
<span class="math notranslate nohighlight">\(K_i\)</span>, and <span class="math notranslate nohighlight">\(K_d\)</span> unaltered.</p>
|
|
<p>When choosing the values of the four constants, it is best to first
|
|
pick a value and sign for <span class="math notranslate nohighlight">\(\alpha\)</span> that is consistent with the
|
|
magnitudes and signs of <em>pvar</em> and <em>cvar</em>. The magnitude of <span class="math notranslate nohighlight">\(K_p\)</span>
|
|
should then be tested over a large positive range keeping <span class="math notranslate nohighlight">\(K_i = K_d =0\)</span>.
|
|
A good value for <span class="math notranslate nohighlight">\(K_p\)</span> will produce a fast response in <em>pvar</em>,
|
|
without overshooting the <em>setpoint</em>. For many applications, proportional
|
|
feedback is sufficient, and so <span class="math notranslate nohighlight">\(K_i = K_d =0\)</span> can be used. In cases
|
|
where there is a substantial lag time in the response of <em>pvar</em> to a change
|
|
in <em>cvar</em>, this can be counteracted by increasing <span class="math notranslate nohighlight">\(K_d\)</span>. In situations
|
|
where <em>pvar</em> plateaus without reaching <em>setpoint</em>, this can be
|
|
counteracted by increasing <span class="math notranslate nohighlight">\(K_i\)</span>. In the language of Charles Dickens,
|
|
<span class="math notranslate nohighlight">\(K_p\)</span> represents the error of the present, <span class="math notranslate nohighlight">\(K_i\)</span> the error of
|
|
the past, and <span class="math notranslate nohighlight">\(K_d\)</span> the error yet to come.</p>
|
|
<p>Because this fix updates <em>cvar</em>, but does not initialize its value,
|
|
the initial value <span class="math notranslate nohighlight">\(c_0\)</span> is that assigned by the user in the input script via
|
|
the <a class="reference internal" href="variable.html"><span class="doc">internal-style variable</span></a> command. This value is
|
|
used (by every other LAMMPS command that uses the variable) until this
|
|
fix performs its first update of <em>cvar</em> after <em>Nevery</em> timesteps. On
|
|
the first update, the value of the derivative term is set to zero,
|
|
because the value of <span class="math notranslate nohighlight">\(e_{n-1}\)</span> is not yet defined.</p>
|
|
<hr class="docutils" />
|
|
<p>The process variable <em>pvar</em> can be specified as the output of a
|
|
<a class="reference internal" href="compute.html"><span class="doc">compute</span></a> or <a class="reference internal" href="fix.html"><span class="doc">fix</span></a> or the evaluation of a
|
|
<a class="reference internal" href="variable.html"><span class="doc">variable</span></a>. In each case, the compute, fix, or variable
|
|
must produce a global quantity, not a per-atom or local quantity.</p>
|
|
<p>If <em>pvar</em> begins with “c_”, a compute ID must follow which has been
|
|
previously defined in the input script and which generates a global
|
|
scalar or vector. See the individual <a class="reference internal" href="compute.html"><span class="doc">compute</span></a> doc page
|
|
for details. If no bracketed integer is appended, the scalar
|
|
calculated by the compute is used. If a bracketed integer is
|
|
appended, the Ith value of the vector calculated by the compute is
|
|
used. Users can also write code for their own compute styles and <a class="reference internal" href="Modify.html"><span class="doc">add them to LAMMPS</span></a>.</p>
|
|
<p>If <em>pvar</em> begins with “f_”, a fix ID must follow which has been
|
|
previously defined in the input script and which generates a global
|
|
scalar or vector. See the individual <a class="reference internal" href="fix.html"><span class="doc">fix</span></a> page for
|
|
details. Note that some fixes only produce their values on certain
|
|
timesteps, which must be compatible with when fix controller
|
|
references the values, or else an error results. If no bracketed integer
|
|
is appended, the scalar calculated by the fix is used. If a bracketed
|
|
integer is appended, the Ith value of the vector calculated by the fix
|
|
is used. Users can also write code for their own fix style and <a class="reference internal" href="Modify.html"><span class="doc">add them to LAMMPS</span></a>.</p>
|
|
<p>If <em>pvar</em> begins with “v_”, a variable name must follow which has been
|
|
previously defined in the input script. Only equal-style variables
|
|
can be referenced. See the <a class="reference internal" href="variable.html"><span class="doc">variable</span></a> command for
|
|
details. Note that variables of style <em>equal</em> define a formula which
|
|
can reference individual atom properties or thermodynamic keywords, or
|
|
they can invoke other computes, fixes, or variables when they are
|
|
evaluated, so this is a very general means of specifying the process
|
|
variable.</p>
|
|
<p>The target value <em>setpoint</em> for the process variable must be a numeric
|
|
value, in whatever units <em>pvar</em> is defined for.</p>
|
|
<p>The control variable <em>cvar</em> must be the name of an <a class="reference internal" href="variable.html"><span class="doc">internal-style variable</span></a> previously defined in the input script. Note
|
|
that it is not specified with a “v_” prefix, just the name of the
|
|
variable. It must be an internal-style variable, because this fix
|
|
updates its value directly. Note that other commands can use an
|
|
equal-style versus internal-style variable interchangeably.</p>
|
|
</section>
|
|
<hr class="docutils" />
|
|
<section id="restart-fix-modify-output-run-start-stop-minimize-info">
|
|
<h2>Restart, fix_modify, output, run start/stop, minimize info<a class="headerlink" href="#restart-fix-modify-output-run-start-stop-minimize-info" title="Link to this heading"></a></h2>
|
|
<p>Currently, no information about this fix is written to <a class="reference internal" href="restart.html"><span class="doc">binary restart files</span></a>. None of the <a class="reference internal" href="fix_modify.html"><span class="doc">fix_modify</span></a> options
|
|
are relevant to this fix.</p>
|
|
<p>This fix produces a global vector with 3 values which can be accessed
|
|
by various <a class="reference internal" href="Howto_output.html"><span class="doc">output commands</span></a>. The values can be
|
|
accessed on any timestep, though they are only updated on timesteps
|
|
that are a multiple of <em>Nevery</em>.</p>
|
|
<p>The three values are the most recent updates made to the control
|
|
variable by each of the 3 terms in the PID equation above. The first
|
|
value is the proportional term, the second is the integral term, the
|
|
third is the derivative term.</p>
|
|
<p>The units of the vector values will be whatever units the control
|
|
variable is in. The vector values calculated by this fix are
|
|
“extensive”.</p>
|
|
<p>No parameter of this fix 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. This fix is not invoked during <a class="reference internal" href="minimize.html"><span class="doc">energy minimization</span></a>.</p>
|
|
</section>
|
|
<section id="restrictions">
|
|
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Link to this heading"></a></h2>
|
|
<p>This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS
|
|
was built with that package. See the <a class="reference internal" href="Build_package.html"><span class="doc">Build package</span></a> page for more info.</p>
|
|
</section>
|
|
<section id="related-commands">
|
|
<h2>Related commands<a class="headerlink" href="#related-commands" title="Link to this heading"></a></h2>
|
|
<p><a class="reference internal" href="fix_adapt.html"><span class="doc">fix adapt</span></a></p>
|
|
</section>
|
|
<section id="default">
|
|
<h2>Default<a class="headerlink" href="#default" title="Link to this heading"></a></h2>
|
|
<p>none</p>
|
|
</section>
|
|
</section>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
|
<a href="fix_colvars.html" class="btn btn-neutral float-left" title="fix colvars command" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
|
<a href="fix_damping_cundall.html" class="btn btn-neutral float-right" title="fix damping/cundall command" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
|
</div>
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>© 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> |