forked from lijiext/lammps
785 lines
55 KiB
HTML
785 lines
55 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>fix balance command — LAMMPS documentation</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="top" title="LAMMPS documentation" href="index.html"/>
|
|
<link rel="up" title="Fixes" href="fixes.html"/>
|
|
<link rel="next" title="fix bond/break command" href="fix_bond_break.html"/>
|
|
<link rel="prev" title="fix aveforce command" href="fix_aveforce.html"/>
|
|
|
|
|
|
<script src="_static/js/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<div class="wy-grid-for-nav">
|
|
|
|
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-nav-search">
|
|
|
|
|
|
|
|
<a href="Manual.html" class="icon icon-home"> LAMMPS
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
|
|
|
|
|
<p class="caption"><span class="caption-text">User Documentation</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Index</span></p>
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="commands.html">Commands</a></li>
|
|
<li class="toctree-l1 current"><a class="reference internal" href="fixes.html">Fixes</a><ul class="current">
|
|
<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_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_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_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_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 current"><a class="current reference internal" href="#">fix balance 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="#restrictions">Restrictions</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#related-commands">Related commands</a></li>
|
|
</ul>
|
|
</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_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_colvars.html">fix colvars command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_controller.html">fix controller 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.html#fix-deform-kk-command">fix deform/kk 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_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_ehex.html">fix ehex 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_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_gravity.html#fix-gravity-omp-command">fix gravity/omp 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_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.html#fix-langevin-kk-command">fix langevin/kk 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_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_pc.html">fix lb/pc command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_lb_rigid_pc_sphere.html">fix lb/rigid/pc/sphere 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_meso.html">fix meso command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_meso_stationary.html">fix meso/stationary 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_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_neb.html">fix neb 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-nvt-intel-command">fix nvt/intel command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh.html#fix-nvt-kk-command">fix nvt/kk command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh.html#fix-nvt-omp-command">fix nvt/omp 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-npt-intel-command">fix npt/intel command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh.html#fix-npt-kk-command">fix npt/kk command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh.html#fix-npt-omp-command">fix npt/omp 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.html#fix-nph-kk-command">fix nph/kk command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nh.html#fix-nph-omp-command">fix nph/omp 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_nph_asphere.html">fix nph/asphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nph_asphere.html#fix-nph-asphere-omp-command">fix nph/asphere/omp 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_nph_sphere.html#fix-nph-sphere-omp-command">fix nph/sphere/omp 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_nphug.html#fix-nphug-omp-command">fix nphug/omp 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_asphere.html#fix-npt-asphere-omp-command">fix npt/asphere/omp 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_sphere.html">fix npt/sphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_npt_sphere.html#fix-npt-sphere-omp-command">fix npt/sphere/omp 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.html#fix-nve-intel-command">fix nve/intel command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve.html#fix-nve-kk-command">fix nve/kk command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nve.html#fix-nve-omp-command">fix nve/omp 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.html#fix-nve-asphere-intel-command">fix nve/asphere/intel 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_body.html">fix nve/body 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_sphere.html#fix-nve-sphere-omp-command">fix nve/sphere/omp 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_nvt_asphere.html">fix nvt/asphere command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nvt_asphere.html#fix-nvt-asphere-omp-command">fix nvt/asphere/omp 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.html#fix-nvt-sllod-intel-command">fix nvt/sllod/intel command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_nvt_sllod.html#fix-nvt-sllod-omp-command">fix nvt/sllod/omp 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_nvt_sphere.html#fix-nvt-sphere-omp-command">fix nvt/sphere/omp 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_phonon.html">fix phonon command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_pimd.html">fix pimd 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_poems.html">fix poems</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_press_berendsen.html">fix press/berendsen 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_property_atom.html">fix property/atom 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-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_comb.html#fix-qeq-comb-omp-command">fix qeq/comb/omp command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qeq_reax.html">fix qeq/reax command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_qeq_reax.html#fix-qeq-reax-kk-command">fix qeq/reax/kk 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_reax_bonds.html">fix reax/bonds command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_reax_bonds.html#fix-reax-c-bonds-command">fix reax/c/bonds command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_reaxc_species.html">fix reax/c/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_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_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-kk-command">fix setforce/kk 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_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_thermal_conductivity.html">fix thermal/conductivity command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_ti_rs.html">fix ti/rs 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-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_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_gran.html">fix wall/gran 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.html#fix-wall-reflect-kk-command">fix wall/reflect/kk 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>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="computes.html">Computes</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">Bonds</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>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
|
|
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="Manual.html">LAMMPS</a>
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href="Manual.html">Docs</a> »</li>
|
|
|
|
<li><a href="fixes.html">Fixes</a> »</li>
|
|
|
|
<li>fix balance command</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
|
|
|
|
<a href="http://lammps.sandia.gov">Website</a>
|
|
<a href="Section_commands.html#comm">Commands</a>
|
|
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
|
|
<div class="rst-footer-buttons" style="margin-bottom: 1em" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="fix_bond_break.html" class="btn btn-neutral float-right" title="fix bond/break command" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="fix_aveforce.html" class="btn btn-neutral" title="fix aveforce command" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div itemprop="articleBody">
|
|
|
|
<div class="section" id="fix-balance-command">
|
|
<span id="index-0"></span><h1>fix balance command</h1>
|
|
<div class="section" id="syntax">
|
|
<h2>Syntax</h2>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">fix</span> <span class="n">ID</span> <span class="n">group</span><span class="o">-</span><span class="n">ID</span> <span class="n">balance</span> <span class="n">Nfreq</span> <span class="n">thresh</span> <span class="n">style</span> <span class="n">args</span> <span class="n">keyword</span> <span class="n">value</span> <span class="o">...</span>
|
|
</pre></div>
|
|
</div>
|
|
<ul>
|
|
<li><p class="first">ID, group-ID are documented in <a class="reference internal" href="fix.html"><span class="doc">fix</span></a> command</p>
|
|
</li>
|
|
<li><p class="first">balance = style name of this fix command</p>
|
|
</li>
|
|
<li><p class="first">Nfreq = perform dynamic load balancing every this many steps</p>
|
|
</li>
|
|
<li><p class="first">thresh = imbalance threshhold that must be exceeded to perform a re-balance</p>
|
|
</li>
|
|
<li><p class="first">style = <em>shift</em> or <em>rcb</em></p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">shift</span> <span class="n">args</span> <span class="o">=</span> <span class="n">dimstr</span> <span class="n">Niter</span> <span class="n">stopthresh</span>
|
|
<span class="n">dimstr</span> <span class="o">=</span> <span class="n">sequence</span> <span class="n">of</span> <span class="n">letters</span> <span class="n">containing</span> <span class="s2">"x"</span> <span class="ow">or</span> <span class="s2">"y"</span> <span class="ow">or</span> <span class="s2">"z"</span><span class="p">,</span> <span class="n">each</span> <span class="ow">not</span> <span class="n">more</span> <span class="n">than</span> <span class="n">once</span>
|
|
<span class="n">Niter</span> <span class="o">=</span> <span class="c1"># of times to iterate within each dimension of dimstr sequence</span>
|
|
<span class="n">stopthresh</span> <span class="o">=</span> <span class="n">stop</span> <span class="n">balancing</span> <span class="n">when</span> <span class="n">this</span> <span class="n">imbalance</span> <span class="n">threshhold</span> <span class="ow">is</span> <span class="n">reached</span>
|
|
<span class="n">rcb</span> <span class="n">args</span> <span class="o">=</span> <span class="n">none</span>
|
|
</pre></div>
|
|
</div>
|
|
</li>
|
|
<li><p class="first">zero or more keyword/value pairs may be appended</p>
|
|
</li>
|
|
<li><p class="first">keyword = <em>out</em></p>
|
|
<pre class="literal-block">
|
|
<em>out</em> value = filename
|
|
filename = write each processor's sub-domain to a file, at each re-balancing
|
|
</pre>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="examples">
|
|
<h2>Examples</h2>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">fix</span> <span class="mi">2</span> <span class="nb">all</span> <span class="n">balance</span> <span class="mi">1000</span> <span class="mf">1.05</span> <span class="n">shift</span> <span class="n">x</span> <span class="mi">10</span> <span class="mf">1.05</span>
|
|
<span class="n">fix</span> <span class="mi">2</span> <span class="nb">all</span> <span class="n">balance</span> <span class="mi">100</span> <span class="mf">0.9</span> <span class="n">shift</span> <span class="n">xy</span> <span class="mi">20</span> <span class="mf">1.1</span> <span class="n">out</span> <span class="n">tmp</span><span class="o">.</span><span class="n">balance</span>
|
|
<span class="n">fix</span> <span class="mi">2</span> <span class="nb">all</span> <span class="n">balance</span> <span class="mi">1000</span> <span class="mf">1.1</span> <span class="n">rcb</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="description">
|
|
<h2>Description</h2>
|
|
<p>This command adjusts the size and shape of processor sub-domains
|
|
within the simulation box, to attempt to balance the number of
|
|
particles and thus the computational cost (load) evenly across
|
|
processors. The load balancing is “dynamic” in the sense that
|
|
rebalancing is performed periodically during the simulation. To
|
|
perform “static” balancing, before or between runs, see the
|
|
<a class="reference internal" href="balance.html"><span class="doc">balance</span></a> command.</p>
|
|
<p>Load-balancing is typically only useful if the particles in the
|
|
simulation box have a spatially-varying density distribution. E.g. a
|
|
model of a vapor/liquid interface, or a solid with an irregular-shaped
|
|
geometry containing void regions. In this case, the LAMMPS default of
|
|
dividing the simulation box volume into a regular-spaced grid of 3d
|
|
bricks, with one equal-volume sub-domain per processor, may assign
|
|
very different numbers of particles per processor. This can lead to
|
|
poor performance when the simulation is run in parallel.</p>
|
|
<p>Note that the <a class="reference internal" href="processors.html"><span class="doc">processors</span></a> command allows some control
|
|
over how the box volume is split across processors. Specifically, for
|
|
a Px by Py by Pz grid of processors, it allows choice of Px, Py, and
|
|
Pz, subject to the constraint that Px * Py * Pz = P, the total number
|
|
of processors. This is sufficient to achieve good load-balance for
|
|
some problems on some processor counts. However, all the processor
|
|
sub-domains will still have the same shape and same volume.</p>
|
|
<p>On a particular timestep, a load-balancing operation is only performed
|
|
if the current “imbalance factor” in particles owned by each processor
|
|
exceeds the specified <em>thresh</em> parameter. The imbalance factor is
|
|
defined as the maximum number of particles owned by any processor,
|
|
divided by the average number of particles per processor. Thus an
|
|
imbalance factor of 1.0 is perfect balance.</p>
|
|
<p>As an example, for 10000 particles running on 10 processors, if the
|
|
most heavily loaded processor has 1200 particles, then the factor is
|
|
1.2, meaning there is a 20% imbalance. Note that re-balances can be
|
|
forced even if the current balance is perfect (1.0) be specifying a
|
|
<em>thresh</em> < 1.0.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This command attempts to minimize the imbalance factor, as
|
|
defined above. But depending on the method a perfect balance (1.0)
|
|
may not be achieved. For example, “grid” methods (defined below) that
|
|
create a logical 3d grid cannot achieve perfect balance for many
|
|
irregular distributions of particles. Likewise, if a portion of the
|
|
system is a perfect lattice, e.g. the initial system is generated by
|
|
the <a class="reference internal" href="create_atoms.html"><span class="doc">create_atoms</span></a> command, then “grid” methods may
|
|
be unable to achieve exact balance. This is because entire lattice
|
|
planes will be owned or not owned by a single processor.</p>
|
|
</div>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">The imbalance factor is also an estimate of the maximum speed-up
|
|
you can hope to achieve by running a perfectly balanced simulation
|
|
versus an imbalanced one. In the example above, the 10000 particle
|
|
simulation could run up to 20% faster if it were perfectly balanced,
|
|
versus when imbalanced. However, computational cost is not strictly
|
|
proportional to particle count, and changing the relative size and
|
|
shape of processor sub-domains may lead to additional computational
|
|
and communication overheads, e.g. in the PPPM solver used via the
|
|
<a class="reference internal" href="kspace_style.html"><span class="doc">kspace_style</span></a> command. Thus you should benchmark
|
|
the run times of a simulation before and after balancing.</p>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<p>The method used to perform a load balance is specified by one of the
|
|
listed styles, which are described in detail below. There are 2 kinds
|
|
of styles.</p>
|
|
<p>The <em>shift</em> style is a “grid” method which produces a logical 3d grid
|
|
of processors. It operates by changing the cutting planes (or lines)
|
|
between processors in 3d (or 2d), to adjust the volume (area in 2d)
|
|
assigned to each processor, as in the following 2d diagram where
|
|
processor sub-domains are shown and atoms are colored by the processor
|
|
that owns them. The leftmost diagram is the default partitioning of
|
|
the simulation box across processors (one sub-box for each of 16
|
|
processors); the middle diagram is after a “grid” method has been
|
|
applied.</p>
|
|
<a class=""
|
|
data-lightbox="group-default"
|
|
href="_images/balance_uniform.jpg"
|
|
title=""
|
|
data-title=""
|
|
><img src="_images/balance_uniform.jpg"
|
|
class=""
|
|
width="25%"
|
|
height="auto"
|
|
alt=""/>
|
|
</a><a class=""
|
|
data-lightbox="group-default"
|
|
href="_images/balance_nonuniform.jpg"
|
|
title=""
|
|
data-title=""
|
|
><img src="_images/balance_nonuniform.jpg"
|
|
class=""
|
|
width="25%"
|
|
height="auto"
|
|
alt=""/>
|
|
</a><a class=""
|
|
data-lightbox="group-default"
|
|
href="_images/balance_rcb.jpg"
|
|
title=""
|
|
data-title=""
|
|
><img src="_images/balance_rcb.jpg"
|
|
class=""
|
|
width="25%"
|
|
height="auto"
|
|
alt=""/>
|
|
</a><p>The <em>rcb</em> style is a “tiling” method which does not produce a logical
|
|
3d grid of processors. Rather it tiles the simulation domain with
|
|
rectangular sub-boxes of varying size and shape in an irregular
|
|
fashion so as to have equal numbers of particles in each sub-box, as
|
|
in the rightmost diagram above.</p>
|
|
<p>The “grid” methods can be used with either of the
|
|
<a class="reference internal" href="comm_style.html"><span class="doc">comm_style</span></a> command options, <em>brick</em> or <em>tiled</em>. The
|
|
“tiling” methods can only be used with <a class="reference internal" href="comm_style.html"><span class="doc">comm_style tiled</span></a>.</p>
|
|
<p>When a “grid” method is specified, the current domain partitioning can
|
|
be either a logical 3d grid or a tiled partitioning. In the former
|
|
case, the current logical 3d grid is used as a starting point and
|
|
changes are made to improve the imbalance factor. In the latter case,
|
|
the tiled partitioning is discarded and a logical 3d grid is created
|
|
with uniform spacing in all dimensions. This is the starting point
|
|
for the balancing operation.</p>
|
|
<p>When a “tiling” method is specified, the current domain partitioning
|
|
(“grid” or “tiled”) is ignored, and a new partitioning is computed
|
|
from scratch.</p>
|
|
<hr class="docutils" />
|
|
<p>The <em>group-ID</em> is currently ignored. In the future it may be used to
|
|
determine what particles are considered for balancing. Normally it
|
|
would only makes sense to use the <em>all</em> group. But in some cases it
|
|
may be useful to balance on a subset of the particles, e.g. when
|
|
modeling large nanoparticles in a background of small solvent
|
|
particles.</p>
|
|
<p>The <em>Nfreq</em> setting determines how often a rebalance is performed. If
|
|
<em>Nfreq</em> > 0, then rebalancing will occur every <em>Nfreq</em> steps. Each
|
|
time a rebalance occurs, a reneighboring is triggered, so <em>Nfreq</em>
|
|
should not be too small. If <em>Nfreq</em> = 0, then rebalancing will be
|
|
done every time reneighboring normally occurs, as determined by the
|
|
the <a class="reference internal" href="neighbor.html"><span class="doc">neighbor</span></a> and <a class="reference internal" href="neigh_modify.html"><span class="doc">neigh_modify</span></a>
|
|
command settings.</p>
|
|
<p>On rebalance steps, rebalancing will only be attempted if the current
|
|
imbalance factor, as defined above, exceeds the <em>thresh</em> setting.</p>
|
|
<hr class="docutils" />
|
|
<p>The <em>shift</em> style invokes a “grid” method for balancing, as described
|
|
above. It changes the positions of cutting planes between processors
|
|
in an iterative fashion, seeking to reduce the imbalance factor.</p>
|
|
<p>The <em>dimstr</em> argument is a string of characters, each of which must be
|
|
an “x” or “y” or “z”. Eacn character can appear zero or one time,
|
|
since there is no advantage to balancing on a dimension more than
|
|
once. You should normally only list dimensions where you expect there
|
|
to be a density variation in the particles.</p>
|
|
<p>Balancing proceeds by adjusting the cutting planes in each of the
|
|
dimensions listed in <em>dimstr</em>, one dimension at a time. For a single
|
|
dimension, the balancing operation (described below) is iterated on up
|
|
to <em>Niter</em> times. After each dimension finishes, the imbalance factor
|
|
is re-computed, and the balancing operation halts if the <em>stopthresh</em>
|
|
criterion is met.</p>
|
|
<p>A rebalance operation in a single dimension is performed using a
|
|
density-dependent recursive multisectioning algorithm, where the
|
|
position of each cutting plane (line in 2d) in the dimension is
|
|
adjusted independently. This is similar to a recursive bisectioning
|
|
for a single value, except that the bounds used for each bisectioning
|
|
take advantage of information from neighboring cuts if possible, as
|
|
well as counts of particles at the bounds on either side of each cuts,
|
|
which themselves were cuts in previous iterations. The latter is used
|
|
to infer a density of pariticles near each of the current cuts. At
|
|
each iteration, the count of particles on either side of each plane is
|
|
tallied. If the counts do not match the target value for the plane,
|
|
the position of the cut is adjusted based on the local density. The
|
|
low and high bounds are adjusted on each iteration, using new count
|
|
information, so that they become closer together over time. Thus as
|
|
the recursion progresses, the count of particles on either side of the
|
|
plane gets closer to the target value.</p>
|
|
<p>The density-dependent part of this algorithm is often an advantage
|
|
when you rebalance a system that is already nearly balanced. It
|
|
typically converges more quickly than the geometric bisectioning
|
|
algorithm used by the <a class="reference internal" href="balance.html"><span class="doc">balance</span></a> command. However, if can
|
|
be a disadvantage if you attempt to rebalance a system that is far
|
|
from balanced, and converge more slowly. In this case you probably
|
|
want to use the <a class="reference internal" href="balance.html"><span class="doc">balance</span></a> command before starting a run,
|
|
so that you begin the run with a balanced system.</p>
|
|
<p>Once the rebalancing is complete and final processor sub-domains
|
|
assigned, particles migrate to their new owning processor as part of
|
|
the normal reneighboring procedure.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">At each rebalance operation, the bisectioning for each cutting
|
|
plane (line in 2d) typcially starts with low and high bounds separated
|
|
by the extent of a processor’s sub-domain in one dimension. The size
|
|
of this bracketing region shrinks based on the local density, as
|
|
described above, which should typically be 1/2 or more every
|
|
iteration. Thus if <em>Niter</em> is specified as 10, the cutting plane will
|
|
typically be positioned to better than 1 part in 1000 accuracy
|
|
(relative to the perfect target position). For <em>Niter</em> = 20, it will
|
|
be accurate to better than 1 part in a million. Thus there is no need
|
|
to set <em>Niter</em> to a large value. This is especially true if you are
|
|
rebalancing often enough that each time you expect only an incremental
|
|
adjustement in the cutting planes is necessary. LAMMPS will check if
|
|
the threshold accuracy is reached (in a dimension) is less iterations
|
|
than <em>Niter</em> and exit early.</p>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<p>The <em>rcb</em> style invokes a “tiled” method for balancing, as described
|
|
above. It performs a recursive coordinate bisectioning (RCB) of the
|
|
simulation domain. The basic idea is as follows.</p>
|
|
<p>The simulation domain is cut into 2 boxes by an axis-aligned cut in
|
|
the longest dimension, leaving one new box on either side of the cut.
|
|
All the processors are also partitioned into 2 groups, half assigned
|
|
to the box on the lower side of the cut, and half to the box on the
|
|
upper side. (If the processor count is odd, one side gets an extra
|
|
processor.) The cut is positioned so that the number of atoms in the
|
|
lower box is exactly the number that the processors assigned to that
|
|
box should own for load balance to be perfect. This also makes load
|
|
balance for the upper box perfect. The positioning is done
|
|
iteratively, by a bisectioning method. Note that counting atoms on
|
|
either side of the cut requires communication between all processors
|
|
at each iteration.</p>
|
|
<p>That is the procedure for the first cut. Subsequent cuts are made
|
|
recursively, in exactly the same manner. The subset of processors
|
|
assigned to each box make a new cut in the longest dimension of that
|
|
box, splitting the box, the subset of processsors, and the atoms in
|
|
the box in two. The recursion continues until every processor is
|
|
assigned a sub-box of the entire simulation domain, and owns the atoms
|
|
in that sub-box.</p>
|
|
<hr class="docutils" />
|
|
<p>The <em>out</em> keyword writes a text file to the specified <em>filename</em> with
|
|
the results of each rebalancing operation. The file contains the
|
|
bounds of the sub-domain for each processor after the balancing
|
|
operation completes. The format of the file is compatible with the
|
|
<a class="reference external" href="pizza">Pizza.py</a> <em>mdump</em> tool which has support for manipulating and
|
|
visualizing mesh files. An example is shown here for a balancing by 4
|
|
processors for a 2d problem:</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">ITEM</span><span class="p">:</span> <span class="n">TIMESTEP</span>
|
|
<span class="mi">0</span>
|
|
<span class="n">ITEM</span><span class="p">:</span> <span class="n">NUMBER</span> <span class="n">OF</span> <span class="n">NODES</span>
|
|
<span class="mi">16</span>
|
|
<span class="n">ITEM</span><span class="p">:</span> <span class="n">BOX</span> <span class="n">BOUNDS</span>
|
|
<span class="mi">0</span> <span class="mi">10</span>
|
|
<span class="mi">0</span> <span class="mi">10</span>
|
|
<span class="mi">0</span> <span class="mi">10</span>
|
|
<span class="n">ITEM</span><span class="p">:</span> <span class="n">NODES</span>
|
|
<span class="mi">1</span> <span class="mi">1</span> <span class="mi">0</span> <span class="mi">0</span> <span class="mi">0</span>
|
|
<span class="mi">2</span> <span class="mi">1</span> <span class="mi">5</span> <span class="mi">0</span> <span class="mi">0</span>
|
|
<span class="mi">3</span> <span class="mi">1</span> <span class="mi">5</span> <span class="mi">5</span> <span class="mi">0</span>
|
|
<span class="mi">4</span> <span class="mi">1</span> <span class="mi">0</span> <span class="mi">5</span> <span class="mi">0</span>
|
|
<span class="mi">5</span> <span class="mi">1</span> <span class="mi">5</span> <span class="mi">0</span> <span class="mi">0</span>
|
|
<span class="mi">6</span> <span class="mi">1</span> <span class="mi">10</span> <span class="mi">0</span> <span class="mi">0</span>
|
|
<span class="mi">7</span> <span class="mi">1</span> <span class="mi">10</span> <span class="mi">5</span> <span class="mi">0</span>
|
|
<span class="mi">8</span> <span class="mi">1</span> <span class="mi">5</span> <span class="mi">5</span> <span class="mi">0</span>
|
|
<span class="mi">9</span> <span class="mi">1</span> <span class="mi">0</span> <span class="mi">5</span> <span class="mi">0</span>
|
|
<span class="mi">10</span> <span class="mi">1</span> <span class="mi">5</span> <span class="mi">5</span> <span class="mi">0</span>
|
|
<span class="mi">11</span> <span class="mi">1</span> <span class="mi">5</span> <span class="mi">10</span> <span class="mi">0</span>
|
|
<span class="mi">12</span> <span class="mi">1</span> <span class="mi">10</span> <span class="mi">5</span> <span class="mi">0</span>
|
|
<span class="mi">13</span> <span class="mi">1</span> <span class="mi">5</span> <span class="mi">5</span> <span class="mi">0</span>
|
|
<span class="mi">14</span> <span class="mi">1</span> <span class="mi">10</span> <span class="mi">5</span> <span class="mi">0</span>
|
|
<span class="mi">15</span> <span class="mi">1</span> <span class="mi">10</span> <span class="mi">10</span> <span class="mi">0</span>
|
|
<span class="mi">16</span> <span class="mi">1</span> <span class="mi">5</span> <span class="mi">10</span> <span class="mi">0</span>
|
|
<span class="n">ITEM</span><span class="p">:</span> <span class="n">TIMESTEP</span>
|
|
<span class="mi">0</span>
|
|
<span class="n">ITEM</span><span class="p">:</span> <span class="n">NUMBER</span> <span class="n">OF</span> <span class="n">SQUARES</span>
|
|
<span class="mi">4</span>
|
|
<span class="n">ITEM</span><span class="p">:</span> <span class="n">SQUARES</span>
|
|
<span class="mi">1</span> <span class="mi">1</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span>
|
|
<span class="mi">2</span> <span class="mi">1</span> <span class="mi">5</span> <span class="mi">6</span> <span class="mi">7</span> <span class="mi">8</span>
|
|
<span class="mi">3</span> <span class="mi">1</span> <span class="mi">9</span> <span class="mi">10</span> <span class="mi">11</span> <span class="mi">12</span>
|
|
<span class="mi">4</span> <span class="mi">1</span> <span class="mi">13</span> <span class="mi">14</span> <span class="mi">15</span> <span class="mi">16</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>The coordinates of all the vertices are listed in the NODES section, 5
|
|
per processor. Note that the 4 sub-domains share vertices, so there
|
|
will be duplicate nodes in the list.</p>
|
|
<p>The “SQUARES” section lists the node IDs of the 4 vertices in a
|
|
rectangle for each processor (1 to 4).</p>
|
|
<p>For a 3d problem, the syntax is similar with 8 vertices listed for
|
|
each processor, instead of 4, and “SQUARES” replaced by “CUBES”.</p>
|
|
<hr class="docutils" />
|
|
<p><strong>Restart, fix_modify, output, run start/stop, minimize info:</strong></p>
|
|
<p>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 computes a global scalar which is the imbalance factor
|
|
after the most recent rebalance and a global vector of length 3 with
|
|
additional information about the most recent rebalancing. The 3
|
|
values in the vector are as follows:</p>
|
|
<ul class="simple">
|
|
<li>1 = max # of particles per processor</li>
|
|
<li>2 = total # iterations performed in last rebalance</li>
|
|
<li>3 = imbalance factor right before the last rebalance was performed</li>
|
|
</ul>
|
|
<p>As explained above, the imbalance factor is the ratio of the maximum
|
|
number of particles on any processor to the average number of
|
|
particles per processor.</p>
|
|
<p>These quantities can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>. The scalar and vector values
|
|
calculated by this fix are “intensive”.</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>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<div class="section" id="restrictions">
|
|
<h2>Restrictions</h2>
|
|
<p>For 2d simulations, a “z” cannot appear in <em>dimstr</em> for the <em>shift</em>
|
|
style.</p>
|
|
</div>
|
|
<div class="section" id="related-commands">
|
|
<h2>Related commands</h2>
|
|
<p><a class="reference internal" href="processors.html"><span class="doc">processors</span></a>, <a class="reference internal" href="balance.html"><span class="doc">balance</span></a></p>
|
|
<p><strong>Default:</strong> none</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
|
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="fix_bond_break.html" class="btn btn-neutral float-right" title="fix bond/break command" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="fix_aveforce.html" class="btn btn-neutral" title="fix aveforce command" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2013 Sandia Corporation.
|
|
</p>
|
|
</div>
|
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'./',
|
|
VERSION:'',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
|
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="_static/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |