From b93436e48b86c3212ea293db8343b74429bc4ac1 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Thu, 21 Sep 2006 16:22:34 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@1 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/2001/README.html | 174 ++ doc/2001/basics.html | 224 ++ doc/2001/data_format.html | 250 +++ doc/2001/deficiencies.html | 42 + doc/2001/force_fields.html | 681 ++++++ doc/2001/history.html | 205 ++ doc/2001/input_commands.html | 2138 +++++++++++++++++++ doc/2001/units.html | 119 ++ doc/99/README.html | 161 ++ doc/99/basics.html | 207 ++ doc/99/crib.html | 629 ++++++ doc/99/data_format.html | 239 +++ doc/99/force_fields.html | 550 +++++ doc/99/history.html | 127 ++ doc/99/input_commands.html | 1570 ++++++++++++++ doc/99/units.html | 119 ++ doc/Eqs/Script.create | 44 + doc/Eqs/angle_charmm.aux | 1 + doc/Eqs/angle_charmm.dvi | Bin 0 -> 508 bytes doc/Eqs/angle_charmm.jpg | Bin 0 -> 2185 bytes doc/Eqs/angle_charmm.log | 57 + doc/Eqs/angle_charmm.tex | 9 + doc/Eqs/angle_class2.aux | 1 + doc/Eqs/angle_class2.dvi | Bin 0 -> 964 bytes doc/Eqs/angle_class2.jpg | Bin 0 -> 8873 bytes doc/Eqs/angle_class2.log | 57 + doc/Eqs/angle_class2.tex | 12 + doc/Eqs/angle_cosine.aux | 1 + doc/Eqs/angle_cosine.dvi | Bin 0 -> 308 bytes doc/Eqs/angle_cosine.jpg | Bin 0 -> 1443 bytes doc/Eqs/angle_cosine.log | 57 + doc/Eqs/angle_cosine.tex | 9 + doc/Eqs/angle_cosine_squared.aux | 1 + doc/Eqs/angle_cosine_squared.dvi | Bin 0 -> 428 bytes doc/Eqs/angle_cosine_squared.jpg | Bin 0 -> 1961 bytes doc/Eqs/angle_cosine_squared.log | 57 + doc/Eqs/angle_cosine_squared.tex | 9 + doc/Eqs/angle_harmonic.aux | 1 + doc/Eqs/angle_harmonic.dvi | Bin 0 -> 404 bytes doc/Eqs/angle_harmonic.jpg | Bin 0 -> 1266 bytes doc/Eqs/angle_harmonic.log | 57 + doc/Eqs/angle_harmonic.tex | 9 + doc/Eqs/bond_class2.aux | 1 + doc/Eqs/bond_class2.dvi | Bin 0 -> 508 bytes doc/Eqs/bond_class2.jpg | Bin 0 -> 2690 bytes doc/Eqs/bond_class2.log | 57 + doc/Eqs/bond_class2.tex | 9 + doc/Eqs/bond_fene.aux | 1 + doc/Eqs/bond_fene.dvi | Bin 0 -> 788 bytes doc/Eqs/bond_fene.jpg | Bin 0 -> 4017 bytes doc/Eqs/bond_fene.log | 57 + doc/Eqs/bond_fene.tex | 11 + doc/Eqs/bond_fene_expand.aux | 1 + doc/Eqs/bond_fene_expand.dvi | Bin 0 -> 888 bytes doc/Eqs/bond_fene_expand.jpg | Bin 0 -> 5535 bytes doc/Eqs/bond_fene_expand.log | 57 + doc/Eqs/bond_fene_expand.tex | 13 + doc/Eqs/bond_harmonic.aux | 1 + doc/Eqs/bond_harmonic.dvi | Bin 0 -> 404 bytes doc/Eqs/bond_harmonic.jpg | Bin 0 -> 1211 bytes doc/Eqs/bond_harmonic.log | 57 + doc/Eqs/bond_harmonic.tex | 9 + doc/Eqs/bond_morse.aux | 1 + doc/Eqs/bond_morse.dvi | Bin 0 -> 616 bytes doc/Eqs/bond_morse.jpg | Bin 0 -> 1268 bytes doc/Eqs/bond_morse.log | 57 + doc/Eqs/bond_morse.tex | 10 + doc/Eqs/bond_nonlinear.aux | 1 + doc/Eqs/bond_nonlinear.dvi | Bin 0 -> 492 bytes doc/Eqs/bond_nonlinear.jpg | Bin 0 -> 2072 bytes doc/Eqs/bond_nonlinear.log | 57 + doc/Eqs/bond_nonlinear.tex | 9 + doc/Eqs/bond_quartic.aux | 1 + doc/Eqs/bond_quartic.dvi | Bin 0 -> 800 bytes doc/Eqs/bond_quartic.jpg | Bin 0 -> 5731 bytes doc/Eqs/bond_quartic.log | 57 + doc/Eqs/bond_quartic.tex | 11 + doc/Eqs/centro_symmetry.aux | 1 + doc/Eqs/centro_symmetry.dvi | Bin 0 -> 580 bytes doc/Eqs/centro_symmetry.jpg | Bin 0 -> 1573 bytes doc/Eqs/centro_symmetry.log | 57 + doc/Eqs/centro_symmetry.tex | 9 + doc/Eqs/dihedral_charmm.aux | 1 + doc/Eqs/dihedral_charmm.dvi | Bin 0 -> 312 bytes doc/Eqs/dihedral_charmm.jpg | Bin 0 -> 1755 bytes doc/Eqs/dihedral_charmm.log | 57 + doc/Eqs/dihedral_charmm.tex | 9 + doc/Eqs/dihedral_class2.aux | 1 + doc/Eqs/dihedral_class2.dvi | Bin 0 -> 1804 bytes doc/Eqs/dihedral_class2.jpg | Bin 0 -> 26581 bytes doc/Eqs/dihedral_class2.log | 57 + doc/Eqs/dihedral_class2.tex | 17 + doc/Eqs/dihedral_harmonic.aux | 1 + doc/Eqs/dihedral_harmonic.dvi | Bin 0 -> 312 bytes doc/Eqs/dihedral_harmonic.jpg | Bin 0 -> 1691 bytes doc/Eqs/dihedral_harmonic.log | 57 + doc/Eqs/dihedral_harmonic.tex | 9 + doc/Eqs/dihedral_helix.aux | 1 + doc/Eqs/dihedral_helix.dvi | Bin 0 -> 460 bytes doc/Eqs/dihedral_helix.jpg | Bin 0 -> 3930 bytes doc/Eqs/dihedral_helix.log | 57 + doc/Eqs/dihedral_helix.tex | 10 + doc/Eqs/dihedral_multiharmonic.aux | 1 + doc/Eqs/dihedral_multiharmonic.dvi | Bin 0 -> 524 bytes doc/Eqs/dihedral_multiharmonic.jpg | Bin 0 -> 2019 bytes doc/Eqs/dihedral_multiharmonic.log | 57 + doc/Eqs/dihedral_multiharmonic.tex | 9 + doc/Eqs/dihedral_opls.aux | 1 + doc/Eqs/dihedral_opls.dvi | Bin 0 -> 680 bytes doc/Eqs/dihedral_opls.jpg | Bin 0 -> 5925 bytes doc/Eqs/dihedral_opls.log | 57 + doc/Eqs/dihedral_opls.tex | 10 + doc/Eqs/fix_gyration.jpg | Bin 0 -> 1993 bytes doc/Eqs/fix_gyration.tex | 9 + doc/Eqs/fix_orient_fcc.aux | 1 + doc/Eqs/fix_orient_fcc.dvi | Bin 0 -> 1636 bytes doc/Eqs/fix_orient_fcc.jpg | Bin 0 -> 14540 bytes doc/Eqs/fix_orient_fcc.log | 57 + doc/Eqs/fix_orient_fcc.tex | 30 + doc/Eqs/fix_spring_rg.aux | 1 + doc/Eqs/fix_spring_rg.dvi | Bin 0 -> 1244 bytes doc/Eqs/fix_spring_rg.jpg | Bin 0 -> 9128 bytes doc/Eqs/fix_spring_rg.log | 138 ++ doc/Eqs/fix_spring_rg.tex | 19 + doc/Eqs/fix_wall_lj93.aux | 1 + doc/Eqs/fix_wall_lj93.dvi | Bin 0 -> 712 bytes doc/Eqs/fix_wall_lj93.jpg | Bin 0 -> 3177 bytes doc/Eqs/fix_wall_lj93.log | 138 ++ doc/Eqs/fix_wall_lj93.tex | 11 + doc/Eqs/improper_class2.aux | 1 + doc/Eqs/improper_class2.dvi | Bin 0 -> 1000 bytes doc/Eqs/improper_class2.jpg | Bin 0 -> 8522 bytes doc/Eqs/improper_class2.log | 57 + doc/Eqs/improper_class2.tex | 13 + doc/Eqs/improper_cvff.aux | 1 + doc/Eqs/improper_cvff.dvi | Bin 0 -> 312 bytes doc/Eqs/improper_cvff.jpg | Bin 0 -> 1577 bytes doc/Eqs/improper_cvff.log | 57 + doc/Eqs/improper_cvff.tex | 9 + doc/Eqs/improper_harmonic.aux | 1 + doc/Eqs/improper_harmonic.dvi | Bin 0 -> 400 bytes doc/Eqs/improper_harmonic.jpg | Bin 0 -> 1166 bytes doc/Eqs/improper_harmonic.log | 57 + doc/Eqs/improper_harmonic.tex | 9 + doc/Eqs/pair_buck.aux | 1 + doc/Eqs/pair_buck.dvi | Bin 0 -> 540 bytes doc/Eqs/pair_buck.jpg | Bin 0 -> 1722 bytes doc/Eqs/pair_buck.log | 57 + doc/Eqs/pair_buck.tex | 9 + doc/Eqs/pair_charmm.aux | 1 + doc/Eqs/pair_charmm.dvi | Bin 0 -> 1604 bytes doc/Eqs/pair_charmm.jpg | Bin 0 -> 13820 bytes doc/Eqs/pair_charmm.log | 57 + doc/Eqs/pair_charmm.tex | 22 + doc/Eqs/pair_class2.aux | 1 + doc/Eqs/pair_class2.dvi | Bin 0 -> 680 bytes doc/Eqs/pair_class2.jpg | Bin 0 -> 2832 bytes doc/Eqs/pair_class2.log | 138 ++ doc/Eqs/pair_class2.tex | 11 + doc/Eqs/pair_coulomb.aux | 1 + doc/Eqs/pair_coulomb.dvi | Bin 0 -> 412 bytes doc/Eqs/pair_coulomb.jpg | Bin 0 -> 1445 bytes doc/Eqs/pair_coulomb.log | 57 + doc/Eqs/pair_coulomb.tex | 9 + doc/Eqs/pair_debye.aux | 1 + doc/Eqs/pair_debye.dvi | Bin 0 -> 480 bytes doc/Eqs/pair_debye.jpg | Bin 0 -> 1942 bytes doc/Eqs/pair_debye.log | 57 + doc/Eqs/pair_debye.tex | 8 + doc/Eqs/pair_dpd.aux | 1 + doc/Eqs/pair_dpd.dvi | Bin 0 -> 944 bytes doc/Eqs/pair_dpd.jpg | Bin 0 -> 6365 bytes doc/Eqs/pair_dpd.log | 56 + doc/Eqs/pair_dpd.tex | 13 + doc/Eqs/pair_eam.aux | 1 + doc/Eqs/pair_eam.dvi | Bin 0 -> 700 bytes doc/Eqs/pair_eam.jpg | Bin 0 -> 3714 bytes doc/Eqs/pair_eam.log | 56 + doc/Eqs/pair_eam.tex | 10 + doc/Eqs/pair_eam_fs.aux | 1 + doc/Eqs/pair_eam_fs.dvi | Bin 0 -> 700 bytes doc/Eqs/pair_eam_fs.jpg | Bin 0 -> 3656 bytes doc/Eqs/pair_eam_fs.log | 57 + doc/Eqs/pair_eam_fs.tex | 11 + doc/Eqs/pair_granular.aux | 1 + doc/Eqs/pair_granular.dvi | Bin 0 -> 700 bytes doc/Eqs/pair_granular.jpg | Bin 0 -> 4211 bytes doc/Eqs/pair_granular.log | 57 + doc/Eqs/pair_granular.tex | 12 + doc/Eqs/pair_lj.aux | 1 + doc/Eqs/pair_lj.dvi | Bin 0 -> 668 bytes doc/Eqs/pair_lj.jpg | Bin 0 -> 2779 bytes doc/Eqs/pair_lj.log | 137 ++ doc/Eqs/pair_lj.tex | 11 + doc/Eqs/pair_lj_expand.aux | 1 + doc/Eqs/pair_lj_expand.dvi | Bin 0 -> 696 bytes doc/Eqs/pair_lj_expand.jpg | Bin 0 -> 3657 bytes doc/Eqs/pair_lj_expand.log | 57 + doc/Eqs/pair_lj_expand.tex | 11 + doc/Eqs/pair_lj_smooth.aux | 1 + doc/Eqs/pair_lj_smooth.dvi | Bin 0 -> 920 bytes doc/Eqs/pair_lj_smooth.jpg | Bin 0 -> 6652 bytes doc/Eqs/pair_lj_smooth.log | 57 + doc/Eqs/pair_lj_smooth.tex | 15 + doc/Eqs/pair_morse.aux | 1 + doc/Eqs/pair_morse.dvi | Bin 0 -> 676 bytes doc/Eqs/pair_morse.jpg | Bin 0 -> 2326 bytes doc/Eqs/pair_morse.log | 57 + doc/Eqs/pair_morse.tex | 10 + doc/Eqs/pair_soft.aux | 1 + doc/Eqs/pair_soft.dvi | Bin 0 -> 508 bytes doc/Eqs/pair_soft.jpg | Bin 0 -> 2454 bytes doc/Eqs/pair_soft.log | 57 + doc/Eqs/pair_soft.tex | 10 + doc/Eqs/pair_yukawa.aux | 1 + doc/Eqs/pair_yukawa.dvi | Bin 0 -> 436 bytes doc/Eqs/pair_yukawa.jpg | Bin 0 -> 1388 bytes doc/Eqs/pair_yukawa.log | 57 + doc/Eqs/pair_yukawa.tex | 9 + doc/Eqs/stress_tensor.aux | 1 + doc/Eqs/stress_tensor.dvi | Bin 0 -> 736 bytes doc/Eqs/stress_tensor.jpg | Bin 0 -> 2657 bytes doc/Eqs/stress_tensor.log | 57 + doc/Eqs/stress_tensor.tex | 10 + doc/Manual.html | 192 ++ doc/Manual.pdf | Bin 0 -> 970603 bytes doc/Manual.txt | 120 ++ doc/Section_commands.html | 371 ++++ doc/Section_commands.txt | 488 +++++ doc/Section_errors.html | 2658 ++++++++++++++++++++++++ doc/Section_errors.txt | 2653 +++++++++++++++++++++++ doc/Section_example.html | 71 + doc/Section_example.txt | 64 + doc/Section_history.html | 129 ++ doc/Section_history.txt | 124 ++ doc/Section_howto.html | 595 ++++++ doc/Section_howto.txt | 586 ++++++ doc/Section_intro.html | 489 +++++ doc/Section_intro.txt | 474 +++++ doc/Section_modify.html | 495 +++++ doc/Section_modify.txt | 475 +++++ doc/Section_perf.html | 84 + doc/Section_perf.txt | 77 + doc/Section_start.html | 614 ++++++ doc/Section_start.txt | 605 ++++++ doc/Section_tools.html | 276 +++ doc/Section_tools.txt | 270 +++ doc/angle_coeff.html | 91 + doc/angle_coeff.txt | 86 + doc/angle_style.html | 82 + doc/angle_style.txt | 78 + doc/angle_style_charmm.html | 61 + doc/angle_style_charmm.txt | 56 + doc/angle_style_class2.html | 80 + doc/angle_style_class2.txt | 75 + doc/angle_style_cosine.html | 53 + doc/angle_style_cosine.txt | 48 + doc/angle_style_cosine_squared.html | 58 + doc/angle_style_cosine_squared.txt | 53 + doc/angle_style_harmonic.html | 58 + doc/angle_style_harmonic.txt | 53 + doc/angle_style_hybrid.html | 58 + doc/angle_style_hybrid.txt | 53 + doc/angle_style_none.html | 37 + doc/angle_style_none.txt | 32 + doc/atom_modify.html | 58 + doc/atom_modify.txt | 50 + doc/atom_style.html | 89 + doc/atom_style.txt | 84 + doc/bond_coeff.html | 94 + doc/bond_coeff.txt | 89 + doc/bond_style.html | 93 + doc/bond_style.txt | 88 + doc/bond_style_class2.html | 56 + doc/bond_style_class2.txt | 51 + doc/bond_style_fene.html | 66 + doc/bond_style_fene.txt | 60 + doc/bond_style_fene_expand.html | 71 + doc/bond_style_fene_expand.txt | 65 + doc/bond_style_harmonic.html | 55 + doc/bond_style_harmonic.txt | 50 + doc/bond_style_hybrid.html | 59 + doc/bond_style_hybrid.txt | 54 + doc/bond_style_morse.html | 56 + doc/bond_style_morse.txt | 51 + doc/bond_style_none.html | 37 + doc/bond_style_none.txt | 32 + doc/bond_style_nonlinear.html | 62 + doc/bond_style_nonlinear.txt | 56 + doc/bond_style_quartic.html | 95 + doc/bond_style_quartic.txt | 90 + doc/boundary.html | 78 + doc/boundary.txt | 71 + doc/clear.html | 43 + doc/clear.txt | 39 + doc/create_atoms.html | 65 + doc/create_atoms.txt | 60 + doc/create_box.html | 46 + doc/create_box.txt | 41 + doc/delete_atoms.html | 85 + doc/delete_atoms.txt | 78 + doc/delete_bonds.html | 131 ++ doc/delete_bonds.txt | 121 ++ doc/dielectric.html | 44 + doc/dielectric.txt | 39 + doc/dihedral_coeff.html | 94 + doc/dihedral_coeff.txt | 89 + doc/dihedral_style.html | 98 + doc/dihedral_style.txt | 94 + doc/dihedral_style_charmm.html | 63 + doc/dihedral_style_charmm.txt | 58 + doc/dihedral_style_class2.html | 117 ++ doc/dihedral_style_class2.txt | 112 + doc/dihedral_style_harmonic.html | 53 + doc/dihedral_style_harmonic.txt | 48 + doc/dihedral_style_helix.html | 67 + doc/dihedral_style_helix.txt | 61 + doc/dihedral_style_hybrid.html | 59 + doc/dihedral_style_hybrid.txt | 54 + doc/dihedral_style_multi_harmonic.html | 55 + doc/dihedral_style_multi_harmonic.txt | 50 + doc/dihedral_style_none.html | 37 + doc/dihedral_style_none.txt | 32 + doc/dihedral_style_opls.html | 65 + doc/dihedral_style_opls.txt | 59 + doc/dimension.html | 48 + doc/dimension.txt | 43 + doc/dipole.html | 66 + doc/dipole.txt | 61 + doc/displace_atoms.html | 85 + doc/displace_atoms.txt | 75 + doc/doc | 1 + doc/dump.html | 322 +++ doc/dump.txt | 309 +++ doc/dump_modify.html | 114 + doc/dump_modify.txt | 105 + doc/echo.html | 40 + doc/echo.txt | 35 + doc/fix.html | 122 ++ doc/fix.txt | 128 ++ doc/fix_addforce.html | 44 + doc/fix_addforce.txt | 39 + doc/fix_aveforce.html | 55 + doc/fix_aveforce.txt | 50 + doc/fix_com.html | 39 + doc/fix_com.txt | 38 + doc/fix_drag.html | 50 + doc/fix_drag.txt | 46 + doc/fix_efield.html | 39 + doc/fix_efield.txt | 34 + doc/fix_enforce2d.html | 40 + doc/fix_enforce2d.txt | 35 + doc/fix_freeze.html | 46 + doc/fix_freeze.txt | 41 + doc/fix_gran_diag.html | 48 + doc/fix_gran_diag.txt | 43 + doc/fix_gravity.html | 95 + doc/fix_gravity.txt | 86 + doc/fix_gyration.html | 47 + doc/fix_gyration.txt | 42 + doc/fix_indent.html | 123 ++ doc/fix_indent.txt | 112 + doc/fix_insert.html | 121 ++ doc/fix_insert.txt | 108 + doc/fix_langevin.html | 133 ++ doc/fix_langevin.txt | 121 ++ doc/fix_lineforce.html | 47 + doc/fix_lineforce.txt | 42 + doc/fix_modify.html | 77 + doc/fix_modify.txt | 68 + doc/fix_momentum.html | 66 + doc/fix_momentum.txt | 57 + doc/fix_msd.html | 42 + doc/fix_msd.txt | 43 + doc/fix_nph.html | 164 ++ doc/fix_nph.txt | 153 ++ doc/fix_npt.html | 166 ++ doc/fix_npt.txt | 153 ++ doc/fix_nve.html | 39 + doc/fix_nve.txt | 34 + doc/fix_nve_gran.html | 44 + doc/fix_nve_gran.txt | 39 + doc/fix_nvt.html | 102 + doc/fix_nvt.txt | 91 + doc/fix_orient_fcc.html | 166 ++ doc/fix_orient_fcc.txt | 160 ++ doc/fix_planeforce.html | 46 + doc/fix_planeforce.txt | 43 + doc/fix_poems.html | 133 ++ doc/fix_poems.txt | 123 ++ doc/fix_print.html | 62 + doc/fix_print.txt | 57 + doc/fix_rdf.html | 64 + doc/fix_rdf.txt | 59 + doc/fix_recenter.html | 97 + doc/fix_recenter.txt | 87 + doc/fix_rigid.html | 103 + doc/fix_rigid.txt | 94 + doc/fix_setforce.html | 49 + doc/fix_setforce.txt | 44 + doc/fix_shake.html | 103 + doc/fix_shake.txt | 90 + doc/fix_spring.html | 103 + doc/fix_spring.txt | 94 + doc/fix_spring_rg.html | 61 + doc/fix_spring_rg.txt | 55 + doc/fix_spring_self.html | 43 + doc/fix_spring_self.txt | 38 + doc/fix_temp_rescale.html | 111 + doc/fix_temp_rescale.txt | 98 + doc/fix_tmd.html | 120 ++ doc/fix_tmd.txt | 113 + doc/fix_uniaxial.html | 128 ++ doc/fix_uniaxial.txt | 123 ++ doc/fix_viscous.html | 86 + doc/fix_viscous.txt | 74 + doc/fix_volume_rescale.html | 68 + doc/fix_volume_rescale.txt | 61 + doc/fix_wall_gran.html | 92 + doc/fix_wall_gran.txt | 80 + doc/fix_wall_lj93.html | 64 + doc/fix_wall_lj93.txt | 59 + doc/fix_wall_reflect.html | 49 + doc/fix_wall_reflect.txt | 44 + doc/fix_wiggle.html | 49 + doc/fix_wiggle.txt | 44 + doc/group.html | 102 + doc/group.txt | 95 + doc/improper_coeff.html | 91 + doc/improper_coeff.txt | 86 + doc/improper_style.html | 77 + doc/improper_style.txt | 72 + doc/improper_style_class2.html | 78 + doc/improper_style_class2.txt | 73 + doc/improper_style_cvff.html | 55 + doc/improper_style_cvff.txt | 50 + doc/improper_style_harmonic.html | 58 + doc/improper_style_harmonic.txt | 53 + doc/improper_style_hybrid.html | 59 + doc/improper_style_hybrid.txt | 54 + doc/improper_style_none.html | 37 + doc/improper_style_none.txt | 32 + doc/include.html | 45 + doc/include.txt | 40 + doc/jump.html | 76 + doc/jump.txt | 71 + doc/kspace_modify.html | 89 + doc/kspace_modify.txt | 81 + doc/kspace_style.html | 110 + doc/kspace_style.txt | 100 + doc/label.html | 41 + doc/label.txt | 36 + doc/lattice.html | 74 + doc/lattice.txt | 67 + doc/log.html | 46 + doc/log.txt | 41 + doc/mass.html | 68 + doc/mass.txt | 63 + doc/min_modify.html | 74 + doc/min_modify.txt | 67 + doc/min_style.html | 57 + doc/min_style.txt | 51 + doc/minimize.html | 100 + doc/minimize.txt | 95 + doc/neigh_modify.html | 132 ++ doc/neigh_modify.txt | 125 ++ doc/neighbor.html | 65 + doc/neighbor.txt | 60 + doc/newton.html | 67 + doc/newton.txt | 62 + doc/next.html | 99 + doc/next.txt | 94 + doc/orient.html | 51 + doc/orient.txt | 46 + doc/origin.html | 46 + doc/origin.txt | 44 + doc/pair_coeff.html | 134 ++ doc/pair_coeff.txt | 129 ++ doc/pair_modify.html | 180 ++ doc/pair_modify.txt | 170 ++ doc/pair_style.html | 153 ++ doc/pair_style.txt | 148 ++ doc/pair_style_buck.html | 104 + doc/pair_style_buck.txt | 96 + doc/pair_style_charmm.html | 125 ++ doc/pair_style_charmm.txt | 117 ++ doc/pair_style_class2.html | 104 + doc/pair_style_class2.txt | 96 + doc/pair_style_dipole.html | 66 + doc/pair_style_dipole.txt | 61 + doc/pair_style_dpd.html | 71 + doc/pair_style_dpd.txt | 66 + doc/pair_style_eam.html | 289 +++ doc/pair_style_eam.txt | 278 +++ doc/pair_style_gran.html | 97 + doc/pair_style_gran.txt | 85 + doc/pair_style_hybrid.html | 65 + doc/pair_style_hybrid.txt | 72 + doc/pair_style_lj.html | 173 ++ doc/pair_style_lj.txt | 163 ++ doc/pair_style_lj_expand.html | 60 + doc/pair_style_lj_expand.txt | 55 + doc/pair_style_lj_smooth.html | 67 + doc/pair_style_lj_smooth.txt | 62 + doc/pair_style_morse.html | 56 + doc/pair_style_morse.txt | 51 + doc/pair_style_none.html | 45 + doc/pair_style_none.txt | 40 + doc/pair_style_soft.html | 65 + doc/pair_style_soft.txt | 60 + doc/pair_style_table.html | 157 ++ doc/pair_style_table.txt | 151 ++ doc/pair_style_yukawa.html | 55 + doc/pair_style_yukawa.txt | 50 + doc/pair_write.html | 80 + doc/pair_write.txt | 75 + doc/print.html | 45 + doc/print.txt | 40 + doc/processors.html | 61 + doc/processors.txt | 56 + doc/read_data.html | 591 ++++++ doc/read_data.txt | 503 +++++ doc/read_restart.html | 136 ++ doc/read_restart.txt | 131 ++ doc/region.html | 113 + doc/region.txt | 102 + doc/replicate.html | 66 + doc/replicate.txt | 61 + doc/reset_timestep.html | 42 + doc/reset_timestep.txt | 37 + doc/restart.html | 88 + doc/restart.txt | 83 + doc/run.html | 157 ++ doc/run.txt | 148 ++ doc/run_style.html | 186 ++ doc/run_style.txt | 178 ++ doc/set.html | 104 + doc/set.txt | 101 + doc/shell.html | 77 + doc/shell.txt | 70 + doc/special_bonds.html | 85 + doc/special_bonds.txt | 80 + doc/temp_modify.html | 55 + doc/temp_modify.txt | 46 + doc/temper.html | 84 + doc/temper.txt | 79 + doc/temperature.html | 132 ++ doc/temperature.txt | 120 ++ doc/thermo.html | 41 + doc/thermo.txt | 36 + doc/thermo_modify.html | 101 + doc/thermo_modify.txt | 93 + doc/thermo_style.html | 151 ++ doc/thermo_style.txt | 143 ++ doc/timestep.html | 47 + doc/timestep.txt | 45 + doc/undump.html | 38 + doc/undump.txt | 33 + doc/unfix.html | 38 + doc/unfix.txt | 33 + doc/units.html | 89 + doc/units.txt | 84 + doc/variable.html | 190 ++ doc/variable.txt | 189 ++ doc/velocity.html | 170 ++ doc/velocity.txt | 160 ++ doc/write_restart.html | 69 + doc/write_restart.txt | 64 + 568 files changed, 49081 insertions(+) create mode 100644 doc/2001/README.html create mode 100644 doc/2001/basics.html create mode 100644 doc/2001/data_format.html create mode 100644 doc/2001/deficiencies.html create mode 100644 doc/2001/force_fields.html create mode 100644 doc/2001/history.html create mode 100644 doc/2001/input_commands.html create mode 100644 doc/2001/units.html create mode 100644 doc/99/README.html create mode 100644 doc/99/basics.html create mode 100755 doc/99/crib.html create mode 100644 doc/99/data_format.html create mode 100644 doc/99/force_fields.html create mode 100644 doc/99/history.html create mode 100644 doc/99/input_commands.html create mode 100644 doc/99/units.html create mode 100755 doc/Eqs/Script.create create mode 100644 doc/Eqs/angle_charmm.aux create mode 100644 doc/Eqs/angle_charmm.dvi create mode 100644 doc/Eqs/angle_charmm.jpg create mode 100644 doc/Eqs/angle_charmm.log create mode 100644 doc/Eqs/angle_charmm.tex create mode 100644 doc/Eqs/angle_class2.aux create mode 100644 doc/Eqs/angle_class2.dvi create mode 100644 doc/Eqs/angle_class2.jpg create mode 100644 doc/Eqs/angle_class2.log create mode 100644 doc/Eqs/angle_class2.tex create mode 100644 doc/Eqs/angle_cosine.aux create mode 100644 doc/Eqs/angle_cosine.dvi create mode 100644 doc/Eqs/angle_cosine.jpg create mode 100644 doc/Eqs/angle_cosine.log create mode 100644 doc/Eqs/angle_cosine.tex create mode 100644 doc/Eqs/angle_cosine_squared.aux create mode 100644 doc/Eqs/angle_cosine_squared.dvi create mode 100644 doc/Eqs/angle_cosine_squared.jpg create mode 100644 doc/Eqs/angle_cosine_squared.log create mode 100644 doc/Eqs/angle_cosine_squared.tex create mode 100644 doc/Eqs/angle_harmonic.aux create mode 100644 doc/Eqs/angle_harmonic.dvi create mode 100644 doc/Eqs/angle_harmonic.jpg create mode 100644 doc/Eqs/angle_harmonic.log create mode 100644 doc/Eqs/angle_harmonic.tex create mode 100644 doc/Eqs/bond_class2.aux create mode 100644 doc/Eqs/bond_class2.dvi create mode 100644 doc/Eqs/bond_class2.jpg create mode 100644 doc/Eqs/bond_class2.log create mode 100644 doc/Eqs/bond_class2.tex create mode 100644 doc/Eqs/bond_fene.aux create mode 100644 doc/Eqs/bond_fene.dvi create mode 100644 doc/Eqs/bond_fene.jpg create mode 100644 doc/Eqs/bond_fene.log create mode 100644 doc/Eqs/bond_fene.tex create mode 100644 doc/Eqs/bond_fene_expand.aux create mode 100644 doc/Eqs/bond_fene_expand.dvi create mode 100644 doc/Eqs/bond_fene_expand.jpg create mode 100644 doc/Eqs/bond_fene_expand.log create mode 100644 doc/Eqs/bond_fene_expand.tex create mode 100644 doc/Eqs/bond_harmonic.aux create mode 100644 doc/Eqs/bond_harmonic.dvi create mode 100644 doc/Eqs/bond_harmonic.jpg create mode 100644 doc/Eqs/bond_harmonic.log create mode 100644 doc/Eqs/bond_harmonic.tex create mode 100644 doc/Eqs/bond_morse.aux create mode 100644 doc/Eqs/bond_morse.dvi create mode 100644 doc/Eqs/bond_morse.jpg create mode 100644 doc/Eqs/bond_morse.log create mode 100644 doc/Eqs/bond_morse.tex create mode 100644 doc/Eqs/bond_nonlinear.aux create mode 100644 doc/Eqs/bond_nonlinear.dvi create mode 100644 doc/Eqs/bond_nonlinear.jpg create mode 100644 doc/Eqs/bond_nonlinear.log create mode 100644 doc/Eqs/bond_nonlinear.tex create mode 100644 doc/Eqs/bond_quartic.aux create mode 100644 doc/Eqs/bond_quartic.dvi create mode 100644 doc/Eqs/bond_quartic.jpg create mode 100644 doc/Eqs/bond_quartic.log create mode 100644 doc/Eqs/bond_quartic.tex create mode 100644 doc/Eqs/centro_symmetry.aux create mode 100644 doc/Eqs/centro_symmetry.dvi create mode 100644 doc/Eqs/centro_symmetry.jpg create mode 100644 doc/Eqs/centro_symmetry.log create mode 100644 doc/Eqs/centro_symmetry.tex create mode 100644 doc/Eqs/dihedral_charmm.aux create mode 100644 doc/Eqs/dihedral_charmm.dvi create mode 100644 doc/Eqs/dihedral_charmm.jpg create mode 100644 doc/Eqs/dihedral_charmm.log create mode 100644 doc/Eqs/dihedral_charmm.tex create mode 100644 doc/Eqs/dihedral_class2.aux create mode 100644 doc/Eqs/dihedral_class2.dvi create mode 100644 doc/Eqs/dihedral_class2.jpg create mode 100644 doc/Eqs/dihedral_class2.log create mode 100644 doc/Eqs/dihedral_class2.tex create mode 100644 doc/Eqs/dihedral_harmonic.aux create mode 100644 doc/Eqs/dihedral_harmonic.dvi create mode 100644 doc/Eqs/dihedral_harmonic.jpg create mode 100644 doc/Eqs/dihedral_harmonic.log create mode 100644 doc/Eqs/dihedral_harmonic.tex create mode 100644 doc/Eqs/dihedral_helix.aux create mode 100644 doc/Eqs/dihedral_helix.dvi create mode 100644 doc/Eqs/dihedral_helix.jpg create mode 100644 doc/Eqs/dihedral_helix.log create mode 100644 doc/Eqs/dihedral_helix.tex create mode 100644 doc/Eqs/dihedral_multiharmonic.aux create mode 100644 doc/Eqs/dihedral_multiharmonic.dvi create mode 100644 doc/Eqs/dihedral_multiharmonic.jpg create mode 100644 doc/Eqs/dihedral_multiharmonic.log create mode 100644 doc/Eqs/dihedral_multiharmonic.tex create mode 100644 doc/Eqs/dihedral_opls.aux create mode 100644 doc/Eqs/dihedral_opls.dvi create mode 100644 doc/Eqs/dihedral_opls.jpg create mode 100644 doc/Eqs/dihedral_opls.log create mode 100644 doc/Eqs/dihedral_opls.tex create mode 100644 doc/Eqs/fix_gyration.jpg create mode 100644 doc/Eqs/fix_gyration.tex create mode 100644 doc/Eqs/fix_orient_fcc.aux create mode 100644 doc/Eqs/fix_orient_fcc.dvi create mode 100644 doc/Eqs/fix_orient_fcc.jpg create mode 100644 doc/Eqs/fix_orient_fcc.log create mode 100644 doc/Eqs/fix_orient_fcc.tex create mode 100644 doc/Eqs/fix_spring_rg.aux create mode 100644 doc/Eqs/fix_spring_rg.dvi create mode 100644 doc/Eqs/fix_spring_rg.jpg create mode 100644 doc/Eqs/fix_spring_rg.log create mode 100644 doc/Eqs/fix_spring_rg.tex create mode 100644 doc/Eqs/fix_wall_lj93.aux create mode 100644 doc/Eqs/fix_wall_lj93.dvi create mode 100644 doc/Eqs/fix_wall_lj93.jpg create mode 100644 doc/Eqs/fix_wall_lj93.log create mode 100644 doc/Eqs/fix_wall_lj93.tex create mode 100644 doc/Eqs/improper_class2.aux create mode 100644 doc/Eqs/improper_class2.dvi create mode 100644 doc/Eqs/improper_class2.jpg create mode 100644 doc/Eqs/improper_class2.log create mode 100644 doc/Eqs/improper_class2.tex create mode 100644 doc/Eqs/improper_cvff.aux create mode 100644 doc/Eqs/improper_cvff.dvi create mode 100644 doc/Eqs/improper_cvff.jpg create mode 100644 doc/Eqs/improper_cvff.log create mode 100644 doc/Eqs/improper_cvff.tex create mode 100644 doc/Eqs/improper_harmonic.aux create mode 100644 doc/Eqs/improper_harmonic.dvi create mode 100644 doc/Eqs/improper_harmonic.jpg create mode 100644 doc/Eqs/improper_harmonic.log create mode 100644 doc/Eqs/improper_harmonic.tex create mode 100644 doc/Eqs/pair_buck.aux create mode 100644 doc/Eqs/pair_buck.dvi create mode 100644 doc/Eqs/pair_buck.jpg create mode 100644 doc/Eqs/pair_buck.log create mode 100644 doc/Eqs/pair_buck.tex create mode 100644 doc/Eqs/pair_charmm.aux create mode 100644 doc/Eqs/pair_charmm.dvi create mode 100644 doc/Eqs/pair_charmm.jpg create mode 100644 doc/Eqs/pair_charmm.log create mode 100644 doc/Eqs/pair_charmm.tex create mode 100644 doc/Eqs/pair_class2.aux create mode 100644 doc/Eqs/pair_class2.dvi create mode 100644 doc/Eqs/pair_class2.jpg create mode 100644 doc/Eqs/pair_class2.log create mode 100644 doc/Eqs/pair_class2.tex create mode 100644 doc/Eqs/pair_coulomb.aux create mode 100644 doc/Eqs/pair_coulomb.dvi create mode 100644 doc/Eqs/pair_coulomb.jpg create mode 100644 doc/Eqs/pair_coulomb.log create mode 100644 doc/Eqs/pair_coulomb.tex create mode 100644 doc/Eqs/pair_debye.aux create mode 100644 doc/Eqs/pair_debye.dvi create mode 100644 doc/Eqs/pair_debye.jpg create mode 100644 doc/Eqs/pair_debye.log create mode 100644 doc/Eqs/pair_debye.tex create mode 100644 doc/Eqs/pair_dpd.aux create mode 100644 doc/Eqs/pair_dpd.dvi create mode 100644 doc/Eqs/pair_dpd.jpg create mode 100644 doc/Eqs/pair_dpd.log create mode 100644 doc/Eqs/pair_dpd.tex create mode 100644 doc/Eqs/pair_eam.aux create mode 100644 doc/Eqs/pair_eam.dvi create mode 100644 doc/Eqs/pair_eam.jpg create mode 100644 doc/Eqs/pair_eam.log create mode 100644 doc/Eqs/pair_eam.tex create mode 100644 doc/Eqs/pair_eam_fs.aux create mode 100644 doc/Eqs/pair_eam_fs.dvi create mode 100644 doc/Eqs/pair_eam_fs.jpg create mode 100644 doc/Eqs/pair_eam_fs.log create mode 100644 doc/Eqs/pair_eam_fs.tex create mode 100644 doc/Eqs/pair_granular.aux create mode 100644 doc/Eqs/pair_granular.dvi create mode 100644 doc/Eqs/pair_granular.jpg create mode 100644 doc/Eqs/pair_granular.log create mode 100644 doc/Eqs/pair_granular.tex create mode 100644 doc/Eqs/pair_lj.aux create mode 100644 doc/Eqs/pair_lj.dvi create mode 100644 doc/Eqs/pair_lj.jpg create mode 100644 doc/Eqs/pair_lj.log create mode 100644 doc/Eqs/pair_lj.tex create mode 100644 doc/Eqs/pair_lj_expand.aux create mode 100644 doc/Eqs/pair_lj_expand.dvi create mode 100644 doc/Eqs/pair_lj_expand.jpg create mode 100644 doc/Eqs/pair_lj_expand.log create mode 100644 doc/Eqs/pair_lj_expand.tex create mode 100644 doc/Eqs/pair_lj_smooth.aux create mode 100644 doc/Eqs/pair_lj_smooth.dvi create mode 100644 doc/Eqs/pair_lj_smooth.jpg create mode 100644 doc/Eqs/pair_lj_smooth.log create mode 100644 doc/Eqs/pair_lj_smooth.tex create mode 100644 doc/Eqs/pair_morse.aux create mode 100644 doc/Eqs/pair_morse.dvi create mode 100644 doc/Eqs/pair_morse.jpg create mode 100644 doc/Eqs/pair_morse.log create mode 100644 doc/Eqs/pair_morse.tex create mode 100644 doc/Eqs/pair_soft.aux create mode 100644 doc/Eqs/pair_soft.dvi create mode 100644 doc/Eqs/pair_soft.jpg create mode 100644 doc/Eqs/pair_soft.log create mode 100644 doc/Eqs/pair_soft.tex create mode 100644 doc/Eqs/pair_yukawa.aux create mode 100644 doc/Eqs/pair_yukawa.dvi create mode 100644 doc/Eqs/pair_yukawa.jpg create mode 100644 doc/Eqs/pair_yukawa.log create mode 100644 doc/Eqs/pair_yukawa.tex create mode 100644 doc/Eqs/stress_tensor.aux create mode 100644 doc/Eqs/stress_tensor.dvi create mode 100644 doc/Eqs/stress_tensor.jpg create mode 100644 doc/Eqs/stress_tensor.log create mode 100644 doc/Eqs/stress_tensor.tex create mode 100644 doc/Manual.html create mode 100644 doc/Manual.pdf create mode 100644 doc/Manual.txt create mode 100644 doc/Section_commands.html create mode 100644 doc/Section_commands.txt create mode 100644 doc/Section_errors.html create mode 100644 doc/Section_errors.txt create mode 100644 doc/Section_example.html create mode 100644 doc/Section_example.txt create mode 100644 doc/Section_history.html create mode 100644 doc/Section_history.txt create mode 100644 doc/Section_howto.html create mode 100644 doc/Section_howto.txt create mode 100644 doc/Section_intro.html create mode 100644 doc/Section_intro.txt create mode 100644 doc/Section_modify.html create mode 100644 doc/Section_modify.txt create mode 100644 doc/Section_perf.html create mode 100644 doc/Section_perf.txt create mode 100644 doc/Section_start.html create mode 100644 doc/Section_start.txt create mode 100644 doc/Section_tools.html create mode 100644 doc/Section_tools.txt create mode 100644 doc/angle_coeff.html create mode 100644 doc/angle_coeff.txt create mode 100644 doc/angle_style.html create mode 100644 doc/angle_style.txt create mode 100644 doc/angle_style_charmm.html create mode 100644 doc/angle_style_charmm.txt create mode 100644 doc/angle_style_class2.html create mode 100644 doc/angle_style_class2.txt create mode 100644 doc/angle_style_cosine.html create mode 100644 doc/angle_style_cosine.txt create mode 100644 doc/angle_style_cosine_squared.html create mode 100644 doc/angle_style_cosine_squared.txt create mode 100644 doc/angle_style_harmonic.html create mode 100644 doc/angle_style_harmonic.txt create mode 100644 doc/angle_style_hybrid.html create mode 100644 doc/angle_style_hybrid.txt create mode 100644 doc/angle_style_none.html create mode 100644 doc/angle_style_none.txt create mode 100644 doc/atom_modify.html create mode 100644 doc/atom_modify.txt create mode 100644 doc/atom_style.html create mode 100644 doc/atom_style.txt create mode 100644 doc/bond_coeff.html create mode 100644 doc/bond_coeff.txt create mode 100644 doc/bond_style.html create mode 100644 doc/bond_style.txt create mode 100644 doc/bond_style_class2.html create mode 100644 doc/bond_style_class2.txt create mode 100644 doc/bond_style_fene.html create mode 100644 doc/bond_style_fene.txt create mode 100644 doc/bond_style_fene_expand.html create mode 100644 doc/bond_style_fene_expand.txt create mode 100644 doc/bond_style_harmonic.html create mode 100644 doc/bond_style_harmonic.txt create mode 100644 doc/bond_style_hybrid.html create mode 100644 doc/bond_style_hybrid.txt create mode 100644 doc/bond_style_morse.html create mode 100644 doc/bond_style_morse.txt create mode 100644 doc/bond_style_none.html create mode 100644 doc/bond_style_none.txt create mode 100644 doc/bond_style_nonlinear.html create mode 100644 doc/bond_style_nonlinear.txt create mode 100644 doc/bond_style_quartic.html create mode 100644 doc/bond_style_quartic.txt create mode 100644 doc/boundary.html create mode 100644 doc/boundary.txt create mode 100644 doc/clear.html create mode 100644 doc/clear.txt create mode 100644 doc/create_atoms.html create mode 100644 doc/create_atoms.txt create mode 100644 doc/create_box.html create mode 100644 doc/create_box.txt create mode 100644 doc/delete_atoms.html create mode 100644 doc/delete_atoms.txt create mode 100644 doc/delete_bonds.html create mode 100644 doc/delete_bonds.txt create mode 100644 doc/dielectric.html create mode 100644 doc/dielectric.txt create mode 100644 doc/dihedral_coeff.html create mode 100644 doc/dihedral_coeff.txt create mode 100644 doc/dihedral_style.html create mode 100644 doc/dihedral_style.txt create mode 100644 doc/dihedral_style_charmm.html create mode 100644 doc/dihedral_style_charmm.txt create mode 100644 doc/dihedral_style_class2.html create mode 100644 doc/dihedral_style_class2.txt create mode 100644 doc/dihedral_style_harmonic.html create mode 100644 doc/dihedral_style_harmonic.txt create mode 100644 doc/dihedral_style_helix.html create mode 100644 doc/dihedral_style_helix.txt create mode 100644 doc/dihedral_style_hybrid.html create mode 100644 doc/dihedral_style_hybrid.txt create mode 100644 doc/dihedral_style_multi_harmonic.html create mode 100644 doc/dihedral_style_multi_harmonic.txt create mode 100644 doc/dihedral_style_none.html create mode 100644 doc/dihedral_style_none.txt create mode 100644 doc/dihedral_style_opls.html create mode 100644 doc/dihedral_style_opls.txt create mode 100644 doc/dimension.html create mode 100644 doc/dimension.txt create mode 100644 doc/dipole.html create mode 100644 doc/dipole.txt create mode 100644 doc/displace_atoms.html create mode 100644 doc/displace_atoms.txt create mode 120000 doc/doc create mode 100644 doc/dump.html create mode 100644 doc/dump.txt create mode 100644 doc/dump_modify.html create mode 100644 doc/dump_modify.txt create mode 100644 doc/echo.html create mode 100644 doc/echo.txt create mode 100644 doc/fix.html create mode 100644 doc/fix.txt create mode 100644 doc/fix_addforce.html create mode 100644 doc/fix_addforce.txt create mode 100644 doc/fix_aveforce.html create mode 100644 doc/fix_aveforce.txt create mode 100644 doc/fix_com.html create mode 100644 doc/fix_com.txt create mode 100644 doc/fix_drag.html create mode 100644 doc/fix_drag.txt create mode 100644 doc/fix_efield.html create mode 100644 doc/fix_efield.txt create mode 100644 doc/fix_enforce2d.html create mode 100644 doc/fix_enforce2d.txt create mode 100644 doc/fix_freeze.html create mode 100644 doc/fix_freeze.txt create mode 100644 doc/fix_gran_diag.html create mode 100644 doc/fix_gran_diag.txt create mode 100644 doc/fix_gravity.html create mode 100644 doc/fix_gravity.txt create mode 100644 doc/fix_gyration.html create mode 100644 doc/fix_gyration.txt create mode 100644 doc/fix_indent.html create mode 100644 doc/fix_indent.txt create mode 100644 doc/fix_insert.html create mode 100644 doc/fix_insert.txt create mode 100644 doc/fix_langevin.html create mode 100644 doc/fix_langevin.txt create mode 100644 doc/fix_lineforce.html create mode 100644 doc/fix_lineforce.txt create mode 100644 doc/fix_modify.html create mode 100644 doc/fix_modify.txt create mode 100644 doc/fix_momentum.html create mode 100644 doc/fix_momentum.txt create mode 100644 doc/fix_msd.html create mode 100644 doc/fix_msd.txt create mode 100644 doc/fix_nph.html create mode 100644 doc/fix_nph.txt create mode 100644 doc/fix_npt.html create mode 100644 doc/fix_npt.txt create mode 100644 doc/fix_nve.html create mode 100644 doc/fix_nve.txt create mode 100644 doc/fix_nve_gran.html create mode 100644 doc/fix_nve_gran.txt create mode 100644 doc/fix_nvt.html create mode 100644 doc/fix_nvt.txt create mode 100644 doc/fix_orient_fcc.html create mode 100644 doc/fix_orient_fcc.txt create mode 100644 doc/fix_planeforce.html create mode 100644 doc/fix_planeforce.txt create mode 100644 doc/fix_poems.html create mode 100644 doc/fix_poems.txt create mode 100644 doc/fix_print.html create mode 100644 doc/fix_print.txt create mode 100644 doc/fix_rdf.html create mode 100644 doc/fix_rdf.txt create mode 100644 doc/fix_recenter.html create mode 100644 doc/fix_recenter.txt create mode 100644 doc/fix_rigid.html create mode 100644 doc/fix_rigid.txt create mode 100644 doc/fix_setforce.html create mode 100644 doc/fix_setforce.txt create mode 100644 doc/fix_shake.html create mode 100644 doc/fix_shake.txt create mode 100644 doc/fix_spring.html create mode 100644 doc/fix_spring.txt create mode 100644 doc/fix_spring_rg.html create mode 100644 doc/fix_spring_rg.txt create mode 100644 doc/fix_spring_self.html create mode 100644 doc/fix_spring_self.txt create mode 100644 doc/fix_temp_rescale.html create mode 100644 doc/fix_temp_rescale.txt create mode 100644 doc/fix_tmd.html create mode 100644 doc/fix_tmd.txt create mode 100644 doc/fix_uniaxial.html create mode 100644 doc/fix_uniaxial.txt create mode 100644 doc/fix_viscous.html create mode 100644 doc/fix_viscous.txt create mode 100644 doc/fix_volume_rescale.html create mode 100644 doc/fix_volume_rescale.txt create mode 100644 doc/fix_wall_gran.html create mode 100644 doc/fix_wall_gran.txt create mode 100644 doc/fix_wall_lj93.html create mode 100644 doc/fix_wall_lj93.txt create mode 100644 doc/fix_wall_reflect.html create mode 100644 doc/fix_wall_reflect.txt create mode 100644 doc/fix_wiggle.html create mode 100644 doc/fix_wiggle.txt create mode 100644 doc/group.html create mode 100644 doc/group.txt create mode 100644 doc/improper_coeff.html create mode 100644 doc/improper_coeff.txt create mode 100644 doc/improper_style.html create mode 100644 doc/improper_style.txt create mode 100644 doc/improper_style_class2.html create mode 100644 doc/improper_style_class2.txt create mode 100644 doc/improper_style_cvff.html create mode 100644 doc/improper_style_cvff.txt create mode 100644 doc/improper_style_harmonic.html create mode 100644 doc/improper_style_harmonic.txt create mode 100644 doc/improper_style_hybrid.html create mode 100644 doc/improper_style_hybrid.txt create mode 100644 doc/improper_style_none.html create mode 100644 doc/improper_style_none.txt create mode 100644 doc/include.html create mode 100644 doc/include.txt create mode 100644 doc/jump.html create mode 100644 doc/jump.txt create mode 100644 doc/kspace_modify.html create mode 100644 doc/kspace_modify.txt create mode 100644 doc/kspace_style.html create mode 100644 doc/kspace_style.txt create mode 100644 doc/label.html create mode 100644 doc/label.txt create mode 100644 doc/lattice.html create mode 100644 doc/lattice.txt create mode 100644 doc/log.html create mode 100644 doc/log.txt create mode 100644 doc/mass.html create mode 100644 doc/mass.txt create mode 100644 doc/min_modify.html create mode 100644 doc/min_modify.txt create mode 100644 doc/min_style.html create mode 100755 doc/min_style.txt create mode 100644 doc/minimize.html create mode 100644 doc/minimize.txt create mode 100644 doc/neigh_modify.html create mode 100644 doc/neigh_modify.txt create mode 100644 doc/neighbor.html create mode 100644 doc/neighbor.txt create mode 100644 doc/newton.html create mode 100644 doc/newton.txt create mode 100644 doc/next.html create mode 100644 doc/next.txt create mode 100644 doc/orient.html create mode 100644 doc/orient.txt create mode 100644 doc/origin.html create mode 100644 doc/origin.txt create mode 100644 doc/pair_coeff.html create mode 100644 doc/pair_coeff.txt create mode 100644 doc/pair_modify.html create mode 100644 doc/pair_modify.txt create mode 100644 doc/pair_style.html create mode 100644 doc/pair_style.txt create mode 100644 doc/pair_style_buck.html create mode 100644 doc/pair_style_buck.txt create mode 100644 doc/pair_style_charmm.html create mode 100644 doc/pair_style_charmm.txt create mode 100644 doc/pair_style_class2.html create mode 100644 doc/pair_style_class2.txt create mode 100644 doc/pair_style_dipole.html create mode 100644 doc/pair_style_dipole.txt create mode 100644 doc/pair_style_dpd.html create mode 100644 doc/pair_style_dpd.txt create mode 100644 doc/pair_style_eam.html create mode 100644 doc/pair_style_eam.txt create mode 100644 doc/pair_style_gran.html create mode 100644 doc/pair_style_gran.txt create mode 100644 doc/pair_style_hybrid.html create mode 100644 doc/pair_style_hybrid.txt create mode 100644 doc/pair_style_lj.html create mode 100644 doc/pair_style_lj.txt create mode 100644 doc/pair_style_lj_expand.html create mode 100644 doc/pair_style_lj_expand.txt create mode 100644 doc/pair_style_lj_smooth.html create mode 100644 doc/pair_style_lj_smooth.txt create mode 100644 doc/pair_style_morse.html create mode 100644 doc/pair_style_morse.txt create mode 100644 doc/pair_style_none.html create mode 100644 doc/pair_style_none.txt create mode 100644 doc/pair_style_soft.html create mode 100644 doc/pair_style_soft.txt create mode 100644 doc/pair_style_table.html create mode 100644 doc/pair_style_table.txt create mode 100644 doc/pair_style_yukawa.html create mode 100644 doc/pair_style_yukawa.txt create mode 100644 doc/pair_write.html create mode 100644 doc/pair_write.txt create mode 100644 doc/print.html create mode 100644 doc/print.txt create mode 100644 doc/processors.html create mode 100644 doc/processors.txt create mode 100644 doc/read_data.html create mode 100644 doc/read_data.txt create mode 100644 doc/read_restart.html create mode 100644 doc/read_restart.txt create mode 100644 doc/region.html create mode 100644 doc/region.txt create mode 100644 doc/replicate.html create mode 100644 doc/replicate.txt create mode 100644 doc/reset_timestep.html create mode 100644 doc/reset_timestep.txt create mode 100644 doc/restart.html create mode 100644 doc/restart.txt create mode 100644 doc/run.html create mode 100644 doc/run.txt create mode 100644 doc/run_style.html create mode 100644 doc/run_style.txt create mode 100644 doc/set.html create mode 100644 doc/set.txt create mode 100644 doc/shell.html create mode 100644 doc/shell.txt create mode 100644 doc/special_bonds.html create mode 100644 doc/special_bonds.txt create mode 100644 doc/temp_modify.html create mode 100644 doc/temp_modify.txt create mode 100644 doc/temper.html create mode 100644 doc/temper.txt create mode 100644 doc/temperature.html create mode 100644 doc/temperature.txt create mode 100644 doc/thermo.html create mode 100644 doc/thermo.txt create mode 100644 doc/thermo_modify.html create mode 100644 doc/thermo_modify.txt create mode 100644 doc/thermo_style.html create mode 100644 doc/thermo_style.txt create mode 100644 doc/timestep.html create mode 100644 doc/timestep.txt create mode 100644 doc/undump.html create mode 100644 doc/undump.txt create mode 100644 doc/unfix.html create mode 100644 doc/unfix.txt create mode 100644 doc/units.html create mode 100644 doc/units.txt create mode 100644 doc/variable.html create mode 100644 doc/variable.txt create mode 100644 doc/velocity.html create mode 100644 doc/velocity.txt create mode 100644 doc/write_restart.html create mode 100644 doc/write_restart.txt diff --git a/doc/2001/README.html b/doc/2001/README.html new file mode 100644 index 0000000000..d36aa917aa --- /dev/null +++ b/doc/2001/README.html @@ -0,0 +1,174 @@ + + + + + + +

+LAMMPS

+

+LAMMPS = Large-scale Atomic/Molecular Massively Parallel Simulator

+

+This is the documentation for the LAMMPS 2001 version, written in F90, +which has been superceded by more current versions. See the LAMMPS WWW +Site for more information. +

+LAMMPS is a classical molecular dynamics code designed for simulating +molecular and atomic systems on parallel computers using +spatial-decomposition techniques. It runs on any parallel platform that +supports F90 and the MPI message-passing library or on single-processor +workstations.

+

+LAMMPS 2001 is copyrighted code that is distributed freely as +open-source software under the GNU Public License (GPL). See the +LICENSE file or www.gnu.org for more +details. Basically the GPL allows you as a user to use, modify, or +distribute LAMMPS however you wish, so long as any software you +distribute remains under the GPL. +

+Features of LAMMPS 2001 include:

+ +

+For users of LAMMPS 99, this version is written in F90 to take +advantage of dynamic memory allocation. This means the user does not +have to fiddle with parameter settings and re-compile the code so +often for different problems. This enhancment means there are new +rules for the ordering of commands in a LAMMPS input script, as well +as a few new commands to guide the memory allocator. Users should read +the beginning sections of the input_commands file for an +explanation.

+

+More details about the code can be found here, in the HTML- or text-based +documentation. The LAMMPS Web page is at www.cs.sandia.gov/~sjplimp/lammps.html +, which includes benchmark timings and a list of papers written using +LAMMPS results. They illustrate the kinds of scientific problems that +can be modeled with LAMMPS. These two papers describe the parallel +algorithms used in the code. Please cite these if you incorporate +LAMMPS results in your work. And if you send me citations for your +papers, I'll be pleased to add them to the LAMMPS WWW page. +

+

+S. J. Plimpton, R. Pollock, M. Stevens, "Particle-Mesh Ewald and +rRESPA for Parallel Molecular Dynamics Simulations", in Proc of +the Eighth SIAM Conference on Parallel Processing for Scientific +Computing, Minneapolis, MN, March 1997.

+

+S. J. Plimpton, "Fast Parallel Algorithms for Short-Range Molecular Dynamics", J Comp Phys, 117, 1-19 (1995).

+

+LAMMPS was originally developed as part of a 5-way CRADA collaboration +between 3 industrial partners (Cray Research, Bristol-Myers Squibb, and +Dupont) and 2 DoE laboratories (Sandia National Laboratories and +Lawrence Livermore National Laboratories).

+

+The primary author of LAMMPS is Steve Plimpton, but others have written +or worked on significant portions of the code:

+ +

+Other CRADA partners involved in the design and testing of LAMMPS are

+ +

+If you have questions about LAMMPS, please contact me: +

+
+
+ Steve Plimpton +
+ sjplimp@sandia.gov +
+ www.cs.sandia.gov/~sjplimp +
+ Sandia National Labs +
+ Albuquerque, NM 87185 +
+
+

+More Information about LAMMPS

+ +
  • + Basics + +
  • + how to make, run, and test LAMMPS with the example problems +
  • +
  • + Input Commands + +
  • + a complete listing of input commands used by LAMMPS +
  • +
  • + Data Format + +
  • + the data file format used by LAMMPS +
  • +
  • + Force Fields + +
  • + the equations LAMMPS uses to compute force-fields +
  • +
  • + Units + +
  • + the input/output and internal units for LAMMPS variables +
  • +
  • + History + +
  • + a brief timeline of features added to LAMMPS +
  • +
  • + Deficiencies + +
  • + features LAMMPS does not (yet) have +
  • +
  • + + diff --git a/doc/2001/basics.html b/doc/2001/basics.html new file mode 100644 index 0000000000..24ac6de4ca --- /dev/null +++ b/doc/2001/basics.html @@ -0,0 +1,224 @@ + + + + + + +

    +Basics of Using LAMMPS

    +

    +Return to top-level of LAMMPS documentation.

    + +
    +

    +Distribution

    +

    +When you unzip/untar the LAMMPS distribution you should have several +directories:

    + +
    +

    +Making LAMMPS

    +

    +The src directory contains the F90 and C source files for LAMMPS as +well as several sample Makefiles for different machines. To make LAMMPS +for a specfic machine, you simply type

    +

    +make machine

    +

    +from within the src directoy. E.g. "make sgi" or "make t3e". This +should create an executable such as lmp_sgi or lmp_t3e. For optimal +performance you'll want to use a good F90 compiler to make LAMMPS; on +Linux boxes I've been told the Leahy F90 compiler is a good choice. +(If you don't have an F90 compiler, I can give you an older F77-based +version of LAMMPS 99, but you'll lose the dynamic memory and some +other new features in LAMMPS 2001.)

    +

    +In the src directory, there is one top-level Makefile and several +low-level machine-specific files named Makefile.xxx where xxx = the +machine name. If a low-level Makefile exists for your platform, you do +not need to edit the top-level Makefile. However you should check the +system-specific section of the low-level Makefile to insure the +various paths are correct for your environment. If a low-level +Makefile does not exist for your platform, you will need to add a +suitable target to the top-level Makefile. You will also need to +create a new low-level Makefile using one of the existing ones as a +template. If you wish to make LAMMPS for a single-processor +workstation that doesn't have an installed MPI library, you can +specify the "serial" target which uses a directory of MPI stubs to +link against - e.g. "make serial". You will need to make the +stub library (type "make" in STUBS directory) for your +workstation before doing this.

    +

    +Note that the two-level Makefile system allows you to make LAMMPS for +multiple platforms. Each target creates its own object directory for +separate storage of its *.o files.

    +

    +There are a few compiler switches of interest which can be specified +in the low-level Makefiles. If you use a F90FLAGS switch of -DSYNC +then synchronization calls will be made before the timing routines in +integrate.f. This may slow down the code slightly, but will make the +individual timings reported at the end of a run more accurate. The +F90FLAGS setting of -DSENDRECV will use MPI_Sendrecv calls for data +exchange between processors instead of MPI_Irecv, MPI_Send, +MPI_Wait. Sendrecv is often slower, but on some platforms can be +faster, so it is worth trying, particularly if your communication +timings seem slow.

    +

    +The CCFLAGS setting in the low-level Makefiles requires a FFT setting, +for example -DFFT_SGI or -DFFT_T3E. This is for inclusion of the +appropriate machine-specific native 1-d FFT libraries on various +platforms. Currently, the supported machines and switches (used in +fft_3d.c) are FFT_SGI, FFT_DEC, FFT_INTEL, FFT_T3E, and FFT_FFTW. The +latter is a publicly available portable FFT library, FFTW, which you can install on any +machine. If none of these options is suitable for your machine, please +contact me, and we'll discuss how to add the capability to call your +machine's native FFT library. You can also use FFT_NONE if you have no +need to use the PPPM option in LAMMPS.

    +

    +For Linux and T3E compilation, there is a also a CCFLAGS setting for KLUDGE +needed (see Makefile.linux and Makefile.t3e). This is to enable F90 to +call C with appropriate underscores added to C function names. +


    +

    +Running LAMMPS

    +

    +LAMMPS is run by redirecting a text file (script) of input commands into it.

    +

    +lmp_sgi < in.lj

    +

    +lmp_t3e < in.lj

    +

    +The script file contains commands that specify the parameters for the +simulation as well as to read other necessary files such as a data file +that describes the initial atom positions, molecular topology, and +force-field parameters. The input_commands + page describes all the possible commands that can be used. The data_format page describes the format of +the data file.

    +

    +LAMMPS can be run on any number of processors, including a single +processor. In principle you should get identical answers on any number +of processors and on any machine. In practice, numerical round-off can +cause slight differences and eventual divergence of dynamical +trajectories.

    +

    +When LAMMPS runs, it estimates the array sizes it should allocate based +on the problem you are simulating and the number of processors you +are running on. If you run out of physical memory, you will get a F90 +allocation error and the code should hang or crash. The only thing you +can do about this is run on more processors or run a smaller problem. If +you get an error message to the screen about "boosting" +something, it means LAMMPS under-estimated the size needed for one (or +more) data arrays. The "extra memory" command can be used in +the input script to augment these sizes at run time. A few arrays are +hard-wired to sizes that should be sufficient for most users. These are +specified with parameter settings in the global.f file. If you get a +message to "boost" one of these parameters you will have to +change it and re-compile LAMMPS.

    +

    +Some LAMMPS errors are detected at setup; others like neighbor list +overflow may not occur until the middle of a run. Except for F90 +allocation errors which may cause the code to hang (with an error +message) since only one processor may incur the error, LAMMPS should +always print a message to the screen and exit gracefully when it +encounters a fatal error. If the code ever crashes or hangs without +spitting out an error message first, it's probably a bug, so let me +know about it. Of course this applies to algorithmic or parallelism +issues, not to physics mistakes, like specifying too big a timestep or +putting 2 atoms on top of each other! One exception is that different +MPI implementations handle buffering of messages differently. If the +code hangs without an error message, it may be that you need to +specify an MPI setting or two (usually via an environment variable) to +enable buffering or boost the sizes of messages that can be +buffered.

    +
    +

    +Examples

    +

    +There are several directories of sample problems in the examples +directory. All of them use an input file (in.*) of commands and a data +file (data.*) of initial atomic coordinates and produce one or more +output files. Sample outputs on different machines and numbers of +processors are included to compare your answers to. See the README +file in the examples sub-directory for more information on what LAMMPS +features the examples illustrate.

    +

    +(1) lj = atomic simulations of Lennard-Jones systems. +

    +(2) class2 = phenyalanine molecule using the DISCOVER cff95 class 2 +force field. +

    +(3) lc = liquid crystal molecules with various Coulombic options and +periodicity settings. +

    +(4) flow = 2d flow of Lennard-Jones atoms in a channel using various +constraint options. +

    +(5) polymer = bead-spring polymer models with one or two chain types. +

    +
    +

    +Other Tools

    +

    +The converters directory has source code and scripts for tools that +perform input/output file conversions between MSI Discover, AMBER, and +LAMMPS formats. See the README files for the individual tools for +additional information. +

    +The tools directory has several serial programs that create and +massage LAMMPS data files. +

    +(1) setup_chain.f = create a data file of polymer bead-spring chains +

    +(2) setup_lj.f = create a data file of an atomic LJ mixture of species +

    +(3) setup_flow_2d.f = create a 2d data file of LJ particles with walls for + a flow simulation +

    +(4) replicate.c = replicate or scale an existing data file into a new one +

    +(5) peek_restart.f = print-out info from a binary LAMMPS restart file +

    +(6) restart2data.f = convert a binary LAMMPS restart file into a text data file +

    +See the comments at the top of each source file for information on how +to use the tool. +


    +

    +Extending LAMMPS

    +

    +User-written routines can be compiled and linked with LAMMPS, then +invoked with the "diagnostic" command as LAMMPS runs. These routines +can be used for on-the-fly diagnostics or a variety of other purposes. +The examples/lc directory shows an example of using the diagnostic +command with the in.lc.big.fixes input script. A sample diagnostic +routine is given there also: diagnostic_temp_molecules.f. + + diff --git a/doc/2001/data_format.html b/doc/2001/data_format.html new file mode 100644 index 0000000000..0fe7f1a8f4 --- /dev/null +++ b/doc/2001/data_format.html @@ -0,0 +1,250 @@ + + + + + + +

    +LAMMPS Data Format

    +

    +Return to top-level of LAMMPS documentation

    +

    +This file describes the format of the data file read into LAMMPS with +the "read data" command. The data file contains basic +information about the size of the problem to be run, the initial atomic +coordinates, molecular topology, and (optionally) force-field +coefficients. It will be easiest to understand this file if you read it +while looking at a sample data file from the examples.

    +

    +This page has 2 sections:

    + +
    +

    +Rules for formatting the Data File:

    +

    +Blank lines are important. After the header section, new entries are +separated by blank lines.

    +

    +Indentation and space between words/numbers on one line is not +important except that keywords (e.g. Masses, Bond Coeffs) must be +left-justified and capitalized as shown.

    +

    +The header section (thru box bounds) must appear first in the file, the +remaining entries (Masses, various Coeffs, Atoms, Bonds, etc) can come +in any order.

    +

    +These entries must be in the file: header section, Masses, Atoms.

    +

    +These entries must be in the file if there are a non-zero number of +them: Bonds, Angles, Dihedrals, Impropers. Force field coefficients +can be specified in the input script, so do not have to appear in the +data file. The one exception to this is class 2 force field +coefficients which can only be specified in the data file. +

    +The Nonbond Coeffs entry contains one line for each atom type. These +are the coefficients for an interaction between 2 atoms of the same +type. The cross-type coeffs are computed by the appropriate class I or +class II mixing rules, or can be specified explicitly using the +"nonbond coeff" command in the input command script. See the force_fields page for more information.

    +

    +In the Atoms entry, the atoms can be in any order so long as there are +N entries. The 1st number on the line is the atom-tag (number from 1 to +N) which is used to identify the atom throughout the simulation. The +molecule-tag is a second identifier which is attached to the atom; it +can be 0, or a counter for the molecule the atom is part of, or any +other number you wish. The q value is the charge of the atom in +electron units (e.g. +1 for a proton). The xyz values are the initial +position of the atom. For 2-d simulations specify z as 0.0.

    +

    +The final 3 nx,ny,nz values on a line of the Atoms entry are optional. +LAMMPS only reads them if the "true flag" command is +specified in the input command script. Otherwise they are initialized +to 0 by LAMMPS. Their meaning, for each dimension, is that +"n" box-lengths are added to xyz to get the atom's +"true" un-remapped position. This can be useful in pre- or +post-processing to enable the unwrapping of long-chained molecules +which wind thru the periodic box one or more times. The value of +"n" can be positive, negative, or zero. For 2-d simulations +specify nz as 0.

    +

    +Atom velocities are initialized to 0.0 if there is no Velocities entry. +In the Velocities entry, the atoms can be in any order so long as there +are N entries. The 1st number on the line is the atom-tag (number from +1 to N) which is used to identify the atom which the given velocity +will be assigned to.

    +

    +Entries for Velocities, Bonds, Angles, Dihedrals, Impropers must appear +in the file after an Atoms entry.

    +

    +For simulations with periodic boundary conditions, xyz coords are +remapped into the periodic box (from as far away as needed), so the +initial coordinates need not be inside the box. The nx,ny,nz values +(as read in or as set to zero by LAMMPS) are appropriately adjusted by +this remapping.

    +

    +The number of coefficients specified on each line of coefficient +entries (Nonbond Coeffs, Bond Coeffs, etc) depends on the +"style" of interaction. This must be specified in the input +command script before the "read data" command is issued, unless the +default is used. See the input_commands page for a description +of the various style options. The input_commands + and force_fields pages explain the +meaning and valid values for each of the coefficients.

    +
    +

    +Sample file with Annotations

    +

    +Here is a sample file with annotations in parenthesis and lengthy +sections replaced by dots (...). Note that the blank lines are +important in this example.

    +
    +
    +LAMMPS Description           (1st line of file)
    +
    +100 atoms         (this must be the 3rd line, 1st 2 lines are ignored)
    +95 bonds                (# of bonds to be simulated)
    +50 angles               (include these lines even if number = 0)
    +30 dihedrals
    +20 impropers
    +
    +5 atom types           (# of nonbond atom types)
    +10 bond types          (# of bond types = sets of bond coefficients)
    +18 angle types         
    +20 dihedral types      (do not include a bond,angle,dihedral,improper type
    +2 improper types             line if number of bonds,angles,etc is 0)
    +
    +-0.5 0.5 xlo xhi       (for periodic systems this is box size,
    +-0.5 0.5 ylo yhi        for non-periodic it is min/max extent of atoms)
    +-0.5 0.5 zlo zhi       (do not include this line for 2-d simulations)
    +
    +Masses
    +
    +  1 mass
    +  ...
    +  N mass                           (N = # of atom types)
    +
    +Nonbond Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of atom types)
    +
    +Bond Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of bond types)
    +
    +Angle Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of angle types)
    +
    +Dihedral Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +Improper Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of improper types)
    +
    +BondBond Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of angle types)
    +
    +BondAngle Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of angle types)
    +
    +MiddleBondTorsion Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +EndBondTorsion Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +AngleTorsion Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +AngleAngleTorsion Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +BondBond13 Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +AngleAngle Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of improper types)
    +
    +Atoms
    +
    +  1 molecule-tag atom-type q x y z nx ny nz  (nx,ny,nz are optional -
    +  ...                                    see "true flag" input command)
    +  ...                
    +  N molecule-tag atom-type q x y z nx ny nz  (N = # of atoms)
    +
    +Velocities
    +
    +  1 vx vy vz
    +  ...
    +  ...                
    +  N vx vy vz                        (N = # of atoms)
    +
    +Bonds
    +
    +  1 bond-type atom-1 atom-2
    +  ...
    +  N bond-type atom-1 atom-2         (N = # of bonds)
    +
    +Angles
    +
    +  1 angle-type atom-1 atom-2 atom-3  (atom-2 is the center atom in angle)
    +  ...
    +  N angle-type atom-1 atom-2 atom-3  (N = # of angles)
    +
    +Dihedrals
    +
    +  1 dihedral-type atom-1 atom-2 atom-3 atom-4  (atoms 2-3 form central bond)
    +  ...
    +  N dihedral-type atom-1 atom-2 atom-3 atom-4  (N = # of dihedrals)
    +
    +Impropers
    +
    +  1 improper-type atom-1 atom-2 atom-3 atom-4  (atom-2 is central atom)
    +  ...
    +  N improper-type atom-1 atom-2 atom-3 atom-4  (N = # of impropers)
    +
    + + diff --git a/doc/2001/deficiencies.html b/doc/2001/deficiencies.html new file mode 100644 index 0000000000..2b197e9cce --- /dev/null +++ b/doc/2001/deficiencies.html @@ -0,0 +1,42 @@ + + + + + + +

    +LAMMPS Deficiencies

    +

    +Return to top-level of LAMMPS documentation.

    +

    +This is a brief list of features lacking in the current version of +LAMMPS. Some of these deficiencies are because of lack of +time/interest; others are just hard!

    + + + diff --git a/doc/2001/force_fields.html b/doc/2001/force_fields.html new file mode 100644 index 0000000000..c0d5d73f3c --- /dev/null +++ b/doc/2001/force_fields.html @@ -0,0 +1,681 @@ + + + + + + +

    +LAMMPS Force Fields

    +

    +Return to top-level of LAMMPS documentation

    +

    +This file outlines the force-field formulas used in LAMMPS. Read this +file in conjunction with the data_format + and units files.

    +

    +The sections of this page are as follows:

    + +
    +

    +Nonbond Coulomb

    +

    +Whatever Coulomb style is specified in the input command file, the +short-range Coulombic interactions are computed by this formula, +modified by an appropriate smoother for the smooth, Ewald, PPPM, +charmm, and debye styles.

    +
    +  E = C q1 q2 / (epsilon * r)
    +
    +  r = distance (computed by LAMMPS)
    +  C = hardwired constant to convert to energy units
    +  q1,q2 = charge of each atom in electron units (proton = +1),
    +    specified in "Atoms" entry in data file
    +  epsilon = dielectric constant (vacuum = 1.0),
    +    set by user in input command file
    +
    +For the debye style, the smoother is exp(-kappa*r) where kappa is an +input parameter. +
    +

    +Nonbond Lennard-Jones

    +

    +The style of nonbond potential is specified in the input command file.

    +

    +(1) lj/cutoff

    +
    +
    +  E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]
    +
    +  standard Lennard Jones potential
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = sigma (distance)
    +
    +  2 coeffs are listed in data file or set in input script
    +  1 cutoff is set in input script
    +
    +
    +

    +(2) lj/switch

    +
    +
    +  E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]  for  r < r_inner
    +    = spline fit    for  r_inner < r < cutoff
    +    = 0             for r > cutoff
    +
    +  switching function (spline fit) is applied to standard LJ
    +    within a switching region (from r_inner to cutoff) so that
    +    energy and force go smoothly to zero
    +  spline coefficients are computed by LAMMPS
    +    so that at inner cutoff (r_inner) the potential, force, 
    +    and 1st-derivative of force are all continuous, 
    +    and at outer cutoff (cutoff) the potential and force
    +    both go to zero
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = sigma (distance)
    +  
    +  2 coeffs are listed in data file or set in input script
    +  2 cutoffs (r_inner and cutoff) are set in input script
    +
    +
    +

    +(3) lj/shift

    +
    +
    +  E = 4 epsilon [ (sigma/(r - delta))^12 - (sigma/(r - delta))^6 ]
    +
    +  same as lj/cutoff except that r is shifted by delta
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = sigma (distance)
    +  coeff3 = delta (distance)
    +
    +  3 coeffs are listed in data file or set in input script
    +  1 cutoff is set in input script
    +
    +
    +

    +(4) soft

    +
    +
    +  E = A * [ 1 + cos( pi * r / cutoff ) ]
    +
    +  useful for pushing apart overlapping atoms by ramping A over time
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = prefactor A at start of run (energy)
    +  coeff2 = prefactor A at end of run (energy)
    +
    +  2 coeffs are listed in data file or set in input script
    +  1 cutoff is set in input script
    +
    +
    +

    +(5) class2/cutoff

    +
    +
    +  E = epsilon [ 2 (sigma/r)^9 - 3 (sigma/r)^6 ]
    +
    +  used with class2 bonded force field
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = sigma (distance)
    +
    +  2 coeffs are listed in data file or set in input script
    +  1 cutoff is set in input script
    +
    +

    +6) lj/charmm

    +
    +
    +  E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]  for  r < r_inner
    +    = switch * E    for  r_inner < r < cutoff
    +    = 0             for r > cutoff
    +
    +  where 
    +
    +  switch = [(cutoff^2 - r^2)^2 * (cutoff^2 + 2*r^2 - 3*r_inner)] /
    +           [(cutoff^2 - r_inner^2)^3]
    +
    +  switching function is applied to standard LJ
    +    within a switching region (from r_inner to cutoff) so that
    +    energy and force go smoothly to zero
    +  switching function causes that at inner cutoff (r_inner)
    +    the potential and force are continuous, 
    +    and at outer cutoff (cutoff) the potential and force
    +    both go to zero
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = sigma (distance)
    +  coeff3 = epsilon for 1-4 interactions (energy)
    +  coeff4 = sigma for 1-4 interactions (distance)
    +  
    +  4 coeffs are listed in data file or set in input script
    +  2 cutoffs (r_inner and cutoff) are set in input script
    +
    +
    +

    +Mixing Rules for Lennard-Jones

    +

    +The coefficients for each nonbond style are input in either the data +file by the "read data" command or in the input script using +the "nonbond coeff" command. In the former case, only one set +of coefficients is input for each atom type. The cross-type coeffs are +computed using one of three possible mixing rules:

    +
    +
    + geometric:  epsilon_ij = sqrt(epsilon_i * epsilon_j)
    +             sigma_ij = sqrt(sigma_i * sigma_j)
    +
    + arithmetic: epsilon_ij = sqrt(epsilon_i * epsilon_j)
    +             sigma_ij = (sigma_i + sigma_j) / 2
    +
    + sixthpower: epsilon_ij =
    +               (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
    +               (sigma_i^6 + sigma_j^6)
    +             sigma_ij=  ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6)
    +
    +
    +

    +The default mixing rule for nonbond styles lj/cutoff, lj/switch, +lj/shift, and soft is "geometric". The default for nonbond +style class2/cutoff is "sixthpower".

    +

    +The default can be overridden using the "mixing style" +command. Two exceptions to this are for the nonbond style soft, for +which only an epsilon prefactor is input. This is always mixed +geometrically. Also, for nonbond style lj/shift, the delta +coefficient is always mixed using the rule

    + +
    +

    +Bonds

    +

    +The style of bond potential is specified in the input command file.

    +

    +(1) harmonic

    +
    +
    +  E = K (r - r0)^2
    +
    +  standard harmonic spring
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = K (energy/distance^2)  (the usual 1/2 is included in the K)
    +  coeff2 = r0 (distance)
    +
    +  2 coeffs are listed in data file or set in input script
    +
    +
    +

    +(2) FENE/standard

    +
    +
    +  E = -0.5 K R0^2 * ln[1 - (r/R0)^2] +
    +    4 epsilon [(sigma/r)^12 - (sigma/r)^6] + epsilon
    +
    +  finite extensible nonlinear elastic (FENE) potential for
    +    polymer bead-spring models
    +  see Kremer, Grest, J Chem Phys, 92, p 5057 (1990)
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = K (energy/distance^2)
    +  coeff2 = R0 (distance)
    +  coeff3 = epsilon (energy)
    +  coeff4 = sigma (distance)
    +
    +  1st term is attraction, 2nd term is repulsion (shifted LJ)
    +  1st term extends to R0
    +  2nd term only extends to the minimum of the LJ potential,
    +    a cutoff distance computed by LAMMPS (2^(1/6) * sigma)
    +
    +  4 coeffs are listed in data file or set in input script
    +
    +
    +

    +(3) FENE/shift

    +
    +
    +  E = -0.5 K R0^2 * ln[1 - ((r - delta)/R0)^2] +
    +    4 epsilon [(sigma/(r - delta))^12 - (sigma/(r - delta))^6] + epsilon
    +
    +  same as FENE/standard expect that r is shifted by delta
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = K (energy/distance^2)
    +  coeff2 = R0 (distance)
    +  coeff3 = epsilon (energy)
    +  coeff4 = sigma (distance)
    +  coeff5 = delta (distance)
    +
    +  1st term is attraction, 2nd term is repulsion (shifted LJ)
    +  1st term extends to R0
    +  2nd term only extends to the minimum of the LJ potential,
    +    a cutoff distance computed by LAMMPS (2^(1/6) * sigma + delta)
    +
    +  5 coeffs are listed in data file or set in input script
    +
    +
    +

    +(4) nonlinear

    +
    +
    +  E = epsilon (r - r0)^2 / [ lamda^2 - (r - r0)^2 ]
    +
    +  non-harmonic spring of equilibrium length r0
    +    with finite extension of lamda
    +  see Rector, Van Swol, Henderson, Molecular Physics, 82, p 1009 (1994)
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = r0 (distance)
    +  coeff3 = lamda (distance)
    +
    +  3 coeffs are listed in data file or set in input script
    +
    +
    +

    +(5) class2

    +
    +
    +  E = K2 (r - r0)^2  +  K3 (r - r0)^3  +  K4 (r - r0)^4
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = r0 (distance)
    +  coeff2 = K2 (energy/distance^2)
    +  coeff3 = K3 (energy/distance^3)
    +  coeff4 = K4 (energy/distance^4)
    +
    +  4 coeffs are listed in data file - cannot be set in input script
    +
    +
    +

    +Angles

    +

    +The style of angle potential is specified in the input command file.

    +

    +(1) harmonic

    +
    +
    +  E = K (theta - theta0)^2
    +
    +  theta = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
    +  coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
    +
    +  2 coeffs are listed in data file or set in input script
    +
    +
    +

    +(2) class2

    +
    +
    +  E = K2 (theta - theta0)^2 +  K3 (theta - theta0)^3 + 
    +       K4 (theta - theta0)^4
    +
    +  theta = radians (computed by LAMMPS)
    +
    +  coeff1 = theta0 (degrees) (converted to radians within LAMMPS)
    +  coeff2 = K2 (energy/radian^2)
    +  coeff3 = K3 (energy/radian^3)
    +  coeff4 = K4 (energy/radian^4)
    +
    +  4 coeffs are listed in data file - cannot be set in input script
    +
    +
    +

    +(3) charmm

    +
    +  (harmonic + Urey-Bradley)
    +
    +  E = K (theta - theta0)^2 + K_UB (r_13 - r_UB)^2
    +
    +  theta = radians (computed by LAMMPS)
    +  r_13 = distance (computed by LAMMPS)
    +
    +  coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
    +  coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
    +  coeff3 = K_UB (energy/distance^2)
    +  coeff4 = r_UB (distance)
    +
    +  4 coeffs are listed in data file or set in input script
    +
    +
    +

    +(4) cosine

    +
    +  E = K (1 + cos(theta))
    +
    +  theta = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy)
    +
    +  1 coeff is listed in data file or set in input script
    +
    +
    +

    +Dihedrals

    +

    +The style of dihedral potential is specified in the input command +file. IMPORTANT NOTE for all these dihedral styles: in the LAMMPS +force field the trans position = 180 degrees, while in some force +fields trans = 0 degrees.

    + +

    +(1) harmonic

    +
    +
    +  E = K [1 + d * cos (n*phi) ]
    +
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy)
    +  coeff2 = d (+1 or -1)
    +  coeff3 = n (1,2,3,4,6)
    +
    +  Additional cautions when comparing to other force fields:
    +
    +  some force fields reverse the sign convention on d so that
    +    E = K [1 - d * cos(n*phi)]
    +  some force fields divide/multiply K by the number of multiple
    +    torsions that contain the j-k bond in an i-j-k-l torsion
    +  some force fields let n be positive or negative which 
    +    corresponds to d = 1,-1
    + 
    +  3 coeffs are listed in data file or set in input script
    +
    +

    +(2) class2

    +
    +
    +  E = SUM(n=1,3) { K_n [ 1 - cos( n*Phi - Phi0_n ) ] }
    +
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = K_1 (energy)
    +  coeff2 = Phi0_1 (degrees) (converted to radians within LAMMPS)
    +  coeff3 = K_2 (energy)
    +  coeff4 = Phi0_2 (degrees) (converted to radians within LAMMPS)
    +  coeff5 = K_3 (energy)
    +  coeff6 = Phi0_3 (degrees) (converted to radians within LAMMPS)
    +
    +  6 coeffs are listed in data file - cannot be set in input script
    +
    +

    +(3) multiharmonic

    +
    +
    +  E = SUM(n=1,5) { A_n * cos(Phi)^(n-1) }
    +
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = A_1
    +  coeff2 = A_2
    +  coeff3 = A_3
    +  coeff4 = A_4
    +  coeff5 = A_5
    +
    +  5 coeffs are listed in data file or set in input script
    +
    +

    +(4) charmm

    +
    +(harmonic + 1-4 interactions)
    +
    +  E = K [1 + cos (n*phi + d) ]
    +
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy)
    +  coeff2 = n (1,2,3,4,6)
    +  coeff3 = d (0 or 180 degrees) (converted to radians within LAMMPS)
    +  coeff4 = weighting factor to turn on/off 1-4 neighbor nonbond interactions 
    +
    +  coeff4 weight values are from 0.0 to 1.0 and are used to multiply the
    +  energy and force interaction (both Coulombic and LJ) between the 2 atoms
    +  weight of 0.0 means no interaction
    +  weight of 1.0 means full interaction
    +
    +  must be used with the special bonds charmm command 
    +  "special bonds 0 0 0") which shuts off the uniform special bonds and
    +  allows pair-specific special bonds for the 1-4 interactions to be
    +  defined in the data file
    +
    +  LAMMPS assumes that all 1-4 interaction distances, which are
    +  generally less than 6 Angstroms, are less than the smallest of the
    +  inner LJ and Coulombic cutoffs, which are generally at least 8
    +  Angstroms.
    + 
    +  4 coeffs are listed in data file or set in input script
    +
    +
    +

    +Impropers

    +

    +The style of improper potential is specified in the input command file.

    +

    +(1) harmonic

    +
    +
    +  E = K (chi - chi0)^2
    +
    +  chi = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
    +  coeff2 = chi0 (degrees) (converted to radians within LAMMPS)
    +
    +  2 coeffs are listed in data file or set in input script
    +
    +

    +(2) cvff

    +
    +
    +  E = K [1 + d * cos (n*chi) ]
    +
    +  chi = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy)
    +  coeff2 = d (+1 or -1)
    +  coeff3 = n (0,1,2,3,4,6)
    +
    +  3 coeffs are listed in data file or set in input script
    +
    +

    +(3) class2

    +
    +
    +  same formula, coeffs, and meaning as "harmonic" except that LAMMPS
    +    averages all 3 angle-contributions to chi
    +  in class 2 this is called a Wilson out-of-plane interaction
    +
    +  2 coeffs are listed in data file - cannot be set in input script
    +
    +
    +

    +Class 2 Force Field

    +

    +If class 2 force fields are selected in the input command file, +additional cross terms are computed as part of the force field. All +class 2 coefficients must be set in the data file; they cannot be set +in the input script.

    +

    +Bond-Bond (computed within class 2 angles)

    +
    +
    +  E = K (r - r0) * (r' - r0')
    +
    +  r,r' = distance (computed by LAMMPS)
    +
    +  coeff1 = K (energy/distance^2)
    +  coeff2 = r0 (distance)
    +  coeff3 = r0' (distance)
    +
    +  3 coeffs are input in data file
    +
    +

    +Bond-Angle (computed within class 2 angles for each of 2 bonds)

    +
    +
    +  E = K_n (r - r0_n) * (theta - theta0)
    +
    +  r = distance (computed by LAMMPS)
    +  theta = radians (computed by LAMMPS)
    +
    +  coeff1 = K_1 (energy/distance-radians)
    +  coeff2 = K_2 (energy/distance-radians)
    +  coeff3 = r0_1 (distance)
    +  coeff4 = r0_2 (distance)
    +
    +  Note: theta0 is known from angle coeffs so don't need it specified here
    +
    +  4 coeffs are listed in data file
    +
    +

    +Middle-Bond-Torsion (computed within class 2 dihedral)

    +
    +
    +  E = (r - r0) * [ F1*cos(phi) + F2*cos(2*phi) + F3*cos(3*phi) ]
    +
    +  r = distance (computed by LAMMPS)
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = F1 (energy/distance)
    +  coeff2 = F2 (energy/distance)
    +  coeff3 = F3 (energy/distance)
    +  coeff4 = r0 (distance)
    +
    +  4 coeffs are listed in data file
    +
    +

    +End-Bond-Torsion (computed within class 2 dihedral for each of 2 bonds)

    +
    +
    +  E = (r - r0_n) * [ F1_n*cos(phi) + F2_n*cos(2*phi) + F3_n*cos(3*phi) ]
    +
    +  r = distance (computed by LAMMPS)
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = F1_1 (energy/distance)
    +  coeff2 = F2_1 (energy/distance)
    +  coeff3 = F3_1 (energy/distance)
    +  coeff4 = F1_2 (energy/distance)
    +  coeff5 = F2_3 (energy/distance)
    +  coeff6 = F3_3 (energy/distance)
    +  coeff7 = r0_1 (distance)
    +  coeff8 = r0_2 (distance)
    +
    +  8 coeffs are listed in data file
    +
    +

    +Angle-Torsion (computed within class 2 dihedral for each of 2 angles)

    +
    +
    +  E = (theta - theta0) * [ F1_n*cos(phi) + F2_n*cos(2*phi) + F3_n*cos(3*phi) ]
    +
    +  theta = radians (computed by LAMMPS)
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = F1_1 (energy/radians)
    +  coeff2 = F2_1 (energy/radians)
    +  coeff3 = F3_1 (energy/radians)
    +  coeff4 = F1_2 (energy/radians)
    +  coeff5 = F2_3 (energy/radians)
    +  coeff6 = F3_3 (energy/radians)
    +  coeff7 = theta0_1 (degrees) (converted to radians within LAMMPS)
    +  coeff8 = theta0_2 (degrees) (converted to radians within LAMMPS)
    +
    +  8 coeffs are listed in data file
    +
    +

    +Angle-Angle-Torsion (computed within class 2 dihedral)

    +
    +
    +  E = K (theta - theta0) * (theta' - theta0') * (phi - phi0)
    +
    +  theta,theta' = radians (computed by LAMMPS)
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy/radians^3)
    +  coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
    +  coeff3 = theta0' (degrees) (converted to radians within LAMMPS)
    +
    +  Note: phi0 is known from dihedral coeffs so don't need it specified here
    +
    +  3 coeffs are listed in data file
    +
    +
    +

    +Bond-Bond-13-Torsion (computed within class 2 dihedral)

    +
    +
    +  E = K * (r1 - r10)*(r3 - r30)
    +
    +  r1,r3 = bond lengths of bonds 1 and 3 (computed by LAMMPS)
    +
    +  coeff1 = K (energy/distance^2)
    +  coeff2 = r10 (distance) = equilibrium bond length for bond 1
    +  coeff3 = r30 (distance) = equilibrium bond length for bond 3
    +
    +  K is only non-zero for aromatic rings 
    +
    +  3 coeffs are listed in data file
    +
    +
    +

    +Angle-Angle (computed within class 2 improper for each of 3 pairs of +angles)

    +
    +
    +  E = K_n (theta - theta0_n) * (theta' - theta0_n')
    +
    +  theta,theta' = radians (computed by LAMMPS)
    +
    +  coeff1 = K_1 (energy/radians^2)
    +  coeff2 = K_2 (energy/radians^2)
    +  coeff3 = K_3 (energy/radians^2)
    +  coeff4 = theta0_1 (degrees) (converted to radians within LAMMPS)
    +  coeff5 = theta0_2 (degrees) (converted to radians within LAMMPS)
    +  coeff6 = theta0_3 (degrees) (converted to radians within LAMMPS)
    +
    +  6 coeffs are listed in data file
    +
    + + diff --git a/doc/2001/history.html b/doc/2001/history.html new file mode 100644 index 0000000000..25336f7015 --- /dev/null +++ b/doc/2001/history.html @@ -0,0 +1,205 @@ + + + + + + +

    +History of LAMMPS

    +

    +Return to top-level of LAMMPS documentation.

    +

    +This is a brief history of features added to each version of LAMMPS.

    +
    +

    +LAMMPS 2001 - November 2001

    + +
    +

    +LAMMPS 99 - June 99

    + +
    +

    +Version 5.0 - Oct 1997

    + +
    +

    +Version 4.0 - March 1997

    + +
    +

    +Version 3.0 - March 1996

    + +
    +

    +Version 2.0 - October 1995

    + +
    +

    +Version 1.1 - February 1995

    + +
    +

    +Version 1.0 - January 1995

    + + + diff --git a/doc/2001/input_commands.html b/doc/2001/input_commands.html new file mode 100644 index 0000000000..6f7266f2ca --- /dev/null +++ b/doc/2001/input_commands.html @@ -0,0 +1,2138 @@ + + + + + + +

    +LAMMPS Input Commands

    +

    +Return to top-level of LAMMPS documentation.

    +

    +This page contains a complete list of valid LAMMPS commands which are +read-in from an input script. It will be easiest to understand if you +read it while looking at sample input scripts in the examples +directory.

    +

    +The script of input commands is read by LAMMPS, one line at a time. +Each command causes LAMMPS to take some action. Usually it simply +causes some internal variable(s) to be set. Or it may cause a data file +to be read in or a simulation to be run. Note that most commands have +default settings, which means you only need use a particular command if +you do not want the default setting.

    +

    +Each LAMMPS input script contains exactly one "read data" (or +"read restart") command which defines the problem to be +simulated. All other commands can be split into three categories: (a) +commands that (if used) must appear before the "read data" +command because they define settings needed to correctly read-in the +problem and allocate memory for it, (b) commands that must appear after +the "read data" command because they act on the specified +problem, and (c) commands that can appear either before or after the +"read data" command. Commands in category (c) are used before +the "read data" command if a default setting needs to be +changed before the problem description is read-in. They can be used +after the "read data" command if the user wishes to change a +setting before the next "run" or "minimize" command +is used. Other than these restrictions, commands can generally appear +in any order in the input script, although some commands require others +to have been previously specified.

    +

    +Each LAMMPS input script also contains one or more "run" or +"minimize" commands. These trigger an actual dynamics or +minimization computation to be done. Following a run, new commands from +categories (b) and (c) can be used to change various settings, and +additional "run" commands can then be used to continue the +previous simulation. LAMMPS continues to read successive lines from the +input script until the end-of-file is reached, which causes LAMMPS to +terminate.

    +

    +This page gives examples of each command, some of which can be +specified in multiple styles. Typically the commands take one or more +parameters. The keyword for each command should begin in the leftmost +column and all characters in the command and its parameters should be +in lower-case (except the word NULL or characters in filenames). +Parameters can be separated by arbitrary numbers of spaces and/or tabs, +so long as the command fits on one line. The remainder of the line +after the last parameter is ignored.

    +

    +The next section outlines the structure of a LAMMPS input script. The +final section gives a detailed description of the commands in +alphabetic order, each with its associated parameters and default +settings.

    + +
    +

    +Structure of a LAMMPS input script

    +

    +Any line starting with a # is a comment. +Comments can appear anywhere in the input script.

    +

    +(1) Initialization settings (must appear +before "read data" or "read restart")

    +

    +(2) Optional Settings (can appear before +and/or after "read data" or "read restart")

    +

    +(3) Read in a Problem via a "read data" or "read restart" command

    +

    +(4) Optional Settings (same as (2))

    +

    +(5) Problem Settings (must appear after "read data" or +"read restart")

    + +

    +(6) Perform a Simulation via a "run" or "minimize" command

    +

    +Repeat (4), (5), and (6) as desired ...

    +
    +

    +Initialization Settings

    +

    +(if used, must appear before "read data" or "read +restart" command)

    +
    +units                  real
    +
    +extra memory           2.0 1.5 2.0 2.5
    +dimension              3
    +processor grid         10 10 10
    +periodicity            0 0 0
    +slab volume            3.0
    +newton flag            3
    +true flag              0
    +maximum cutoff         10.0
    +mixing style           geometric
    +restart version        5
    +
    +
    +

    +Optional Settings

    +

    +(if used, can appear before and/or after "read data" or +"read restart" command)

    +
    +neighbor               2.0 1 1 10 1
    +
    +nonbond style          none
    +nonbond style          lj/cutoff 10.0 0
    +nonbond style          lj/smooth 8.0 10.0
    +nonbond style          lj/shift 10.0 0
    +nonbond style          soft 2.5
    +nonbond style          class2/cutoff 10.0 0
    +nonbond style          lj/charmm 15.0 15.1
    +
    +coulomb style          none
    +coulomb style          cutoff 10.0
    +coulomb style          smooth 8.0 10.0
    +coulomb style          ewald 10.0 1.0E-4
    +coulomb style          pppm 10.0 1.0E-4
    +coulomb style          charmm/switch 15.0 15.1
    +coulomb style          debye 10.0 0.5
    +
    +bond style             none
    +bond style             harmonic
    +bond style             fene/standard
    +bond style             fene/shift
    +bond style             nonlinear
    +bond style             class2
    +
    +angle style            none
    +angle style            harmonic
    +angle style            class2
    +angle style            charmm
    +angle style            cosine
    +
    +dihedral style         none
    +dihedral style         harmonic
    +dihedral style         mutliharmonic
    +dihedral style         class2
    +dihedral style         charmm
    +
    +improper style         none
    +improper style         harmonic
    +improper style         cvff
    +improper style         class2
    +
    +
    +

    +Read in a Problem

    +
    +read data              data.lj
    +read restart           restart.100000
    +
    +
    +

    +Velocity Creation

    +

    +(if used, must appear after "read data" or "read +restart" command)

    +
    +create group           types 1 3
    +create group           molecules 200 300
    +create group           region 0.0 1.0 0.0 1.0 INF 1.0
    +create group           remainder
    +
    +rotation zero          1
    +
    +create temp            uniform 300.0 12345678
    +create temp            gaussian 300.0 12345678
    +create temp            velocity 0.0 0.0 0.0
    +
    +
    +

    +Force Field Parameters

    +

    +(if used, must appear after "read data" or "read +restart" command)

    +
    +nonbond coeff          1 2 1.0 3.45 10.0         (nonbond style lj/cutoff)
    +nonbond coeff          1 2 1.0 3.45 8.0 10.0     (nonbond style lj/smooth)
    +nonbond coeff          1 2 1.0 3.45 2.0 10.0     (nonbond style lj/shift)
    +nonbond coeff          1 2 1.0 30.0 2.5          (nonbond style soft)
    +nonbond coeff          1 2 1.0 3.45 10.0         (nonbond style class2/cutoff)
    +nonbond coeff          1 2 1.0 3.45 1.0 3.45     (nonbond style lj/charmm)
    +
    +special bonds          amber
    +special bonds          0.0 0.0 0.5
    +
    +pppm mesh              32 32 64
    +pppm order             5
    +dielectric             1.0
    +
    +bond coeff             1 100.0 3.45              (bond style harmonic)
    +bond coeff             1 30.0 1.5 1.0 1.0        (bond style fene/standard )
    +bond coeff             1 30.0 1.5 1.0 1.0 0.2    (bond style fene/shift)
    +bond coeff             1 28.0 0.748308 0.166667  (bond style nonlinear)
    +angle coeff            1 30.0 108.0              (angle style harmonic)
    +angle coeff            1 30.0 108.0 30.0 2.5     (angle style charmm)
    +angle coeff            1 30.0                    (angle style cosine)
    +dihedral coeff         1 10.0 1 3                (dihedral style harmonic)
    +dihedral coeff         1 2.0 2.0 2.0 2.0 2.0     (dihedral style multiharmonic)
    +dihedral coeff         1 2.0 5 180.0 0.5         (dihedral style charmm)
    +improper coeff         1 20.0 0.0                (improper style harmonic)
    +improper coeff         1 20.0 10.0               (improper style cvff)
    +
    +
    +

    +Constraints

    +

    +(if used, must appear after "read data" or "read +restart" command)

    +
    +fix style              none
    +fix style              1 setforce 0.0 NULL 0.0
    +fix style              1 addforce 1.0 0.0 0.0
    +fix style              1 aveforce 1.0 0.0 0.0
    +fix style              1 rescale 300.0 300.0 100 20.0 0.5
    +fix style              1 hoover/drag 50.0 50.0 0.001
    +fix style              1 langevin 50.0 50.0 0.01 12345 1 1 1
    +fix style              1 springforce 10.0 NULL NULL 1.0
    +fix style              1 dragforce 10.0 -5.0 NULL 2.0 1.0
    +fix style              1 shake 3 0.001 100
    +
    +assign fix             1 atom 200
    +assign fix             1 molecule 50
    +assign fix             1 type 2
    +assign fix             1 region 0.0 1.0 INF INF 0.0 1.0
    +assign fix             1 bondtype 4
    +assign fix             1 angletype 18 10
    +assign fix             1 remainder
    +
    +
    +

    +Ensemble Control

    +

    +(if used, must appear after "read data" or "read +restart" command)

    +
    +temp control           none
    +temp control           rescale 300.0 300.0 100 20.0 0.5
    +temp control           replace 300.0 300.0 50 12345678
    +temp control           langevin 50.0 50.0 0.01 123456
    +temp control           nose/hoover 300.0 300.0 0.01
    +
    +press control          none
    +press control          nose/hoover xyz 0.0 0.0 0.001
    +press control          nose/hoover xz 0.0 10.0 5.0 5.0 0.0 10.0 0.001
    +press control          nose/hoover yz NULL NULL 5.0 5.0 0.0 10.0 0.001
    +press control          nose/hoover aniso 0.0 0.0 0.0 0.0 1.0 10.0 0.001
    +press control          nose/hoover aniso 0.0 0.0 0.0 0.0 NULL NULL 0.001
    +
    +volume control         none
    +volume control         linear x 0.0 10.0
    +volume control         linear y -1.0 15.0
    +volume control         linear z -10.0 10.0
    +
    +
    +

    +Output Control

    +

    +(if used, must appear after "read data" or "read +restart" command)

    +
    +thermo flag            50
    +thermo style           0
    +
    +dump atoms             100 filename
    +dump velocities        100 filename
    +dump forces            100 filename
    +
    +restart                1000 1 filename
    +restart                1000 2 file1 file2
    +diagnostic             diffusion 100 filename 3 1.0 -1.0 2.5
    +
    +
    +

    +Integrator Settings

    +

    +(if used, must appear after "read data" or "read +restart" command)

    +
    +timestep               1.0
    +respa                  2 2 4
    +reset timestep         0
    +
    +
    +

    +Minimizer Settings

    +

    +(if used, must appear after "read data" or "read +restart" command)

    +
    +min style              hftn
    +min flag               10
    +
    +
    +

    +Perform a Simulation

    +
    +run                    10000
    +minimize               0.0001 9999 50000
    +
    +
    +
    +

    +Alphabetic Listing of Commands:

    +
    +

    +angle coeff

    + +
    +coeffs:   harmonic
    +               (1) K (energy units)
    +               (2) theta (degrees)
    +          class2
    +               currently not enabled for "angle coeff" command
    +               must be specified in data file (see "read data" command)
    +          charmm
    +               (1) K (energy units)
    +               (2) theta (degrees)
    +               (3) K_UB (energy/distance^2)
    +               (4) r_UB (distance)
    +          cosine
    +               (1) K (energy units)
    +
    +define (or override) angle coefficients for an individual angle type
    +use appropriate number of coeffs for a particular style
    +see force_fields.html for meaning of coefficients for each style
    +these coefficients can also be set in data file 
    +  by a "Angle Coeffs" entry, the most recently defined 
    +  coefficients are used
    +cannot use this command before a "read data" or "read restart" is performed,
    +  because memory is not yet allocated for the necessary arrays
    +
    +
    +

    +angle style

    + +
    +define style of angle interactions to use for all 3-body terms
    +must be used before the "read data" command (if not using the
    +  default) to tell the program how to read the "Angle Coeffs" entry
    +  in the data file
    +can be used after the "read data" command to change the style to none
    +coefficients for all angle types must be defined in the data (or restart)
    +  file by a "Angle Coeffs" entry or by "angle coeff"
    +  commands before a run is performed
    +
    +Default = harmonic
    +
    +
    +

    +assign fix

    + +
    +styles:
    +
    + +
    +coeffs:  atom
    +               (1) global atom #
    +         molecule
    +               (1) molecule #
    +         type
    +               (1) atom type
    +         region
    +               (1) lower x bound of region
    +               (2) upper x bound of region
    +               (3) lower y bound of region
    +               (4) upper y bound of region
    +               (5) lower z bound of region
    +               (6) upper z bound of region
    +         bondtype
    +               (1) bond type
    +         angletype
    +               (1) angle type
    +               (2) bond type used within that angle
    +         remainder
    +               no other parameters required
    +
    +assign a group of atoms or a bond type to a particular constraint
    +use appropriate number of coeffs for a particular style
    +the constraint itself must first be defined by a 
    +  "fix style" command
    +multiple groups of atoms or bond types can be assigned to the same constraint
    +the bondtype option can only be assigned to a "fix style" of "shake",
    +  multiple bondtypes can be SHAKEn, so long as the size of clusters of
    +  atoms does not exceed the limit described in the "fix style" command
    +the angletype option can only be assigned to a "fix style" of "shake",
    +  only a single angletype can be SHAKEn, it is designed to be used
    +  in conjunction with "fix style bondtype" to make clusters of size 3
    +  entirely rigid (e.g. water)
    +the angletype option enables an additional check when SHAKE constraints
    +  are computed: if a cluster is of size 3 and both bonds in
    +  the cluster are of a bondtype specified by the 2nd paramter of
    +  angletype, then the cluster is SHAKEn with an additional angle
    +  constraint that makes it rigid, using the equilibrium angle appropriate
    +  to the specified angletype
    +IMPORTANT NOTE: the angletype option has one additional affect, namely
    +  that no angle forces for any angle of type angletype are computed
    +  (since it is assumed those angles will be frozen by being SHAKEn), thus
    +  it will likely cause unintended behavior if the bonds in some atom pairs
    +  within angles of type angletype do not have the appropriate bondtype,
    +  since they will not be SHAKEn but neither will the angle force by computed
    +for style region, a coeff of INF means + or - infinity (all the way 
    +  to the boundary)
    +an atom can be assigned to multiple constraints, the contraints will be
    +  applied in the reverse order they are assigned to that atom
    +  (e.g. each timestep, the last fix assigned to an atom will be applied 
    +  to it first, then the next-to-last applied second, etc)
    +
    +
    +
    +

    +bond coeff

    + +
    +coeffs:   harmonic
    +               (1) K (energy units)
    +               (2) r0 (distance units)
    +          fene/standard
    +               (1) k for FENE portion (energy/distance^2 units)
    +               (2) r0 for FENE portion (distance units)
    +               (3) epsilon for LJ portion (energy units)
    +               (4) sigma for LJ portion (distance units)
    +          fene/shift
    +               (1) k for FENE (energy/distance^2 units)
    +               (2) r0 for FENE after shift is performed (distance units)
    +               (3) epsilon for LJ (energy units)
    +               (4) sigma for LJ after shift is performed (distance units)
    +               (5) delta shift distance (distance units)
    +          nonlinear
    +               (1) epsilon (energy units)
    +               (2) r0 (distance units)
    +               (3) lamda (distance units)
    +          class2
    +               currently not enabled for "bond coeff" command
    +               must be specified in data file (see "read data" command)
    +
    +define (or override) bond coefficients for an individual bond type
    +use appropriate number of coeffs for a particular style
    +see force_fields.html for meaning of coefficients for each style
    +these coefficients can also be set in data file 
    +  by a "Bond Coeffs" entry, the most recently defined 
    +  coefficients are used
    +cannot use this command before a "read data" or "read restart" is performed,
    +  because memory is not yet allocated for the necessary arrays
    +
    +
    +

    +bond style

    + +
    +define style of bond interactions to use between all bonded atoms
    +must be used before the "read data" command (if not using the
    +  default) to tell the program how to read the "Bond
    +  Coeffs" entry in the data file (if one exists)
    +can be used after the "read data" command to change the style,
    +  in this case "bond coeff" commands must also be used to set new
    +  coefficients for each bond type (unless the new style is "none")
    +coefficients for all bond types must be defined in the data (or restart)
    +  file by a "Bond Coeffs" entry or by "bond coeff"
    +  commands before a run is performed
    +
    +Default = harmonic
    +
    +
    +

    +comments

    +
    +blank lines are ignored
    +lines starting with a # are echoed into the log file
    +for commands, everything on a line after the last parameter is ignored
    +
    +
    +

    +coulomb style

    + +
    +styles:
    +
    + +
    +coeffs:  none
    +               no other parameters required
    +         cutoff
    +               (1) cutoff distance (distance units)
    +         smooth
    +               (1) inner cutoff (distance units)
    +               (2) outer cutoff (distance units)
    +         ewald
    +               (1) cutoff distance for near-field portion (distance units)
    +               (2) accuracy criterion
    +         pppm
    +               (1) cutoff distance for near-field portion (distance units)
    +               (2) accuracy criterion
    +         charmm/switch
    +               (1) inner cutoff (distance units)
    +               (2) outer cutoff (distance units)
    +         debye
    +               (1) cutoff distance (distance units)
    +               (2) kappa (inverse distance units)
    +
    +use appropriate number of coeffs for a particular style
    +normally this command should be used before "read data" or "read restart"
    +  (if simulating a charged system) to tell LAMMPS how big a force cutoff
    +  is being used, the "maximum cutoff" command can also serve this
    +  purpose
    +restart files do not store "coulomb style" choice or cutoff, so
    +  this should be specified in the input script when running from a restart
    +  file
    +this command can also be used after "read data" or "read restart" to
    +  change the style of Coulomb interactions or the cutoff
    +if simulated system has no charges, should set "coulomb style none" to
    +  prevent LAMMPS from doing useless nonbond work, LAMMPS will set
    +  this for you and issue a warning
    +cutoff distance can be smaller or larger than simulation box dimensions
    +accuracy criterion means "one part in value" - e.g. 1.0E-4
    +Ewald and PPPM accuracy criterion are used in conjunction with cutoff
    +  to partition work between short-range and long-range routines
    +accuracy criterion effectively determines how many k-space vectors are used
    +  to approximate the energy and forces
    +for PPPM, accuracy criterion determines mesh spacing (see "particle mesh"
    +  command)
    +3-d periodic boundary conditions are normally used in conjunction with
    +  Ewald and PPPM, see "slab volume" command for 2-d Ewald/PPPM
    +cannot use any Coulomb styles other than none with nonbond style = lj/shift or
    +  nonbond style = soft
    +Coulomb style = smooth should be used with nonbond style = lj/smooth,
    +  and both should use same inner and outer cutoffs
    +nonbond style = lj/charmm should be used with coulomb style = charmm/switch
    +for smooth and charmm/switch styles, outer cutoff must be > inner cutoff
    +for smooth and charmm/switch styles, atom pairs less than the inner cutoff
    +  distance use usual Coulomb, pairs between inner and outer are smoothed,
    +  and the potential goes to 0.0 at the outer cutoff
    +for smooth style, force is continuously differentiable everywhere
    +for debye style, an exp(-kappa*r) screening is added to the Coulombic
    +  interaction
    +
    +Default = cutoff 10.0   for real units
    +          cutoff 2.5    for lj units
    +
    +
    +

    +create group

    + +
    +styles:
    +
    + +
    +coeffs:  types
    +               (1) lowest atom type
    +               (2) highest atom type
    +         molecules
    +               (1) lowest molecule ID
    +               (2) highest molecule ID
    +         region
    +               (1) lower x bound of region
    +               (2) upper x bound of region
    +               (3) lower y bound of region
    +               (4) upper y bound of region
    +               (5) lower z bound of region
    +               (6) upper z bound of region
    +         remainder
    +               no other parameters required
    +       
    +used with "create temp" commmand to initialize velocities of atoms
    +by default, the "create temp" command initializes the velocities of all atoms,
    +  this command limits the initialization to a group of atoms
    +this command is only in force for the next "create temp" command, any
    +  subsequent "create temp" command is applied to all atoms (unless the
    +  "create group" command is used again)
    +for style types, only atoms with a type such that lo-type <= type <= hi-type
    +  will be initialized by "create temp"
    +for style types, lo-type can equal hi-type if just want to specify one type
    +for style molecules, only atoms belonging to molecules with an ID # such 
    +  that lo-ID <= type <= hi-ID will be initialized by "create temp"
    +for style molecules, lo-ID can equal hi-ID if just want to specify one molecule
    +for style region, only atoms within the specified spatial region
    +  will be initialized by "create temp"
    +for style region, a coeff of INF means + or - infinity (all the way 
    +  to the boundary)
    +for style remainder, only previously uninitialized atoms
    +  will be initialized by "create temp"
    +
    +
    +

    +create temp

    + +
    +styles: 
    +
    + +
    +coeffs:  uniform
    +               (1) target T (temperature units)
    +               (2) random # seed (0 < seed <= 8 digits)
    +         gaussian
    +               (1) target T (temperature units)
    +               (2) random # seed (0 < seed <= 8 digits)
    +         velocity
    +               (1) x velocity component (velocity units)
    +               (2) y velocity component (velocity units)
    +               (3) z velocity component (velocity units)
    +
    +initialize velocities of atoms to a specified temperature
    +use appropriate number of coeffs for a particular style
    +cannot be done before a data or restart file is read
    +by default, velocities are created for all atoms - this can be overridden
    +  by first using a "create group" command
    +for uniform and Gaussian styles velocities are created in 
    +  processor-independent fashion - is slower but gives the same initial 
    +  state independent of # of processors
    +for uniform and Gaussian styles the momentum of the initialized atoms is
    +  also zeroed, but only if all atoms are being initialized 
    +for uniform and Gaussian styles, RN are generated with Park/Miller RNG
    +for velocity style in 2-d simulations, still specify z velocity component,
    +  even though it is ignored
    +
    +
    +

    +diagnostic

    + +
    +call a user-defined diagnostic routine every this many timesteps
    +this command can be used multiple times to call different routines
    +  at different frequencies, that use different parameters, and that
    +  send output to different files
    +value of 0 for 2nd parameter means never call this particular routine
    +this command causes any previous file associated with this user routine
    +  to be closed
    +new filename can exist, will be overwritten
    +if the file name specified is "none", then no file is opened
    +each routine that is added to diagnostic.f and enabled with a
    +  "diagnostic" command will be called at the beginning and end of
    +  each "run" and every so many timesteps during the run
    +see *** comments in diagnostic.f for changes that must be made in 
    +  that file to enable user diagnostics, LAMMPS must then be re-compiled
    +  and re-linked
    +see the diagnostic.f file for further information on how to create
    +  routines that operate on internal LAMMPS data, do their own file output,
    +  perform different operations (e.g. setup and clean-up) depending
    +  on when they are called, etc
    +the optional 5th-9th parameters are stored as internal LAMMPS variables
    +  which can be accessed by the diagnostic routine
    +
    +
    +

    +dielectric

    +
    +set dielectric constant to this value
    +
    +Default = 1.0
    +
    +
    +

    +dihedral coeff

    + +
    +coeffs:   harmonic
    +               (1) K (energy units)
    +               (2) d (+1 or -1)
    +               (3) n (1,2,3,4,6)
    +          multiharmonic
    +               (1) A_1 (energy units)
    +               (2) A_2 (energy units)
    +               (3) A_3 (energy units)
    +               (4) A_4 (energy units)
    +               (5) A_5 (energy units)
    +          class2
    +               currently not enabled for "dihedral coeff" command
    +               must be specified in data file (see "read data" command)
    +          charmm
    +               (1) K (energy units)
    +               (2) n (1,2,3,4,6)
    +               (3) d (0 or 180 degrees) (converted to radians within LAMMPS)
    +               (4) weighting factor to turn on/off 1-4 neighbor nonbond interactions
    +
    +define (or override) dihedral coefficients for an individual dihedral type
    +use appropriate number of coeffs for a particular style
    +see force_fields.html for meaning of coefficients for each style
    +these coefficients can also be set in data file 
    +  by a "Dihedral Coeffs" entry, the most recently defined 
    +  coefficients are used
    +cannot use this command before a "read data" or "read restart" is performed,
    +  because memory is not yet allocated for the necessary arrays
    +
    +
    +

    +dihedral style

    + +
    +define style of dihedral interactions to use for all 4-body terms
    +must be used before the "read data" command (if not using the
    +  default) to tell the program how to read the "Dihedral
    +  Coeffs" entry in the data file
    +can be used after the "read data" command to change the style to none
    +coefficients for all dihedral types must be defined in the data (or restart)
    +  file by a "Dihedral Coeffs" entry or by "dihedral coeff"
    +  commands before a run is performed
    +
    +Default = harmonic
    +
    +
    +

    +dimension

    + +
    +for a 2-d run, assumes all z-coords are set to 0.0 in "read data" or
    +  "read restart" files and program creates no z velocities
    +this command sets the processor grid to default values for 2-d or 3-d
    +  so must be used before "processor grid" command
    +must be set before data or restart file is read
    +
    +Default = 3
    +
    +
    +

    +dump atoms

    + +
    +dump all atom positions to a file every this many timesteps
    +  (every this many iteration when the minimizer is invoked)
    +when rRESPA is enabled, this is steps of outermost loop (longest timesteps)
    +positions are also dumped at the start and end of each run
    +when dumped during minimization, all dumps will have the same timestamp
    +  since the timestep does not change during minimization
    +value of 0 means never dump
    +any previous file is closed
    +new filename can exist, will be overwritten
    +atom positions in dump file are in "box" units (0.0 to 1.0) in each dimension
    +IMPORTANT NOTE: due to the way periodic boundary conditions are enforced 
    +  (only when neighbor lists are rebuilt), atom coords appearing in the dump
    +  file can be slightly outside the specified box
    +
    +Default = 0
    +
    +
    +

    +dump forces

    + +
    +dump all atom forces to a file every this many timesteps
    +  (every this many iteration when the minimizer is invoked)
    +when rRESPA is enabled, this is steps of outermost loop (longest timesteps)
    +forces are also dumped at the start and end of each run
    +when dumped during minimization, all dumps will have the same timestamp
    +  since the timestep does not change during minimization
    +any previous file is closed
    +new filename can exist, will be overwritten
    +value of 0 means never dump
    +
    +Default = 0
    +
    +
    +

    +dump velocities

    + +
    +dump all atom velocities to a file every this many timesteps
    +when rRESPA is enabled, this is steps of outermost loop (longest timesteps)
    +velocities are also dumped at the start and end of every run
    +any previous file is closed
    +new filename can exist, will be overwritten
    +value of 0 means never dump
    +
    +Default = 0
    +
    +
    +

    +extra memory

    + +
    +
    +factors that affect how much extra memory is allocated when a problem is setup
    +factor of 1.0 means no padding (use exactly what LAMMPS estimates is
    +  needed), factor of 2.0 means 2x longer arrays, etc
    +typically don't need to change default settings unless LAMMPS tells you
    +  to "boost" some factor at run-time
    +final section of log file lists optimal settings for these parameters,
    +  i.e. the job could have been run with those "extra memory" settings
    +  and would have used minimal memory
    +must be set before data or restart file is read
    +
    +Default = 1.5 for all 4 parameters
    +
    +
    +

    +fix style

    + +
    +styles:
    +
    + +
    +coeffs:  none
    +               no other parameters required (use "none" as 1st parameter)
    +         setforce
    +                (1) x component of set force (in force units)
    +                (2) y component of set force (in force units)
    +                (3) z component of set force (in force units)
    +         addforce
    +                (1) x component of added force (in force units)
    +                (2) y component of added force (in force units)
    +                (3) z component of added force (in force units)
    +         aveforce
    +                (1) x comp of added average force per atom (in force units)
    +                (2) y comp of added average force per atom (in force units)
    +                (3) z comp of added average force per atom (in force units)
    +         rescale
    +                (1) desired T at beginning of run
    +                (2) desired T at end of run
    +                (3) check for rescaling every this many timesteps
    +                (4) T window outside of which velocities will be rescaled
    +                (5) fractional amount (0.0 to 1.0) of rescaling to perform
    +         hoover/drag
    +                (1) desired T at beginning of run
    +                (2) desired T at end of run
    +                (3) damping constant for drag (roughly inverse time units)
    +         langevin
    +                (1) desired T at beginning of run
    +                (2) desired T at end of run
    +                (3) Langevin damping parameter (inverse time units)
    +                (4) random seed to use for white noise (0 < seed <= 8 digits)
    +                (5) 0/1 = off/on x dimension
    +                (6) 0/1 = off/on y dimension
    +                (7) 0/1 = off/on z dimension
    +         springforce
    +                (1) x position of spring origin
    +                (2) y position
    +                (3) z position
    +                (4) force constant k (so that k*distance = force units)
    +         dragforce
    +                (1) x position to drag atom towards
    +                (2) y position
    +                (3) z position
    +                (4) force magnitude f (in force units)
    +                (5) delta outside of which to apply force (in distance units)
    +         shake
    +                (1) max # of SHAKE iterations within each atom cluster
    +                (2) SHAKE tolerance (accuracy of one part in tolerance)
    +                (3) print bond statistics every this many steps (0 = never)
    +
    +define a constraint
    +cannot skip a constraint number, all must be used before a run is performed
    +use appropriate number of coeffs for a particular style
    +which atoms or bonds the constraint will affect is set by the
    +  "assign fix" command
    +all of the constraints (except for rescale) are applied every timestep
    +all specified temperatures are in temperature units
    +for style setforce, a coeff of NULL means do not alter that force component
    +for style aveforce, average force on the group of fixed atoms is computed,
    +  then new average force is added in and actual force on each atom is set
    +  to new total value -> has effect of applying same force to entire group
    +  of atoms
    +thermostatting constraints (rescale, hoover/drag, langevin) cannot be used in
    +  conjuction with global "temp control", since they conflict and will
    +  cause atom velocities to be reset twice
    +thermostatting constraints (rescale, hoover/drag, langevin) cannot be used
    +  when performing a minimization
    +if multiple Langevin constraints are specified the Marsaglia RNG will
    +  only use the last RNG seed specified for initialization
    +meaning of rescale and Langevin thermostatting coefficients is same as in 
    +  "temp control" command
    +for rescale style, it can be used as a coarse temperature rescaler,
    +  for example "rescale 200.0 300.0 100 10.0 1.0" will ramp the temperature
    +  up during the simulation, resetting it to the target temperatue as needed
    +for rescale style, it can be used to create an instantaneous
    +  drag force that slowly rescales the temperature without oscillation,
    +  for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) 
    +  the temperature to be 300.0, the time frame over which this occurs
    +  will become longer as the last parameter is made smaller
    +for hoover/drag style, the drag force accumulates over time so some
    +  oscillation in temperature can occur, for example
    +  "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep)
    +  the temperature to be 300.0, the time frame over which the oscillations
    +  occur will become longer as the last parameter is made smaller
    +style springforce is designed to be applied to an entire group of atoms
    +  en masse (e.g. an umbrella force on an entire molecule)
    +for springforce style, the center of mass r0 of the group of atoms is computed,
    +  then a restoring force = -k*(r-r0)*mass/masstotal is applied to each 
    +  atom in the group where mass = mass of the atom and masstotal = mass of
    +  all the atoms in the group - thus "k" should represent the total
    +  force on the group of atoms (not per atom)
    +for springforce style, a xyz position of NULL means do not include that
    +  dimension in the distance or force computation
    +for dragforce style, apply a drag force of magnitude f to each atom in the
    +  group in the direction (r-r0) where r0 = (x,y,z) - do not apply the force if
    +  the atom is within a distance delta of r0
    +for dragforce style, a xyz position of NULL means do not include that
    +  dimension in the distance or force computation
    +for shake style, certain bonds in the system are constrained every timestep
    +  to be at their equilibrium length, this is done by applying a SHAKE-like
    +  constraint to the forces on the atoms so that their position at the next
    +  timestep will preserve the atom separations
    +for shake style, only atoms in small clusters can be constrained -
    +  e.g. water molecules, CH3 groups, but not the C backbone of a
    +  long polymer chain - a cluster is defined as a central atom
    +  connected to others in the cluster by constrained bonds connected
    +  together by constrained bonds - the max size of such a cluster is
    +  4 atoms to enable easier parallelization
    +for shake style, the max iteration count need not be large (e.g. 3) since
    +  iterations are only done within a cluster and converge quickly
    +see the "minimize" command for what constraints are allowed for use
    +  with the minimizer
    +see the "respa" command for how constraints are applied when rRESPA
    +  timestepping is enabled
    +
    +Default = none
    +
    +
    +

    +improper coeff

    + +
    +coeffs:   harmonic
    +               (1) K (energy units)
    +               (2) chi (degrees)
    +          cvff
    +               (1) K (energy units)
    +               (2) d (+1 or -1)
    +               (3) n (0,1,2,3,4,6)
    +          class2
    +               currently not enabled for "improper coeff" command
    +               must be specified in data file (see "read data" command)
    +
    +define (or override) improper coefficients for an individual improper type
    +use appropriate number of coeffs for a particular style
    +see force_fields.html for meaning of coefficients for each style
    +these coefficients can also be set in data file 
    +  by a "Improper Coeffs" entry, the most recently defined 
    +  coefficients are used
    +cannot use this command before a "read data" or "read restart" is performed,
    +  because memory is not yet allocated for the necessary arrays
    +
    +
    +

    +improper style

    + +
    +define style of improper interactions to use for all trigonal centers
    +in class2 case, dictates that angle-angle terms be included for all
    +  trigonal and tetrahedral centers
    +angle for harmonic is improper torsion, angle for class2 is Wilson out-of-plane
    +must be used before the "read data" command (if not using the
    +  default) to tell the program how to read the "Improper
    +  Coeffs" entry in the data file
    +can be used after the "read data" command to change the style to none
    +coefficients for all improper types must be defined in the data (or restart)
    +  file by a "Improper Coeffs" entry or by "improper coeff"
    +  commands before a run is performed
    +
    +Default = harmonic
    +
    +
    +

    +maximum cutoff

    +
    +specifies the longest force cutoff that will be used in any runs
    +this value is used by LAMMPS to accurately allocate memory
    +  for neighbor arrays
    +if the value is inaccurate (e.g. the command is not used), it is not an
    +  error, but LAMMPS may allocate insufficient memory for neighbor lists
    +this command is not typically needed if the "nonbond style" and "coulomb style"
    +  commands are used before the "read data" or "read restart" command, since
    +  they specify the appropriate cutoffs
    +an exception to this is if a short cutoff is used initially,
    +  but a longer cutoff will be used for a subsequent run (in the same
    +  input script), in this case the "maximum cutoff" command should be
    +  used to insure enough memory is allocated for the later run
    +note that a restart file contains nonbond cutoffs (so it is not necessary
    +  to use a "nonbond style" command before "read restart"), but LAMMPS
    +  still needs to know what the maximum cutoff will be before the
    +  restart file is read
    +must be set before data or restart file is read
    +
    +Default = cutoffs for nonbond and Coulomb styles
    +
    +
    +

    +min flag

    +
    +write out minimization info every this many iterations
    +value of 0 means never write
    +
    +Default = 1
    +
    +
    +

    +min style

    + +
    +choose minimization algorithm to use when "minimize" command is performed
    +currently, the hftn style is the only option available
    +
    +Default = hftn
    +
    +
    +

    +minimize

    + +
    +perform an energy minimization of the atomic coordinates of the system
    +uses algorithm selected with "min style" command
    +minimize commands can be interspersed with "run" commands
    +  to alternate between dynamics and relaxation of the system
    +minimization stops if any of 3 criteria are met:
    +  (1) largest force component < stopping tolerance
    +  (2) # of iterations > max iterations
    +  (3) # of force and energy evaluations > max evaluations
    +output from the minimizer is specified by the "dump atoms", "dump forces",
    +  and "restart" commands
    +when using constraints with the minimizer, fixes are
    +  applied when atoms move except for the following
    +fixes associated with temperature control are not allowed
    +  (rescale, hoover/drag, langevin)
    +the minimizer does not invoke the "fix style shake" contraints on
    +  bond lengths
    +the minimizer does not invoke pressure control or volume control settings
    +for good convergence, should specify use of smooth nonbond force fields 
    +  that have continuous second derivatives, e.g. set "coulomb style" to
    +  "smooth" or "pppm", set "nonbond style" to "lj/smooth" or 
    +  use a long cutoff
    +
    +
    +

    +mixing style

    + +
    +styles:
    +
    + +
    +determine the kind of mixing rule that is applied to generate nonbond
    +  coefficients for interactions between type i and type j atoms
    +mixing rules are applied only when nonbond coeffs are input in a "read data" file
    +for nonbond style "soft", only epsilons (prefactor A) are input - they are
    +  always mixed geometrically, regardless of mixing style setting
    +for nonbond style "lj/charmm", mixing style is always arithmetic,
    +  regardless of mixing style setting
    +must be set before data file is read
    +
    +Default = geometric for all nonbond styles except
    +          arithmetic for nonbond style lj/charmm
    +          sixthpower for nonbond style class2/cutoff
    +
    +
    +

    +neighbor

    + +
    +factors that affect how and when neighbor lists are constructed
    +the binning style is almost always faster than the N^2 style
    +skin must be large enough that all atoms needed for bond
    +  interactions are also acquired by interprocessor communication
    +last parameter incurs extra checking and communication to test against
    +  skin thickness, but may mean neighbor list is created less often
    +when rRESPA is run, the 3rd and 4th parameters refer to the
    +  nonbond (short-range) timestepping
    +normally this command should be used before the data or restart file is read,
    +  since the skin distance is used to estimate memory needed for
    +  neighbor lists
    +this command can also be used after the "read data" or "read restart" command
    +  to change the style of neighbor list construction, but if the
    +  skin distance is changed it can cause LAMMPS to run out of neighbor
    +  list memory, the "maximum cutoff" command can be used to avoid this
    +  problem
    +
    +Default = 2.0 1 1 10 1   for real units
    +          0.3 1 1 10 1   for lj units
    +
    +
    +

    +newton flag

    +
    +turn off or on Newton's 3rd law for bond and non-bond force computation
    +
    + +
    +no Newton's 3rd law means more force computation and less communication
    +yes Newton's 3rd law means less force computation and more communication
    +which choice is faster is problem dependent on N, # of processors, 
    +  and cutoff length(s)
    +expect for round-off errors, setting this flag should not affect answers, 
    +  only run time
    +must be set before data or restart file is read
    +
    +Default = 3
    +
    +
    +

    +nonbond coeff

    + +
    +coeffs: lj/cutoff
    +               (1) epsilon (energy units)
    +               (2) sigma (distance units)
    +               (3) cutoff (distance units)
    +        lj/smooth
    +               (1) epsilon (energy units)
    +               (2) sigma (distance units)
    +               (3) inner cutoff (distance units)
    +               (4) outer cutoff (distance units)
    +        lj/shift
    +               (1) epsilon (energy units)
    +               (2) sigma (distance units)
    +               (3) delta shift distance (distance units)
    +               (4) cutoff (distance units)
    +        soft
    +               (1) prefactor A at start of run (energy units)
    +               (2) prefactor A at end of run (energy units)
    +               (3) cutoff (distance units)
    +        class2/cutoff
    +               (1) epsilon (energy units)
    +               (2) sigma (distance units)
    +               (3) cutoff (distance units)
    +        lj/charmm
    +               (1) epsilon (energy units)
    +               (2) sigma (distance units)
    +               (3) epsilon for 1-4 interactions (energy units)
    +               (4) sigma for 1-4 interactions (distance units)
    +
    +define (or override) nonbond coefficients for an individual atom type pair
    +use appropriate number of coeffs for a particular style
    +1st atom type must be <= 2nd atom type
    +all cutoffs are in global units, not local sigma units
    +  (e.g. in reduced units a setting of "lj/cutoff 1.0 1.2 2.5" means a 
    +  cutoff of 2.5, not 1.2*2.5)
    +turn off a particular type pair interaction by setting the
    +  cutoff to 0.0 (both cutoffs to zero for lj/smooth option)
    +for soft style, prefactor A is ramped from starting value to
    +  ending value during run
    +these coefficients (except the cutoffs) can also be set in data file 
    +  by a "Nonbond Coeffs" entry and associated mixing rules, the cutoffs can
    +  be set (globally) via the "nonbond style" command, the most
    +  recently defined coefficients/cutoffs are used
    +cannot use this command before a "read data" or "read restart" is performed,
    +  because memory is not yet allocated for the necessary arrays
    +
    +
    +

    +nonbond style

    + +
    +styles: 
    +
    + +
    +coeffs:  none
    +               no other parameters required
    +         lj/cutoff
    +               (1) cutoff (distance units)
    +               (2) offset flag (0 or 1)
    +         lj/smooth
    +               (1) inner cutoff (distance units)
    +               (2) outer cutoff (distance units)
    +         lj/shift
    +               (1) cutoff (distance units)
    +               (2) offset flag (0 or 1)
    +         soft
    +               (1) cutoff (distance units)
    +         class2/cutoff
    +               (1) cutoff (distance units)
    +               (2) offset flag (0 or 1)
    +         lj/charmm
    +               (1) inner cutoff (distance units)
    +               (2) outer cutoff (distance units)
    +
    +define style of pairwise nonbond interactions to use between all atom types
    +use appropriate number of coeffs for a particular style
    +this is separate from charge interactions (see "coulomb style" command)
    +normally this command should be used before "read data"
    +  to tell LAMMPS how big a force cutoff is being used, the 
    +  "maximum cutoff" command can also serve this purpose
    +when running from a restart file, the restart file contains the nonbond
    +  style and nonbond cutoffs (but not the offset flag), so it is often
    +  not necessary to use a "nonbond style" command before "read restart",
    +  however LAMMPS still needs to know what the maximum cutoff will be
    +  before the restart file is read, see "maximum cutoff" command
    +  for more details
    +this command can also be used after "read data" or "read restart" to
    +  change the style of nonbond interactions and/or the cutoff
    +cutoff distance can be smaller or larger than simulation box dimensions
    +nonbond style determines how many nonbond coefficients the program expects to
    +  find in a "Nonbond Coeffs" entry in the data file or when using the 
    +  "nonbond coeff" command, thus the style must be set (if not using default)
    +  before using the "read data" command (if the data file contains a 
    +  "Nonbond Coeffs" entry) or a "nonbond coeff" command
    +coefficients for all atom type pairs must be defined in data (or restart)
    +  file by a "Nonbond Coeffs" entry or by "nonbond coeffs" commands before
    +  a run is performed
    +this command sets the cutoff(s) for all type pair interactions, thus
    +  overriding any previous settings by a "nonbond coeff" command or
    +  that were read in from a data or restart file
    +for lj/cutoff, lj/shift, class2/cutoff styles, 
    +  offset flag only affects printout of thermodynamic energy
    +  (not forces or dynamics), determines whether offset energy 
    +  is added in to LJ potential to make value at cutoff = 0.0,
    +  flag = 0 -> do not add in offset energy,
    +  flag = 1 -> add in offset energy 
    +for lj/smooth and lj/charmm styles, outer cutoff must be > inner cutoff
    +for lj/smooth and lj/charmm styles, atom pairs less than the inner cutoff
    +  distance use straight LJ, pairs between inner and outer use a smoothed LJ,
    +   and the potential goes to 0.0 at the outer cutoff
    +for lj/smooth and lj/charmm styles, energy and forces are continuous at inner
    +   cutoff and go smoothly to zero at outer cutoff
    +for lj/shift and soft styles, must set "coulomb style" to "none"
    +for lj/charmm style, must set "coulomb style" to "charmm/switch", "pppm",
    +   or "ewald"
    +for lj/shift style, delta shift distances for each atom pair are set by
    +  "Nonbond Coeffs" entry in data file or by "nonbond coeffs" command
    +for soft style, values of the prefactor "A", which is ramped from one
    +  value to another during the run, are set by "Nonbond Coeffs" entry
    +  in data file or by "nonbond coeffs" command
    +
    +Default = lj/cutoff 10.0 0   for real units
    +          lj/cutoff 2.5 0    for lj units
    +
    +
    +

    +periodicity

    + +
    +turn on/off periodicity in any of three dimensions
    +used in inter-particle distance computation and when particles move
    +  to map (or not map) them back into periodic box
    +for a 2-d run (see "dimension" command), 3rd parameter must be 
    +  specified, but doesn't matter if it is 0 or 1
    +must be set before data or restart file is read
    +
    +Default = 0 0 0 (periodic in all dimensions)
    +
    +
    +

    +pppm mesh

    + +
    +specify the mesh size used by "coulomb style pppm"
    +mesh dimensions that are power-of-two are fastest for FFTs, but any sizes
    +  can be used that are supported by native machine libraries
    +this command is optional - if not used, a default
    +  mesh size will be chosen to satisfy accuracy criterion - if used, the
    +  specifed mesh size will override the default
    +
    +
    +

    +pppm order

    +
    +specify the order of the interpolation function that is used by "coulomb
    +  style pppm" to map particle charge to the particle mesh
    +order is roughly equivalent to how many mesh points a point charge
    +  overlaps onto in each dimension
    +
    +Default = 5
    +
    +
    +

    +press control

    + +
    +styles:
    +
    + +
    +coupling:
    +
    + +
    +coeffs:   none
    +               no other parameters required
    +          nose/hoover xyz
    +               (1) desired P at beginning of run
    +               (2) desired P at end of run
    +          nose/hoover xy or yz or xz or aniso
    +               (1) desired Px at beginning of run (or NULL, see below)
    +               (2) desired Px at end of run
    +               (3) desired Py at beginning of run
    +               (4) desired Py at end of run
    +               (5) desired Pz at beginning of run
    +               (6) desired Pz at end of run
    +               (7) frequency constant for volume adjust (inverse time units)
    +
    +enable constant pressure simulations
    +all specified pressures are in pressure units
    +any dimension being varied by pressure control must be periodic
    +for xyz coupling, all 3 dimensions expand/contract together uniformly
    +  using total scalar pressure as the driving force
    +for xy/yz/xz coupling, the 2 specified dimensions expand/contract together
    +  uniformly using pressure components averaged over those 2 dimensions
    +  as the driving force, the non-specified dimension will expand/contract
    +  independently using its pressure component as the driving force
    +for anisotropic, all 3 dimensions expand/contract independently using
    +  individual pressure components as the 3 driving forces
    +in all cases, the simulation box stays rectilinear (not Parinello-Rahman)
    +for dimensions coupled together, their specified P values should be the same
    +a non-coupled dimension (e.g. dimension z for xy option or any dimension
    +  for aniso option) can have 2 NULL values as specified pressures,
    +  which means apply no pressure control in that dimension (constant volume)
    +target pressure at intermediate points during a run is a ramped value
    +  between the beginning and ending pressure(s)
    +for nose/hoover style, frequency constant is like an inverse "piston" 
    +  mass which determines how rapidly the pressure fluctuates in response to a
    +  restoring force, large frequency -> small mass -> rapid fluctations
    +for nose/hoover style, units of frequency/damping constant are
    +  inverse time, so a value of 0.001 means relax in a timespan on the 
    +  order of 1000 fmsec (real units) or 1000 tau (LJ units)
    +IMPORTANT NOTE: the computation of P in LAMMPS does not include
    +  a long-range Van der Waals correction, this introduces a known
    +  error when performing constant P simulations since the correction
    +  factor changes as the box size varies
    +
    +Default = none
    +
    +
    +

    +processor grid

    + +
    +specify 3-d grid of processors to map to physical simulation domain
    +for 2-d problem, specify N by M by 1 grid
    +program will choose these values to best map processor grid to physical
    +  simulation box, only use this command if wish to override program choice
    +product of 3 parameters must equal total # of processors
    +must be set before data or restart file is read
    +
    +Default = none
    +
    +
    +

    +read data

    +
    +read the initial atom positions and bond info from the specified file
    +the format for the data file is specified in the file data_format
    +if a "Velocities" entry is not in data file, all atom velocities
    +  are set to 0.0
    +if a "Coeffs" entry is in data file, the appropriate "style" command
    +  command must be used first (unless default setting is used) to tell 
    +  LAMMPS how many coefficients to expect
    +a "Nonbond Coeffs" entry only contains one set of coefficients for each
    +  atom type, after being read-in mixing rules are applied to 
    +  compute the cross-type coefficients, see the "mixing style" command
    +  and data_format file for more information
    +
    +
    +

    +read restart

    +
    +read atom and force-field information from specified file
    +allows continuation of a previous run
    +file is binary to enable exact restarts
    +do not have to restart on same # of processors, but can only do exact
    +  restarts on same # of processors due to roundoff
    +when restart file is read, warnings are issued if certain parameters
    +  in the restart file do not match current settings (e.g. newton flag,
    +  dimension, periodicity, units) - this usually indicates an error
    +the restart file stores the "nonbond style" and many-body styles and
    +  coefficients and cutoffs, so these do not have to be re-specified in the
    +  input script, unless you want to change them
    +the restart file does not store "coulomb style" choice or cutoff, so
    +  this should be re-specified in the input script
    +the restart file stores the constraint assignments for each atom generated
    +  by using the "assign fix" command, it does NOT store the constraint
    +  parameters themselves, so they must be re-specified with "fix style"
    +  commands after the restart file is read - one exception to this is that
    +  SHAKE constraints (bondtype or angletype) are not stored with the
    +  atoms, so they must be re-specified when performing a restart with both
    +  the "fix style" and "assign fix" commands
    +
    +
    +

    +reset timestep

    +
    +explicitly reset the timestep to this value
    +the "read data" and "read restart" commands set the timestep to zero
    +  and the file value respectively, so this should be done after those commands
    +
    +
    +

    +respa

    + +
    +factors that affect sub-cycling of force calculations within rRESPA hierarchy
    +bonded intramolecular forces are calculated every innermost sub-timestep
    +bonded 3- and 4-body forces are computed every 1st parameter sub-timesteps
    +short-range nonbond pairwise forces (LJ, Coulombic) are computed every 
    +  (2nd parameter * 1st parameter) sub-timesteps
    +long-range (Ewald, PPPM) forces are computed every 
    +  (3rd parameter * 2nd parameter * 1st parameter) sub-timesteps
    +the timestepping for all 3 inner loops (bond, 3/4-body, nonbond) is performed
    +  as sub-cycling within the long-range timestepping loop
    +the fastest (innermost) timestep size is set by the "timestep" command
    +when running rRESPA, all input commands that specify numbers of timesteps
    +  (e.g. run, thermo flag, restart, etc) refer to the outermost loop
    +  of long-range timestepping
    +the only exception to this rule is the "neighbor" command, where the timestep
    +  parameters refer to the short-range (nonbond) timestepping
    +when using constraints (via the "fix style" and "assign fix" commands)
    +  with rRESPA, the setforce and aveforce constraints are applied at every
    +  level of the hierarchy (whenever forces are computed), the other
    +  constraints are applied only at the short-range (nonbond) level
    +when using "temp control langevin" with rRESPA, thermostatting is applied
    +  at the short-range (nonbond) level
    +rRESPA cannot be used with "fix style shake"
    +setting all 3 parameters to 1 turns off rRESPA
    +
    +Default = 1 1 1 (no rRESPA)
    +
    +
    +

    +restart

    + +
    +create a restart file every this many timesteps
    +value of 0 means never create one
    +if the style is 1, restart information will be written to files
    +  named filename.timestep and no 4th parameter is needed
    +if the style is 2, restart information will be written alternately to files
    +  given by the 3rd and 4th parameters, so only 2 restart files ever exist
    +when the minimizer is invoked this command means create a restart file
    +  at the end of the minimization with the filename filename.timestep.min
    +a restart file stores atom and force-field information in binary form
    +allows program to restart from where it left off (see "read restart" commmand)
    +
    +Default = 0
    +
    +
    +

    +restart version

    +
    +tell LAMMPS that a restart file from an older version of LAMMPS will be read-in
    +  via a "read restart" command
    +this command is necessary because older restart files have a different format
    +valid settings are 2001 (LAMMPS 2001), 2000 (LAMMPS 2000),
    +  6 (LAMMPS 99) or 5 (LAMMPS 5.0)
    +restart files from earlier versions of LAMMPS are not readable without
    +  some source code modifications
    +restart files are always written out in the current-version format
    +  regardless of this setting
    +this must be set before the "read restart" command is executed
    +
    +Default = current version of code = 2001
    +
    +
    +

    +rotation zero

    +
    +zero out angular momentum when creating velocities for a group of atoms
    +value of 0 means don't zero out, value of 1 means zero it
    +
    +Default = 0
    +
    +
    +

    +run

    +
    +run or continue dynamics for specified # of timesteps
    +when rRESPA is enabled, this is steps of outermost loop (longest timesteps)
    +must have performed "read data" or "read restart"
    +  command first
    +
    +
    +

    +slab volume

    +
    +invoke 2-d slab Ewald/PPPM and set extended slab volume via this ratio
    +2-d slab Ewald/PPPM can be used for a system that is periodic in x-y,
    +  but not in z
    +this ratio dampens inter-slab interactions in the z dimension 
    +  by providing empty volume between slabs and removing
    +  dipole inter-slab interactions
    +ratio value is the size of the extended dimension in z divided by
    +  the actual dimension in z
    +recommended ratio value is 3.0: larger is inefficient, smaller
    +  risks unwanted inter-slab interactions
    +when 2-d slab Ewald/PPPM is used, z-direction periodicity must be
    +  turned off - e.g. periodicity 0 0 1
    +when 2-d slab Ewald/PPPM is used, user must prevent particle migration
    +  beyond initial z-bounds, typically by providing walls
    +2-d slab Ewald/PPPM can only be used only with electrostatically
    +  neutral systems
    +2-d slab Ewald/PPPM can only be used (for the moment) with constant
    +  volume simulations (no pressure control) - the pressure computation
    +  (printed as thermodynamic data) does not include any slab correction
    +  factor or a volume correction for the extended z direction
    +must be set before data or restart file is read
    +
    +Default = none (normal 3-D Ewald/PPPM)
    +
    +
    +

    +special bonds

    + +
    +weighting factors to turn on/off nonbond interactions of atom pairs that
    +  are "close" in the molecular topology
    +1-2 neighbors are a pair of atoms connected by a bond
    +1-3 neighbors are a pair of atoms 2 hops away, etc.
    +weight values are from 0.0 to 1.0 and are used to multiply the
    +  energy and force interaction (both Coulombic and LJ) between the 2 atoms
    +weight of 0.0 means no interaction
    +weight of 1.0 means full interaction
    +can either specify a single keyword (charmm, amber) or can give
    +  3 numeric values
    +using the charmm keyword means use the CHARMM force field
    +  settings of 0.0 0.0 0.0, requiring that pair-specific 1-4 interactions
    +  be read in individually (see "dihedral style charmm" command)
    +using the amber keyword means use the AMBER force field
    +  settings of 0.0 0.0 N, where N = 0.5 for Van der Waals 1-4 interactions
    +  and 1.0/1.2 for Coulombic 1-4 interactions
    +
    +Default = CHARMM force field values of 0.0 0.0 0.0
    +
    +
    +

    +temp control

    + +
    +styles:  
    +
    + +
    +coeffs:  none
    +               no other parameters required
    +         rescale
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) check for rescaling every this many timesteps
    +               (4) T window outside of which velocities will be rescaled
    +               (5) fractional amount (0.0 to 1.0) of rescaling to perform
    +         replace
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) do Gaussian replacement every this many timesteps
    +               (4) random # seed to use for replacement (0 < seed <= 8 digits)
    +         langevin
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) Langevin damping parameter (inverse time units)
    +               (4) random seed to use for white noise (0 < seed <= 8 digits)
    +         nose/hoover
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) frequency constant for friction force (inverse time units)
    +
    +enable constant temperature simulations
    +use appropriate number of coeffs for a particular style
    +all specified temperatures are in temperature units
    +target temperature at intermediate points during run is a ramped value
    +  between the beginning and ending temperatures
    +for rescale style, temperature is controlled by explicitly rescaling
    +  velocities towards the target temperature
    +for rescale style, rescaling is only done if current temperature is
    +  beyond the target temperature plus or minus the window value
    +for rescale style, the amount of rescaling is contfolled by the fractional
    +  amount (0.0 to 1.0), e.g. a value of 0.5 means set the velocities
    +  to halfway between the current and target temperature
    +for rescale style, it can be used as a coarse temperature rescaler,
    +  for example "rescale 200.0 300.0 100 10.0 1.0" will ramp the temperature
    +  up during the simulation, resetting it to the target temperatue as needed
    +for rescale style, it can be used to create an instantaneous
    +  drag force that slowly rescales the temperature without oscillation,
    +  for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) 
    +  the temperature to be 300.0, the time frame over which this occurs
    +  will become longer as the last parameter is made smaller
    +for replace style, Gaussian RNs from the Marsaglia RNG are used
    +for langevin style, uniform RNs from the Marsaglia RNG are used
    +for replace and langevin styles, the seed is used to initialize the
    +  Marsaglia RNG, on successive runs the RNG will just continue on
    +for replace and langevin styles, generated RNs depend on # of processors
    +  so will not get same answers independent of # of processors
    +for replace and langevin styles, RNG states are not saved in restart file,
    +  so cannot do an exact restart
    +for langevin style, damping parameter means small value -> less damping
    +for nose/hoover style, frequency constant is like an inverse 
    +  "piston" mass which determines how rapidly the temperature 
    +  fluctuates in response to a restoring force, large frequency -> 
    +  small mass -> rapid fluctations
    +for nose/hoover style, cannot use a end-of-run T of 0.0, must be finite
    +for langevin and nose/hoover styles, units of frequency/damping constant are
    +  inverse time, so a value of 0.01 means relax in a timespan on the 
    +  order of 100 fmsec (real units) or 100 tau (LJ units)
    +
    +Default = none
    +
    +
    +

    +thermo flag

    +
    +print thermodynamic info to screen and log file every this many timesteps
    +value of 0 means never print
    +
    +Default = 0
    +
    +
    +

    +thermo style

    +
    +determines format of thermodynamic output to screen and log file
    +
    + +
    +Default = 0
    +
    +
    +

    +timestep

    +
    +timestep size for MD run (time units)
    +when rRESPA is enabled, the timestep size is for the innermost (bond) loop
    +
    +Default = 1.0
    +
    +
    +

    +true flag

    +
    +read atom positions (see "read data" command) and dump atom positions
    +  (see "dump atoms" command) in one of 2 formats
    +
    + +
    +for each dimension, box count of "n" means add that many box lengths
    +  to get "true" un-remapped position, "n" can be positive, negative, or zero
    +must be set before data or restart file is read
    +
    +Default = 0
    +
    +
    +

    +units

    + +
    +set units to one of two options for all subsequent input parameters
    +
    +option real = conventional units:
    +
    + +
    +option lj = LJ reduced units:
    +
    + +
    +for LJ units, LAMMPS sets global epsilon,sigma,mass all equal to 1.0
    +subsequent input numbers in data and command file must be in these units
    +output numbers to screen and log and dump files will be in these units
    +this command (if it appears) must be the first command (aside from
    +  comments) in the input script
    +must be set before data or restart file is read
    +
    +Default = real
    +
    +
    +

    +volume control

    + +
    +styles:
    +
    + +
    +enable volume changes (density changes) during a simulation
    +specified box boundaries are in distance units
    +each dimension is controlled separately
    +dimensions not specified by a "volume control" command can be left
    +  alone (constant volume or nonperiodic) or controlled by
    +  a "press control" command
    +any dimension being varied by volume control must be periodic
    +the lo/hi values are the desired global simulation box boundaries at
    +  the end of the simulation run
    +at each timestep, the box is expanded/contracted uniformly from its initial
    +  lo/hi values to the specified ending lo/hi values
    +initial lo/hi values are specified in the data or restart file or 
    +  inherited from the end of the previous run
    +at each timestep, all atom coordinates are also scaled to the new box
    +
    +Default = none
    +
    + + diff --git a/doc/2001/units.html b/doc/2001/units.html new file mode 100644 index 0000000000..c2ddf14300 --- /dev/null +++ b/doc/2001/units.html @@ -0,0 +1,119 @@ + + + + + + +

    +LAMMPS Units

    +

    +Return to top-level LAMMPS documentation.

    +

    +This file describes the units associated with many of the key variables +and equations used inside the LAMMPS code. Units used for input command +parameters are described in the input_commands file. The input command +"units" selects between conventional and Lennard-Jones units. +See the force_fields file for more information on units for the force +field parameters that are input from data files or input scripts.

    +

    +Conventional units:

    + +

    +LJ reduced units:

    + +
    +

    +This listing of variables assumes conventional units; to convert to LJ +reduced units, simply substitute the appropriate term from the list +above. E.g. x is in sigmas in LJ units. Per-mole in any of the units +simply means for 6.023 x 10^23 atoms.

    +

    +

    +
    +Meaning        Variable        Units
    +
    +positions      x               Angstroms
    +velocities     v               Angstroms / click (see below)
    +forces         f               Kcal / (mole - Angstrom)                
    +masses         mass            gram / mole
    +charges        q               electron units (-1 for an electron)
    +                                 (1 e.u. = 1.602 x 10^-19 coul)
    +
    +time           ---             clicks (1 click = 48.88821 fmsec)
    +timestep       dt              clicks
    +input timestep dt_in           fmsec
    +time convert   dtfactor        48.88821 fmsec / click
    +
    +temperature     t_current       degrees K
    +                t_start
    +                t_stop
    +input damping   t_freq_in       inverse fmsec
    +internal temp   t_freq          inverse clicks
    +  damping
    +
    +dielec const    dielectric      1.0 (unitless)
    +Boltmann const  boltz           0.001987191 Kcal / (mole - degree K)
    +
    +virial          virial[xyz]     Kcal/mole = r dot F
    +pressure factor pfactor         68589.796 (convert internal to atmospheres)
    +internal        p_current       Kcal / (mole - Angs^3)
    +  pressure      p_start
    +                p_stop
    +input press     p_start_in      atmospheres
    +                p_stop_in
    +output press    log file        atmospheres
    +input damping   p_freq_in       inverse time
    +internal press  p_freq          inverse clicks
    +  damping
    +
    +pot eng         e_potential     Kcal/mole
    +kin eng         e_kinetic       Kcal/mole
    +eng convert     efactor         332.0636 (Kcal - Ang) / (q^2 - mole)
    +                                (convert Coulomb eng to Kcal/mole)
    +
    +LJ coeffs       lja,ljb         Kcal-Angs^(6,12)/mole
    +
    +bond            various         see force_fields file
    +  parameters    2,3,4-body
    +                terms
    +
    + + diff --git a/doc/99/README.html b/doc/99/README.html new file mode 100644 index 0000000000..528c1e161d --- /dev/null +++ b/doc/99/README.html @@ -0,0 +1,161 @@ + + + + + + +

    +LAMMPS

    +

    +LAMMPS = Large-scale Atomic/Molecular Massively Parallel Simulator

    +

    +This is the documentation for the LAMMPS 99 version, written in F77, +which has been superceded by more current versions. See the LAMMPS WWW +Site for more information. +

    +LAMMPS is a classical molecular dynamics code designed for simulating +molecular and atomic systems on parallel computers using +spatial-decomposition techniques. It runs on any parallel platform that +supports the MPI message-passing library or on single-processor +workstations.

    +

    +LAMMPS 99 is copyrighted code that is distributed freely as +open-source software under the GNU Public License (GPL). See the +LICENSE file or www.gnu.org for more +details. Basically the GPL allows you as a user to use, modify, or +distribute LAMMPS however you wish, so long as any software you +distribute remains under the GPL. +

    +Features of LAMMPS 99 include:

    + +

    +More details about the code can be found here, +in the HTML-based documentation. There is also a conference paper +describing the parallel algorithms used in the code:

    +

    +S. J. Plimpton, R. Pollock, M. Stevens, "Particle-Mesh Ewald and +rRESPA for Parallel Molecular Dynamics Simulations", in Proc of +the Eighth SIAM Conference on Parallel Processing for Scientific +Computing, Minneapolis, MN, March 1997.

    +

    +LAMMPS was originally developed as part of a 5-way CRADA collaboration +between 3 industrial partners (Cray Research, Bristol-Myers Squibb, and +Dupont) and 2 DoE laboratories (Sandia National Laboratories and +Lawrence Livermore National Laboratories).

    +

    +The primary author of LAMMPS is Steve Plimpton, but others have written +or worked on significant portions of the code:

    + +

    +Other CRADA partners involved in the design and testing of LAMMPS are

    + +

    +LAMMPS is copyrighted code that is distributed freely as open-source +software under the GNU Public License (GPL). See the LICENSE file or +www.gnu.org for more details. +Basically the GPL allows you as a user to use, modify, or distribute +LAMMPS however you wish, so long as any software you distribute +remains under the GPL. +

    +If you have questions about LAMMPS, please contact me: +

    +
    +
    + Steve Plimpton +
    + sjplimp@sandia.gov +
    + www.cs.sandia.gov/~sjplimp +
    + Sandia National Labs +
    + Albuquerque, NM 87185 +
    +
    +

    +More Information about LAMMPS

    + +
  • + Basics + +
  • + how to make, run, and test LAMMPS with the example problems +
  • +
  • + Input Commands + +
  • + a complete listing of input commands used by LAMMPS +
  • +
  • + Data Format + +
  • + the data file format used by LAMMPS +
  • +
  • + Force Fields + +
  • + the equations LAMMPS uses to compute force-fields +
  • +
  • + Units + +
  • + the input/output and internal units for LAMMPS variables +
  • +
  • + Crib + +
  • + a one-line description of the variables used in LAMMPS +
  • +
  • + History + +
  • + a brief timeline of features added to LAMMPS +
  • +
  • + + diff --git a/doc/99/basics.html b/doc/99/basics.html new file mode 100644 index 0000000000..a9a9cb4a8d --- /dev/null +++ b/doc/99/basics.html @@ -0,0 +1,207 @@ + + + + + + +

    +Basics of Using LAMMPS

    +

    +Return to top-level of LAMMPS documentation.

    + +
    +

    +Distribution

    +

    +When you unzip/untar the LAMMPS distribution you should have 5 +directories:

    + +
    +

    +Making LAMMPS

    +

    +The src directory contains the F77 and C source files for LAMMPS as +well as several sample Makefiles for different machines. To make LAMMPS +for a specfic machine, you simply type

    +

    +make machine

    +

    +from within the src directoy. E.g. "make sgi" or "make +t3e". This should create an executable named lmp_sgi or lmp_t3e.

    +

    +In the src directory, there is one top-level Makefile and several +low-level machine-specific files named Makefile.xxx where xxx = the +machine name. If a low-level Makefile exists for your platform, you do +not need to edit the top-level Makefile. However you should check the +system-specific section of the low-level Makefile to make sure the +various paths are correct for your environment. If a low-level Makefile +does not exist for your platform, you will need to add a suitable +target to the top-level Makefile. You will also need to create a new +low-level Makefile using one of the existing ones as a template. If you +wish to make LAMMPS for a single-processor workstation that doesn't +have an installed MPI library, you can specify the serial target which +uses a directory of MPI stubs to link against - e.g. "make +serial". You will need to make the stub library (see STUBS +directory) on your workstation before doing this.

    +

    +Note that the two-level Makefile system allows you to make LAMMPS for +multiple platforms. Each target creates its own object directory for +separate storage of its *.o files.

    +

    +There are a couple compiler switches of interest which can be specified +in the low-level Makefiles. If you use a F77FLAGS switch of -DSYNC then +synchronization calls will be made before the timing routines in +integrate.f. This may slow down the code slightly, but will make the +reported timings at the end of a run more accurate. The CCFLAGS setting +in the low-level Makefiles requires a FFT setting, for example +-DFFT_SGI or -DFFT_T3E. This is for inclusion of the appropriate +machine-specific native 1-d FFT libraries on various platforms. +Currently, the supported machines and switches (used in fft_3d.c) are +FFT_SGI, FFT_DEC, FFT_INTEL, FFT_T3E, and FFT_FFTW. The latter is a +publicly available portable FFT library, FFTW, +which you can install on any machine. If none of these options is +suitable for your machine, please contact me, and we'll discuss how to +add the capability to call your machine's native FFT library.

    +
    +

    +Running LAMMPS

    +

    +LAMMPS is run by redirecting a file of input commands into it.

    +

    +lmp_sgi < in.lj

    +

    +lmp_t3e < in.lj

    +

    +The input file contains commands that specify the parameters for the +simulation as well as read other necessary files such as a data file +that describes the initial atom positions, molecular topology, and +force-field parameters. The input_commands + page describes all the possible commands that can be used. The data_format page describes the format of +the data file.

    +

    +LAMMPS can be run on any number of processors, including a single +processor. In principle you should get identical answers on any number +of processors and on any machine. In practice, numerical round-off can +cause slight differences and eventual divergence of dynamical +trajectories.

    +

    +When LAMMPS runs, if you get an error message to the screen about +"boosting" something, it means one (or more) data arrays are +not allocated large enough. Some of these errors are detected at setup, +others like neighbor list overflow may not occur until the middle of a +run. When the latter happens the program will either gracefully stop +(if all processors incurred the same error) or hang (with an error +message). Unfortunately in the current version of LAMMPS which uses +static memory allocation, changing the array size(s) requires you to +edit the appropriate line(s) in the param.h file and recompile the code.

    +

    +I've tried to be careful about detecting memory-overflow errors in +LAMMPS. If the code ever crashes or hangs without spitting out an error +message first, it's probably a bug, so let me know about it. Of course +this applies to problems due to algorithmic or parallelism issues, not +to physics mistkaes, like specifying too big a timestep or putting 2 +atoms on top of each other! One exception is that different MPI +implementations handle buffering of messages differently. If the code +hangs without an error message, it may be that you need to specify an +MPI setting or two (usually via an environment variable) to enable +buffering or boost the sizes of messages that can be buffered.

    +
    +

    +Examples

    +

    +There are several sample problems in the examples directory. All of +them use an input file (in.*) of commands and a data file (data.*) of +initial atomic coordinates and produce one or more output files. The +*.xxx.P files are outputs on P processors on a particular machine which +you can compare your answers to.

    +

    +(1) lj

    +

    +Simple atomic simulations of Lennard-Jones atoms of 1 or 3 species with +various ensembles -- NVE, NVT, NPT.

    +

    +(2) charge

    +

    +A few timestep simulation of a box of charged atoms for testing the +Coulombic options -- cutoff, Ewald, particle-mesh Ewald (PPPM).

    +

    +(3) class2

    +

    +A simple test run of phenyalanine using DISCOVER cff95 class II force +fields.

    +

    +(4) min

    +

    +An energy minimization of a transcription protein.

    +

    +(5) lc

    +

    +Small (250 atom) and large (6750 atom) simulations of liquid crystal +molecules with various Coulombic options and periodicity settings. The +large-system date file was created by using the "replicate" +tool on the small-system data file.

    +

    +(6) flow

    +

    +2-d flow of Lennard-Jones atoms in a channel using various contraint +options.

    +

    +(7) polymer

    +

    +Simulations of bead-spring polymer models with one chain type and two +chain types (different size monomers). The two-chain system also has +freely diffusing monomers. This illustrates use of the setup_chain +program in the tools directory and also how to use soft potentials to +untangle the initial configurations.

    +
    +

    +Other Tools

    +

    +The msi2lmp directory has source code for a tool that converts MSI +Discover files to LAMMPS input data files. This tool requires you to +have the Discover force-field description files in order to convert +those parameters to LAMMPS parameters. See the README file in the +msi2lmp directory for additional information.

    +

    +The tools directory has a C file called replicate.c which is useful for +generating new LAMMPS data files from existing ones - e.g. scaling the +atom coordinates, replicating the system to make a larger one, etc. See +the comments at the top of replicate.c for instructions on how to use +it.

    +

    +The tools directory has a F77 program called setup_lj (compile and link +with print.c) which can be used to generate a 3-d box of Lennard Jones +atoms (one or more atom types) like those used in examples/lj.

    +

    +The tools directory also has a F77 program called setup_chain.f +(compile and link with print.c) which can be used to generate random +initial polymer configurations for bead-spring models like those used +in examples/polymer. It uses an input polymer definition file (see +examples/polymer for two sample def files) that specfies how many +chains of what length, a random number seed, etc.

    + + diff --git a/doc/99/crib.html b/doc/99/crib.html new file mode 100755 index 0000000000..0944980b17 --- /dev/null +++ b/doc/99/crib.html @@ -0,0 +1,629 @@ + + + + + + +

    +Crib File

    +

    +Return to top-level of LAMMPS documentation.

    +

    +This file contains one-line descriptions of the key variables and +parameters used in LAMMPS. The variables are listed by their data type:

    + +

    +Note: this file is somewhat out-of-date for LAMMPS 99.

    +
    +

    +Parameters:

    + +
    +

    +Arrays (real):

    + +
    +

    +Arrays (integer):

    + +
    +

    +Variables (real):

    + +
    +

    +Variables (integer):

    + +
    +

    +Variables (character):

    + +

    +

    + + diff --git a/doc/99/data_format.html b/doc/99/data_format.html new file mode 100644 index 0000000000..6a766e9f0f --- /dev/null +++ b/doc/99/data_format.html @@ -0,0 +1,239 @@ + + + + + + +

    +LAMMPS Data Format

    +

    +Return to top-level of LAMMPS documentation

    +

    +This file describes the format of the data file read into LAMMPS with +the "read data" command. The data file contains basic +information about the size of the problem to be run, the initial atomic +coordinates, molecular topology, and (optionally) force-field +coefficients. It will be easiest to understand this file if you read it +while looking at a sample data file from the examples.

    +

    +This page has 2 sections:

    + +
    +

    +Rules for formatting the Data File:

    +

    +Blank lines are important. After the header section, new entries are +separated by blank lines.

    +

    +Indentation and space between words/numbers on one line is not +important except that entry keywords (e.g. Masses, Bond Coeffs) must be +left-justified and capitalized as shown.

    +

    +The header section (thru box bounds) must appear first in the file, the +remaining entries (Masses, various Coeffs, Atoms, Bonds, etc) can come +in any order.

    +

    +These entries must be in the file: header section, Masses, Atoms.

    +

    +These entries must be in the file if there are a non-zero number of +them: Bonds, Angles, Dihedrals, Impropers, Bond Coeffs, Angle Coeffs, +Dihedral Coeffs, Improper Coeffs. Cross-term coefficients for a +particular kind of interaction (e.g. BondAngle Coeffs for bonds) must +appear if class II force fields have been turned on in the input +command file via a "style" command.

    +

    +The Nonbond Coeffs entry contains one line for each atom type. These +are the coefficients for an interaction between 2 atoms of the same +type. The cross-type coeffs are computed by the appropriate class I or +class II mixing rules, or can be specified explicitly using the +"nonbond coeff" command in the input command script. See the force_fields page for more information.

    +

    +The Nonbond Coeffs and Bond Coeffs entries are optional since they can +be specified from the input command script. This is not true if bond +style is set to class II since those coeffs can only be specified in +this data file.

    +

    +In the Atoms entry, the atoms can be in any order so long as there are +N entries. The 1st number on the line is the atom-tag (number from 1 to +N) which is used to identify the atom throughout the simulation. The +molecule-tag is a second identifier which is attached to the atom; it +can be 0, or a counter for the molecule the atom is part of, or any +other number you wish. The q value is the charge of the atom in +electron units (e.g. +1 for a proton). The xyz values are the initial +position of the atom. For 2-d simulations specify z as 0.0.

    +

    +The final 3 nx,ny,nz values on a line of the Atoms entry are optional. +LAMMPS only reads them if the "true flag" command is +specified in the input command script. Otherwise they are initialized +to 0 by LAMMPS. Their meaning, for each dimension, is that +"n" box-lengths are added to xyz to get the atom's +"true" un-remapped position. This can be useful in pre- or +post-processing to enable the unwrapping of long-chained molecules +which wrap thru the periodic box one or more times. The value of +"n" can be positive, negative, or zero. For 2-d simulations +specify nz as 0.

    +

    +For simulations with periodic boundary conditions, xyz are remapped +into the periodic box (from as far away as needed), so the initial +coordinates need not be inside the box. The nx,ny,nz values (as read in +or as set to zero by LAMMPS) are appropriately adjusted by this +remapping.

    +

    +The number of coefficients specified on each line of coefficient +entries (Nonbond Coeffs, Bond Coeffs, etc) depends on the +"style" of interaction. This is specified in the input +command script, unless the default is used. See the input_commands page for a description +of the various style options. The input_commands + and force_fields pages explain the +meaning and valid ranges for each of the coefficients.

    +
    +

    +Sample file with Annotations

    +

    +Here is a sample file with annotations in parenthesis and lengthy +sections replaced by dots (...). Note that the blank lines are +important in this example.

    +
    +
    +LAMMPS Description           (1st line of file)
    +
    +100 atoms         (this must be the 3rd line, 1st 2 lines are ignored)
    +95 bonds                (# of bonds to be simulated)
    +50 angles               (include these lines even if number = 0)
    +30 dihedrals
    +20 impropers
    +
    +5 atom types           (# of nonbond atom types)
    +10 bond types          (# of bond types = sets of bond coefficients)
    +18 angle types         
    +20 dihedral types      (do not include a bond,angle,dihedral,improper type
    +2 improper types             line if number of bonds,angles,etc is 0)
    +
    +-0.5 0.5 xlo xhi       (for periodic systems this is box size,
    +-0.5 0.5 ylo yhi        for non-periodic it is min/max extent of atoms)
    +-0.5 0.5 zlo zhi       (do not include this line for 2-d simulations)
    +
    +Masses
    +
    +  1 mass
    +  ...
    +  N mass                           (N = # of atom types)
    +
    +Nonbond Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of atom types)
    +
    +Bond Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of bond types)
    +
    +Angle Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of angle types)
    +
    +Dihedral Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +Improper Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of improper types)
    +
    +BondBond Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of angle types)
    +
    +BondAngle Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of angle types)
    +
    +MiddleBondTorsion Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +EndBondTorsion Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +AngleTorsion Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +AngleAngleTorsion Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +BondBond13 Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of dihedral types)
    +
    +AngleAngle Coeffs
    +
    +  1 coeff1 coeff2 ...
    +  ...
    +  N coeff1 coeff2 ...              (N = # of improper types)
    +
    +Atoms
    +
    +  1 molecule-tag atom-type q x y z nx ny nz  (nx,ny,nz are optional -
    +  ...                                    see "true flag" input command)
    +  ...                
    +  N molecule-tag atom-type q x y z nx ny nz  (N = # of atoms)
    +
    +Bonds
    +
    +  1 bond-type atom-1 atom-2
    +  ...
    +  N bond-type atom-1 atom-2             (N = # of bonds)
    +
    +Angles
    +
    +  1 angle-type atom-1 atom-2 atom-3  (atom-2 is the center atom in angle)
    +  ...
    +  N angle-type atom-1 atom-2 atom-3  (N = # of angles)
    +
    +Dihedrals
    +
    +  1 dihedral-type atom-1 atom-2 atom-3 atom-4  (atoms 2-3 form central bond)
    +  ...
    +  N dihedral-type atom-1 atom-2 atom-3 atom-4  (N = # of dihedrals)
    +
    +Impropers
    +
    +  1 improper-type atom-1 atom-2 atom-3 atom-4  (atom-1 is central atom)
    +  ...
    +  N improper-type atom-1 atom-2 atom-3 atom-4  (N = # of impropers)
    +
    + + diff --git a/doc/99/force_fields.html b/doc/99/force_fields.html new file mode 100644 index 0000000000..2907789e91 --- /dev/null +++ b/doc/99/force_fields.html @@ -0,0 +1,550 @@ + + + + + + +

    +LAMMPS Force Fields

    +

    +Return to top-level of LAMMPS documentation

    +

    +This file outlines the force-field formulas used in LAMMPS. Read this +file in conjunction with the data_format + and units file.

    +

    +The sections of this page are as follows:

    + +
    +

    +Nonbond Coulomb

    +

    +Whatever Coulomb style is specified in the input command file, the +short-range Coulombic interactions are computed by this formula, +modified by an appropriate smoother for the smooth, Ewald, and PPPM +styles.

    +
    +  E = C q1 q2 / (epsilon * r)
    +
    +  r = distance (computed by LAMMPS)
    +  C = hardwired constant to convert to energy units
    +  q1,q2 = charge of each atom in electron units (proton = +1),
    +    specified in "Atoms" entry in data file
    +  epsilon = dielectric constant (vacuum = 1.0),
    +    set by user in input command file
    +
    +
    +

    +Nonbond Lennard-Jones

    +

    +The style of nonbond potential is specified in the input command file.

    +

    +(1) lj/cutoff

    +
    +
    +  E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]
    +
    +  standard Lennard Jones potential
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = sigma (distance)
    +
    +  2 coeffs are listed in data file or set in input script
    +  1 cutoff is set in input script
    +
    +
    +

    +(2) lj/switch

    +
    +
    +  E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]  for  r < r_inner
    +    = spline fit    for  r_inner < r < cutoff
    +    = 0             for r > cutoff
    +
    +  switching function (spline fit) is applied to standard LJ
    +    within a switching region (from r_inner to cutoff) so that
    +    energy and force go smoothly to zero
    +  spline coefficients are computed by LAMMPS
    +    so that at inner cutoff (r_inner) the potential, force, 
    +    and 1st-derivative of force are all continuous, 
    +    and at outer cutoff (cutoff) the potential and force
    +    both go to zero
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = sigma (distance)
    +  
    +  2 coeffs are listed in data file or set in input script
    +  2 cutoffs (r_inner and cutoff) are set in input script
    +
    +
    +

    +(3) lj/shift

    +
    +
    +  E = 4 epsilon [ (sigma/(r - delta))^12 - (sigma/(r - delta))^6 ]
    +
    +  same as lj/cutoff except that r is shifted by delta
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = sigma (distance)
    +  coeff3 = delta (distance)
    +
    +  3 coeffs are listed in data file or set in input script
    +  1 cutoff is set in input script
    +
    +
    +

    +(4) soft

    +
    +
    +  E = A * [ 1 + cos( pi * r / cutoff ) ]
    +
    +  useful for pushing apart overlapping atoms by ramping A over time
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = prefactor A at start of run (energy)
    +  coeff2 = prefactor A at end of run (energy)
    +
    +  2 coeffs are listed in data file or set in input script
    +  1 cutoff is set in input script
    +
    +
    +

    +(5) class2/cutoff

    +
    +
    +  E = epsilon [ 2 (sigma/r)^9 - 3 (sigma/r)^6 ]
    +
    +  used with class2 bonded force field
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = sigma (distance)
    +
    +  2 coeffs are listed in data file or set in input script
    +  1 cutoff is set in input script
    +
    +
    +

    +Mixing Rules for Lennard-Jones

    +

    +The coefficients for each nonbond style are input in either the data +file by the "read data" command or in the input script using +the "nonbond coeff" command. In the former case, only one set +of coefficients is input for each atom type. The cross-type coeffs are +computed using one of three possible mixing rules:

    +
    +
    + geometric:  epsilon_ij = sqrt(epsilon_i * epsilon_j)
    +             sigma_ij = sqrt(sigma_i * sigma_j)
    +
    + arithmetic: epsilon_ij = sqrt(epsilon_i * epsilon_j)
    +             sigma_ij = (sigma_i + sigma_j) / 2
    +
    + sixthpower: epsilon_ij =
    +               (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
    +               (sigma_i^6 + sigma_j^6)
    +             sigma_ij=  ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6)
    +
    +
    +

    +The default mixing rule for nonbond styles lj/cutoff, lj/switch, +lj/shift, and soft is "geometric". The default for nonbond +style class2/cutoff is "sixthpower".

    +

    +The default can be overridden using the "mixing style" +command. The one exception to this is for the nonbond style soft, for +which only an epsilon prefactor is input. This is always mixed +geometrically.

    +

    +Also, for nonbond style lj/shift, the delta coefficient is always mixed +using the rule

    + +
    +

    +Bonds

    +

    +The style of bond potential is specified in the input command file.

    +

    +(1) harmonic

    +
    +
    +  E = K (r - r0)^2
    +
    +  standard harmonic spring
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = K (energy/distance^2)  (the usual 1/2 is included in the K)
    +  coeff2 = r0 (distance)
    +
    +  2 coeffs are listed in data file or set in input script
    +
    +
    +

    +(2) FENE/standard

    +
    +
    +  E = -0.5 K R0^2 * ln[1 - (r/R0)^2] +
    +    4 epsilon [(sigma/r)^12 - (sigma/r)^6] + epsilon
    +
    +  finite extensible nonlinear elastic (FENE) potential for
    +    polymer bead-spring models
    +  see Kremer, Grest, J Chem Phys, 92, p 5057 (1990)
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = K (energy/distance^2)
    +  coeff2 = R0 (distance)
    +  coeff3 = epsilon (energy)
    +  coeff4 = sigma (distance)
    +
    +  1st term is attraction, 2nd term is repulsion (shifted LJ)
    +  1st term extends to R0
    +  2nd term only extends to the minimum of the LJ potential,
    +    a cutoff distance computed by LAMMPS (2^(1/6) * sigma)
    +
    +  4 coeffs are listed in data file or set in input script
    +
    +
    +

    +(3) FENE/shift

    +
    +
    +  E = -0.5 K R0^2 * ln[1 - ((r - delta)/R0)^2] +
    +    4 epsilon [(sigma/(r - delta))^12 - (sigma/(r - delta))^6] + epsilon
    +
    +  same as FENE/standard expect that r is shifted by delta
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = K (energy/distance^2)
    +  coeff2 = R0 (distance)
    +  coeff3 = epsilon (energy)
    +  coeff4 = sigma (distance)
    +  coeff5 = delta (distance)
    +
    +  1st term is attraction, 2nd term is repulsion (shifted LJ)
    +  1st term extends to R0
    +  2nd term only extends to the minimum of the LJ potential,
    +    a cutoff distance computed by LAMMPS (2^(1/6) * sigma + delta)
    +
    +  5 coeffs are listed in data file or set in input script
    +
    +
    +

    +(4) nonlinear

    +
    +
    +  E = epsilon (r - r0)^2 / [ lamda^2 - (r - r0)^2 ]
    +
    +  non-harmonic spring of equilibrium length r0
    +    with finite extension of lamda
    +  see Rector, Van Swol, Henderson, Molecular Physics, 82, p 1009 (1994)
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = epsilon (energy)
    +  coeff2 = r0 (distance)
    +  coeff3 = lamda (distance)
    +
    +  3 coeffs are listed in data file or set in input script
    +
    +
    +

    +(5) class2

    +
    +
    +  E = K2 (r - r0)^2  +  K3 (r - r0)^3  +  K4 (r - r0)^4
    +
    +  r = distance (computed by LAMMPS)
    +
    +  coeff1 = r0 (distance)
    +  coeff2 = K2 (energy/distance^2)
    +  coeff3 = K3 (energy/distance^3)
    +  coeff4 = K4 (energy/distance^4)
    +
    +  4 coeffs are listed in data file - cannot be set in input script
    +
    +
    +

    +Angles

    +

    +The style of angle potential is specified in the input command file.

    +

    +(1) harmonic

    +
    +
    +  E = K (theta - theta0)^2
    +
    +  theta = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
    +  coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
    +
    +  2 coeffs are listed in data file
    +
    +
    +

    +(2) class2

    +
    +
    +  E = K2 (theta - theta0)^2 +  K3 (theta - theta0)^3 + 
    +       K4 (theta - theta0)^4
    +
    +  theta = radians (computed by LAMMPS)
    +
    +  coeff1 = theta0 (degrees) (converted to radians within LAMMPS)
    +  coeff2 = K2 (energy/radian^2)
    +  coeff3 = K3 (energy/radian^3)
    +  coeff4 = K4 (energy/radian^4)
    +
    +  4 coeffs are listed in data file
    +
    +
    +

    +Dihedrals

    +

    +The style of dihedral potential is specified in the input command file.

    +

    +(1) harmonic

    +
    +
    +  E = K [1 + d * cos (n * phi) ]
    +
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy)
    +  coeff2 = d (always +1 or -1)
    +  coeff3 = n (1,2,3,4,6)
    +
    +  Cautions when comparing to other force fields:
    +
    +  some force fields reverse the sign convention on d so that
    +    E = K [1 - d * cos(n*phi)]
    +  some force fields divide/multiply K by the number of multiple
    +    torsions that contain the j-k bond in an i-j-k-l torsion
    +  some force fields let n be positive or negative which 
    +    corresponds to d = 1,-1
    +  in the LAMMPS force field, the trans position = 180 degrees, while
    +    in some force fields trans = 0 degrees
    + 
    +  3 coeffs are listed in data file
    +
    +

    +(2) class2

    +
    +
    +  E = SUM(n=1,3) { K_n [ 1 - cos( n*Phi - Phi0_n ) ] }
    +
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = K_1 (energy)
    +  coeff2 = Phi0_1 (degrees) (converted to radians within LAMMPS)
    +  coeff3 = K_2 (energy)
    +  coeff4 = Phi0_2 (degrees) (converted to radians within LAMMPS)
    +  coeff5 = K_3 (energy)
    +  coeff6 = Phi0_3 (degrees) (converted to radians within LAMMPS)
    +
    +  6 coeffs are listed in data file
    +
    +
    +

    +Impropers

    +

    +The style of improper potential is specified in the input command file.

    +

    +(1) harmonic

    +
    +
    +  E = K (chi - chi0)^2
    +
    +  chi = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
    +  coeff2 = chi0 (degrees) (converted to radians within LAMMPS)
    +
    +  in data file, listing of 4 atoms requires atom-1 as central atom
    +  some force fields (AMBER,Discover) have atom-2 as central atom - it is really
    +    an out-of-plane torsion, may need to treat as dihedral in LAMMPS
    +
    +  2 coeffs are listed in data file
    +
    +

    +(2) class2

    +
    +
    +  same formula, coeffs, and meaning as "harmonic" except that LAMMPS
    +    averages all 3 angle-contributions to chi
    +  in class II this is called a Wilson out-of-plane interaction
    +
    +  2 coeffs are listed in data file
    +
    +
    +

    +Class II Force Field

    +

    +If class II force fields are selected in the input command file, +additional cross terms are computed as part of the force field.

    +

    +Bond-Bond (computed within class II angles)

    +
    +
    +  E = K (r - r0) * (r' - r0')
    +
    +  r,r' = distance (computed by LAMMPS)
    +
    +  coeff1 = K (energy/distance^2)
    +  coeff2 = r0 (distance)
    +  coeff3 = r0' (distance)
    +
    +  3 coeffs are input in data file
    +
    +

    +Bond-Angle (computed within class II angles for each of 2 bonds)

    +
    +
    +  E = K_n (r - r0_n) * (theta - theta0)
    +
    +  r = distance (computed by LAMMPS)
    +  theta = radians (computed by LAMMPS)
    +
    +  coeff1 = K_1 (energy/distance-radians)
    +  coeff2 = K_2 (energy/distance-radians)
    +  coeff3 = r0_1 (distance)
    +  coeff4 = r0_2 (distance)
    +
    +  Note: theta0 is known from angle coeffs so don't need it specified here
    +
    +  4 coeffs are listed in data file
    +
    +

    +Middle-Bond-Torsion (computed within class II dihedral)

    +
    +
    +  E = (r - r0) * [ F1*cos(phi) + F2*cos(2*phi) + F3*cos(3*phi) ]
    +
    +  r = distance (computed by LAMMPS)
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = F1 (energy/distance)
    +  coeff2 = F2 (energy/distance)
    +  coeff3 = F3 (energy/distance)
    +  coeff4 = r0 (distance)
    +
    +  4 coeffs are listed in data file
    +
    +

    +End-Bond-Torsion (computed within class II dihedral for each of 2 +bonds)

    +
    +
    +  E = (r - r0_n) * [ F1_n*cos(phi) + F2_n*cos(2*phi) + F3_n*cos(3*phi) ]
    +
    +  r = distance (computed by LAMMPS)
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = F1_1 (energy/distance)
    +  coeff2 = F2_1 (energy/distance)
    +  coeff3 = F3_1 (energy/distance)
    +  coeff4 = F1_2 (energy/distance)
    +  coeff5 = F2_3 (energy/distance)
    +  coeff6 = F3_3 (energy/distance)
    +  coeff7 = r0_1 (distance)
    +  coeff8 = r0_2 (distance)
    +
    +  8 coeffs are listed in data file
    +
    +

    +Angle-Torsion (computed within class II dihedral for each of 2 angles)

    +
    +
    +  E = (theta - theta0) * [ F1_n*cos(phi) + F2_n*cos(2*phi) + F3_n*cos(3*phi) ]
    +
    +  theta = radians (computed by LAMMPS)
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = F1_1 (energy/radians)
    +  coeff2 = F2_1 (energy/radians)
    +  coeff3 = F3_1 (energy/radians)
    +  coeff4 = F1_2 (energy/radians)
    +  coeff5 = F2_3 (energy/radians)
    +  coeff6 = F3_3 (energy/radians)
    +  coeff7 = theta0_1 (degrees) (converted to radians within LAMMPS)
    +  coeff8 = theta0_2 (degrees) (converted to radians within LAMMPS)
    +
    +  8 coeffs are listed in data file
    +
    +

    +Angle-Angle-Torsion (computed within class II dihedral)

    +
    +
    +  E = K (theta - theta0) * (theta' - theta0') * (phi - phi0)
    +
    +  theta,theta' = radians (computed by LAMMPS)
    +  phi = radians (computed by LAMMPS)
    +
    +  coeff1 = K (energy/radians^3)
    +  coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
    +  coeff3 = theta0' (degrees) (converted to radians within LAMMPS)
    +
    +  Note: phi0 is known from dihedral coeffs so don't need it specified here
    +
    +  3 coeffs are listed in data file
    +
    +
    +

    +Bond-Bond-13-Torsion (computed within class II dihedral)

    +
    +
    +  (undocumented)
    +
    +
    +

    +Angle-Angle (computed within class II improper for each of 3 pairs of +angles)

    +
    +
    +  E = K_n (theta - theta0_n) * (theta' - theta0_n')
    +
    +  theta,theta' = radians (computed by LAMMPS)
    +
    +  coeff1 = K_1 (energy/radians^2)
    +  coeff2 = K_2 (energy/radians^2)
    +  coeff3 = K_3 (energy/radians^2)
    +  coeff4 = theta0_1 (degrees) (converted to radians within LAMMPS)
    +  coeff5 = theta0_2 (degrees) (converted to radians within LAMMPS)
    +  coeff6 = theta0_3 (degrees) (converted to radians within LAMMPS)
    +
    +  6 coeffs are listed in data file
    +
    + + diff --git a/doc/99/history.html b/doc/99/history.html new file mode 100644 index 0000000000..861ef480a3 --- /dev/null +++ b/doc/99/history.html @@ -0,0 +1,127 @@ + + + + + + +

    +History of LAMMPS

    +

    +Return to top-level of LAMMPS documentation.

    +

    +This is a brief history of features added to each version of LAMMPS.

    +
    +

    +LAMMPS 99 - June 99

    + +
    +

    +Version 5.0 - Oct 1997

    + +
    +

    +Version 4.0 - March 1997

    + +
    +

    +Version 3.0 - March 1996

    + +
    +

    +Version 2.0 - October 1995

    + +
    +

    +Version 1.1 - February 1995

    + +
    +

    +Version 1.0 - January 1995

    + + + diff --git a/doc/99/input_commands.html b/doc/99/input_commands.html new file mode 100644 index 0000000000..b904027153 --- /dev/null +++ b/doc/99/input_commands.html @@ -0,0 +1,1570 @@ + + + + + + +

    +LAMMPS Input Commands

    +

    +Return to top-level of LAMMPS documentation.

    +

    +This page contains a complete list of valid LAMMPS inputs. It will be +easiest to understand if you read it while looking at sample input +files such as those in the examples directory.

    +

    +The input file of commands is read by LAMMPS, one line at a time. Each +command causes LAMMPS to take some action. Usually it simply causes +some internal variable(s) to be set. Or it may cause a file to be read +in or a simulation to be run. In general, commands can be listed in any +order, although some commands require others to have been executed +previously.

    +

    +LAMMPS continues to read successive lines from the input command file +until the end-of-file is reached which causes LAMMPS to terminate. Thus +new simulations can be run or current simulations continued by simply +specifying additional commands in the input command file.

    +

    +The next section of this page gives an example of each command, some of +which can be specified in multiple styles. Typically the commands take +one or more parameters. The keyword for each command should begin in +the leftmost column and all characters in the command and its +parameters should be in lower-case. Parameters can be separated by +arbitrary numbers of spaces and/or tabs (so long as the command fits on +one line). The remainder of the line after the last parameter is +ignored.

    +

    +The final section of this page gives a more detailed description of +each command with its associated parameters. It also lists the default +parameters associated with each command. When performing a simulation, +you only need specify a particular command if you do not want to use +the default settings.

    + +
    +

    +Categories of Commands withExamples

    + +
    +

    +Basic Settings

    +
    +comments
    +
    +units                  real
    +dimension              3
    +periodicity            0 0 0
    +processor grid         10 10 10
    +newton flag            3
    +timestep               1.0
    +respa                  2 2 4
    +neighbor               2.0 0 1 10 1
    +special bonds          0.0 0.0 0.4
    +
    +
    +

    +Output Control

    +
    +thermo flag            50
    +thermo style           0
    +true flag              0
    +
    +dump atoms             100 filename
    +dump velocities        100 filename
    +dump forces            100 filename
    +
    +restart                1000 file1 file2
    +diagnostic             diffusion 100 filename 3 1.0 -1.0 2.5
    +
    +
    +

    +Ensemble Control

    +
    +temp control           none
    +temp control           rescale 300.0 300.0 100 20.0
    +temp control           replace 300.0 300.0 50 12345678
    +temp control           langevin 50.0 50.0 0.01 123456
    +temp control           nose/hoover 300.0 300.0 0.01
    +
    +press control          none
    +press control          nose/hoover 1.0 1.0 0.001
    +press_x control        nose/hoover 1.0 1.0 0.001
    +press_y control        nose/hoover 1.0 1.0 0.001
    +press_z control        nose/hoover 1.0 1.0 0.001
    +
    +
    +

    +Nonbond Force Field

    +
    +nonbond style          none
    +nonbond style          lj/cutoff 10.0 0
    +nonbond coeff          1 2 1.0 3.45 10.0
    +nonbond style          lj/smooth 8.0 10.0
    +nonbond coeff          1 2 1.0 3.45 8.0 10.0
    +nonbond style          lj/shift 10.0 0
    +nonbond coeff          1 2 1.0 3.45 2.0 10.0
    +nonbond style          soft 2.5
    +nonbond coeff          1 2 1.0 30.0 2.5
    +nonbond style          class2/cutoff 10.0 0
    +nonbond coeff          1 2 1.0 3.45 10.0
    +mixing style           geometric
    +
    +coulomb style          none
    +coulomb style          cutoff 10.0
    +coulomb style          smooth 8.0 10.0
    +coulomb style          ewald 10.0 1.0E-4
    +coulomb style          pppm 10.0 1.0E-4
    +pppm mesh              32 32 64
    +pppm order             5
    +dielectric             1.0
    +
    +
    +

    +Bonded Force Field

    +
    +bond style             none
    +bond style             harmonic
    +bond coeff             1 100.0 3.45
    +bond style             fene/standard
    +bond coeff             1 30.0 1.5 1.0 1.0
    +bond style             fene/shift
    +bond coeff             1 30.0 1.5 1.0 1.0 0.2
    +bond style             nonlinear
    +bond coeff             1 28.0 0.748308 0.166667
    +bond style             class2
    +
    +angle style            none
    +angle style            harmonic
    +angle style            class2
    +
    +dihedral style         none
    +dihedral style         harmonic
    +dihedral style         class2
    +
    +improper style         none
    +improper style         harmonic
    +improper style         class2
    +
    +
    +

    +Atom Creation

    +
    +read data              filename
    +read restart           filename
    +
    +
    +

    +Velocity Creation

    +
    +create group           types 1 3
    +create group           region 0.0 1.0 0.0 1.0 INF 1.0
    +create group           remainder
    +
    +create temp            uniform 300.0 12345678
    +create temp            gaussian 300.0 12345678
    +create temp            velocity 0.0 0.0 0.0
    +
    +
    +

    +Constraint Creation

    +
    +fix style              none
    +fix style              1 setforce 0.0 NULL 0.0
    +fix style              1 addforce 1.0 0.0 0.0
    +fix style              1 aveforce 1.0 0.0 0.0
    +fix style              1 rescale 300.0 300.0 100 20.0
    +fix style              1 langevin 50.0 50.0 0.01 12345 1 1 1
    +fix style              1 nose/hoover 50.0 50.0 0.01
    +fix style              1 springforce 10.0 NULL NULL 1.0
    +fix style              1 dragforce 10.0 -5.0 NULL 2.0 1.0
    +
    +assign fix             1 atom 200
    +assign fix             1 molecule 50
    +assign fix             1 type 2
    +assign fix             1 region 0.0 1.0 INF INF 0.0 1.0
    +assign fix             1 remainder
    +
    +
    +

    +Dynamics or Minimization

    +
    +reset timestep         0
    +
    +run                    1000
    +
    +min style              hftn
    +min file               filename
    +minimize               0.0001 9999 50000
    +
    +
    +

    +Alphabetic Listing of Commands:

    +
    +

    +angle style

    + +
    +define style of angle interactions to use for all 3-body terms
    +angle style determines how many angle coefficients the program expects to
    +  find in a "Angle Coeffs" entry in the data file, 
    +  thus the style must be set (if not using default)
    +  before using the "read data" command (if the data file contains a 
    +  "Angle Coeffs" entry)
    +coefficients for all angle types must be defined in data (or restart)
    +  file by "Angle Coeffs" entry before a run is performed
    +style of "none" erases all previously defined angle coefficients, must
    +  reset style to something else before defining new coefficients
    +
    +Default = harmonic
    +
    +
    +

    +assign fix

    + +
    +styles:
    +
    + +
    +coeffs:  atom
    +               (1) global atom #
    +         molecule
    +               (1) molecule #
    +         type
    +               (1) atom type
    +         region
    +               (1) lower x bound of region
    +               (2) upper x bound of region
    +               (3) lower y bound of region
    +               (4) upper y bound of region
    +               (5) lower z bound of region
    +               (6) upper z bound of region
    +         remainder
    +               no other parameters required
    +
    +assign a group of atoms to a particular constraint
    +use appropriate number of coeffs for a particular style
    +the constraint itself is defined by the "fix style" command
    +multiple groups of atoms can be assigned to the same constraint
    +an atom can be assigned to multiple constraints, the contraints will be
    +  applied in the reverse order they are assigned to that atom
    +  (e.g. each timestep, the last fix assigned to an atom will be applied 
    +  to it first, then the next-to-last applied second, etc)
    +for style region, a coeff of INF means + or - infinity (all the way 
    +  to the boundary)
    +
    +
    +

    +bond coeff

    + +
    +coeffs:   harmonic
    +               (1) K (energy units)
    +               (2) r0 (distance units)
    +          fene/standard
    +               (1) k for FENE portion (energy/distance^2 units)
    +               (2) r0 for FENE portion (distance units)
    +               (3) epsilon for LJ portion (energy units)
    +               (4) sigma for LJ portion (distance units)
    +          fene/shift
    +               (1) k for FENE (energy/distance^2 units)
    +               (2) r0 for FENE after shift is performed (distance units)
    +               (3) epsilon for LJ (energy units)
    +               (4) sigma for LJ after shift is performed (distance units)
    +               (5) delta shift distance (distance units)
    +          nonlinear
    +               (1) epsilon (energy units)
    +               (2) r0 (distance units)
    +               (3) lamda (distance units)
    +          class 2
    +               currently not enabled for "bond coeff" command
    +               must be specified in data file (see "read data" command)
    +
    +define (or override) bond coefficients for an individual bond type
    +use appropriate number of coeffs for a particular style
    +these coefficients can also be set in data file 
    +  by "Bond Coeffs" entry, the most recently defined coefficients are used
    +
    +Default = no settings
    +
    +
    +

    +bond style

    + +
    +define style of bond interactions to use between all bonded atoms
    +bond style determines how many bond coefficients the program expects to
    +  find in a "Bond Coeffs" entry in the  data file or when using the 
    +  "bond coeff" command, thus the style must be set (if not using default)
    +  before using the "read data" command (if the data file contains a 
    +  "Bond Coeffs" entry)
    +coefficients for all bond types must be defined in data (or restart)
    +  file by "Bond Coeffs" entry or by "bond coeffs" commands before a run
    +  is performed
    +style of "none" erases all previously defined bond coefficients, must
    +  reset style to something else before defining new coefficients
    +
    +Default = harmonic
    +
    +
    +

    +comments

    +
    +blank lines are ignored
    +everything on a line after the last parameter is ignored
    +lines starting with a # are echoed into the log file
    +
    +
    +

    +coulomb style

    + +
    +styles:
    +
    + +
    +coeffs:  none
    +               no other parameters required
    +         cutoff
    +               (1) cutoff distance (distance units)
    +         smooth
    +               (1) inner cutoff (distance units)
    +               (2) outer cutoff (distance units)
    +         ewald
    +               (1) cutoff distance for near-field portion (distance units)
    +               (2) accuracy criterion
    +         pppm
    +               (1) cutoff distance for near-field portion (distance units)
    +               (2) accuracy criterion
    +
    +use appropriate number of coeffs for a particular style
    +if simulated system has no charges, must set "coulomb style none" to
    +  prevent LAMMPS from doing useless nonbond work
    +accuracy criterion means "one part in value" - e.g. 1.0E-4
    +Ewald and PPPM accuracy criterion are used in conjunction with cutoff
    +  to partition work between short-range and long-range routines
    +accuracy criterion effectively determines how many k-space vectors are used
    +  to approximate the energy and forces
    +for PPPM, accuracy criterion determines mesh spacing (see "particle mesh"
    +  command)
    +for PPPM, must be running on power-of-2 number of processors for FFTs
    +must use periodic boundary conditions in conjuction with Ewald and PPPM
    +cannot use any styles other than none with nonbond style = lj/shift or
    +  nonbond style = soft
    +Coulomb style = smooth should be used with nonbond style = lj/switch,
    +  and both should use same inner and outer cutoffs
    +for smooth style, outer cutoff must be > inner cutoff
    +for smooth style, atom pairs less than the inner cutoff distance use 
    +  usual Coulomb, pairs between inner and outer are smoothed, and the 
    +  potential goes to 0.0 at the outer cutoff
    +for smooth style, force is continuously differentiable everywhere
    +
    +Default = cutoff 10.0
    +
    +
    +

    +create group

    + +
    +styles:
    +
    + +
    +coeffs:  types
    +               (1) lowest atom type
    +               (2) highest atom type
    +         region
    +               (1) lower x bound of region
    +               (2) upper x bound of region
    +               (3) lower y bound of region
    +               (4) upper y bound of region
    +               (5) lower z bound of region
    +               (6) upper z bound of region
    +         remainder
    +               no other parameters required
    +       
    +used with "create temp" commmand to initialize velocities of atoms
    +by default, the "create temp" command initializes the velocities of all atoms,
    +  this command limits the initialization to a group of atoms
    +this command is only in force for the next "create temp" command, any
    +  subsequent "create temp" command is applied to all atoms (unless the
    +  "create group" command is used again)
    +for style types, only atoms with a type such that lo-type <= type <= hi-type
    +  will be initialized by "create temp"
    +for style types, lo-type can equal hi-type if just want to specify one type
    +for style region, only atoms within the specified spatial region
    +  will be initialized by "create temp"
    +for style region, a coeff of INF means + or - infinity (all the way 
    +  to the boundary)
    +for style remainder, only previously uninitialized atoms
    +  will be initialized by "create temp"
    +
    +
    +

    +create temp

    + +
    +styles: 
    +
    + +
    +coeffs:  uniform
    +               (1) target T (temperature units)
    +               (2) random # seed (0 < seed <= 8 digits)
    +         gaussian
    +               (1) target T (temperature units)
    +               (2) random # seed (0 < seed <= 8 digits)
    +         velocity
    +               (1) x velocity component (velocity units)
    +               (2) y velocity component (velocity units)
    +               (3) z velocity component (velocity units)
    +
    +initialize velocities of atoms to a specified temperature
    +use appropriate number of coeffs for a particular style
    +cannot be done before a data or restart file is read
    +by default, velocities are created for all atoms - this can be overridden
    +  by "create group" command
    +for uniform and Gaussian styles velocities are created in 
    +  processor-independent fashion - is slower but gives the same initial 
    +  state independent of # of processors
    +for uniform and Gaussian styles the momentum of the initialized atoms is
    +  also zeroed, but only if all atoms are being initialized 
    +for uniform and Gaussian styles, RN are generated with Park/Miller RNG
    +for velocity style in 2-d simulations, still specify z velocity component,
    +  even though it is ignored
    +
    +
    +

    +diagnostic

    + +
    +call a user-defined diagnostic routine every this many timesteps
    +this command can be used multiple times to call different routines
    +  at different frequencies, that use different parameters, and that
    +  send output to different files
    +value of 0 for 2nd parameter means never call this particular routine
    +this command causes any previous file associated with this user routine
    +  to be closed
    +new filename can exist, will be overwritten
    +if the file name specified is "none", then no file is opened
    +each routine that is added to diagnostic.f and enabled with a
    +  "diagnostic" command will be called at the beginning and end of
    +  each "run" and every so many timesteps during the run
    +the diagnostic.f file has further information on how to create
    +  routines that operate on internal LAMMPS data, do their own file output,
    +  perform different operations (e.g. setup and clean-up) depending
    +  on when they are called, etc
    +the user routines must be compiled and linked into LAMMPS
    +the optional 5th-9th parameters are stored in program variables which
    +  can be accessed by the diagnostic routine
    +
    +Default = none
    +
    +
    +

    +dielectric

    +
    +set dielectric constant to this value
    +
    +Default = 1.0
    +
    +
    +

    +dihedral style

    + +
    +define style of dihedral interactions to use for all 4-body terms
    +dihedral style determines how many dihedral coefficients the program expects to
    +  find in a "Dihedral Coeffs" entry in the data file, 
    +  thus the style must be set (if not using default)
    +  before using the "read data" command (if the data file contains a 
    +  "Dihedral Coeffs" entry)
    +coefficients for all dihedral types must be defined in data (or restart)
    +  file by "Dihedral Coeffs" entry before a run is performed
    +style of "none" erases all previously defined dihedral coefficients, must
    +  reset style to something else before defining new coefficients
    +
    +Default = harmonic
    +
    +
    +

    +dimension

    + +
    +for a 2-d run, assumes all z-coords are set to 0.0 in "read data" or
    +  "read restart" files and program creates no z velocities
    +this command sets the processor grid to default values for 2-d or 3-d
    +  so must be used before "processor grid" command
    +must be set before data or restart file is read
    +
    +Default = 3
    +
    +
    +

    +dump atoms

    + +
    +dump all atom positions to a file every this many timesteps
    +positions are also dumped at the start and end of every run
    +value of 0 means never dump
    +any previous file is closed
    +new filename can exist, will be overwritten
    +atom positions in dump file are in "box" units (0.0 to 1.0) in each dimension
    +
    +Default = 0
    +
    +
    +

    +dump forces

    + +
    +dump all atom forces to a file every this many timesteps
    +forces are also dumped at the start and end of every run
    +any previous file is closed
    +new filename can exist, will be overwritten
    +value of 0 means never dump
    +
    +Default = 0
    +
    +
    +

    +dump velocities

    + +
    +dump all atom velocities to a file every this many timesteps
    +velocities are also dumped at the start and end of every run
    +any previous file is closed
    +new filename can exist, will be overwritten
    +value of 0 means never dump
    +
    +Default = 0
    +
    +
    +

    +fix style

    + +
    +styles:
    +
    + +
    +coeffs:  none
    +               no other parameters required (use "none" as 1st parameter)
    +         setforce
    +                (1) x component of set force (in force units)
    +                (2) y component of set force (in force units)
    +                (3) z component of set force (in force units)
    +         addforce
    +                (1) x component of added force (in force units)
    +                (2) y component of added force (in force units)
    +                (3) z component of added force (in force units)
    +         aveforce
    +                (1) x comp of added average force per atom (in force units)
    +                (2) y comp of added average force per atom (in force units)
    +                (3) z comp of added average force per atom (in force units)
    +         rescale
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) check for rescaling every this many timesteps
    +               (4) T window outside of which velocities will be rescaled
    +         langevin
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) Langevin damping parameter (inverse time units)
    +               (4) random seed to use for white noise (0 < seed <= 8 digits)
    +               (5) 0/1 = off/on x dimension
    +               (6) 0/1 = off/on y dimension
    +               (7) 0/1 = off/on z dimension
    +         nose/hoover
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) frequency constant for friction force (inverse time units)
    +         springforce
    +                (1) x position of spring origin
    +                (2) y position
    +                (3) z position
    +                (4) force constant k (so that k*distance = force units)
    +         dragforce
    +                (1) x position to drag atom towards
    +                (2) y position
    +                (3) z position
    +                (4) force magnitude f (in force units)
    +                (5) delta outside of which to apply force (in distance units)
    +
    +define a constraint
    +cannot skip a constraint number, all must be used before a run is performed
    +use appropriate number of coeffs for a particular style
    +which atoms the constraint will affect is set by the "assign fix" command
    +all of the constraints (except for rescale) are applied every timestep
    +all specified temperatures are in temperature units
    +for style setforce, a coeff of NULL means do not alter that force component
    +for style aveforce, average force on the group of fixed atoms is computed,
    +  then new average force is added in and actual force on each atom is set
    +  to new total value -> has effect of applying same force to entire group
    +  of atoms
    +thermostatting constraints (rescale, langevin, nose/hoover) cannot be used in
    +  conjuction with global "temp control", since they conflict and will
    +  cause atom velocities to be reset twice
    +if multiple Langevin constraints are specified the Marsaglia RNG will
    +  only use the last RNG seed specified for initialization
    +meaning of thermostatting coefficients is same as in "temp control" command
    +style springforce is designed to be applied to an entire group of atoms
    +  en masse (e.g. an umbrella force on an entire molecule)
    +for style springforce, the center of mass r0 of the group of atoms is computed,
    +  then a restoring force = -k*(r-r0)*mass/masstotal is applied to each 
    +  atom in the group where mass = mass of the atom and masstotal = mass of
    +  all the atoms in the group - thus "k" should represent the total
    +  force on the group of atoms (not per atom)
    +for style springforce, a xyz position of NULL means do not include that
    +  dimension in the distance or force computation
    +for style dragforce, apply a drag force of magnitude f to each atom in the
    +  group in the direction (r-r0) where r0 = (x,y,z) - do not apply the force if
    +  the atom is within a distance delta of r0
    +for style dragforce, a xyz position of NULL means do not include that
    +  dimension in the distance or force computation
    +
    +Default = none
    +
    +
    +

    +improper style

    + +
    +define style of improper interactions to use for all trigonal centers
    +in class2 case, dictates that angle-angle terms be included for all
    +  trigonal and tetrahedral centers
    +in above formulas, phi = improper torsion, chi = Wilson out-of-plane
    +improper style determines how many improper coefficients the program   
    +  expects to find in a "Improper Coeffs" entry in the data file, 
    +  thus the style must be set (if not using default)
    +  before using the "read data" command (if the data file contains a 
    +  "Improper Coeffs" entry)
    +coefficients for all improper types must be defined in data (or restart)
    +  file by "Improper Coeffs" entry before a run is performed
    +style of "none" erases all previously defined improper coefficients, must
    +  reset style to something else before defining new coefficients
    +
    +Default = harmonic
    +
    +
    +

    +min file

    +
    +name of file to write minimization iteration info to
    +filename can exist, will be overwritten when minimization occurs
    +if no file is specified, no minimization output will be written to a file
    +
    +Default = none
    +
    +
    +

    +min style

    + +
    +choose minimization algorithm to use when "minimize" command is performed
    +currently, only htfn style is available
    +
    +Default = htfn
    +
    +
    +

    +minimize

    + +
    +perform an energy minimization of the atomic coordinates of the system
    +uses algorithm selected with "min style" command
    +minimization stops if any of 3 criteria are met:
    +  (1) largest force component < stopping tolerance
    +  (2) # of iterations > max iterations
    +  (3) # of force and energy evaluations > max evaluations
    +for good convergence, should specify use of smooth nonbond force fields 
    +  that have continuous second derivatives, set "coulomb style" to "smooth",
    +  set nonbond style to "lj/smooth" or use a long cutoff
    +
    +
    +

    +mixing style

    + +
    +styles:
    +
    + +
    +determine the kind of mixing rule that is applied to generate nonbond
    +  coefficients for interactions between type i and type j atoms
    +mixing rules are used only when nonbond coeffs are input in a "read data" file
    +for nonbond style "soft", only epsilons (prefactor A) are input - they are
    +  always mixed geometrically, regardless of mixing style setting
    +
    +Default = geometric for all nonbond styles except class2/cutoff
    +         sixthpower for nonbond style class2/cutoff
    +
    +
    +

    +neighbor

    + +
    +factors that affect how and when neighbor lists are constructed
    +skin must be large enough that all atoms needed for bond
    +  interactions are also acquired by interprocessor communication
    +last parameter incurs extra checking and communication to test against
    +  skin thickness, but may mean neighbor list is created less often
    +when RESPA is run, the 3rd and 4th parameters refer to the
    +  nonbond (short-range) timestepping
    +defaults = 2.0 0 1 10 1
    +
    +
    +

    +newton flag

    +
    +turn off or on Newton's 3rd law for bond and non-bond force computation
    +
    + +
    +no Newton's 3rd law means more force computation and less communication
    +yes Newton's 3rd law means less force computation and more communication
    +which choice is faster is problem dependent on N, # of processors, 
    +  and cutoff length(s)
    +expect for round-off errors, setting this flag should not affect answers, 
    +  only run time
    +must be set before data or restart file is read
    +
    +Default = 3
    +
    +
    +

    +nonbond coeff

    + +
    +coeffs: lj/cutoff
    +               (1) epsilon (energy units)
    +               (2) sigma (distance units)
    +               (3) cutoff (distance units)
    +        lj/smooth
    +               (1) epsilon (energy units)
    +               (2) sigma (distance units)
    +               (3) inner cutoff (distance units)
    +               (4) outer cutoff (distance units)
    +        lj/shift
    +               (1) epsilon (energy units)
    +               (2) sigma (distance units)
    +               (3) delta shift distance (distance units)
    +               (4) cutoff (distance units)
    +        soft
    +               (1) prefactor A at start of run (energy units)
    +               (2) prefactor A at end of run (energy units)
    +               (3) cutoff (distance units)
    +        class2/cutoff
    +               (1) epsilon (energy units)
    +               (2) sigma (distance units)
    +               (3) cutoff (distance units)
    +
    +define (or override) nonbond coefficients for an individual atom type pair
    +use appropriate number of coeffs for a particular style
    +1st atom type must be <= 2nd atom type
    +all cutoffs are in global units, not local sigma units
    +  (e.g. in reduced units a setting of "lj/cutoff 1.0 1.2 2.5" means a 
    +  cutoff of 2.5, not 1.2*2.5)
    +turn off a particular type pair interaction by setting the
    +  cutoff to 0.0 (both cutoffs to zero for lj/smooth option)
    +for soft style, prefactor A is ramped from starting value to
    +  ending value during run
    +these coefficients (except the cutoffs) can also be set in data file 
    +  by "Nonbond Coeffs" entry and associated mixing rules, the cutoffs can
    +  be set (globally) via the "nonbond style" command, the most
    +  recently defined coefficients/cutoffs are used
    +
    +Default = no settings
    +
    +
    +

    +nonbond style

    + +
    +styles: 
    +
    + +
    +coeffs:  none
    +               no other parameters required
    +         lj/cutoff
    +               (1) cutoff (distance units)
    +               (2) offset flag (0 or 1)
    +         lj/smooth
    +               (1) inner cutoff (distance units)
    +               (2) outer cutoff (distance units)
    +         lj/shift
    +               (1) cutoff (distance units)
    +               (2) offset flag (0 or 1)
    +         soft
    +               (1) cutoff (distance units)
    +         class2/cutoff
    +               (1) cutoff (distance units)
    +               (2) offset flag (0 or 1)
    +
    +define style of pairwise nonbond interactions to use between all atom types
    +use appropriate number of coeffs for a particular style
    +this is separate from charge interactions (see "coulomb style" command)
    +nonbond style determines how many nonbond coefficients the program expects to
    +  find in a "Nonbond Coeffs" entry in the data file or when using the 
    +  "nonbond coeff" command, thus the style must be set (if not using default)
    +  before using the "read data" command (if the data file contains a 
    +  "Nonbond Coeffs" entry)
    +coefficients for all atom type pairs must be defined in data (or restart)
    +  file by "Nonbond Coeffs" entry or by "nonbond coeffs" commands before a run
    +  is performed
    +style of "none" erases all previously defined nonbond coefficients, must
    +  reset style to something else before defining new coefficients
    +for all styles (except none), this command sets the cutoff(s) for all type
    +  pair interactions, thus overriding any previous settings by a "nonbond
    +  coeff" command or that were read in from a restart file
    +for lj/cutoff, lj/shift, class2/cutoff styles, 
    +  offset flag only affects printout of thermodynamic energy
    +  (not forces or dynamics), determines whether offset energy 
    +  is added in to LJ potential to make value at cutoff = 0.0,
    +  flag = 0 -> do not add in offset energy,
    +  flag = 1 -> add in offset energy 
    +for lj/smooth style, outer cutoff must be > inner cutoff
    +for lj/smooth style, atom pairs less than the inner cutoff distance use 
    +  straight LJ, pairs between inner and outer use a smoothed LJ, and the 
    +  potential goes to 0.0 at the outer cutoff
    +for lj/smooth style, energy and forces are continuous at inner cutoff and go
    +  smoothly to zero at outer cutoff
    +for lj/shift and soft styles, must set "coulomb style" to "none"
    +for lj/shift style, delta shift distances for each atom pair are set by
    +  "Nonbond Coeffs" entry in data file or by "nonbond coeffs" command
    +for soft style, values of the prefactor "A", which is ramped from one
    +  value to another during the run, are set by "Nonbond Coeffs" entry
    +  in data file or by "nonbond coeffs" command
    +
    +Default = lj/cutoff 10.0 0
    +
    +
    +

    +periodicity

    + +
    +turn on/off periodicity in any of three dimensions
    +used in inter-particle distance computation and when particles move
    +  to map (or not map) them back into periodic box
    +for a 2-d run (see "dimension" command), 3rd parameter must be 
    +  specified, but doesn't matter if it is 0 or 1
    +must be set before data or restart file is read
    +
    +Default = 0 0 0 (periodic in all dimensions)
    +
    +
    +

    +pppm mesh

    + +
    +specify the mesh size used by coulomb style pppm
    +mesh dimensions that are power-of-two are fastest for FFTs, but any size
    +  can be used that are supported by native machine libraries
    +this command is optional - if not used, a default
    +  mesh size will be chosen to satisfy accuracy criterion - if used, the
    +  specifed mesh size will override the default
    +
    +Default = none
    +
    +
    +

    +pppm order

    +
    +specify the order of the interpolation function that is used by coulomb
    +  style pppm to map particle charge to the particle mesh
    +order is roughly equivalent to how many mesh points a point charge
    +  overlaps onto
    +
    +Default = 5
    +
    +
    +

    +press control

    + +
    +styles:
    +
    + +
    +coeffs:   none
    +               no other parameters required
    +          nose/hoover
    +               (1) desired P at beginning of run
    +               (2) desired P at end of run
    +               (3) frequency constant for volume adjust (inverse time units)
    +
    +use appropriate number of coeffs for a particular style
    +all specified pressures are in pressure units
    +target pressure at intermediate points during run is a ramped value
    +  between the beginning and ending pressure
    +for nose/hoover style, frequency constant is like an inverse "piston" 
    +  mass which determines how rapidly the pressure fluctuates in response to a
    +  restoring force, large frequency -> small mass -> rapid fluctations
    +for nose/hoover style, units of frequency/damping constant are
    +  inverse time, so a value of 0.001 means relax in a timespan on the 
    +  order of 1000 fmsec (real units) or 1000 tau (LJ units)
    +
    +Default = none
    +
    +
    +

    +press_x control

    +

    +press_y control

    +

    +press_z control

    + +
    +styles: 
    +
    + +
    +coeffs: none
    +                no other parameters required
    +        nose/hoover
    +                (1) desired P at beginning of run
    +                (2) desired P at end of run
    +                (3) frequency constant for volume adjust (inverse time units)
    +
    +commands for anisotropic pressure control, any combination is allowed
    +for a component with style = none, the cell dimension in that direction
    +  is held constant (constant volume)
    +use appropriate number of coeffs for a particular style
    +all specified pressures are in pressure units
    +target pressure at intermediate points during run is a ramped value
    +  between the beginning and ending pressure
    +cannot be used with isotropic "press control" command
    +for nose/hoover style, frequency constant is like an inverse "piston"
    +  mass which determines how rapidly the pressure fluctuates in response to a
    +  restoring force, large frequency -> small mass -> rapid fluctations
    +for nose/hoover style, units of frequency/damping constant are
    +  inverse time, so a value of 0.001 means relax in a timespan on the
    +  order of 1000 fmsec (real units) or 1000 tau (LJ units)
    +
    +Default = none
    +
    +
    +

    +processor grid

    + +
    +specify 3-d grid of processors to map to physical simulation domain
    +for 2-d problem, specify N by M by 1 grid
    +program will choose these values to best map processor grid to physical
    +  simulation box, only use this command if wish to override program choice
    +product of 3 parameters must equal total # of processors
    +must be set before data or restart file is read
    +
    +Default = none
    +
    +
    +

    +read data

    +
    +read the initial atom positions and bond info from the specified file
    +the format for the data file is specified in the file data_format
    +if a "Coeffs" entry is in data file, the appropriate "style" command
    +  command must be used first (unless default setting is used) to tell 
    +  LAMMPS how many coefficients to expect
    +most "Coeffs" entries must be present in this file if a particular "style"
    +  is desired, an exception are the "Nonbond Coeffs" and "Bond Coeffs" entries
    +  which can be omitted if all the settings are made via "nonbond coeff"
    +  and "bond coeff" commands
    +a "Nonbond Coeffs" entry only contains one set of coefficients for each
    +  atom type, after being read-in the appropriate class I or class II mixing
    +  rules are applied to compute the cross-type coefficients (see the file
    +  data_format for more information)
    +
    +
    +

    +read restart

    +
    +read atom positions and velocities and nonbond and bond coefficients
    +  from specified file
    +allows continuation of a previous run
    +file is binary to enable exact restarts
    +do not have to restart on same # of processors, but can only do exact
    +  restarts on same # of processors
    +when restart file is read, warnings are issued if certain parameters
    +  in the restart file do not match current settings (e.g. newton flag,
    +  dimension, periodicity, units) - this usually indicates an error
    +the restart file stores all nonbond and many-body styles and coefficients,
    +  so reading the file will overwrite any current settings
    +the restart file stores the constraint assignments for each atom, but
    +  not the constraints themselves, so they must still be specified with
    +  the "fix style" command
    +for a restart do not use the "read data" and "create temp" commands
    +
    +
    +

    +reset timestep

    +
    +explicitly reset the timestep to this value
    +the "read data" and "read restart" commands set the timestep to zero
    +  and file value respectively, so this should be done after those commands
    +
    +
    +

    +respa

    + +
    +factors that affect sub-cycling of force calculations within RESPA hierarchy
    +bonded intramolecular forces are calculated every innermost sub-timestep
    +bonded 3- and 4-body forces are computed every 1st parameter sub-timesteps
    +short-range nonbond pairwise forces (LJ, Coulombic) are computed every 
    +  (2nd parameter * 1st parameter) sub-timesteps
    +long-range (Ewald, PPPM) forces are computed every 
    +  (3rd parameter * 2nd parameter * 1st parameter) sub-timesteps
    +the timestepping for all 3 inner loops (bond, 3/4-body, nonbond) is performed
    +  as sub-cycling within the long-range timestepping loop
    +the fastest (innermost) timestep size is set by the "timestep" command
    +when running RESPA, all input commands that specify numbers of timesteps
    +  (e.g. run, thermo flag, restart flag, etc) refer to the outermost loop
    +  of long-range timestepping
    +the only exception to this rule is the "neighbor" command, where the timestep
    +  parameters refer to the nonbond (short-range) timestepping
    +setting all 3 parameters to 1 turns off RESPA
    +
    +Default = 1 1 1 (no RESPA)
    +
    +
    +

    +restart

    + +
    +create a restart file every this many timesteps
    +value of 0 means never create one
    +program will toggle between 2 filenames as the run progresses
    +  so always have at least one good file even if the program dies in mid-write
    +restart file stores atom positions and velocities in binary form
    +allows program to restart from where it left off (see "read restart" commmand)
    +
    +Default = 0
    +
    +
    +

    +run

    +
    +run or continue dynamics for specified # of timesteps
    +must have performed "read data"/"create temp" or "read restart"
    +  commands first
    +
    +
    +

    +special bonds

    + +
    +weighting factors to turn on/off nonbond interactions of atom pairs that
    +  are "close" in the molecular topology
    +1st nearest neighbors are a pair of atoms connected by a bond
    +2nd nearest neighbors are a pair of atoms 2 hops away, etc.
    +weight values are from 0.0 to 1.0 and are used to multiply the
    +  energy and force interaction (both Coulombic and LJ) between the 2 atoms
    +weight of 0.0 means no interaction
    +weight of 1.0 means full interaction
    +
    +Default = 0.0 0.0 0.4 (CHARMM standard)
    +
    +
    +

    +temp control

    + +
    +styles:  
    +
    + +
    +coeffs:  none
    +               no other parameters required
    +         rescale
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) check for rescaling every this many timesteps
    +               (4) T window outside of which velocities will be rescaled
    +         replace
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) do Gaussian replacement every this many timesteps
    +               (4) random # seed to use for replacement (0 < seed <= 8 digits)
    +         langevin
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) Langevin damping parameter (inverse time units)
    +               (4) random seed to use for white noise (0 < seed <= 8 digits)
    +         nose/hoover
    +               (1) desired T at beginning of run
    +               (2) desired T at end of run
    +               (3) frequency constant for friction force (inverse time units)
    +
    +use appropriate number of coeffs for a particular style
    +all specified temperatures are in temperature units
    +target temperature at intermediate points during run is a ramped value
    +  between the beginning and ending temperatures
    +for rescale style, temperature is controlled by explicitly rescaling
    +  velocities to exactly the target temperature
    +for rescale style, rescaling is only done if current temperature is
    +  beyond the target temperature plus or minus the window value
    +for replace style, Gaussian RNs from the Marsaglia RNG are used
    +for langevin style, uniform RNs from the Marsaglia RNG are used
    +for replace and langevin styles, the seed is used to initialize the
    +  Marsaglia RNG, on successive runs the RNG will just continue on
    +for replace and langevin styles, generated RNs depend on # of processors
    +  so will not get same answers independent of # of processors
    +for replace and langevin styles, RNG states are not saved in restart file,
    +  so cannot do an exact restart
    +for langevin style, damping parameter means small value -> less damping
    +for nose/hoover style, frequency constant is like an inverse "piston" 
    +  mass which determines how rapidly the temperature fluctuates in response to a
    +  restoring force, large frequency -> small mass -> rapid fluctations
    +for langevin and nose/hoover styles, units of frequency/damping constant are
    +  inverse time, so a value of 0.01 means relax in a timespan on the 
    +  order of 100 fmsec (real units) or 100 tau (LJ units)
    +
    +Default = none
    +
    +
    +

    +thermo flag

    +
    +print thermodynamic info to screen and log file every this many timesteps
    +value of 0 means never print
    +
    +Default = 0
    +
    +
    +

    +thermo style

    +
    +determines format of thermodynamic output to screen and log file
    +
    + +
    +Default = 0
    +
    +
    +

    +timestep

    +
    +timestep size for MD run (time units)
    +when RESPA is run, the timestep size is for the innermost (bond) loop
    +
    +Default = 1.0
    +
    +
    +

    +true flag

    +
    +read atom positions (see "read data" command) and dump atom positions
    +  (see "dump flag" command) in one of 2 formats
    +
    + +
    +for each dimension, box count of "n" means add that many box lengths
    +  to get "true" un-remapped position, "n" can be positive, negative, or zero
    +
    +Default = 0
    +
    +
    +

    +units

    + +
    +set units to one of two options for all subsequent input parameters
    +
    +option real = conventional units:
    +
    + +
    +option lj = LJ reduced units:
    +
    + +
    +for LJ units, LAMMPS sets global epsilon,sigma,mass all equal to 1.0
    +subsequent input numbers in data and command file must be in these units
    +output numbers to screen and log and dump files will be in these units
    +must be set before data or restart file is read
    +
    +Default = real
    +
    + + diff --git a/doc/99/units.html b/doc/99/units.html new file mode 100644 index 0000000000..bddf47e0eb --- /dev/null +++ b/doc/99/units.html @@ -0,0 +1,119 @@ + + + + + + +

    +LAMMPS Units

    +

    +Return to top-level LAMMPS documentation.

    +

    +This file describes the units associated with many of the key variables +and equations used inside the LAMMPS code. Units used for input command +parameters are described in the input_commands file. The input command +"units" selects between conventional and Lennard-Jones units. +See the force_fields file for more information on units for the force +field parameters that are input from data files.

    +

    +Conventional units:

    + +

    +LJ reduced units:

    + +
    +

    +This listing of variables assumes conventional units; to convert to LJ +reduced units, simply substitute the appropriate term from the list +above. E.g. x is in sigmas in LJ units. Per-mole in any of the units +simply means for 6.023 x 10^23 atoms.

    +

    +

    +
    +Meaning        Variable        Units
    +
    +positions      x               Angstroms
    +velocities     v               Angstroms / click (see below)
    +forces         f               Kcal / (mole - Angstrom)                
    +masses         mass            gram / mole
    +charges        q               electron units (-1 for an electron)
    +                                 (1 e.u. = 1.602 x 10^-19 coul)
    +
    +time           ---             clicks (1 click = 48.88821 fmsec)
    +timestep       dt              clicks
    +input timestep dt_in           fmsec
    +time convert   dtfactor        48.88821 fmsec / click
    +
    +temperature     t_current       degrees K
    +                t_start
    +                t_stop
    +input damping   t_freq_in       inverse fmsec
    +internal temp   t_freq          inverse clicks
    +  damping
    +
    +dielec const    dielectric      1.0 (unitless)
    +Boltmann const  boltz           0.001987191 Kcal / (mole - degree K)
    +
    +virial          virial[xyz]     Kcal/mole = r dot F
    +pressure factor pfactor         68589.796 (convert internal to atmospheres)
    +internal        p_current       Kcal / (mole - Angs^3)
    +  pressure      p_start
    +                p_stop
    +input press     p_start_in      atmospheres
    +                p_stop_in
    +output press    log file        atmospheres
    +input damping   p_freq_in       inverse time
    +internal press  p_freq          inverse clicks
    +  damping
    +
    +pot eng         e_potential     Kcal/mole
    +kin eng         e_kinetic       Kcal/mole
    +eng convert     efactor         332.0636 (Kcal - Ang) / (q^2 - mole)
    +                                (convert Coulomb eng to Kcal/mole)
    +
    +LJ coeffs       lja,ljb         Kcal-Angs^(6,12)/mole
    +
    +bond            various         see force_fields file
    +  parameters    2,3,4-body
    +                terms
    +
    + + diff --git a/doc/Eqs/Script.create b/doc/Eqs/Script.create new file mode 100755 index 0000000000..f9f21b5ee6 --- /dev/null +++ b/doc/Eqs/Script.create @@ -0,0 +1,44 @@ +# create dvi files for every LaTex eq + +latex angle_charmm.tex +latex angle_class2.tex +latex angle_cosine.tex +latex angle_cosine_squared.tex +latex angle_harmonic.tex +latex bond_class2.tex +latex bond_fene.tex +latex bond_fene_expand.tex +latex bond_harmonic.tex +latex bond_morse.tex +latex bond_nonlinear.tex +latex bond_quartic.tex +latex centro_symmetry.tex +latex dihedral_charmm.tex +latex dihedral_class2.tex +latex dihedral_harmonic.tex +latex dihedral_helix.tex +latex dihedral_multiharmonic.tex +latex dihedral_opls.tex +latex fix_gyration.tex +latex fix_orient_fcc.tex +latex fix_spring_rg.tex +latex fix_wall_lj93.tex +latex improper_class2.tex +latex improper_cvff.tex +latex improper_harmonic.tex +latex pair_buck.tex +latex pair_charmm.tex +latex pair_class2.tex +latex pair_coulomb.tex +latex pair_debye.tex +latex pair_dpd.tex +latex pair_eam.tex +latex pair_eam_fs.tex +latex pair_granular.tex +latex pair_lj.tex +latex pair_lj_expand.tex +latex pair_lj_smooth.tex +latex pair_morse.tex +latex pair_soft.tex +latex pair_yukawa.tex +latex stress_tensor.tex diff --git a/doc/Eqs/angle_charmm.aux b/doc/Eqs/angle_charmm.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/angle_charmm.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/angle_charmm.dvi b/doc/Eqs/angle_charmm.dvi new file mode 100644 index 0000000000000000000000000000000000000000..c596c73e673a6bcf3f43e48a31e7be14c21016a2 GIT binary patch literal 508 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL-Q1KBMtjaQnmb#SA<^vp|?FIX5@c&}fhA zL>A7>&wLT91G(XHtjW1WhDJMWCo+cy?eU(-aA)35jXgrMnf{r57Ex5vnFUtJ1u>+! z($HW(!!)KS%79)>@w(^$Z~*Xr)KZ`-`q2I8TCzM z&swund-5J{h!&yijN(RcEkNsYGcERpPGq>H887A*30;@-nf}7db zH(!nchYfuO=t_3-Yff2h;K4WtU_K?HoPpski6Bvn^O!vV6 E0I8#t+5i9m literal 0 HcmV?d00001 diff --git a/doc/Eqs/angle_charmm.jpg b/doc/Eqs/angle_charmm.jpg new file mode 100644 index 0000000000000000000000000000000000000000..430fff27ccddc0873c01503bfedfac96afe1c78a GIT binary patch literal 2185 zcma)7XE@snAN>chs#I)ZR3f%kwFK3HYQ(AtYQ49*j7pHS6g7(uJ7Px>a*G;O#4Ji* zM8{Q8l}K8O=5p=T7UjC{^Ss~h`JLx{InQ&>hu?>@KfXT+96{UI+5jLB2tXYius;D< z0bqUs0RevSfq=naK_M|=p#w-9IwT?{DFJ~^Vmib4!M{`QC)Qj@L;eh4fT@&f@%+D&~b~ef{8dgG5R!)RMx^phv4{4*)@y( z4iwvw>s;j!w2Y4m=JBC(;-D^RJh+NQ zUjtw5Q~NY9`K9(SGw=@GGGmD2c`5!UhIIDS=f=WkE=3yaPApae!mbNVFc*;sV)YMk zy&i9roI@W+E$6@iBKw_7Mcony_1tPTOso4?zCcrHXrufPIcg_N-gF>n98;<@b3ewR zj4ads@Rxnky^~20ats#J8C~QSI$<=2#^n4AkA<`**cCYrm&cc+{;E!J-Q;bohd&gz zN$#~uz|7L0$|(DDl1%zZCR#{R0^iGlpl>xzoT~MvMLKRwB98;N4q!Ql<0tQ+z&IW+ z@R7m}b~}SuEY1p!nF=9s{2PYd{;Gp&XsaSR{dyJXe?|)SRo6wP)zOy`7pC7t=2}+R zKWWy^?NOoD)+Gv%&LI~JCs+ocsenuvZKG4(T|Q-CP^M|xPqREMx@DV~y7kUC_T!f| z&Ar3;AnwH+oB8&x7(>R#RifX{k8Y>4n~NLu((Rj(-OhKbVwvqpl_Rysscik=lk;I~ z7lYn}>MnDeTerR3qI*#czL%g{^!xf1j7I32l(RKw@IN~4NXn;`fvMy+#UQz%thwX>3f|WTf2VBjV?8N!M)wcKO@2; z&3tykrg`D-?sio%zx!N>TICzkU|bEW=(K9ib#9``CVzeY)W_6uu{8`ecnO*=z_WNZ zQaJX3)Ar&I8*7t#M~^I6<`U29ma~RZlqNCooT-OGYGC`1|*fqiq`}8}mx`l1s(@U8_V0p8xj-wSZ1Qg)e<547s@PCFNhp!KJfjZ7@ zPRf=&yegYDUC!@8x+TpBj6Fvy#=~BluJoV7|JtU zw4s%!(63iBHtO|3(pC{#O1)DMtssb|!heSPl(YYPw ancBb~Lu8uPG~Fo(%l=oZeDE*#eb(P$NduAq literal 0 HcmV?d00001 diff --git a/doc/Eqs/angle_charmm.log b/doc/Eqs/angle_charmm.log new file mode 100644 index 0000000000..28609fa61d --- /dev/null +++ b/doc/Eqs/angle_charmm.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**angle_charmm.tex +(angle_charmm.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (angle_charmm.aux) +\openout1 = `angle_charmm.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(angle_charmm.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2131 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,118b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on angle_charmm.dvi (1 page, 508 bytes). diff --git a/doc/Eqs/angle_charmm.tex b/doc/Eqs/angle_charmm.tex new file mode 100644 index 0000000000..00b37ba335 --- /dev/null +++ b/doc/Eqs/angle_charmm.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K (\theta - \theta_0)^2 + K_{UB} (r - r_{UB})^2 +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/angle_class2.aux b/doc/Eqs/angle_class2.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/angle_class2.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/angle_class2.dvi b/doc/Eqs/angle_class2.dvi new file mode 100644 index 0000000000000000000000000000000000000000..1648b2623827382ec9fb156f3f13f6cabdbe6fbc GIT binary patch literal 964 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwB<%vU(@xX_e{e&wLT91G(YytjW1WhDJMW`@r&3wp8tL?VZnf=FDfI>x|+?3>-isKp3bj zH`8KoV&6peb>%y?r!lQs0ads+DXDKFS3$x~?a6SF#6BQcA_#I)@5IbobubB#IMf-) zHhM#BV`_)GQ-# z&_E4BcH|6%BXJu93by%j3=F_T`CNd>u&=M@2QWspkh2UZp);-p#WMpV_L#?-NU>*t T&sb6y)~xUom|G2)?n3|oRv&uA literal 0 HcmV?d00001 diff --git a/doc/Eqs/angle_class2.jpg b/doc/Eqs/angle_class2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02c873d0c393cb31ca0845b6d5759f8db7080821 GIT binary patch literal 8873 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 literal 0 HcmV?d00001 diff --git a/doc/Eqs/angle_class2.log b/doc/Eqs/angle_class2.log new file mode 100644 index 0000000000..ba907b1bd5 --- /dev/null +++ b/doc/Eqs/angle_class2.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**angle_class2.tex +(angle_class2.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (angle_class2.aux) +\openout1 = `angle_class2.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(angle_class2.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2131 string characters out of 196184 + 46503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,6n,19p,118b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on angle_class2.dvi (1 page, 964 bytes). diff --git a/doc/Eqs/angle_class2.tex b/doc/Eqs/angle_class2.tex new file mode 100644 index 0000000000..e5a542e87a --- /dev/null +++ b/doc/Eqs/angle_class2.tex @@ -0,0 +1,12 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} + E & = & E_a + E_{bb} + E_{ba} \\ + E_a & = & K_2 (\theta - \theta_0)^2 + K_3 (\theta - \theta_0)^3 + K_4 (\theta - \theta_0)^4 \\ + E_{bb} & = & M (r_{ij} - r_1) (r_{jk} - r_2) \\ + E_{ba} & = & N_1 (r_{ij} - r_1) (\theta - \theta_0) + N_2 (r_{jk} - r_2) (\theta - \theta_0) +\end{eqnarray*} + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/angle_cosine.aux b/doc/Eqs/angle_cosine.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/angle_cosine.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/angle_cosine.dvi b/doc/Eqs/angle_cosine.dvi new file mode 100644 index 0000000000000000000000000000000000000000..f02d2ff6efd0c6c786d10858d36b65feb0ff3f80 GIT binary patch literal 308 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL-R?HeB*qaQnmb#SA<^vp|?FIX5@c&}fhA zL>A7>&wLT91G(XHtjW1WhDJMWCo+cy?eU(-aA)4mXv1ktt5#_DPEO7*?wcr-`cGqz z(1hT=otm+Iee>lQKz2MAU^49M>-hmRTnpKUAa^mY1&XpTFk*KER_lKPb=+sV4*>v6 CXIMi3 literal 0 HcmV?d00001 diff --git a/doc/Eqs/angle_cosine.jpg b/doc/Eqs/angle_cosine.jpg new file mode 100644 index 0000000000000000000000000000000000000000..891aeab6eba56fdc1a6e2144976e55761d1a1db6 GIT binary patch literal 1443 zcmV;U1zh_7*#F=F5K2Z#MgRc;0RTtG1Oo*G1Ox>I1qKHU2nPoT z2M-Gi2@DYr5)u&)5fKv>92XN58Wj-{7$F!M9UUJZ9}^cMBqAOp93CGY|G)qX2mmht zkpTe_0RO}Q8~_0T0|5X70RR9100000000041qK5F0tX2H!~ii6009F70|EpE0|fy9 z000000RjUA00j{S5+M^Y2NXe36(TZWaU)`ZHbQifp|bzl00;pA002J#{g+Bol%*+3 zQk11BN>ZUnyV_&Cres|qH0n+ig~&=&KOmZu8TKTwm*YI!%_}=r+JcgBals#Y=}O@; zWH?Al=1O8RRB#mQfdHRwYr~V^wuV;Z$mmP>=&4Sm2Q%AmJog=|lnbrCe94g^%0th> zSZ+#E59z4#0X?(DO{FPHSEFvW;aF{9MGD%idK?3f`YV!WLRfU7TMG=i(syfs^w*F! zs~wLcgIwfYZSn4rt#8Uhb0q>;X+Y)70!|NX;VL-qfNEtaUnkNR3DbO2)|!GHvFT`X z=?_mweMLJNW-1Gk57oF1qtAhXf~2Q4^s5{gR`>;o8$7#@y&x13f~Q?mipD>3%~#64 z-5HYWP3XJygdt@qdAFeiI03*=-5@ImxX1_G3b3=zl{uBUD$P39q^kkBOJzz>$8pke zV;_pH#K?T{o*dPvazUTK`hOU zE%p};@D!_jhL)yWK>foC8~c#1Fb*n`_S#(V+r$#0uu!{_)3s$hhE6+o{8rmce@$Bd z0K;eh00Of*^IF;Y?6u$gyjPGl#}G?!DIxFDx+KH%1-&v&=o*<04>9dsdE zRCXyiIM1jRNgq{8x!tbttQLe%ZqGfK6I^y!Wc5^*oO58>cLX%@RB}_3l#hCV*NBl9 zrlab^4Jp%-E(nC&uCXtC@z`AqW+c{%&)r2Eznc0rE7jDMw4^1)Hl-whwBsrJjDj=y2C_CS2rQavO^(;9 zukq6+M42v29#qIKzVh91dy6>E<&X&+40~3xD-6Yq)M)L7*=Yd{pms_?z#r7M(u5$E!cdYj5S-+koSx>Yt@g2ewd(CRDOX#1WlfNWUPNNv_MS%Ewzpd- zUm4{)uyLGLuFVJGwz%*Fr{yL)X>Be&vv~kuXKGSCJ*qaRw!3w$B?rPGh8PibXU9J}xGG)RyHxl&bSXx7GxDb~5hajmcC_)lS3P}kbqcvXM zg0iA3HsI{TXJX;;2JK~N^67Lr)kykxlqKKP2r9r<1~!0^A$mI9A*3~MlP=)faUX`z zk<%p&yZ~4PARbZxNv*LDG68}%GyV9 zRxsek)0Q{W0yENF+_%;;3$mYC$x@F4a+H3_8317*0hx(vU71=Iz?Nh`A{@shOnsQH x76O$LP;q6=yA!$BI7uMY@iDN0h5r722Ml%*+3|JkvFa|i$c literal 0 HcmV?d00001 diff --git a/doc/Eqs/angle_cosine.log b/doc/Eqs/angle_cosine.log new file mode 100644 index 0000000000..984dcec092 --- /dev/null +++ b/doc/Eqs/angle_cosine.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**angle_cosine.tex +(angle_cosine.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (angle_cosine.aux) +\openout1 = `angle_cosine.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(angle_cosine.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2131 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,118b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on angle_cosine.dvi (1 page, 308 bytes). diff --git a/doc/Eqs/angle_cosine.tex b/doc/Eqs/angle_cosine.tex new file mode 100644 index 0000000000..e766676099 --- /dev/null +++ b/doc/Eqs/angle_cosine.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K [1 + \cos(\theta)] +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/angle_cosine_squared.aux b/doc/Eqs/angle_cosine_squared.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/angle_cosine_squared.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/angle_cosine_squared.dvi b/doc/Eqs/angle_cosine_squared.dvi new file mode 100644 index 0000000000000000000000000000000000000000..8fa69c073c4e547008c5bd43d006747c580da3d3 GIT binary patch literal 428 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO(*q$>D?>vg!)~AoMvyW>;6D&7 zV5(?f=w0x4Ndv}|IJ|Jrn!z!7y&w|?@rY~mT0h$HEY{|K~nTAGtTqm+{ zW`5?2SRKd>mt#%NEiyFPX*-cQG-!|aM20)_c1HIm=NI=)oVPk006ePc_RP- literal 0 HcmV?d00001 diff --git a/doc/Eqs/angle_cosine_squared.jpg b/doc/Eqs/angle_cosine_squared.jpg new file mode 100644 index 0000000000000000000000000000000000000000..71cf80d91078e74f0983065e50d36db6eb0afee5 GIT binary patch literal 1961 zcmV;a2Uht1*#F=F5K2Z#MgRc;0RTtG1Oo*G1Ox>I1qKHU2nPoT z2M-Gi2@DYr5)u&)5fKv>92XN58Wj-{7$F!M9UUJZ9}^cMBqAOp93CGY|G)qX2mmMm zz5xLd0RO}Q8~_0T0s{d70RR9100000000041p@{L0s#pB!~iT100II50|NsD0s{d7 z000000RjUA1ppBe1`{D7F;NE;6+vNfBSL{PQvccj2mt{A06zfzm!_I&rkZJ{nrWt* zX{MTKrkZK0nYxb=7GhjEu`A>ug=dnqb) z@E3Ub07lG?QPhLv5X!)V>_OD6H3L1F#$c%n*=s_rV+Q_73XMr@%JIGD?bbsR@^<1|j@xbyz@3iU0Dca5VVZtC~QSw=cRZ;Rw5CHv>H5W6R#bK3OCweNuk>nh=+# z&fdtNg3f&_xZI8PDl1S)Zfc6-zY425A8@U|7XFD=8~myG)@?M?O<|VQ5!;5NIPc7? z$b;Of?a9BOSw{Z=EIxG>_HPwN^i*x$iYpS7*$)0WzX=~UvKhCh&>RNU4w6QbQ zyBl7#^y|*ifg8+_w8cOtmfRz98;=vm-^kwYO>%yNlQom;&b8`XY!&|A-%vq_?>vOG zb*Lv9c3wLjTcR`KgP#e zpVj7@CDs1`Px@NCVcN!FveR-t1XQCkF8=_>ee3!Cd}`=Ts&(vbiA^TQkK9Gm+WV8M^s~v=uE2H-qf0+@2mmrPyA-ysNYx7yZr`yk7%vWnz$vm~e zSe{tmRU0dMg6}(>o5(6R@-?7+NwJ&FztrgJ*NSs_s`OSVWRaE7&k8isDskA2?UrN6 zdTWn64Rs!+vef>fbdy9qSB1(_`S4S;CLh@i2;1Y6eCqczll*E%-;c;#=1AJ4J;J+u z`5S5-4x#(Ik=FbkZof0Pa(bLmf3v@hMe8o2v53m_<`#@GwcPdhsSL9MVt_{kv%9ba z7Cd4gF5_~;$N=gLS^W9yD7rpo#-;N{e3X{fyp0KfPuqn87YCUH7Cg2Eb^!9-b^9Mv zaz_nf@?#zdX-$x&ZsO3E($mtAolxUtd?a9l7?7$MO!S+7hlku$z8!Y`hn4kvHWBS^x5c&TA zSHD(mzo64F1M~pa(D*$3y?Y*ZY~D5TP{vXkKa76*ZiF_|nTq*h2_hg!RbBSqeVblo zK_pEZ77EH#m13vQ!5%^WMzyM41=Cb|dQP9E4obE*MwOl@vi8)IER7_Gke8RK-HG%2 zKdo%Ys)(qH6;y1h2EY%EebZF(bj}`5t&6Ij3C>;`uTD9>?p`YkvNI=dmko9w2HV0xI z!SKz$iv2BvuBrC*WrfyhCo;!oRgvVAZfx!wlac@%u|5DEz-ty$2#|~|oKztn4>su* z=lqbe801aQl6GL@e|AOO`6p9jz~U1!`E{g%>&RtkIUS6KHH*2&emwhVsn2d)eLL(( z)(NrF-0JGtIlx-@>e5GDPrJ)0UQhf5RSG_PkL|GD=S@P(;;3byjvR$?GQ}#*6LKo? zNWRXDq%yGFjll$40X+5kXVv1VV6Yb!^v?RV9pK!Df`Ald_g}F57L%fG2&1(7I=* z@;Lm|narQtnPS6M#>Wjw3-b{)j?POe>{z;hzpaks@8UJwE>6EsQ=t|*R0E v43UW7BII+v<=I)4QFt#9NeDa*^}Fe&nrWt*X{MTKrkZJ{nrWt*X|Mm;M-Zi= literal 0 HcmV?d00001 diff --git a/doc/Eqs/angle_cosine_squared.log b/doc/Eqs/angle_cosine_squared.log new file mode 100644 index 0000000000..2d4620f0bb --- /dev/null +++ b/doc/Eqs/angle_cosine_squared.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 5 JUN 2006 11:21 +**angle_cosine_squared +(angle_cosine_squared.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (angle_cosine_squared.aux) +\openout1 = `angle_cosine_squared.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + +[1 + +] (angle_cosine_squared.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2171 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,122b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on angle_cosine_squared.dvi (1 page, 428 bytes). diff --git a/doc/Eqs/angle_cosine_squared.tex b/doc/Eqs/angle_cosine_squared.tex new file mode 100644 index 0000000000..57ae47ae45 --- /dev/null +++ b/doc/Eqs/angle_cosine_squared.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K [\cos(\theta) - \cos(\theta_0)]^2 +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/angle_harmonic.aux b/doc/Eqs/angle_harmonic.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/angle_harmonic.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/angle_harmonic.dvi b/doc/Eqs/angle_harmonic.dvi new file mode 100644 index 0000000000000000000000000000000000000000..01e4f81abb358b4e45a17b957f9d3ea3d0507540 GIT binary patch literal 404 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL-PcT+8!WaQnmb#SA<^vp|?FIX5@c&}fhA zL>A7>&wLT91G(XHtjW1WhDJMWCo+cy?eU(-aA)35jXgpWnf{r57Ex5vnFUtJ1u>+! z($HW(!$hW4EA|NW&SyMx<}-gybtF3j2T&S>S%79)>@w(^$Z~*Xr)KZ`-`q2I8TIw` z&6i^UIqbOr(@w*_zMdaIrCP}00`d*xT95$@jM#0(?jdZ}WA)xoVAzT>-G=}GpfPSK literal 0 HcmV?d00001 diff --git a/doc/Eqs/angle_harmonic.jpg b/doc/Eqs/angle_harmonic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ef27177d749b88991326f156cfdba21eb5b6ce46 GIT binary patch literal 1266 zcmVG1Oo*G1Ox>I1qKHU2nPoT z2M-Gi2@DYr5)u&)5fKv>92XN58Wj-{7$F!M9UUJZ9}^cMBqAOp93CGY|G)qX2mmht zdjSCv0RO}Q8vp?S0s{d70000000000000041p)>K0|@`b05=c-0s;a80RjUA1q}cI z000010s{m91qKlk6CnpNK@=iUVHFlKR&gUULPJ%Nla!UA(bCla+5iXv0RR9$0Q)Z( z#xaaz7{)P-VTe^M!~h3mpQcxSozedQZ0oic zAUsYPdk3OBAD(*SJgr)-RZ*>2h6Q&Kp^?IdWAaho%%8(OawV;m8r0*rErICD%8``? zi?e)!f!QbW0~(E$Ewu%`ubb9^o#X7OQm&3s)s=uM%F4`&n{#C*9==&hf zuWCnzw6ezpmK_kX!x>QW5IYJyh+fagc0l|{${*GpzwRd@{{S9`{+zv~G?UbdX==?? z-9cz&Dqb`A5{%2=@FZs)=G>M|XT^R+%2QcmXH$gnxT290`lq)qt71hTQjkFt5IQ6t zy}R!^M$XMGFB#eLs1iGqN3MGRDd>yqe%5G`6`z)2JT;#H)G;Y6}uUfrEBcfNY zQnbIaNX>@tE#uVf%T~_A!f2SQucIO8kIXMwJ5RUQ?csT~);)Aa@nhi2(d)mc8N|LT z?r-gv;&0jL&uMB>i-~E>Or0&;v8SrQd3pI0X0rXzdJ!MbJC%Kf3pQk}UiE3GjF9oi zDzh&~qu2+r(e^){X{l><9@m-ZxZD({y#v>~O)k#R!5dgp=l7K)Bd3l@KVbIGe~xS% z8(V8r#p=08TgjNJ_Qj7wF7lI|@w)uKiEOyd&4v0k zHdWrWi77HHrZ-Zopt`UCf=9~_$Jy*qX*XLIt4cv2rV<5)Qlst%@rXA{dSDcfbshEx zS#N3xEmoGTsAHZ9kjE@iC}edbqNE>U2=*Z559%ie{mtXQ>5%^b*Dq;RtxBX-Dc6Rz zc$6%0M1c_$e1HSk4A%7ACYHDLn4O-+>+(wm#n-eUVhM#I3cW@Lh)C20Zy-JY034CW zc$F +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (angle_harmonic.aux) +\openout1 = `angle_harmonic.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(angle_harmonic.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2141 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,120b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on angle_harmonic.dvi (1 page, 404 bytes). diff --git a/doc/Eqs/angle_harmonic.tex b/doc/Eqs/angle_harmonic.tex new file mode 100644 index 0000000000..c566376b5b --- /dev/null +++ b/doc/Eqs/angle_harmonic.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K (\theta - \theta_0)^2 +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/bond_class2.aux b/doc/Eqs/bond_class2.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/bond_class2.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/bond_class2.dvi b/doc/Eqs/bond_class2.dvi new file mode 100644 index 0000000000000000000000000000000000000000..b37d65e6fe75dbc4be65db2df5843bd46961b917 GIT binary patch literal 508 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL=>Q9QrJ{{bBlI1|FbMAk3DWo11B9w8wQK z3uoqMzKGR<+;BP8YK)L zfMut~o}!6N|I9v%C@Sg90vo~wv7orp&|p8qY^GH!_7s6l*=5i-d8cOY{NLO&ftn|> zXRX<(Jp*dPE@Pk^)TsRoGqC6|M%Q6NNQX&ZU*CK=28P~A49^9ab{h8e_51)jO$#~v gL7~RD7UU-eM(kd|9&*@11Zz0{1jb=4(|rg40A7Tp3;+NC literal 0 HcmV?d00001 diff --git a/doc/Eqs/bond_class2.jpg b/doc/Eqs/bond_class2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7fb129bdb7c0bb85f658bc3bd9def4cf14311ab8 GIT binary patch literal 2690 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 literal 0 HcmV?d00001 diff --git a/doc/Eqs/bond_class2.log b/doc/Eqs/bond_class2.log new file mode 100644 index 0000000000..75f7e4c932 --- /dev/null +++ b/doc/Eqs/bond_class2.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**bond_class2.tex +(bond_class2.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (bond_class2.aux) +\openout1 = `bond_class2.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(bond_class2.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2126 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,117b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on bond_class2.dvi (1 page, 508 bytes). diff --git a/doc/Eqs/bond_class2.tex b/doc/Eqs/bond_class2.tex new file mode 100644 index 0000000000..0735b61025 --- /dev/null +++ b/doc/Eqs/bond_class2.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K_2 (r - r_0)^2 + K_3 (r - r_0)^3 + K_4 (r - r_0)^4 +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/bond_fene.aux b/doc/Eqs/bond_fene.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/bond_fene.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/bond_fene.dvi b/doc/Eqs/bond_fene.dvi new file mode 100644 index 0000000000000000000000000000000000000000..02e425e082981c3184c6634819f9609974420873 GIT binary patch literal 788 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFw7Tb;Ow0ku|e&#;P!{q0t`K zi7cF%pZOwI2Xe#ZSd(*$42^c$PGk-Z`YfWTq%#XF#Rbt;Txn>qpJAuL9;=9aE@udlav zqR`@Z^WUY#d}jEyu~diwWH!|N)Cxm`)k=L6B`RHa8ct(cwPHU*Z|~&!AJgJi3jsCu z&j0@KXzxUR=dL|PeG|E@{O7X<=5{hLq@^E5kc6jAkYD}+0dwOqV{eJtiA$z2V^da zudtXa+?kFrSL*3)u(@VHAIUGh5BE{5S?*5l$$R+w`sT|qF!WAhcrL)S)3C3v=LayX mwUCn_DB&=!1;+p*_V~u0c(BDb)}(|zl7BKVFf}mU2Lk{YvKD~= literal 0 HcmV?d00001 diff --git a/doc/Eqs/bond_fene.jpg b/doc/Eqs/bond_fene.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b4360f7b3fbd7d5bafc4b284b47703cacb01804b GIT binary patch literal 4017 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 t40nf?*5yu@w6(lO +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (bond_fene.aux) +\openout1 = `bond_fene.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(bond_fene.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2116 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,115b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on bond_fene.dvi (1 page, 788 bytes). diff --git a/doc/Eqs/bond_fene.tex b/doc/Eqs/bond_fene.tex new file mode 100644 index 0000000000..ec4dd8efa2 --- /dev/null +++ b/doc/Eqs/bond_fene.tex @@ -0,0 +1,11 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = -0.5 K R_0^2 \ln \left[ 1 - \left(\frac{r}{R_0}\right)^2\right] + + 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \epsilon +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/bond_fene_expand.aux b/doc/Eqs/bond_fene_expand.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/bond_fene_expand.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/bond_fene_expand.dvi b/doc/Eqs/bond_fene_expand.dvi new file mode 100644 index 0000000000000000000000000000000000000000..cbc6a999ad1f2dc6e618329edf59d348cea64ae1 GIT binary patch literal 888 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 literal 0 HcmV?d00001 diff --git a/doc/Eqs/bond_fene_expand.log b/doc/Eqs/bond_fene_expand.log new file mode 100644 index 0000000000..f860922484 --- /dev/null +++ b/doc/Eqs/bond_fene_expand.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**bond_fene_expand.tex +(bond_fene_expand.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (bond_fene_expand.aux) +\openout1 = `bond_fene_expand.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(bond_fene_expand.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2151 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,122b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on bond_fene_expand.dvi (1 page, 888 bytes). diff --git a/doc/Eqs/bond_fene_expand.tex b/doc/Eqs/bond_fene_expand.tex new file mode 100644 index 0000000000..44adc659b2 --- /dev/null +++ b/doc/Eqs/bond_fene_expand.tex @@ -0,0 +1,13 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = -0.5 K R_0 + \ln \left[1 -\left( \frac{\left(r - \Delta\right)}{R_0}\right)^2 \right] + + 4 \epsilon \left[ \left(\frac{\sigma}{\left(r - + \Delta\right)}\right)^{12} - \left(\frac{\sigma}{\left(r - + \Delta\right)}\right)^6 \right] + \epsilon +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/bond_harmonic.aux b/doc/Eqs/bond_harmonic.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/bond_harmonic.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/bond_harmonic.dvi b/doc/Eqs/bond_harmonic.dvi new file mode 100644 index 0000000000000000000000000000000000000000..9e2bf05b09f9d0962bc444c747575bdaa2e954bb GIT binary patch literal 404 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL-PcyzTN?aQnmb#SA<^vp|?FIX5@c&}fhA zL>A7>&wLT91G(XHtjW1WhDJMWCo+cy?eU(-aA)35jXgyZnf{r57Ex5vnFUtJ1u>+! z($HW(!$hW4EA|xi&SyMx<}-gybtF3j2T&S>S%79)>@w(^$Z~*Xr)KZ`-`q2I8TIw` z&6i^UIqbOr(@w*_zMdaIrCP}00`d*xT95$@jM#0(?jdZ}WA)xoVAzT>-G=}Gt730Y literal 0 HcmV?d00001 diff --git a/doc/Eqs/bond_harmonic.jpg b/doc/Eqs/bond_harmonic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3180399a0eca41c14d0a3f4ef581c5e1ab7b1141 GIT binary patch literal 1211 zcmV;s1VsD)*#F=F5K2Z#MgRc;0RTtG1Oo*G1Ox>I1qKHU2nPoT z2M-Gi2@DYr5)u&)5fKv>92XN58Wj-{7$F!M9UUJZ9}^cMBqAOp93CGY|G)qX2mmVp zfB^v!0RO}Q8~_0T0s;d80000000000000041p@{F0tX2H!~iZ300IF70RjaB1Ofv9 z000000RjU61O*Wi1|bs^A~8`FL2(BoGGPcqQh|~G+5iXv0RR9$0Q)YKr722Ml%*+3 zQmXPf{7yeBZ;HCPb-uZc<$?u;-Q`5%&6FrSg7RJK+mi3xRE%Cu$0ja3l*UH3o57t~ z85%h_tMO%E2s~X+;e|}4M9k!@aQM57rb^&jSz5-@&ocs6BvH0@*Rp^KB=!Jo)*FoG zGT#*rQhSDu(q}}C+9w5zw-f<&zfm9#-S#!^DpTFSmrz=l{pr=7G}oxA>yvBj2PFjj zupfHQN>Y`EE2t#9n$cW%@T#++_X^wM--1MneY$yUT*ZTH#@Nq$9(c<^0612NDky z^2DhldiU>Mn~hr{_jfjWCVPf6upi1q0wezbo)};HtzW4+*XbFnjDMWy$owuooQG0* zS;o{isxJk&`}Xx6jUT?McSiL$*XFs8%=FaW3aQpBHRo7tpXNLy;yZRd_geS)3e9)W z_I)oJ7n7;87I=~Y{{U0SB%ky95lvRT37xyl^$$|xGj`CymcieMRU%^1n`t8wK`L+V z%FL{Pk+;+G7o5o&w1>niub$&o4#TK? z-Q;%PL(SXsI`Jp8;*0q^?NL8bbD2yIBG&5@1*F##-`d(LTyoR2*Ad0UaUhP)%v-*K zA4%VAgFM)Dx?ZZh$HgRmEzE6a9IUHon*G^Ej}2_>lgHql8jIAoEob_P(oGQcUkl4A zd-f^e35Vo{glprIeAa9h4?kCS00Y@kHdvGP z17@XbxbBOGBPF%8 zOB71dGq(^lHq1*g`C>^Yxg^w@RX$^;aQS@RD>Hut@?PR(d2C&7<&9!?Mva?-uvR4< zm$*HRac|QYTYjy&>ZonzT)o}0TF*C{l&i#riYbh@4#n7m$9>Hq$4h6`*Eu)ekx|!>BRyw)~zR$*t`}owSlTK+bjB(ufovzli;YhVSW0 ZQk11BN>Y@iDN0h5r722Ml%*+O|JhgkD!~8% literal 0 HcmV?d00001 diff --git a/doc/Eqs/bond_harmonic.log b/doc/Eqs/bond_harmonic.log new file mode 100644 index 0000000000..34c0e1faa8 --- /dev/null +++ b/doc/Eqs/bond_harmonic.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**bond_harmonic.tex +(bond_harmonic.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (bond_harmonic.aux) +\openout1 = `bond_harmonic.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(bond_harmonic.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2136 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,119b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on bond_harmonic.dvi (1 page, 404 bytes). diff --git a/doc/Eqs/bond_harmonic.tex b/doc/Eqs/bond_harmonic.tex new file mode 100644 index 0000000000..2461086898 --- /dev/null +++ b/doc/Eqs/bond_harmonic.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K (r - r_0)^2 +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/bond_morse.aux b/doc/Eqs/bond_morse.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/bond_morse.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/bond_morse.dvi b/doc/Eqs/bond_morse.dvi new file mode 100644 index 0000000000000000000000000000000000000000..c5c455c506a84dca286029b0b73d7d4bb53e6eea GIT binary patch literal 616 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL-QX2s!>)aQnmb#SA<^vp|?FIX5@c&}fhA zL>A7>&wLT91G(XHtjW1WhDJMWCo+cy?Q!YtoyZj2Gyh9k!e@qG8%u>4xPaP07-&Rl zg`vUfjJ}ENJOw)qr!lQs@mWMsNoN+=B&d?&N<)MF43qby_Rjy!J@d2ZKJOFU3>-l1 zAPlsrxYFVP!)KxEjN(Sf!nv6id$~XJ*HlNc!-ZLZ?y}gWvA1Y~P0;~{y+ytA8D$DT z3+!}ET*1Hwau5)M)R^ry=$pu*wS1RmU++ZKyFWl~U!BMqSYYY|1ONfp#|a4h3k+_KFoTdErSEb8 z!6BF#9ELDM{o^5E27_bGZJcRa5jZm2mY!j^!aH6lp)^th0+TZHO3$@Fo->UCi%*3t zU@&0+i}2>U6Qe(dgem-A4W~_%zkvu2+lkYHeUG*JQ_P&`tyruju-O7O2Tr~i?NVM^ zm&IQ2Dk{-cGG1>>OQomUx=5Ro0~36Hq1c^742dV@ciynB%~y{%=3Yn77IoQ`5OJIV zZEu_QOq7_-^2Sx;j}F zTD;0CoTJK3lI3$qYF1o(8u_JrLpx3`<#Z7c)68k8TDhiXNs?&4B%IRNKVt9alkd>P zH}!hs$kVfBQIh(jJif+}F*dFp>#zsCht@fj+(WEvdR%EWK0v!=_Of#bG>DR z1wN*ULe8DXkfqUr(&rlu?8`0}xG=Gzg$Ni`J(<4>SvPZ%4c5lNR(b#X4WhK!x}F-@ zwkuD9)Ncfji^t9OfbP*u=e*M*eANM)w>KoJoq4h(b>hq2XO;+G-My^XGZ!oBjCnHOUt#aT!#$Mr z73Cv3wUw|!;&&PkUej$_y(4b-vRc1mValaCw?A3d8&|#$_;7klHrG4maJ5x!p-}yr zCNI!YOK0?ZMV?)&xIlQMu>yJ(9d(rs~j8-}eRjcO9q; z*zyYQqC+qhGvcg#(UiSS$a=PJh-U(*$WMPw8s8<&DGqD2TU~oJx)Se5DEB}Awu9~5 z3ooKgxVnf%{7b;`n_jDn^s! M*?21Xe=&{x4Q;(69RL6T literal 0 HcmV?d00001 diff --git a/doc/Eqs/bond_morse.log b/doc/Eqs/bond_morse.log new file mode 100644 index 0000000000..2e30d16c0c --- /dev/null +++ b/doc/Eqs/bond_morse.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**bond_morse.tex +(bond_morse.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (bond_morse.aux) +\openout1 = `bond_morse.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(bond_morse.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2121 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,116b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on bond_morse.dvi (1 page, 616 bytes). diff --git a/doc/Eqs/bond_morse.tex b/doc/Eqs/bond_morse.tex new file mode 100644 index 0000000000..a0d7a89961 --- /dev/null +++ b/doc/Eqs/bond_morse.tex @@ -0,0 +1,10 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ +% E = D \left[ 1 - \exp \left( -\alpha (r - r_0) \right) \right]^2 + E = D \left[ 1 - e^{-\alpha (r - r_0)} \right]^2 +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/bond_nonlinear.aux b/doc/Eqs/bond_nonlinear.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/bond_nonlinear.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/bond_nonlinear.dvi b/doc/Eqs/bond_nonlinear.dvi new file mode 100644 index 0000000000000000000000000000000000000000..ef7e267f0609ceef02619a3e46b1de480940830c GIT binary patch literal 492 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFw7TPaHn??!`AiNKMQVun7){S2WS=uvnA)|W*Qpp zah=G*nfaM7Vs#)lT#hw4x5&_Fr)_U<@BHr%kM>R!>Mz{Gzf)sR(L|~uhDy}p%*v~MLY1N87MZNPG&z$+pUsD~)&cFeb24NPUc^112`X;g*VA-kJJOB4m zqg_UQKyF9teAd9+P6mdwR0dyGm-*Zr+`T)a_lWk+|I^V4R5Fo0Yt4R!X+VQvmhWen z47CGj-ZZFr5XF;s#`b~1d^rXNpr4-$Fd6ps_51)jKnpp7VI=e?0&%>RMG1Oo*G1Ox>I1qKHU2nPoT z2M-Gi2@DYr5)u&)5fKv>92XN58Wj-{7$F!M9UUJZ9}^cMBqAOp93CGY|G)qX2mmzz zp8)|80RO}Q8vp?S0|5a60RR9100000000041qK2G2MGVf06!1_0s#X90R#sG1P=fJ z000010s{a91qKlkArllaK?fBVB2|{u79=uJLSb=%BQ!NuWp#p)p`)d=(bDAq+5iXv z0RR9$0R5LrQk11A#446z00VMQm2(rMu`IE$WOWRrd4u6yQk1SFmN?1@94U6#VdEQ$~#K{1;gy zM&^iiWr@)A>KlJLou1VB3msQ$r|fVh{%flno4Aj9Sc&XAEylzU6q%7h-|=s_0CKDQ zdzn2~9p&@}&Q8EdJVk@{M~>{fuSVOb+<5I&-)*$V#Qy-ulm4}AZ0pk(;&BRcCvBhu~gsyZOWcN?bHx9 z40wsUlIqVlq;s)ZT)NF^6RBexB$n3;8p|7TUjO2T)eeA}(RLjJ3*m(|H^r^I^D!WqQ ztuy$C#@?AyGb~dikuVPwu}HGTB9aK?vLZ0t5xVsRbgJD`hPt`LTgw#FU*6-dqQAEi zh{G{M@5a1UM(r7qK|XKP?Ni{ySxKo5rdOHnWUxy})sMLxe9VNX+i=WE^4$J{bQ^WF zr9{nGCRYu6jFNfn((>L&8dw-Ck%v;Hl#oDSzToV7)kdk)5ajejX}bnXNa9EZsN3CM z#nIzax9IO0gSVAc&x6Zb*=oC>AsJmqDn$fvxsp47yQCqRnOAVUUPkCTY@ie4uEp6~ z<8ijQ>qOyiYYIaW{z$465AFh_Qk1CqIqog7^W0k5NqssYG26!KjU#y|W+6xICcb0n z-%e$8&VbX<$)smGrC=iN@13t3dyALtE+uj$-PIkK`@D$*U^>^;lx(09PQ%3c*UtT% ze@A*d`9J>vO>8v2E7aI{>^m%6Tp5oXb&qt1so$i0+hh5i`qpDnY3xo{UM-~GYI|#& zZu4<1o~pmIf)!nnLcQi@P?LaY?K)%Eo>W0q?$4IyD}D3M^tu3Hym6mGJ;f{xi97_ z)7hq+_?ENz&n@*d_Gza+C9M8)%Y98n%4j_;kAWncC9MlfD#HwGtg_ssk&eMf-hX*M zKoWWaYFD#OIq@xL^PXGkY3$QZd`nsU=a%}KdoguV zO*!!`XY-z0>S`_agVNSh+Q)H{)`+(<_9-FOS#BaiH&s7*>Au7R`RqJM1}V~-7-eF` zobI#lGfdX;kG0vJ4=SONqYvIV^9Zcmci&}hoetJsjs-W%*r`&v?zrDo-kBJ_&V%IcA(6tgoOf`K{)wA40t_Pj4<0w$76GGXiKD_PlCx5vT;A8uqp5$odypZsM}s&W;1xqBvxqzme~2N zujHC_iJcpXjKYf_BAlOQeaJ!JyPKTF?q1epTy_)I2v>G~^pSBp_-uS@oK5~}=I^t= zz;_sUliK&hldt8l8`VyxmS*&iq%8`Tw&8tndL4wR5+Wbl##u-2H36s98Eti_aTwi1 zENyHo?HM1rM=Hm0Bg)L19f{f%h>%I^AR}Nnou&M@5ZTEsrLTION4Xbh6Pf(E9)hVo zZ>j$Pnm_7M{{Y2!`cTT`aNdtH`CN3y+WHGeXacIcH04N&HRKBJ(v)7H^e1k+5#M{h z)4NTb%$%XVn%>sR+ABnfgybG!Pa((>3wy+IRXtCMsPu)KizVoDt*p3QQmq)v%b2+C%hPk}eg5ql|b>Y@iDN0h5r722MmH*iW Cx!C9c literal 0 HcmV?d00001 diff --git a/doc/Eqs/bond_nonlinear.log b/doc/Eqs/bond_nonlinear.log new file mode 100644 index 0000000000..b4fd6052b1 --- /dev/null +++ b/doc/Eqs/bond_nonlinear.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**bond_nonlinear.tex +(bond_nonlinear.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (bond_nonlinear.aux) +\openout1 = `bond_nonlinear.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(bond_nonlinear.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2141 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,120b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on bond_nonlinear.dvi (1 page, 492 bytes). diff --git a/doc/Eqs/bond_nonlinear.tex b/doc/Eqs/bond_nonlinear.tex new file mode 100644 index 0000000000..b8cdc96169 --- /dev/null +++ b/doc/Eqs/bond_nonlinear.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = \frac{\epsilon (r - r_0)^2}{ [ \lambda^2 - (r - r_0)^2 ]} +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/bond_quartic.aux b/doc/Eqs/bond_quartic.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/bond_quartic.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/bond_quartic.dvi b/doc/Eqs/bond_quartic.dvi new file mode 100644 index 0000000000000000000000000000000000000000..62a6a087fe21b0b5c1366db6802b01cabaac913c GIT binary patch literal 800 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 literal 0 HcmV?d00001 diff --git a/doc/Eqs/bond_quartic.log b/doc/Eqs/bond_quartic.log new file mode 100644 index 0000000000..114a141d54 --- /dev/null +++ b/doc/Eqs/bond_quartic.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 25 APR 2006 17:17 +**bond_quartic +(bond_quartic.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (bond_quartic.aux) +\openout1 = `bond_quartic.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(bond_quartic.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2131 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,114b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on bond_quartic.dvi (1 page, 800 bytes). diff --git a/doc/Eqs/bond_quartic.tex b/doc/Eqs/bond_quartic.tex new file mode 100644 index 0000000000..0d0cceb353 --- /dev/null +++ b/doc/Eqs/bond_quartic.tex @@ -0,0 +1,11 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K (r - R_c)^ 2 (r - R_c - B_1) (r - R_c - B_2) + U_0 + + 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \epsilon +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/centro_symmetry.aux b/doc/Eqs/centro_symmetry.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/centro_symmetry.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/centro_symmetry.dvi b/doc/Eqs/centro_symmetry.dvi new file mode 100644 index 0000000000000000000000000000000000000000..e35c6b4a9c027655549afadc2e9ca3439dc47d5f GIT binary patch literal 580 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFw7TGzt%g6VOxLjXTj|c(-$-F0L=nnw&dL0OhcnR z0TWriOMK>wSRKd>mt#%NEiyFPY1=#h)BnG{6FKrsKl9gAN3t_;05yUz3s8Z@F0;P* zybR2}y%U*3gXVwz|K~HquZ^Wb3|v43APlr2wZhO~bwpp^eC{vPfXdePd=|RSC~gEd z2WU}lrp4aOUABgOeG`R`OMVtnRMMFRb_mpn;z~n<{aL;9|9r3LoyfTO(w@4$`OF+0 zy+OV68PA;Ao7o4{$j`{LQyZ#;#jgscWFph56)Z1(c@<64kk7#OiT4XcN+2Q{`Z#2WC}!|^9DEzDxN4*>vu CGO{56 literal 0 HcmV?d00001 diff --git a/doc/Eqs/centro_symmetry.jpg b/doc/Eqs/centro_symmetry.jpg new file mode 100644 index 0000000000000000000000000000000000000000..87520084dc3fef0da12e1499b8b419665173fa81 GIT binary patch literal 1573 zcmV+=2HN@m*#F=F5K2Z#MgRc;0RXE2Qvd+}+Wgv=4-_35A08bV92_7dE+-%&EF&BoC^soAFflYVG#@89JvcHvE;BST|G)qX2mm_( zn*jk40RO}Q8vp?S0s{d70000000000000031_1;G0tf%Z05T8&0s#X90|5pF1Oos7 z000010s{a95d{(<1`{z96(T`VVSxuSLUExZC1R0glBNIJ00;pA002J#`~4|OP>=y6 z;0lf#h%QvL6Gtk8w3J}LAD17vsVPcQl%*+3Qk11BT)v~QpH%7lyE|zLOCpS89`Fna zUU>I_E6*JBS<)@;pql-sj3hG79uU|v5wSroK{@0ca!vpq00XB=Qk11BN>Y@r1YJt= z`({Y2cfq90(9GgsJB3kQwgLb+3X!h_pQ;wafxUl`^59j*`=qR|ZJH5( zt=q94?6&&7%CeuB_sBnRMRhdWdF?dVEv{}2#IYblGk$3R;4^=b7$@tRg3nX+9XW5S zNU0c-(Qa8;j@1PN9&mUcwN!W3pC;DyIHKJOzNYQ;+8-0Blc?EsRz z31@I2{)z^YQqdzQUBG~MNskA|!nd@ix|c_>lJ%i`wzrL^XiiYMQMjr3XE^#+{`LO=CjS7(vcQ%dP{hRatTRq(V z+*M<)^s9cOw6)P=+`6kuw>FnCoHdrhGd6xh#y?Rw%E;GJd>PK?lLj zeE$GmzFU978yhvaNNzPdD_uSv%mK{7BP3_!u1Ur`lgax`H^4 z>J^nkdT4pW0yD|3^if9yDGV{JaUz98L4cre03QKf=}JdB(m5}%s}B+iGT{DfB+v7a!Dpj%|G!H>fNG?U(hWWjCWwuWGp{z^059Y%cNK~ znWS1-JnwNVF@=(M{L;VbbM<4B_pe%Am$P)6J09nA(?F2#+l|{)4CCSAwn`&9xm7H= z+DPPn)vu=5N2Teu_AyB$k-&i!r692b#z+FDmfk6(hDi`JLjB0e{VlYvf7227sVQ1_ zT5LB`TE6Fq+uVAA+Q8h~S$*y~1Tp?Aoj*xv)9Vo5K9#2su}YF7TA|*~$U`1Hjg9{R zYT5P;pQ~B_0I9WZjoQR85K2_3ZyETL=gG}%+F5#AoB6w&yY@n^qoZwt+dx{BS6HOdSfyN(73Ac64&@-R#@bsJxF?z44eHN11#+O(+l z_c7dIg0UF`Abwwuo@>8hE6t}{OCig=NX&8MkTY8pr722Ml%*+3Qk5JqLv9>H6mf@g z>=8iR#N?BYB%h5gE#SMidwZB;ni&SyjztWtK13c3W+-B}iDHH{jx-olMF0Wx0=?3d Xr722Ml%*+3Qk11BN>Y@iDN6s@X@bA5 literal 0 HcmV?d00001 diff --git a/doc/Eqs/centro_symmetry.log b/doc/Eqs/centro_symmetry.log new file mode 100644 index 0000000000..d29e7134ce --- /dev/null +++ b/doc/Eqs/centro_symmetry.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**centro_symmetry.tex +(centro_symmetry.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (centro_symmetry.aux) +\openout1 = `centro_symmetry.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(centro_symmetry.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2146 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,121b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on centro_symmetry.dvi (1 page, 580 bytes). diff --git a/doc/Eqs/centro_symmetry.tex b/doc/Eqs/centro_symmetry.tex new file mode 100644 index 0000000000..ee7578f5f8 --- /dev/null +++ b/doc/Eqs/centro_symmetry.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + P = \sum_{i = 1}^{6} | \vec{R}_i + \vec{R}_{i+6} |^2 +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/dihedral_charmm.aux b/doc/Eqs/dihedral_charmm.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/dihedral_charmm.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/dihedral_charmm.dvi b/doc/Eqs/dihedral_charmm.dvi new file mode 100644 index 0000000000000000000000000000000000000000..bc3bad49ee5da9df68856e22e8a95bfa43a47d46 GIT binary patch literal 312 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL-RCxm5F6aQnmb#SA<^vp|?FIX5@c&}fhA zL>A7>&wLT91G(XHtjW1WhDJMWCo+cy?eU(-aA)4mXv1ktt5#_DPEO7*?wcr-`cGp| zp4{Y}+LQOB?9`0y>zgmf0J7(~0Fz-~U(XMq1zO0y1i6iIEl`w&ff2hyusY!!fk42}1A#)Js%l#5Y6oa*YQnS-+DIfq8-dW#M;qwqqVy05 zLo-7Z24iAkqGMo=H8;khjZKV|5{Msz@_6o#VRhBy$Tpy%U5eT6C#W4yb=IodI@jD!5j}fd7@d z$uUAR(OMR#d&N>PA_>@B1`iK>d*EvDQm~6kOTG;7IK+Dxj(G2OSb`^n9|wcf0y+WX z%y$_7+9PjxD{Fpv-J-;wWIf?8rJ9LNtXVBVeqJt7ld&a?Y@qoi~osfi-s3sWmYd zwXYf)IAvFzywMdW4|?G6fb@!{1gL_FpihW$IiiW`9ZWR8_t^M0lyIuW+Ac z8^eRzBljjdUI(v_pWG5(GYjyO+6z#&8W~Nteq_FOcjbvPrj@2quPnfA5agnnxOi&f zHnL!p6s^R}Q%ieDa;K>`J<8zJQzSzYC-EFK1T!lH}Ux+O0Ml zc`oMJrpBmI_9a;y)phjZf@N022w|Q?f)U-rRDGA4K~<9cW{a_;qy@RnlXKA)b`2iW z@`wTqqz(=}248@Y2PmsJbGOZjZcp+n}y#$^*2=JYM0k1 zBQG5*IKGv^jpb3@jmkyZ$zSt3QDr+*)CG#L4Hw>Trsc}pbt@9KuwGPfvDBU17MN)y z8+z0sIBwwC+xX=8bg7E>=n0*xHhyjfXS`-4NzA_UQX@(JeHuvVzGylh+u+%_ z!RLRau7aQRi;cl4cnAFS!;AJXD0S7Us-L_J)`@-(KI;h7I>h39W|Uw)if z$>qjrqHmlC@roSKSsY!6^=I|6aq&dYJdKtl6(0{Q%fqF+=dvRf138b zRLkxsE2v}<{#hZv!2ff{e*@Q<9qZuSWNf{4|B7cdAuo-k&`jaZkHFNJk;zGl@8s9~ z=kS^J`x&Jvbj!zGe3xk|sygtjplsSmS~y?Rx#wNg`5-~)m*Qgg8`6X3La6z{+Vo~D z16|el5|u^QFK_isn@660f$uEX(tS;lZ3{~3MDXh->*?K;_K{!H)=3%{=qdSnD`eJG zsxU^}Fv+oU@|At8HghYAEOu|kzW04)J4Jq5zdaW^l`&>-@9zO`6iq5-@8z_wzX%TO zAk$#pB2rLnc4g@AVSN3xESw_LGb*0Ec}jX`W~S`*E{(u!D^uGFfgo{f-UJ7F&CWDO zm%Em`fta}Ict;XYobAyg@ot&ERq|*BrQR=i&wJjCr-pK#A79o4BRQ_Z~{iW2pqTmEBoUaZY4dlo6V>M@%^IxI%68YUE}=(BT?@*JmLUndF7AS|;_RT{f* zS-fnAC*AdiBJm9xzh7ed$lwf?NVV7)kJDxo@8 +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (dihedral_charmm.aux) +\openout1 = `dihedral_charmm.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(dihedral_charmm.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2146 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,121b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on dihedral_charmm.dvi (1 page, 312 bytes). diff --git a/doc/Eqs/dihedral_charmm.tex b/doc/Eqs/dihedral_charmm.tex new file mode 100644 index 0000000000..96af7fb52c --- /dev/null +++ b/doc/Eqs/dihedral_charmm.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K [ 1 + \cos (n \phi + d) ] +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/dihedral_class2.aux b/doc/Eqs/dihedral_class2.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/dihedral_class2.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/dihedral_class2.dvi b/doc/Eqs/dihedral_class2.dvi new file mode 100644 index 0000000000000000000000000000000000000000..e9651d58ffbc5bc2616891f5ec85d6a645396a30 GIT binary patch literal 1804 zcmai#O-vI(6vtA3XzZ!3#WKlVw#DmeqY~4z4UN{&pCSLrA310MIC4NGEvpZY2WNRmxWb^*BGr#xVyf@!j zW^6LC>o9_m_i1N!d%#=WKQtH_8m#7BuKGHTt8*PZ#JTGC-+&biS(a<0V9c?@qez%r zn;%7UY@_zMGK%CK@Fj@d1D}(&r|-|*LuIfRnT0)}P>|!*W(;!V&HZGBcd@NBEf@5J zq8zU@Vvr}%*gB^+3o^63oV34Yw(_VLb|4d$g@O%nKNgFww<@($?1KfmFdp&^V$tTe zE47kg3J_EI%jYK3S+JBOn#>krs`ONuOg>+-^3q6WQTo_?plgV6ZVW@-_U*0!K6D;G zW1Qm$v+kAdfFOTOt$`cY-rbD3v0RSwh*MWyJeF5ef0F3eqaiyg0dL5JxCDkd*P<78 zE`4=bcRn7DHF6kFqAB*bdO{0CJd9@x7Fv}qjyRp%ynD~S87+ErlYxtzYY7RG($hbH zMSEb~sfHcW5|UJh@&B|^(@h-M4#xoQsql>90Eu0u3tA4GYE=KXcj7{E9~MiWc$NSO zVy@d`JQnj4`ASWf+N3Rvaaa%w6RZX?yJf`dR2@o<1R0?^Z_=lo{07yXp}L7mfah)G zP6^^^=8FMLGW$Q^U@sOot&V5Xa%tM5IcTY#g_f#Tv{Ef#-2vFl`1MU3xOyHgUWCmg za;J%osn>op0#U5WiYjT@EA-!pWdR(tw`^sCn;6b$gpK~7({fH`O->8 z#k&a&oQ-7%LU7Ahs#s`L<3FI2?KM9$KcUO| I*|%i;1?SlJ-2eap literal 0 HcmV?d00001 diff --git a/doc/Eqs/dihedral_class2.jpg b/doc/Eqs/dihedral_class2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c050905275d6576ad4a97d9582055a7ee06546be GIT binary patch literal 26581 zcmc$_WmFu|_bu2s0fM_V?g>E?tZ^qeP2(;>LLj&X2<{Cu7Tn$46QFT-4ek)!Vfejy zGw-eS-u&moe3+`c>O@ zNGPud6ciLxG%R$q*9`{~^9>dr4n95}4jvu>F(nBBAvqBq9w{v;ITaNU2qYk(W1ypE zpri&;zjOgG(E+yzEeHsBfR`QsB>(|{^xDO1C;!)mjDm`Uh=zdvdKHWdKtx1DKte=8 zKtV=A$HGQJKtw`D!2_V;(-Lr@5z>jPnGn%)JNgq#sK+swW}}nvXo1a~0zPV3Sh^&@ zY9}VAwitQ&C8d8t;}dfWs;4*dyMMnd0?_}{ohaaWXfv8LNPSogU>ASA?RLBjeEc5$ z0_cl>0jO}eZ$=9Y&ZJ(M@aSf+(4k3heJc?y-tt_q(@L4eSP;}uSUQ&51)F7e0)TL) zGdR6LziQrKBPX~FVlP!w;&5koah-Vo(d$`Z+g2p?^wL86c&*{m+lyLmGy2mO+Q@p` z0+2HXtWlt0fq-^)I#4YK?WyTGIBN+8YgBbT;QDT6G;IdcYS!WcC>Wla4IbRkUI3Jv zoo9J3fTSv@o{VRII(%G)3S4ZXC2K%lLZp|7iWq zzk=+P=}y3hgr&-@^C=+p1CkSx2UtHuGOlU+d* zS9$DIpZXYxE^yT$kp4Wr{Q}rxR`a{L6n$2C&*fU!{Mo8Hx;{Du?pl%hY@UC|g%o7wCG{uJ%Pb_8G-) zn)r@CMPN#dP==N#TyZ)G<_`_;k)B*)|E6Z@%xQjqp=eSX(Kv18({X)f63 z(rrVtrAg8|u zHigg!R@ePNSe4~Z&Gv(BzMesCZ-pngwTm5dAWB*Gkrnu&>kMB~lBB3`yUr~YuJm14 z->)Q128g(Iei2*%xKsP|?{H@t{2kM`pz&@^{SuWoK^v?*K?@sqLUU-wq<#U!K7MzO ztO!4FE#t@8AB*=U?O$r*P8WaRmnogTJG|Ly=i#)O{OMf>TxGT}3H>2cH&Wq4i~_%e z%jLi~fniyQd;Uc^G3Ro?-M*E)Vkn49XHoTjxz?7elUN3cF6NM29nM zYXvaoe@QQw&$5Ek-Ku$TYUp5Q&tezbYiLDF_5W%zaEiD-8)D7A_l^b+9~Dkl`+^gS zXwoxRn?x2txZe-G*JZYC$LnS+@cU{8-k4mwuf)MGEli#SA`YlqyWvUuJ>^Nx;rj9A zu~q#@@N*bC+WxuFZ{Q9Z|EIPfrF6bV83!;b1L`sRmOBU?EmQFS^Ise#ssPvW6&WW8 zCoYQlNq_|sZV!Z>MZ5~T1|uj{n0B~`MCqERZMm(*0_p! zMNXSCTu&LMlpN^$8ypIJiNVDQa*)Se?EcVqCK-!SbGwCl2>7ScSx^0xSFFrL9~tKD zQpSdmW|Xb$oaDOQx^aJms=EJ)5p2#v+fwY!vG}&OZj_k;!b#o(F7j$&-%w&-FPIgd zUvY*5x-@6UZ6aeZvJudp0YwOk%<=D0-jG5W0$FF zLK|SR{GZiy3szP%L=;hqG%;3tTI@?Xd>EPHLxv6Skt-vKO3dk!r<}~AKjoH~s*`4M z%O9X`G5kcU!*Oi5M`JrQvxq1;Ckvz_EmtemQFUnIRfm|W?D<&CoeQVLm)$sCOh<30 z+OrW7%&{@V__=VPquotmVZUEWh_-8r=$P56 ze~o_IQ{q{|`*e6g5pSzCQK#U@1d}d1u*baQIt1AB$Ihs+>0(thudF-0$DApKg2CnU z0y$`^WQ;ei&J=HHi|viJd1VSF!fu`2opw;)kSt?bJwxbWTw8+~W_wBacyI3g37uaY z<@%h@N2AhvMaHR*+$4L`1KOUm40-)E$twyq0S8@(Z>X0=Rchz6CM|2;ffEA6l^8Iw z@@2y$OBatv>OwdG1FqT z>T(@tVsbk)d9yQDvjUh&kaVCX^#J4esZT7wPQ&V-H6!~JfikY}sRJ1W=AS%V2T45!R$Xf9Pc29q@o-Quu*r;;@yauvL`Hpg;;RO&DLEqD`(TXYTP$ zms20+r+Wb?R32&{nVVKCP!eHl9L$>)m>g&Ei3rV7F;2Vg7Ei5c1P((g+NXMDX$enp zR~x!XV?S<=y}x~p@c!$zgCjcaW_p{~ggi)2n(8CUq{qxz5ZSNv`;!DrV-Z~u`PA!3 zm2cOxjM76czaI{*z2GX(K6fJ2GQ-IyyKfakzRxI3$06TNdL8YDHF7}|&x`!c=&0Jr z0}lO-YaFH@Zqs!c+G8sew>sVd!h5j-yMGG}8x5R$3Yk@|9n?20dA~Pp@Y*gIIiYnH zES_lW!lTluzijV6N?s9)NY!OWuoK$9X(UI1LP9Sns?G8tJnEK~b1ce)Ma!WooMyX6B6HOGf1CgbGiXC+>(ZWL=Wz%~lv?w)knqDTZ?Y zx!nBDV2kiKI(Z(YgDl=i0EeF-0NctFta$Nxn)q|G-5|HRIF`mhQI6DXzz<=s^oLW) z^bV?>qbs1)Mr{&ZFgpniev1^kv=9h&K=k-EsH6=na%RAX+cxE&*z{M`bMwS*9bo;!?!_$ycq@FAd}TJvRFSn zbU=K3I&N_4lht@malH-35qcXbJ(}IGU#UWBCl@O`i5x{6HEb$lIetG+j0T_V7wKkN zt&j*R#h)wnth!M$~oMQ1=YqFo@%A0SX>N$%LaJc zN18oXJ)XZp3zf)G)&89$&BFM63;F2bh4wRUH1iX6p`>Ns z+^ZdCQCO?ny004zY$rFdNAjE8RgA;wVd;LI+vP`_CXG%k)Ul8MyOlqdWYXe!oKbbC zoO1w*Y!v8pDs!K2SE$%2w^q$Y9=e336o?cW**~0H>08x)xJ*bW%U7~LN@PO$Di<;V z^&n=+LQt_yxB@jUs4e2eE>Ya$brX@&mE;@CC7Po765>!l`*aE)kEOo=+Tl;5w{9Qf&jtY&^n!1wiX^#n#(R(&NEVTf-z$QO3G2cQE>7j9HgT2>v3KGS0W{!Id7l zsSKAkWSjgHhb||e*l&Py`CYbo{Q`|6TZwP zf$&ywx^s4!og-UwgsR8{f0C}Tm5s6U@lK#lwe>zy&>Mr_8T&2l@eDM*q zU|07C6HH{TGHz6nF8bdF3c=4J{wr1A$DKnov43PwyrV3&>F^YaNxPb=&QaW0NWebT zn07(s&X=7YsnI^LE%Nl^A<=^;<~Z>lb|}b~&%hv-`P`%_BId{`rU}s#d9<#2HeO-d z1{~NDr(NKE1-v&-@`UrjzJG)9Ej%w2`2AWbgkqY>XRigavjh9Z&oFkxS^wx!VKY(s za*Y?u#gcphMV(r-)0U$gM|v!bkAl0bIGi=p$(uHklqs$)h9f8Y{)O!tT^29NcF5Sj zAtXYHz&`2fiODhSdz|GLqz=m}WFR`8 z(eI<$*(7g$8U+-V#$Iy`I|&U?`9kCIkF1k9!RS;r^aYUk0>BeJ?|1<`&t1~{4UI1uE z9(u4Y)0$+?dDpBs$JOMB@k&!Ugh);Y6RsL)%h}SA>=NwP|Ki>MyS4gGJHy)oRjP0O z1aFy{Z19-P3-a_D4`rQZ>zQaSk_d3kWQSNiEL?Sta__`ZMP0jV|% zheP1+5N?VIH%;PnO}5FhChi-ge?m!q!@eG;i3S?epE6SVm=t-ewhu*;ZAx8XO!DTC zachrfCg7BJ{i|yuKE7pJDAo$ICEj8sv^^1{uoMkKT7H(J-a^73Q!^=9Ems~HlTZY| zg^qlGmk=NI7^Zixi)=DJ_R*@dSq$~ZQ^9D>cR9z)=GelBNt`}as0M&F; zMT?$cd-DR|H@ev3A0#7w)GVbSDXs#SO(MUm!l+_~e?c>Tu){k+r@r@MB(_3`9+sql z6CG6RNcp(2wV(nHPj};+UMKLvFI*91wZSZQS+7H{p2R$+^N!4S{y=sC_zl^e2NL=a z!@jwcT86d8PCh%l67HSua#C%)uSV{HiJlO@xgcibgYp=)Ff(XoKUl5RKb;|~K3F|m zrVyAThBglbjwQISHvAczygfQDCHkv4`3FM^Ml3auj5gKg?AmtYxM9$iN+AR9%%(YNgj{lfo#~ei)Iv)u{#?eYAyt6p6 zht1DM2&8=)CN|@!`eP&P%q_^^3M$qivA_vjT)G!KcNY45~nx+nUCJiXdFN2EWC6By9qRj-q&S`AdH1Ch8 zCcrl?6p^hH@Kp?1{zjF_v`{Tx=}f4=sG>SHWa^TYvr7{P^?J)~UF>JdQ3|77RFyQy zknMyZhnB3U(V@rZyyBnAylY7sb*9VsTK<+H$r@CYvg18&K_#C&n#V-a5F8WCqU9N> zW|0O}IfN!q0-%^4YMV<VfhC0n4L2eJLI@3HWV;59LXug7UDssB#k3ZDFQLow6IAC@Bc>ooMz4+L zg?wE_KF6Cbo;0X)K$(FZ6avqu^zrz)7jB;6#mS*YcY{bo*ds4^4zZ4&T^8ieWS(5H z3Qxdv52vojaFs)viv$~KfnpJkVh4cV=KdvuG~=`ODH@M2vFYiBWxRjRH(5csy)Xw& z!Sq&3_IKAiHrLw4I6X={)QMA(pZ^hD|MV44%^1D99)AIdPNfa1tGtuTt2Nr*u|U~4 zeLL?*L5%}aeBSH!y!ox1KMYrItLM7fY*ZTwmInlwr{sy@MpZ|;W}F(MkDHBUU&(4r z>>pV~rk7mr7V74%RP&6oeg6MWnk7F?&ov}8&$s%A<1Anm=l>q4Janp3@-L%YC(pIp<>l8x3_T}voln~8Q(e2&^}Hka;qC} zZD6pzf({+cQ!}#E{-+o&+rTG3!!h_q!BWJpkw0Ro+ezwsVPu?yJ8ci=Gc| zQ3U!q}sUbZLK1&AE`R&bg13s1MjZvkhC#6e6tH?bRnGh@6U5z zJLe0)|G;lYBlZ1jyaU$VKSC)hJl2BC20Ls?B=t2bsrQ^XwFR^pQvAdw%kCrS4~^v9ovC47cxVN3q0O~+Dt|93&<`V5vH zkR*G2i5nq;22y|tdO{+IfAL~B zX@x5?2`?l#;X1dGn=XtQf^1ldg1IWjd?3=w?7MrG#c{h!K4Uu_wpnOMesC_FCrheo zFkj1sq{kS>@Bo$H@yh*{E*WB1UbbpRkzDWC6KZ3Ykr}tL9x=k|fTC&rBU>hTfH~;o zSO4t(J<*vFvjeRW6F2|c6kYV)xbzHlGPS{|=3{a}z}wq3-dHooadWEy@t9(wLzZHZ zgdnhvmfIrPk0pfKET0CC&uRNuTEDP8gXv%&@f`Sc##IaED5 zZDOkHl7=S~q%eE_E0d9m%=$V}ehqawz7u}Rje@I2ZRW-lYf*lgCDlUmdiWvyka@9- zF^@%LGdWus)b|IuKa4|dMp|3z8CQ&)#>fA9%ezx$vOX9ZMQS_lDD0Z;o{gaHzF=ibHDV>7|`Xn zj~U(g>}M!fjm1yn&LK@XA(wAJCCQF-P4f^fo`w*RhTKF})wIBcNs_}NqRIE$)*vH= zs=ei`+%}=zY)Z#Fk(~4-ebDs7G<&D>%x+J8;y2MBEIPSb7{28nTo~T>1xKfD>(1GV z*e0&mA|18}s0ubj_jUjC{^3F1M}cQr$7j{621AF`sfjq7M}^WPB3t8=g~SXzUYy%8 zk(-Ax_Lyx!OmTb4b+npl;R3F6G zG8ZqctaOSjtucd;NZxzYOl|JVe~`LNFD-WdCeOK2esmxT+N{l}f%NrTIyNvHvzx7y z(fO=8MUltfv$ftnz%(`+M+)gw;dA-6w3gJ*57#JRt=NDYk7t-B|R6ww24 zN)HYn#bUxzURzV5So-3{CM@h^Ty)UiXs3bo4-1NXWm{*Y4^z{A>UA)7hA2$y=q-*n z8aXoXt@B!{DHzQG#$AMmQA#Stq_(BP5az-OYe91Hu~Rl`T?y*aMTNd0-0ZZ@-ZMz= zGw~A-FWdIV)AAUKS5N%jy*9LGp{=oOWB;=~22qB>!6f!?g)gCNlk)Wca^NO}l3FMBgRnW+!HcQ|Snt$Jhd8+3$tE8p2@4kt@S}Udx zYn4dAPx2Rlw)f@(=!lG?;46BmPCq1C@G2XoL1>F*5sLD=8o9Q=CkS-FcX^uLB18eA z$on=Qp+Yex^OGpwdVocTUW)-AVHO_cKViEkzBtX;A zV3$ak6#(DVFYig$;82Rd?B_st68v%7eJ9N4i-~!Pkbxm9`A1~GNy#mD`u?re|GeqH zz(nl-VT+{)jRGkkx^)V3_-yjbiyz?PG3%}}WAh#$1mQ4{q0~X@?Wdx)0EH1tJ?bn> z{J=%j_WAftcq6@^4V$Q@!G25K*TsId^0%d!xH0wgiRosHDP73Pnfs#PB+m)t(fy-Q zA<+nZ*n3M@GfYm!+nypXu2q(fy9%qUqAU;ZM8E`28R7a!WH(*XQy<|(7|wS?^R^cF z+yBIm0mlj9@N18Y3I0$!i4*{bF(shr1;8yZsP|7YJ`l*t${4z^&b%nm*^~7G2t~y1 z*fjThGhN{x4axJs7r}>m7Smj{dSp%p&%DW>4e`-8}AKb#!{;m`+N^epyykgL=Jb;NG_| zyUrWa)qdn>=Qnfn)|nd=+mb@zt%*rQZ=sDFK~|nqQfKn}Tx^u=KNODes;fIGQ?Kb2 z9kqnG6`~ISXN&pbqB}#+-rEX~#AQn*dFA0yWElSqAgUB+Fz(2YCgz)1;ux+X;lI4` zerPXUu&fMUSJtP;7AGgsM+WU1$$3M&OqFPG+?C>BHw~(X+-EK$cVIgQ14nz zOsbyH2xE}!S2;2slLIes3PeXQFF z>t1b>Z#2s<9TK3IZBJ2je>T71oSZV}n7K`vtG}rG_it$cQfYWp@1qrtf%n)Hi{Gtq zA2+(%LzVtr^4|@sV&OB@rRMi_Cql+C^vF1&Flu%fUYUZWC2g1$H@-{zga7f6VaLdp z1&xAu_#K#01R|i+rJ9FLhVZ`8juk;*9x3TQBH$jDVFLZ>n=aV3}-PRZ$T(>`M z2#cK~>M$qY$2D=)pl9J4 zy3Az1lzY(VSc!Ejzi>#d_N}*w2S(rBDgH3Kntk^^W~TOj&-Q9ZD39Am!ZV@-$$8AC z!<192!Dm?dYXFSP3GbAP*uNmhJl`novhyTE&kaz zKfc&5J8&UU^RwND$CkQsXtnmSSeEW7B0jHoPVA~9PxLb&-(YWvC|NrX34oWgG4cQst_i#9_DT!pf(S`=vx&kbhmmSDP*{ z9fRnry7XU`|&Ur5w?0M~gV~UwsH!8_uKLzhqGm#4a!kDN#NOye`1d;pJ8)F?~ z2VqCDn;Zf55eD1SZZWAc$PI{}_`V$KG9#)bf>;xj&MO^{5gskL2mvXBJBN z^19t$i2MsaG5i|5U-WJr1g=>>be+G;^F5YIy_b#a(0=sBfp!_+gHVmMi+So9YsR&F=R5b3D9H@j)-&l$YU{u0pE&YL-wNI#?;R_L$8tg5XCGiyDsBljDAs5v z0ipd;-@>pw<7@|b@x&kj8}b;vOx@=Y0IzqSa@Fum_a&3QIemYp2FqQMF7Kr+yE<$j zMF`;A<36Fh(2;cRRj1ODE<1yFd81JP#tPDJ=fD{OYhN-|vj0r_F3v$itllka7hWbL zeth3Jg2EGAJk?GcU9C%CGD&&{%4e#oQc6q?nFqE`o4_5}Ph=kNdLH>k6g8-<3LO)k zjp(h)ojxrseEeK?9t53kNK}d5(K>pwt>#Z|At6w@znr*t-&erR?qqJ%Yka~xOGf&y(2>z)?LkQH{gV}pK zcHhxf=sOdqT&95GCvyqXgv*Bq1s`#l2p9!;$}Zr|8GfY) zva3l3iQUG!58sB34uDYz<*)gfZ9_@YNh`;@)FWcg0Y(qa2YKWmMV#?qDPuo`kedc3 zNtpz`?eez@XWcxlL*#vktpXfdF{TixJZKB*a~D@RwSdlMEa(b(yLf3C+&f$h*}NKT z9TYR%SRbC~I`TUVIiX$yYvD2pJH_{$@iBy4X;|#-#XP315;348T>h2S1T#jCND4jlB50b zBOGR_)6x1dVn=Pih7SheJDkW|steYmpfTMMx9O$;izIyit|$ zr%iT$%p4PC`fXAm2i2DWNe9znDa^$FjP#;8TlW*+{8dBR7cUeuJZD@xE6+YyxG2ZK z2J!vLO^VGPd+cDPc6USd>k8V(FUb>CErg&) zeQZK-a*<#?ojIYk24Akpr0TF2zz+tsv+H1fxVc%Y;`qGmD%7La!*@$n&3UyZyi@(D zY*pm!?w18eqJU_0dlRws(p@Pc4iOh=DlDj^sYMlnt}zqdQhJ@qVE6X0>uk`fdw2VA z{-W0MtTH^9J9gqJ`MJd&-Co&}eLIvP)Sp(%t^DNtS_tTqYdg)hXx+G0{@< z8glo&_m>RQ$acFGiGr=QYT3CqIMx+kLrLZtDh~`$ZhoL+02vxyz7+#A)cu^u;}VI1?V=d=|L`n6XPwcknr z*y6piG*vYi37G0Cs516e;I? zWo-No-m`00+C(s?0=jc}s?@^lgI7!@L;S!dRSd}z4T}~D#cEfOkL0FNZ~24!v;H@ALvX>K|i1cJK+}&(N`U=A6{L91Ov*qMbWoj%@I(2~6kj@|c9_g)9DWv~CJ$?qp zCpUm8gJp&%>&#o06uAk-qE?nA0r?@;#}tA)t#K@7hm)^5Kpa1x2gIHgxLKPtrKFMn z68;Oo;M|DvHO~HT?bBjCie-?+w@Tq0mZX#89A~sOF)q=Z`0L%T|3Qv@D@AM^_9i`F z7)o)?j+fyIZyxMo(GJ8O&Y85i^r*am3XrlPkvpYtWn4G5l6E7vsv={8`h(-8b{a6J z*+}2QY<%9DpR28dG#n&mdb5q28PzGmzUl(zaD#wFN#=Zdsr3L+>#tLl9VyD4hKiff zj`cPeBN&70h8|LCoGVLGdpI3GO#P&pkH@}`P~zP~o3u_aYws8UqA3j6?)+IKu=q~| zbuyY7Pus|-^cOkWe$nf9ub;lno31u>reQm2L8~CHh-qJKP~Uz%RM7{*`Jqz%=(PK) zf_KO)Ui+eSR#YUGp7H}Spt{IBPd!;^6pVH{w)pXjQCNQN*Y=``K^{q(Z=_xUvTOZk z_ZLN}JSL?fs9Iu2oj>FOuQLfe7d}&%CSeadY;xup^rKBkv=9v-#g&~899?$emv|EP zmSkvrGRTr8LSta~d1G=zUr+nL3K0RD==GONxqQ*CF>1 zt+E;Yyos{EwRdKODe++Ro>)`k06z1@TL@ZqGB1vlZT_GM76JveKPB+U7>Daf#LB%7R{gPuN^@)A(bVU{C*&THwCi~l1+LTO&uqO>RXDpZ zl=LZISZN0$d!7HGaJBu!wm?CcU&&jq?!gwgdRDF4C-T$}5;fHFv*|qjUetN^N+dVF zV`^qMiJCXNv*fxtSWLVOSxFav-dmXMyDE?Iwe;jH63k?rY+5ZG+T8a}9F}tP1xGsZ zWwZb2Mudt}g?O%Z3!bAnCc*lr4&KKdcm`mqlE;lH|LzB{Gv@%U2NfCuE2s1J{n3>2 z&_4}FE_k${y)%&*aSfc0#W5Z;AbkPUT_klmnx6iNbkj6XR)igV>H{C8AqR3!$00qF zZnBaBjWfJYVVm^9`~B5lbjw2mMWGJLkVKb5m9>xGj{*=7+WkSOw}X)x>im_@DO@GKD*S1z66N^;il9*Y9#3F2w*4|yrsyTa)L@Dk>-m$(b_aG+#WKIPk zlAyH(U{W6=wg7JIzh8rxwxY>@bhcKrIN6WwG1#Yjf5L<6Hh#zen3%=NJ6-da9h1Xwyz$rZnQ!#WAaik!$*!IV3x zH~2H`d_W{(J&mwyn_In-jYdDMlCZD*^I)rB#6D&<%{DU#KugAO%at>9vF zbnIMcw=xgg4{@?|v?G>sk8_9}ZU1}-TEMp|_uG?rz)JM)`SAW{l+Vn)VGOQKf zyRKG>?kDr4E*+!RY#rLk3t-`~nLJ5-sx~tM!)B$@)N@L=!ZMNt_Q_msi^ieZc@n-J zaP%>1@1T%uTA(9q#05p4&g@V;V6ZnjX_wyB>+OCw?=VIcx`;rl_8K)^gq7G6yg zkam_M`V-+bqjpISS8>4sUu{(h`B|5lv6?ylOmJmW!W&`gzI>8N8Vdk_nvPq>D2E?M z!gz{{ye~9cxEBy2)O1m!5@Zc^A_KoJVI0y`o!zZX6(mkx>wsuneBa4rODgYO9G&;{ zFFxWdvp$<=cG7ukkMV&b4m`uchvkOCYnM#PA0i1bse;#*d{vfYQ}y|cuH*YVYq>R_ zK42er?+34K4y380=kx9l!UpCA=z|P!=2+YxWRy{5v3d5i+BI zVkrc1RTV%rj_g8QT%fT{|F)v>wvC8Qgt&-RyGx@TB_ecG>3i-wNWc-X>(K&Zn-9Hg zt69q;+53cp=hQ0y__qXRy~*NQvE*Si^yY~!R{)SoEKby(*ZxuDg7>cUb{UIK#bs|P zKEe^%Vj%E3!~XXFw!oVSb7zy4nyRBmOOfIGm;dVwSfl4B?kHyJ8@i@-6#;1Pe#lqT+fnnxTl+ux&_hLm!tC` z_Hy*bnKXf8{0DOL6B_jCylB3!U3oqtW#}~ii@x{FQdD@q;tSr*bnon`H{|Fq zw}(tbOaw#gY$=4l)aDQ=K0GP=b{)wNPtvt!YC!To=LLu(_2sm1qkw4_CyalQKQX)sLt0E8b%wIajnD@87R(9!(>ikwTqJ1kK(OMw(6S_DOut@4v9TKM$z}T<|*GgqNVLOxS7>&&1u3Df#rotBq+tQ=r z3(oMoHmu8;`L-d%YN?s23~=EtMY9ko{tE^DeB}}j6AT!C1edwkPI~@>>(9PH38P2l zR>WN?6AI(#iLa4o$P~W%PJHI_UWn&2NrT|2%&_97BNtc(Si*g1v>rD$k3{VY?O7O5 zzGfrNXZZTrL^y!VP@D6kx89M3DPgQkaxF2McYI3U0CZ?WwMgO9T@?HU@GF*`!5Zx^ z@q3l|9IvB;-B%%9Z?@OFFBb2e_-BV$$&cvJbH*QULtinkhqnbsJs0>=MoNcRldV_x zqei`pNlqF14ds<`xOT$m#b?WI!zqrD+R82firQa?y0?1-wYv%K9Mry*+FRds^jG1(-6LIm(I|So&jhkjZH$eg_d3NwzJOfC>%A-ARio{ zDoEJNearn`rEqc*qVGX5E>D3dQGL+f~qiCYPZW zTVr%#;`(kN1pOmiK-8(OJ3>RjLWOZ^dXVdQ@y%lewO+RTLl|F}YhJcn`~2tqtIF6ipmB2f zV-D0KeP{?zohUtwR!1}Y5tZTXxr}Y$S@VIbSu5cgJhqH|C5p0d>QC-NA^Wb822Nh! zR@7dG)4*k);BZ0@QItibG**WYbwJ%`n)#1*ehLXIs01Fnf!;%x%?M4K4HOo z_AYZ3>ZH<6byJ^($6C8PD|)K|;TS3k);Y**Wq4`_CskOjmK{mVlx5r@p_FRxBYK*7 z5j9%;2TZjpICb z#kAf>_gsdF7IR;b1^K%4V@wtEe-k!-k1ACKTZ6SRE(Ynsd`}jc#e6Q22<}-$ze=~K z^{TZKQMl!V_vG`2_zJDnfHs6#tnM`%TGP4~&W5l*ZT>n|LD8LDtmpkEjzPup6SqW>@ekst!PbCnsO*GoPCZ`aPOWEJX&?dwnQ@j2@K#eVhyYQ*q zW0Rclfs8UmhDlGq7Q@qZ!_zaoU888}uVwpJ8ISM0gZr8kmx7fS^NJh~GFE7gE$kaY zzM##YCUO1m>TZA8>juls1YjOxK0Qnoo10{PRKueU%rq<_RXsx@(MV5mIvVM z$RlOEEkfDO8$~|GOC)>&c!(o}KJF#1Z8rIOEJc&<%M1Pc_}3vptEID$L*fDsHIfi| z2bN!Dmdi~ss?N2dVQccsE2g<|zu7*ebR6Yg3=sM@ZAINSI2;Pec0jcWaX8LyOr&PYU-*uJqfhTaOJwGv(%iYj&amMBn z_83DVurp{~&!_w`3{3G@{P?|*@{BhE>oa=@Tdp}BvFJEJ{`ps7@0FE``QKbqn6d!- z7T>u>qDA;GZ%7vD0KF3qjG(A9$f1WyxDD&zF*M)ES%5Jsk`+?m_u7Cx5z>ew2Hn}@d}Q- zcb~@dPcHckVL@622X^gBa#)MhX#)qJJJH~|gl*HCsUs04Edhe#i_y!oERqz&mm5-e z#3$pc5A#Ro(kHM%qZub*tzmw&8=ML@bQEH**iuZ=sCM(hH7vF9L&zMb*o@Lrz6_5NivmnlQtY{OmD2Khf zaObJ(>bWg+LZs(fUyt)WJInh3Idh^7sB*#KCG_JLis?XLcpa$^ikQ}`N^0%Qk0{1e zZ)_=zhM1z3KvmXIMVX&pOxqp@%jJ^#VyTk3@A-bqy0-c?C^b1M!{y~W>}TMKl4mGq zx$L6xpnlbaF>v2froq}DK!wBJ>8*aMM#^1y`1GowawDr^fALDhjQj zt<$BH)5x0D22YLry)3^ak9p|4tGP@$vXgEc*$+XSJvO`>Y*}_eoFaxkZ$%G68)3r>4JvRT=R2_NofwveD*9>=Ep ziak1kU(3{C>54Ca8NUmw6kwo^pyo4~r7z9aE`)8TM*Cv2AO2hWlocnl^Moz}>PxEE zJPE`SB*B|bD2Myr!&N3#JNKZ1ZDE*40f;n5|8V|!VOzHh6_uHCw+jU2V%fWi_#8-b zbR}oub#t5?A)v(ANukUym}~(&P&uBxuM!M^JZ9>5xgZ5aTSJ+jUCfv3VnN-fGy(8d zv5FreOS-q7&rcbdG4w__mMX9zgTAfQ@{bJ@sWk(b3bFKWsK_S#LYkAB5OH8so<@96 zS%;CDry^eLKqXm6#tMv{Nl2195%@m19RL7{ap0t%EByb9<92F`&#(Sb@gdb?EUZ=QW15y+S#C--!GG4 zrb^Xounbkpw)_|AX>V!?QN1(PYmwmB|lr_9Cko*d2>vawm{G{GH?DH$3!H!;# z;X@nOHCq7x(NyI!fbikS37bH4T1V+bqfoq8yMLW^`lBV^mb+CoHxC}^se1K~j@>5c z+Sj#`7`!tX?*<`+RMG`U_g^EP1k$FSPLLp7OX@szMY3ruBtSV`km;bS+afQ76&b@5#CEby86bFE9I>}OPov7^uc8?3WZXvSPO*#3Ih}?#oa0HIyglKFYZvFxDPN$8Qk5q6e#Y+U5XE7 zpt#dBzwhLp?D#vRJ-LtPqQ>(Hs#Js4Z*s|5 zj93KvvpL9w>@m{3T#qH7&V7w4L*%|>s$V)}T@qFonKF{^e?QQ=(1ia5j3#=^p9qoO zG5!)I$o-_GjIiJ0NUO=gG?4^n4r6Wd=X$F?5d0o1=#VvLMH(v2a1x5Nv+HAL5F*+O zWHkKmf;~!s+a6aoo^@zt?K1+I;d)kW2F1`&U;a$PmutQ!?FDrUT&!|WI1}=JnvK;3 zU6au1^RmG-<&&TGU=@{uAuET9~3)=`b>T z!QoLZDq1)~&nz!O{#r==_UV9SsQK%WH6BEZ&QuFvpW`H`KB{xN!^yXlA*xBx9)2*t z1M3bY`ldkh7w`px1Q^*7%q>rIoPKl0@0fnwIU^ABL(WlWfACOUzm6QHw)nXP}UjeaqZ5Y`=`E`@q9aV`iFMF;Jo8fkjm#fRK^F} zQK{2acQ0Yk!Hay-KX-EXy3Ru^h zkX$y1j9PA<^$miK8mxany@WPa>bp}70uDc^V4=2J_+ojUd4*Pg(A<=&A18pt5izi{ z70TXaapR3!(vI=i5j*G01JtxH!RcsEck7Mm?$mQ?OD9e`6XRhTfiKakg+2FGQ_<0IT%Wr+d^>0pk@$sL`52^zs|y)un1$wV1pqO^3fS#u1$+i*YB0ThZNNWT>-g>0``44 zlo0rNKVy7sB_U7I_2I(kErLgg0aARQ7ST$jGprN4lSl;Nby^XYYK?Nza# zK%wA4-FAtyN_xjFT#vTkixP9zLU}@EE*bpvusc8d-|&66Fj@-7Da}=gK7BEGf=+@+ z8eO&|@(>sYE}2VJT&{G{T0l6uyW3}Ou=%;$&{Y+$?j%>cJ_cz^#!r+yE>WOP8X~y#^cP zn+s>UfT-%(!ocLDG_wF(ZfS$A~C$A>7?{A@!d##f|d3=h|`i=70G%> zz^Zw`?5$aBBwMy-TMer}kQ$h+>D0d*s4jdKfhZ%b{Ca5y?Q5(#{V}}=b$%7EtS42A z3{(Puy-$051oz@o8ZliNXPjj0T%Mmy7wf!~coR#Wp7zR8O)q;P`&TUfrJK+>Jq36? zylczp146$vwi@H)3KQuTsU6mj(x?rd3~6q?G|nqd=S-Nj1y|6`hY@{aMRD4y(t($) zV*i6l*`v_OsrXq@MY@;#f#_ki0aXC@F&WP_0#>4Z`J(cDn0b#skVY!l;NN?8TKM;R zsZE@hI(YI0)o;O2U|C=(>v>~gqb+13n1oZ2HHMT>e9=txGs-f&?Wdy>r@>^A&!7B( zvG^^scE01RDLMEFwvG-3l@t@zGvPxAadtL_PmGY5lH$AJXSlL^(x}lWu;*+rEwj%a zJ{oE}sYgx6mkWxgw&i;Gk$r4;e1AhFTKr?g1<7x(%o9cQ3^_omXOv@>+vU%Mq}KyG zt-SD$XRW&0f zv;X@M0WB_^AQd)Z5K0rJ6I$r`9Dd*nw!i+fta%$Ox`I@hwQGcq3B6bhx>^RQ01aei zrM*NYC@BbS1AbUQ#D0;YfqPT!NWYxlkd=!f2UFwLhtTD5_aq(G_^ zd99`~+MfmKsbwEDhgO`&`5YuvTC;k-h!5wV>P2X)-_S<@{D&xixw1tSJHCdUx|J`$ z=lIQF?z)LzueBwFK>Pdn%G>G*CHgtUc!ujE%{2+3Y`HfgIW_m8jL30x4ud<%_YS0A z>SmXE?I#Ze2o*4qPOX^I3lHAr|4yRdbg-=OLs1q4d2u-N(GziqVx)QX;ET6d4=7S- z=jX!M1xCUkOCJcXJdXf5PVtpuijhLz-#-6b{utW1`N%@m+nn8G?K1iCr1_M$9BkWQ zD^hCwzSuSgri~G7prE?7JR!0=)T8kzn4G9&IVg8Bu!QzZhu6hmyld*Wxw)n6it8Cy z(nCgK^WlBy_^C{p)B)-I-r)S3p9j=mTY*js-fa(i#swEb>VfI&aaP|sM|>6$Dyexv ze*q4AW{Mvd6JIwF4%tdu0rtgmN@Q0AC}aQBv+Cd%9|)J-N{P+rFy@oGc`t$Oy7AQZ z%Q{BMwBHdx{`8#kIn1ToPRJJcgphN4e9Y!h-6@Lwp8lo|S32ZM1A0X;!*u5|fQkjW zb^Qy#1*445-l5lwPE72oBeNALro9)K26XVoj|Hrotqg*{t0t>gL2N77e=_E?{3%ES z35`$BI~XB{8igd$hCdEo5^PA4#S)$;Zd_09@T}#IZVQg^Osxthvn=**ZZw^($F9=D zy3@_X36n#qLS8x~T>!9xy^lK8EIB)jG7*O+L$gUZ#`Vf#w%U`?SdAYE z^Yw6SR?#Axm(T-VwVU}Y+WrN+%1Acf?+CuwIooO@ztj4CDt(ADnra79Hji3$TI+$u zEOs0{X##E=AEc?|CWWp}9w&zhzN9yGPKpTVouq@)%vfG#^#W^K2^kZX&pHEi{sP)a zI@ZF=Hg=CI-O)$cXI zuho7r8GcXF_JUUmlfL#!PYHQS#GP=+Wb{;U?PlxFDXBObfm?Yyvm0IpGz)vCoo`zw zqGw<17SqcaL@2phzI_G3s}@lI{ViryY^I5=%VvjzEHIOsb!(@b)#XcabE=iR`O;eg za?6E}osNd)99lUD)3)|RTK02$dW*s!J>h*qIAT0ke9axyYwB%2Ww{2wZ7xW_9jkA>5m$$}z77;SmIUI&jPx zJ71N1iXwC`i-&eu%$=ts(DP*IpW}=c4vAENXjt&#x@+WV@vSSl$i{Pr+?KXv6dn|k zPoF5b53PFdX7D~Cy7N?(SXNjz^~0-*@e9-lgq%IRj%9U~rH@Go$I(|9jW=aVco3A2N3t9+vSQ74ix3>NO{MOrAZLpNNB8^cy4*~L@YZC5|enmnP6 zBd13Og1jY?^H(Ig1sf1^7`QXe_3zSSm09d-Qlx3yE2%1SGU%XB9Aa5quC6xeyWA;UVc^}B=hWyzxYM40h_Lc1 z;5hb=8I-U@NeWGge8wRV1v|+aBBX#U?jP=V z5=a^dr^~W-%w?>s#exr)<~O-Tw}V^?&KIhM3YJT2Xa_GSOee+vk^kwhi|b zf7R>xSsBnhO@C(w-!24sGDJv@$5Oo4`h@-Vu$|^wIG`_@(nWw$iNKE0swGzEQPMNA z9o>UrxpPVbd_`g+y3HH@=3c0O*Lk7bX@=w^rOxvm&sRK|wKf?Q2C1h<{a9pPZ(W zSd~szUjQ@ROry^n*eQ32u6Q0xK$&iU9v#e-4+bS#SFyJ|_)K}5&b?R06wQTJlu<2$JM@TX5LNRDWc}ct|kF)#V>BqPmYrar)ued_% zNVAp~e=OvA@D@vce;$WVl{2`P8+GW-3jF|VO?qSM6a6Z%s3Z4Ii@oF)K(Hyi$BTy8 z)FqCL5~w}(>7UU#TDT~*c0}HHTLrpwg>(c1Xx_!!8>10?&_t}Dya36BvvCv{y`-SG zm=WmLZsIhtFU09&;Yhb5+BHE#|F#J$as@8(VyHZt)JhD<>Rln&lL>>=iB5JxfL+ma zb~jl&bw0x_OMWa}X>`9()5X)%MnceN-~Rg4yNCXBT>BQgSstyu`#{a`_~>*&*$6Yt zOkPaaYrS12zv~j2fiUF#Xc6_`0j;>Ct2e80T&Pea*NEBhb|6uum_$-w89t0}Fk2jT zTjqOhv%g-1p|TK2vJ-f`P*41o&m)$7NR=D;>&^delVz=h5w`lQHz*| z4JDxW=FMs(gi(KSf~(sf*Al6+?BA0af){x2OxB9{O&zn@V| zkwRCcLWKkC*?W4k4;0o8zHb3g)z6p{V!HI=o0x`%;g{akXJVX&&mP{b9X;H6T;8m2 zB_j5mbw7RDJuo0PKV;_d{*h3R&4Wl@0Cu;hHpF9@8(yT3ZPpA|CUuaS4xZv84`~5L z;~j|-Pct7_YU}v^VHx9er^hy{ED8p6I!K!G2^x%U&KFqW#fwo~%rzL7Fu;D|kPcEp z-P{hJPM#hdLhZOKsHVDX@mWj*Yd!jZ3mX3$+ir4sRkX{sEKlljSHLQ3bXO39CU{p1f6ij;5SSGV1zsb|w=FZTWk z2)ROuC)&jD{{l{X{sKI9dkRlGn?9YaUpTv5)#D$!AAb$+o{toIWqr!C1A86LpHuiAIasHAovqpjz*>omt;Au)XvCnmn{5_9xh-c*iRb9iKw)%m9R zbxb#}RuL3a73QU0l&IM(?YL+q(u1fH-giC5;ow~(kW?#w-B~7nCCy zD)?+X?=PUY^Ks?ugk4Nb*^l>ts-P4{q>QZfa6YDJM4=WMC7XQ=q4K*c$giFDw^m?n zE=pUA+TRPI^I-7BRD4+&CJ#hK?%Ad%Hc&j05c!=UjI>xR1u2-8cFGqA6b659Ao4-) z*Ax6B?y0PNq*lhgAC$~N{=>Mn+u}&EJop}EOi1W*hnZ|a@ zC&7hK8C@yix6^W^%XxhE^;Eyk=c(KTu0mM+dZbx~wPe>1{6z{5ALz!fwoa-=@5`b~ znG~lNGMA(*=7)Jc8VTvnP_?RkiM<1K!JWj3FNL%J`;24qI`Ex^-92BcA|YL0!pLHI zM6fo9EVgtjD7)o}Zli_O`a;mKW5oBy@3ih7GP95awd$w1n4+(3&(f8pvuu1xbz6hK z`iCp#sKsWP_$iL)1cuHDrlR1ZSs3$;pr*{a61)nUkN)@)5cpnoFX{gwNoe>GAK6M5 zR_o0XkHK9usL|{UQFI}zn63F4<`&r@_sdB+yHkne30d4KoY~Nz^QCzexkYdhKrd)E zNQY};$>8GT`Tiq$r|?F4X1E5kqNIXbZ4VtcWctUHP^IptGoWCosy+|EdujjB6CyEq zLA)cVnJd`J)TmdrT~ZU#bf+_%mg!`oaXBpahp$kO@|OBPh2sD9WNvFNt_5mOU)BgL zo$B>3O93M^dJ}G={AU{ME32pd?j5uGJ8nHK__kr0VRF*x*h}yG6p#s>b}z8!KM9J; z#AjI%7u0u(_?TN^@G|kZ3K}ISvj|t6LVbCt28v2#onxM0p0`O&wqhv+&l+;boz+=@ zLOQl%&6sHWUy!_J4lrt$3F4?-SU~qhbUqZ_p^|!w|5Q-wU@O|+w*Y= z<7T`~<>uow7xqO{z5-(g0!AUWW>tR3w{}Y~(x`x4Cr!DYmMbA@p;J``cPc@HmnYu( zIXsyTNsQLb<;1!2#DVbl&Nq-5FD$=fDy$djsUwx3SH@B-@+)o@92LgJj(5Hf+*-%; zo=(#pL;_hO627<(vOWqL7AXB|Ta3HyZ|=eiJZY(cD|1CwK|$!cccA#)XGz}s1ev=y*&&Tm=z!jUNi{GEmg{95CeaAx zMVWx_U&!q+YPcO&P6`~pBO=q7Q>i$)T1A2GhDh=-D7We7AK|l#g}|hV%~P-a6tm!R^W9LtfbEpGJ*VnP z`luO5oPQUlp%;{0 z`(|fxK(8;x50#cUPw()M1rB%bG3ANms&Al8kYyzdO*Th39^e6Sj#;6%@dwJ!2ZYrQ zJwlJL-(mnT2R;d+dADvQx}@EDD+DqHpmB>9xP*dYg&nJ6o}E5#D}N#qft75e9y6+q zu;@Ft5_>&GE@b4e4Ju!zAhK{~?%^UQOKM`N(@TTjRcu&g7ryV{Ic;RtjkRMNJV@IA zKq3-j7Vkq3&XMTwe;VI1**3CSVwn?18S2d0$2>;tN$OQ#VlAUV4z`aC#*d`xJ!Ol_ z=us8%W!G1?ZE*%B*E6dY0|e8xL+Y|-{>W2H28Oy1zk_y3=?FF=M7+$a>@b3R6GO=9 zBOK>|y{J}d5d>Au@@b9sYD)#C7ey}vJ@c*TPg>H-=?G@Y-K+l$?j54Vi^-eWZx{QL z;%Gqm7;3U4aI0BTzkX-C`m9pO-BH@I*ouNM49P|k)Fl=h z-^x8Tnofz4|2bM8P zZ;q*QHM#?CG4N2Lc-QrR_WMI0Gy3tEDo3p^;1(477f|!(v_CFl99>RM+I;jn5)Nw72PO!Bq85L^hMUka7!{eWDbWnrPE8~10C$}{5 zprhc6jr=$mWG}hbq*qCMQPPtrCyY9A$pbT9j1#UI+^=bnTJ6I#Cet=WmRY8&hNG}e zkSk6DT|z%T^mZNK>Rh7iy#I2*{`iRE$%l6O-_2YxRa|n+)lLyf1dqs!^IS3Txu4zN zu%w7+8smluaJ)3r`#3n-xD(qyCHL)H#Ci&3a^55WNsV!a_9s}DzibsfS&Snvzm9Vz zVVu{p@;SPO5#hazKzWVWri{=6<;=PAbU;ASXoHI)^A1B%1kVaxg$U1w#kpu~N?-4U zlPP~q*n}LEUFBIx^gNTQ4LeI2k2e)1ZjBJztx!}P%OP!O=z=9Tz9gm=MiqEzt9ma_*ZP+5ADHg2Pm zg5@gSak`W*IM%++}G~XaxHVXs5gX-lmYp8@4-i|dFx5Ge$)T$B(lxX z{Yq0|a)_y?+c=Z3D)M&gVwQa@S9cWT0W}O-oX^+NSqnK3 z@xGE0zoGHEqGH~w?5$UZ_sU0AuRhTU1glJc3%M40@e;RK!M|H*lEx`T#5)t!eG%*( zWLiAd^y$5%bHjM=#c;kG5t3IB#HxfJv5Y=e{9kqRe}3U?QHeGb8AUGn%VykEtWIP$ zaz%~)>gDLo^&|+@j&v(F^}avld5nh2pO{g|I6;HVUa_`t<NiqO#&_xmuq}{}^ zYR(9NXhZ&FO->L)*G!3M(!y}Q-8TGsUa~47Z-}wvm$>y@d)zm;f9rAj`XQqf>cG}e ze!M?}ffwG+(F5iuT60ytU2Lo1u@K*(||bACxl9v5!R z((N+D@I3{foB(${>r?S`OBo!M3;|&Y9kQ_P*6GdS9>Pv2zIgbB@$jSgT9(dj46E1j zOzVM7yV-u5MKGTF8_of0A`g}$?@W%a-2a_%K7Tk7KJ7OC+=U@7GjT3!`tVyX5h%Ij zwmtKTZ#utzBcw{YTHnSe6Ol z$rrC3g;FzDct}FL?#_zU)xL5h|ImUG?rSx);wX2NaFqK%u&Lw|%AJfS;lIrT8%jil zD(hZpu+5Hi6LXb3QV>2VZhuU+o%W>Z&%FuMM_cv0KQ+qAYC~bUMv1F zb3n=35kR0V)mb(Pqj@Eg-Ht0W!ViKF@d^J^GXBq( I*x$wf02#e7Q2+n{ literal 0 HcmV?d00001 diff --git a/doc/Eqs/dihedral_class2.log b/doc/Eqs/dihedral_class2.log new file mode 100644 index 0000000000..1de00c07e8 --- /dev/null +++ b/doc/Eqs/dihedral_class2.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**dihedral_class2.tex +(dihedral_class2.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (dihedral_class2.aux) +\openout1 = `dihedral_class2.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(dihedral_class2.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2146 string characters out of 196184 + 47503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,6n,19p,125b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on dihedral_class2.dvi (1 page, 1804 bytes). diff --git a/doc/Eqs/dihedral_class2.tex b/doc/Eqs/dihedral_class2.tex new file mode 100644 index 0000000000..02acc16fb9 --- /dev/null +++ b/doc/Eqs/dihedral_class2.tex @@ -0,0 +1,17 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} + E & = & E_d + E_{mbt} + E_{ebt} + E_{at} + E_{aat} + E_{bb13} \\ + E_d & = & \sum_{n=1}^{3} K_n [ 1 - \cos (n \phi - \phi_n) ] \\ + E_{mbt} & = & (r_{jk} - r_2) [ A_1 \cos (\phi) + A_2 \cos (2\phi) + A_3 \cos (3\phi) ] \\ + E_{ebt} & = & (r_{ij} - r_1) [ B_1 \cos (\phi) + B_2 \cos (2\phi) + B_3 \cos (3\phi) ] + \\ + & & (r_{kl} - r_3) [ C_1 \cos (\phi) + C_2 \cos (2\phi) + C_3 \cos (3\phi) ] \\ + E_{at} & = & (\theta_{ijk} - \theta_1) [ D_1 \cos (\phi) + D_2 \cos (2\phi) + D_3 \cos (3\phi) ] + \\ + & & (\theta_{jkl} - \theta_2) [ E_1 \cos (\phi) + E_2 \cos (2\phi) + E_3 \cos (3\phi) ] \\ + E_{aat} & = & M (\theta_{ijk} - \theta_1) (\theta_{jkl} - \theta_2) \cos (\phi) \\ + E_{bb13} & = & N (r_{ij} - r_1) (r_{kl} - r_3) +\end{eqnarray*} + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/dihedral_harmonic.aux b/doc/Eqs/dihedral_harmonic.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/dihedral_harmonic.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/dihedral_harmonic.dvi b/doc/Eqs/dihedral_harmonic.dvi new file mode 100644 index 0000000000000000000000000000000000000000..6459c1a579b2adb5f36d18e915cba5f491e31247 GIT binary patch literal 312 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL-QX=6m^BaQnmb#SA<^vp|?FIX5@c&}fhA zL>A7>&wLT91G(XHtjW1WhDJMWCo+cy?eU(-aA)4mXv1ktt5#@F-jmWhk@5e(oyqyd zeG>(DhiL4{liR5o+t)W=jsaxRa{(s9zP_FxKpV7>y$Nz0<65973j-r|mtb|nPoRz` IO!vV60Dl%*p8x;= literal 0 HcmV?d00001 diff --git a/doc/Eqs/dihedral_harmonic.jpg b/doc/Eqs/dihedral_harmonic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8a395b043b8abe471e23c9df49f01a15bd1562d7 GIT binary patch literal 1691 zcmV;M24wmF*#F=F5K2Z#MgRc;0RTtG1Oo*G1Ox>I1qKHU2nPoT z2M-Gi2@DYr5)u&)5fKv>92XN58Wj-{7$F!M9UUJZ9}^cMBqAOp93CGY|G)qX2mmYq zr~v^H0RO}Q8~_0T0s{d70RR9100000000051_A>F0S5^G!~ixB00IF70RsaA0Rs&I z000000RjU61O*Wi1`{DMK~V=3B7qfQaTXUNGB!6-Wps6xva{s>+5iXv0RR9$0R5Lr zQk11BN>Y@iDN0h5sF}Kt5f)-xIk=Vb5W=&`Z5_0Z>l+fP`c*%PD!@0PDo3%d%w9sz zDP%7!ClkP3ty$X{iyg{`rXBJQ%WQ0~DINdV}x zGN}0^0p!=WnQIG1vRj#6H@<$|vKXI}w-VfSt%IOWjj{M5Zh&@WKxi|0ylyBvS&2FqG zmN+4KrErnPrJawWfHqBQmhK3rw}waH_av-5hPg0O+<%V{$6pG5E0-Ubw!F*VVwNk2 zu56Y!kV_vB$mPPipKwfWKT46Me4n7?&1CxXt$LRm1;5+f^#mA>^Tb((%#U zt#G5r(QkcM({Sr#G3h2hM%s3JgkU@|k&Bl7OB4Fl8~Mlo05SS^{{S%m0OqTQOXYuT z;p4yV;^pSdIb*NB?jHwUB;dP0BVH<(^?9brb$`?TmbZ*MTxJ_BHzVLhWf_ro`@8RN z=iB0@ewAlu>P!{I_Ey?EeC3_>#ycenHzkH>q$*W6=!~Hpe1-(<`KWy4QA_mK>KAe} zehrdk3k3DFk)g(<35CvXJjOkHscZN+7trsC-;ls) zeD1Bde2?uYUSF`jv*6r#-9y`BN&d82Njj5h8#v$sn-b)G$u=!t!8Jt zlb0<8WVN|KG<+{2eDN1vvg#|0MpvgWwlK!mx$F0|hFO6zKqG=#-Pi&P9x)IXV`Ybs z0j?Oc`SaFMbbQT?OY>tsN=vo3k)bdN`*5H_;PW7Y$CiOz0C{a|_a9SoM-6d&n8$(} zDY6zy9CmEID|opds2x`~C3Un*D@Yw!6)~7h z+aJWteEWdE6%BjV-9vA0)K>!A7~>b1w#Hh-sO7GunQhN#9$pHx{5yahkWT@}Mq4GB zyv|(Zu{f``iq_idJZ#d<8%Wd1B1a^GFd1~I6r1IrD=AV{il09O zc?b83tyy#zO<45woj+v`O4}PFO3xHod$lCXBS|6TCFS`$u|9pzwONr>5m6K>sM4q! z0DM=psChbP4<}Z|)lUTHFAb~N$2Z-}#bI_vWbN|dqS2v0kE)9E1=AQ@CR;0%#@o#m z)?RUOe9d(%i!6Z^194_5r;4cjK=1`cV{m69Yt-00?k@5x3)|V4NVh^Yx`tKJ3SyJE zzBUM8zN1_Avf}J*@wO1y+6hDuph(1%Jgfj31Cx?Z>T6Da7`ba0?Osz5OS@~HKyPLl z(ojEAn*D3Opg)nlHQt6%j0$18mhL54qzIDAT*^X*;sco+y6cM;B!f~}d{u^82;sW3{)kdw65FHo+jck}zW=u?@wCB1{E zm-ey6GB1wYk#gX`d@?r^@!L;boh0d81KArkupN_r`5zLvVQ}uw(gp{RJ7)Ac(buPn z)qm3%`<$$I3k;U=Hz{Wp*D^uelp@50gkTT!ds2OLs5hai_dSG;?-OIw);6%(<3!N+ zk|YR`!4oU?l}C*+RZVySOCMkkIEXLbu5)=A@zdJcJ(Z=b5=!x&`$r|qGbl!47gDG7 lf}dX%V5KQaQk11BN>Y@iDN0h5r722Ml%*+3Qk11D|Jm?R|Hc3S literal 0 HcmV?d00001 diff --git a/doc/Eqs/dihedral_harmonic.log b/doc/Eqs/dihedral_harmonic.log new file mode 100644 index 0000000000..5e716337ba --- /dev/null +++ b/doc/Eqs/dihedral_harmonic.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**dihedral_harmonic.tex +(dihedral_harmonic.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (dihedral_harmonic.aux) +\openout1 = `dihedral_harmonic.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(dihedral_harmonic.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2156 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,123b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on dihedral_harmonic.dvi (1 page, 312 bytes). diff --git a/doc/Eqs/dihedral_harmonic.tex b/doc/Eqs/dihedral_harmonic.tex new file mode 100644 index 0000000000..9d02036fcc --- /dev/null +++ b/doc/Eqs/dihedral_harmonic.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K [ 1 + d \cos (n \phi) ] +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/dihedral_helix.aux b/doc/Eqs/dihedral_helix.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/dihedral_helix.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/dihedral_helix.dvi b/doc/Eqs/dihedral_helix.dvi new file mode 100644 index 0000000000000000000000000000000000000000..c2c98c056161b45eef935f5056f6ba45bfd0215d GIT binary patch literal 460 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 T@jTDSnAQL8k^jF6rH%g&^%{Q# literal 0 HcmV?d00001 diff --git a/doc/Eqs/dihedral_helix.log b/doc/Eqs/dihedral_helix.log new file mode 100644 index 0000000000..18a9086d09 --- /dev/null +++ b/doc/Eqs/dihedral_helix.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 20 MAR 2006 14:23 +**dihedral_helix.tex +(dihedral_helix.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (dihedral_helix.aux) +\openout1 = `dihedral_helix.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(dihedral_helix.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2141 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,120b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on dihedral_helix.dvi (1 page, 460 bytes). diff --git a/doc/Eqs/dihedral_helix.tex b/doc/Eqs/dihedral_helix.tex new file mode 100644 index 0000000000..ae25776f2c --- /dev/null +++ b/doc/Eqs/dihedral_helix.tex @@ -0,0 +1,10 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = A [1 - \cos(\theta)] + B [1 + \cos(3 \theta)] + + C [1 + \cos(\theta + \frac{\pi}{4})] +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/dihedral_multiharmonic.aux b/doc/Eqs/dihedral_multiharmonic.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/dihedral_multiharmonic.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/dihedral_multiharmonic.dvi b/doc/Eqs/dihedral_multiharmonic.dvi new file mode 100644 index 0000000000000000000000000000000000000000..7ce64725adecb678dea0f644ef344ba8fddb931d GIT binary patch literal 524 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL-QXSR3A7>&wLT91G(XHtjW1WhDJMWdwY8)vgZoS|N8&WXNF%JONAJ?fI2}Ks5`a7&|q~$ zU*CN0OO3q~nL~p<3teXvH)7xbN`o-aklaj*y?LMcYpNsJ;leCHvn_Vn8t%2;W!l#_ zQTp4IJ&wKe8PA;Ao7V@lZH3>?jxTJTxoHDVV7aw zMD-U1J2m#m?bHOiLXH9C&*uV6hJAfKKY;dYA%`+3Y#7&q9L~Uq)j+I{#~x(ZJcKm> Pv4`1DV4Nm1-G=}GEghDL literal 0 HcmV?d00001 diff --git a/doc/Eqs/dihedral_multiharmonic.jpg b/doc/Eqs/dihedral_multiharmonic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a53ae3dcaa1700ac7f575374e8a07877ccb1a469 GIT binary patch literal 2019 zcmZuydpOgJ8~^Us+}Xxbxm!0Tj4rdGC6|$FO(c$c7dDr0l-xSyS6XSbm9rWpmzhh$ zQpVww%ONVvVIevx?95UL6Yc1q-}&c!-sk!J^S;mfKA-1#pU+1zqL>7<++D~n00;yE z+|~#o3<8BhA+U9V!C)KUYD(~RXsW6zt06RzNQ5Q=fkNwTL}_o?;wBE&O0bno~ z1OdaqFev251PBa)0x-k|q_H&#j?y;q)d@r64kR#?Hk$g`gl8*W14=)3IRb09=n=Y| z*8feLT!LS#TnRwQXDp*v1*K9ybmx}!dZUz)c2 zeQCt(^z|s8>+%leUADfI>(GIER zxu}b9w*H=46COL^%v51FZJ_l0-W%i3M(+rFc zK}tY!{~Hf5%>&LDY^aU9pkhcYisk37qGG3q+daBNcAvexKyUoabzC$;bv>Lc`k?nd z4N>~Il5;4(q$!J-!u9c%M=1b&E_2x;u#rLz(!nTWsS=PLPqT+HlWCOav!6+yn)e_5 zy1hdt5TCYmI&zwOcy{K5+*ugdB@#!5w!u|xO<&FXB-)foswj<6mc(*3v1hE+P_Dvx z@m6kla`Ic2#_2V3%h=)Zfa;@RpToS~h`wu$1ixcK6+j>AV&?Xd)CC7p_xKipI5xVj zu_k@LvtP+_${XQz^3vTA$Hkw#GmneUuoXZ>28%1w-!QsWoRQbu-_zK@-U@9-XM<3e zV7J{me2Srs@sp^wzQG6OW3Ok^gE{v~)%Dv2CTTizoE(9ZdVYy!-82k9HT7m!MadBV&NFjOX8>Lyv~?l(i3s!;}r*Ht&LClnPA$& zEgcJf%W=caQ+J3~WnF-LP|U%2a* z=L<4nL@3p7{M88|x?QX7%qVarVzSnlaF%B8#1AFCqZcgv?DjH2);G|Er;?4CAJWe| zi@T@z;m!HpoHH_qqHMdKkn)W+TaW|pE>Gl{7?-Nvec#fa$imOc`hvV$*q;4s$)ZIw z`@-4SMVs5%bGXa!$cTa&f+^``G2~8MEp1`Z=*ddq2vxo5+;Sy$2g4In#|u0d@@Af= ztf9-FLwxSI@NiEbwtqFuEyB;Zeo#8d(PZVeA@aJiv8_`d#PqVO4_5p!b&RAxndren zEUZKeWexIh99=>J(4tV>0P~pW)bH-h)EG+b<_pwy!GwDW&r3YE4zG;_hCBY=$9~)LqD;Kd5ad9TfJK5ZI+&ej2;AE`;>a~cV zTR|2y;R(G2so?9b2Yyxk)tCMEUoU6I>l)~4DLE9=JL(5cJz~WKiY2?3$}1EAu7PEa zxuzQLnuvySCmDaN-YKsih+0BPi+{U8c6hpF7y9uRwFIkxvugOij^>AUtrT6*J=3=) zIa1rs58;N0PQD$Arted;SAtJ;fBE)7waIh$`ztib?nQsyUSDON=|!h5GrR%(^>6UW z3>(=Z@8~&Si#aO64=Po+Rhe%5)NN4o=ujuFHkh}f-}xdnR}g%)`iiNke47%VZ^(=~ z_(@91<9swYxnMVbsKEQ!r5&+7AIGs)W_!cp1bE1+9i*=B&C^Y55w0yGv{gHSnKnh-iuxLW{myw?#UoX-pu^yG`fE&K%(# nplhET&J`T%$ND%SFS+%*s#L26f literal 0 HcmV?d00001 diff --git a/doc/Eqs/dihedral_multiharmonic.log b/doc/Eqs/dihedral_multiharmonic.log new file mode 100644 index 0000000000..b62d4868ed --- /dev/null +++ b/doc/Eqs/dihedral_multiharmonic.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**dihedral_multiharmonic.tex +(dihedral_multiharmonic.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (dihedral_multiharmonic.aux) +\openout1 = `dihedral_multiharmonic.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + +[1 + +] (dihedral_multiharmonic.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2181 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,128b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on dihedral_multiharmonic.dvi (1 page, 524 bytes). diff --git a/doc/Eqs/dihedral_multiharmonic.tex b/doc/Eqs/dihedral_multiharmonic.tex new file mode 100644 index 0000000000..819aa7c57c --- /dev/null +++ b/doc/Eqs/dihedral_multiharmonic.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = \sum_{n=1,5} A_n \cos^{n-1}(\phi) +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/dihedral_opls.aux b/doc/Eqs/dihedral_opls.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/dihedral_opls.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/dihedral_opls.dvi b/doc/Eqs/dihedral_opls.dvi new file mode 100644 index 0000000000000000000000000000000000000000..71584646401a302defb71233d5ac1cc8dd508385 GIT binary patch literal 680 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO(=#yFGqkWWG%+;l2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwB>^`K@=NIs?OJ!R-&z7c=kxjRIk|r1qibMjk4Hf*f*Qy0L#v3!)XkErfBz0 zPR=jxn<%jTmBt>qotm+ewc!>q=^qDL1SD};#Od@6YSAvEz8OFhCw~@ERMMFRb~_iu zU&WP%2KyO$C+~z?V?>EP#t?guoo!5sc_t9^P+e#OHnFd7z8nKX?<9uj0!)T|eLX*b m9@0WiETAZ6TniLsXJEwcaqQ8IEmp8b`cDQ1CM~A>U;qGTi|MTZ literal 0 HcmV?d00001 diff --git a/doc/Eqs/dihedral_opls.jpg b/doc/Eqs/dihedral_opls.jpg new file mode 100644 index 0000000000000000000000000000000000000000..719a14ecbeffe940e52bf44d2c766b400a7189ba GIT binary patch literal 5925 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 +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (dihedral_opls.aux) +\openout1 = `dihedral_opls.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(dihedral_opls.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2136 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,119b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on dihedral_opls.dvi (1 page, 680 bytes). diff --git a/doc/Eqs/dihedral_opls.tex b/doc/Eqs/dihedral_opls.tex new file mode 100644 index 0000000000..5e4aada53a --- /dev/null +++ b/doc/Eqs/dihedral_opls.tex @@ -0,0 +1,10 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = \frac{1}{2} K_1 [1 + \cos(\phi)] + \frac{1}{2} K_2 [1 - \cos(2 \phi)] + + \frac{1}{2} K_3 [1 + \cos(3 \phi)] + \frac{1}{2} K_4 [1 - \cos(4 \phi)] +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/fix_gyration.jpg b/doc/Eqs/fix_gyration.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e195374fc0f80a9c86b090da61a995c9c2f53c8 GIT binary patch literal 1993 zcmY+Fdpy$%AIE=d#&XRVX&0BxWhRxv(o)Yj+J?oi(vf?bl1oM|U6hFE%yJnzjHL{# zNSe#08|iZLh+Gnr$nDInXN1=g?a}jkJjs0tlvUK>D(lixQ`@Mnt%X2nYiVoi=%Mv>bhjY2wKp4Y z-h#mx8XD^8o8V2bcr?}!t9TBm!2uHR3Ifpv6s-UnfB+kyKQsO(m@-sJWdj7h-rcnc zfIy+p4eN2r(EkiTHb9jCn6@&)SVcz{X|hAl<{v>gyyq1-#fz2S>vTL?F#y1SUfTz( z70^Mhfbe&-tg5b#-@|NkE7vXC)jIuxg~y3>y^_1{;#f=L8M>bIy~+40A@9nieKWQJd~~!iu$W}STCg?J*BB1)XvFJw<@cM z38R7xEu0ZYgCec&tD82o$it$toy`NX#-bj)C875->n!-*ELB#3B}+Ovfjl9wta@Oz zTqJ5Ij|=ae&yJ8Z>{b9erV%;Z`YBZqF;JTrxNsxbi#vI05Fm{~3-2sGb$lE{p%!!( z-5m)CyiaqBdSRU~(Oo=q$wU_+&;)Ne2C6*7ho1c~Dxb?t5za`K!8Cl?HG^m}Fmn=& zs^?)*sixj4i^J?>4Qj=~Y1d1_l$gxwIsFS%Z)d4{3wqZaJq?=qxZ7Q5s-ij&9|^G8 z*Ck+$ubE53^K8f9(wpxK4|R|dv#ur|PFMqM=LZ+Mj2@Xd$GWguVfjZE>`N#|IQEd{ z*9Pt3>wh3pW}|=xVz{oIG1VJ$H)DQRG1K<%RjG*aE0=s)RzsU2Et88K~qAAGB-&zD389m^ZBg$Q4n z-VNUL)Xn0E%J zwSum{yubQ+zT}8pe_@$i@%(ZhYBk_%Cja7^rFFC1oOeL}43&`h`f}zx=iT;8ksV)x z6#)51Z|DTS$Ii3hh_(R=qzI8$frUVnjOmo6i{+8s%6P$wpBl*(+2x5Y`G=v2)6 ziG7M+Q>Lt8dy_}N}{=+=D>6u};+!J%ucQo=*OZ}jkQ<0+_L9}F#P?F{ZuesFa7aGrG zyJ;Op!-tzJ8)Ru1H|gWPY%|Jd+D%zPZLUZ+SsCm~828;!nwvwAhw!cS-jgLYwd`GO zznKO>n9$RVBQ>eB=$XafGq%Xy1}_ERX8pkDgWdwWzVbR_FGGKm522$kZZJ^}#z&Zk zNT%Qg{ZCH_vs#>JkuuZry+k$CO{Xh@l_bY9-teUq9nk}=UES^ZLlK%r-vyych97(V zHThzqcTvx{%V|qY;@AP^r;#%R3uXn!hel6<6L8UD)_ydk$d5oD=eS0HUZu2f$MS5$ zo4l>9u3obf`KHfMe2*~z+{LS3|4Lte3-XxVn)Dt_>@x9* zDzBsu+aD=o@Qz!Z4Ud2xtyBQfw2U0uANYA1em?Be!=Z=%b$NC6ZFa@olAvp93p$!( z;%GjBwzXc@XFolD*7Eru0DC^H9K5YulH~W)04B2e5h1`Q*kBXPN$orQe`p&{-ouqCU=x$2 zuC5uX%EwyrYvTS@26?FR*P++8PfXr+%d0vEW5Y5uddMD8YWKoZ?Rfy821%eo3DnI{ zB=ILah;5}zfijod2*wF%gOC-3jg4bJk`eD@(1+P^wrQ|)bs8}yxr5yiDrAuPo}g+E zXn(#2xwQ19{u?$wuflYSkQ>P!JmEigw{dH$vsM250Lt}Zl~1zA06@N=!#VxlW1!?q zdRV=)&l!sjo)muQVB8yzJ#v1GjFN$75E)q+$5>Dv!b)Hx^!z>1%>jF&@uO!% W;3i$(ccK!TbI!K#zXS_V^#2=ZCV*=I literal 0 HcmV?d00001 diff --git a/doc/Eqs/fix_gyration.tex b/doc/Eqs/fix_gyration.tex new file mode 100644 index 0000000000..97204f1ded --- /dev/null +++ b/doc/Eqs/fix_gyration.tex @@ -0,0 +1,9 @@ +\documentstyle[12pt]{article} + +\begin{document} + +$$ + {R_g}^2 = \frac{1}{M} \sum_i m_i (r_i - r_{cm})^2 +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/fix_orient_fcc.aux b/doc/Eqs/fix_orient_fcc.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/fix_orient_fcc.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/fix_orient_fcc.dvi b/doc/Eqs/fix_orient_fcc.dvi new file mode 100644 index 0000000000000000000000000000000000000000..978ae108650a6908b5af95d816951300aad4dd47 GIT binary patch literal 1636 zcmb_cYe*D99G^WOC!Xaa>C8+tdZ>x)u6am#1ci`(NDL$U7QRnBF4R*a1uG?b?BuK= zB-JXJSSDnBh`ZJ_qk>TSkQf+b(g!Ocq$@06*Uaqh-9;yTsDWW-ng8SW`|ZqcLC2gG zN8yRtF@zgQBCpi!YWI8z>O6x#?AfSMz zLFv1D*##B{?NJ~UmnReVFKyu1{z3>P!?z9`cI5C-Wm{c{)679A2$IXaD4=NLWPcd! z2?l|59|pVC6(XZ`m&-Uhd8o^S43{iw;P}yMN@=JPB7MYtS9Idm)J__swyinIvBLoA z?(~t!CBs$0nFA&L+?0S*pxQXFEY#B&?`dPYLIO@?t}iz_lDK62b$g@kRX5T2@$n0) zn$DbDhz$F8_=@zWApb<&13lLZ9qG?a{2yXGA=cXyi?0!3Hf&`zW>vPfr?6fT0ldBU z!eJ(Q;FvEHdByhHDjO7;&>WN~d~7s#Rt1NDHg5lvk`-v%*4Z&JSq8zt`MN zYIaLoYA#b4R}Suz6P5pOQ7iVXZc|a>TeUFr41*min3gv|x=KO$*7E?Al>&WCt7Hf< z2nbxucJMfv5K|MzD^9EJ>7xigqv)(b(o_+_^VcuE6-_sCX+eh7`X#qbiwKA6lv; z+n4uL3)g{P$}kYx9mTd9h@whYlX$PhD4=A@k&LArpK9?EH@k}zDdWN)C`yVtsSx%2}&REn=p6L)0>sCO~`ZO6aS_%&AlR_xD4 R{d%u|C;f?S`<8B+j$dtJoTdN( literal 0 HcmV?d00001 diff --git a/doc/Eqs/fix_orient_fcc.jpg b/doc/Eqs/fix_orient_fcc.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1645312d208bfe2b7c505532656be39dabf23773 GIT binary patch literal 14540 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

    UCo`RT5!aHTUmFAB8^W8Q%&-cDei4^(?6Vo) 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 +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (fix_orient_fcc.aux) +\openout1 = `fix_orient_fcc.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 5. +LaTeX Font Info: ... okay on input line 5. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 5. +LaTeX Font Info: ... okay on input line 5. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 5. +LaTeX Font Info: ... okay on input line 5. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 5. +LaTeX Font Info: ... okay on input line 5. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 5. +LaTeX Font Info: ... okay on input line 5. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 5. +LaTeX Font Info: ... okay on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 7. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 7. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 7. + [1 + +] +(fix_orient_fcc.aux) ) +Here is how much of TeX's memory you used: + 221 strings out of 20880 + 2202 string characters out of 196184 + 47509 words of memory out of 350001 + 3233 multiletter control sequences out of 10000+15000 + 7304 words of font info for 26 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,7n,19p,116b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on fix_orient_fcc.dvi (1 page, 1636 bytes). diff --git a/doc/Eqs/fix_orient_fcc.tex b/doc/Eqs/fix_orient_fcc.tex new file mode 100644 index 0000000000..5596848eb5 --- /dev/null +++ b/doc/Eqs/fix_orient_fcc.tex @@ -0,0 +1,30 @@ +\newcommand{\br}{\mathbf{r}} + +\documentclass[12pt]{article} + +\begin{document} + +\begin{equation} + \xi_{i} = \sum_{j=1}^{12} \left| \br_{j} - \br_{j}^{\rm I} \right| +\end{equation} + +\begin{equation} + \xi_{\rm IJ} = \sum_{j=1}^{12} \left| \br_{j}^{\rm J} - \br_{j}^{\rm I} \right| +\end{equation} + +\begin{eqnarray} + \xi_{\rm low} &=& {\rm cutlo} \, \xi_{\rm IJ} \\ + \xi_{\rm high} &=& {\rm cuthi} \, \xi_{\rm IJ} +\end{eqnarray} + +\begin{eqnarray} + \omega_{i} &=& \frac{\pi}{2} + \frac{\xi_{i} - \xi_{\rm low}}{\xi_{\rm high} - \xi_{\rm low}} \\ + \mbox{\hspace*{72pt}} \nonumber \\ + u_{i} &=& 0 \mbox{\hspace{84pt} for } \xi_{i} < \xi_{\rm low} \nonumber \\ + &=& {\rm dE}\,\frac{1 - \cos(2 \omega_{i})}{2} + \mbox{\hspace{10pt} for } \xi_{\rm low} < \xi_{i} < \xi_{\rm high} \\ + &=& {\rm dE} \mbox{\hspace{80pt} for } \xi_{\rm high} < \xi_{i} + \nonumber +\end{eqnarray} +\end{document} diff --git a/doc/Eqs/fix_spring_rg.aux b/doc/Eqs/fix_spring_rg.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/fix_spring_rg.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/fix_spring_rg.dvi b/doc/Eqs/fix_spring_rg.dvi new file mode 100644 index 0000000000000000000000000000000000000000..f54d6132da701aaf2fc12f5965bfd75a449e9ba0 GIT binary patch literal 1244 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

    el7Eo zIuMLNq{v8p$XaG%qEAUlGYAr&o2Y=S>pl4lsUUX*h`>-_st-;|l17{pK$EohpAPu{ LF(|-4KKt??8hsCq literal 0 HcmV?d00001 diff --git a/doc/Eqs/fix_spring_rg.log b/doc/Eqs/fix_spring_rg.log new file mode 100644 index 0000000000..a0ce88253e --- /dev/null +++ b/doc/Eqs/fix_spring_rg.log @@ -0,0 +1,138 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 14 APR 2006 18:00 +**fix_spring_rg +(fix_spring_rg.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/latex209.def +File: latex209.def 1998/05/13 v0.52 Standard LaTeX file + + + Entering LaTeX 2.09 COMPATIBILITY MODE + ************************************************************* + !!WARNING!! !!WARNING!! !!WARNING!! !!WARNING!! + + This mode attempts to provide an emulation of the LaTeX 2.09 + author environment so that OLD documents can be successfully + processed. It should NOT be used for NEW documents! + + New documents should use Standard LaTeX conventions and start + with the \documentclass command. + + Compatibility mode is UNLIKELY TO WORK with LaTeX 2.09 style + files that change any internal macros, especially not with + those that change the FONT SELECTION or OUTPUT ROUTINES. + + Therefore such style files MUST BE UPDATED to use + Current Standard LaTeX: LaTeX2e. + If you suspect that you may be using such a style file, which + is probably very, very old by now, then you should attempt to + get it updated by sending a copy of this error message to the + author of that file. + ************************************************************* + +\footheight=\dimen102 +\@maxsep=\dimen103 +\@dblmaxsep=\dimen104 +\@cla=\count79 +\@clb=\count80 +\mscount=\count81 +(/usr/share/texmf/tex/latex/base/tracefnt.sty +Package: tracefnt 1997/05/29 v3.0j Standard LaTeX package (font tracing) +\tracingfonts=\count82 +LaTeX Info: Redefining \selectfont on input line 96. +) +\symbold=\mathgroup4 +\symsans=\mathgroup5 +\symtypewriter=\mathgroup6 +\symitalic=\mathgroup7 +\symsmallcaps=\mathgroup8 +\symslanted=\mathgroup9 +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 288. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 289. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 290. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 296. +LaTeX Info: Redefining \em on input line 306. + +(/usr/share/texmf/tex/latex/base/latexsym.sty +Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) +\symlasy=\mathgroup10 +LaTeX Font Info: Overwriting symbol font `lasy' in version `bold' +(Font) U/lasy/m/n --> U/lasy/b/n on input line 42. +) +LaTeX Font Info: Redeclaring math delimiter \lgroup on input line 370. +LaTeX Font Info: Redeclaring math delimiter \rgroup on input line 372. +LaTeX Font Info: Redeclaring math delimiter \bracevert on input line 374. + +(/usr/share/texmf/tex/latex/config/latex209.cfg) +(/usr/share/texmf/tex/latex/tools/rawfonts.sty +Package: rawfonts 1994/05/08 Low-level LaTeX 2.09 font compatibility + +(/usr/share/texmf/tex/latex/tools/somedefs.sty +Package: somedefs 1994/06/01 Toolkit for optional definitions +) +LaTeX Font Info: Try loading font information for U+lasy on input line 44. + +(/usr/share/texmf/tex/latex/base/ulasy.fd +File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions +))) +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +Compatibility mode: definition of \rm ignored. +Compatibility mode: definition of \sf ignored. +Compatibility mode: definition of \tt ignored. +Compatibility mode: definition of \bf ignored. +Compatibility mode: definition of \it ignored. +Compatibility mode: definition of \sl ignored. +Compatibility mode: definition of \sc ignored. +LaTeX Info: Redefining \cal on input line 501. +LaTeX Info: Redefining \mit on input line 502. +\bibindent=\dimen105 +) (fix_spring_rg.aux) +\openout1 = `fix_spring_rg.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(fix_spring_rg.aux) ) +Here is how much of TeX's memory you used: + 489 strings out of 20880 + 5128 string characters out of 196184 + 48102 words of memory out of 350001 + 3457 multiletter control sequences out of 10000+15000 + 22500 words of font info for 84 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 25i,4n,22p,262b,160s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on fix_spring_rg.dvi (1 page, 1244 bytes). diff --git a/doc/Eqs/fix_spring_rg.tex b/doc/Eqs/fix_spring_rg.tex new file mode 100644 index 0000000000..b772aaf652 --- /dev/null +++ b/doc/Eqs/fix_spring_rg.tex @@ -0,0 +1,19 @@ +\documentstyle[12pt]{article} + +\begin{document} + +$$ +{R_G}^2 = \frac{1}{M}\sum_{i}^{N}{m_{i}\left( x_{i} - +\frac{1}{M}\sum_{j}^{N}{m_{j}x_{j}} \right)^{2}} +$$ + +$$ + E = K\left( R_G - R_{G0} \right)^{2} +$$ + +$$ +F_{i} = 2K\frac{m_{i}}{M}\left( 1-\frac{R_{G0}}{R_G} +\right)\left( x_{i} - \frac{1}{M}\sum_{j}^{N}{m_{j}x_{j}} \right) +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/fix_wall_lj93.aux b/doc/Eqs/fix_wall_lj93.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/fix_wall_lj93.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/fix_wall_lj93.dvi b/doc/Eqs/fix_wall_lj93.dvi new file mode 100644 index 0000000000000000000000000000000000000000..e06d71208447fefc9703b772647a810ee9e638d7 GIT binary patch literal 712 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5O5(b9e1%Ed)Ff3rw2Q$AhFw7Tb;Ow2m&?7nPv*GrK>5Cb7fM$U(TXJr0rlHXt z*NH5gnV$_JRtIv!QYq)j|k;3f&QRr28fUDTF?D>8D_Q6B+iU6@j%*)VNgu)+r1$XQF}Gllfn? zmV6eisg7i4-~c)Zgjs-Yw>V(gH_?3IgwIBbN;D^*pnK$(-UkKJYURGZiS?hj?-WgBUh%+Ya#8Pm#xrL= zi(O|FH-fto7{a-k76+4o-kL85jH^iu&nGb5Htg%``2qBU7IFdsMJwal1_lOB21e{2 a!XC3&;}okiu!SJ@sQ$^oz$C|X9|8bljOkkd literal 0 HcmV?d00001 diff --git a/doc/Eqs/fix_wall_lj93.jpg b/doc/Eqs/fix_wall_lj93.jpg new file mode 100644 index 0000000000000000000000000000000000000000..985a5c188743643f4e25e62ef557be909c466137 GIT binary patch literal 3177 zcmbW3c{JN;+sA)|Vk{B+o)V?4rL6`nMLUczil<{qH^R=RW89=X;;)I`@5D*EwJA1osml{~;I;#bC;0);KQ;b`Qy@NmUID=q z(NY}X;p64u<>TcO5ElLC0uR7@qC!qds0v7`U6Q(S%M%waEdw+33aQn*3^y=$xbvv0 zZd6wNM+>K(6vVQqL;t5Ql^DPkZAVPP}J_F_JDQ%KE(josA=|yg~d;ltoIH~qf;MaAAN18 z*FXp_#B>GVMvy{lJmTVYW1#oUkzqE>zNBMY^v9e?ObFIMo;Y{r(0fB z+7JFY1o0goI)l)Nt^jq~yYUCVl~jheQ1?4BS6chR+B@q@R?FtEw2 ztoouTX=tz_=}M%c>d2bV3cUZOwZ*cSm)#C7BAV)a%6ztG(tCfnO*d544&KdgR6 zvyw^os~OC4ws+IT1UZGVn84}TBGgzyV1{?yHGQ;=U+j> z-r?9SOeU#Iusvne65ZdW-F={E5=$DPSZ{t&4=%0XHH~-ttYJ4UNlT`8;_@~ewfa!w zILVJScX&|NliK*eJfgJ-+HG)Xa7Dp@3xs;~P_hW_72RGjEkYwdIctd>o4OH1dV%^>sX(w=Qzk)&V)wbFoJ|z4>t5{^rxkd%JvLq)pbnB<21xRL7nx zlS8Y}`#_|(n22QQUF>Agv~FT})?|ln{ioluPiB>{&07qFBFbjw?y!PBYja`eugpk~ ztg4fe~HflSid+fzltD`fKQkPm2wKRDoXzrT6AT<&K_> zbXfW$x71^UGcwHHfAL%iwIHtG1b#`dONFtNZ6}U)hYxAqJ9*OXcGEkt$ z#m^90B{+04p8QT}q+~-7#%^HvCwpF5Zwpq|xbG611&TK_4Ech5hqCha&z^g(6C9op z!*5Z-&>W9O%kTDSnLMd;wQ_21^S)eq3AuY()xy&b5gm&>N3q*3H^k@c@i^49`& zRWso#`HEj6O5YG}LG?#(4bw-DFx1XMI}iNN?xtCGy>Vv#e=o%~?W3E2Q^Rv!^hcx^ zE`we?BfmT|`#PxCiL?`*x4R#AzvIo-QYw%Lzp+ns*Cc$tSB zxlTfe^&0QOd?@8yxPdpWp8bN=9qlLQ4MVsiv8!4B6gyB+q7`loA8$@>=NzQbavRRS zS*j!X;<5bwqI}y)!!s1PtTNzc5c7CbIFIS)Ri$C{HoxvqquMu}i*gG=jYRVVV@2UO zi0xis+JGO!tlu+oWaX!4UAKsTTz1XoFd-R_n`6*!;f9s)s$1>8Wo@Y)^UK}=-m6UM zfHl1@)5hp`vlf`(XQ2A)0aMRk=0a*p%`^YfZ**`@JSIw*p{njy<;xd?Jz;J$2jk&n zCOd|D;q#8iK}1*U^1rx%NEuQXIhHG%4tIM{^KEDCk0b4QN$kcs{5-WBFIwW1Jsr|C zkdLXU%(ToAz1kLJN(tycjfp^F;$v3grm7Ba3Nv-z;Lg=&yC%oU?{ z#21ZQ{o#pV>CE&{abn`#pYI}aCkhU1r2EjoYY&z3+ zV@blEu1-b#dfT^S&%TXQv)NakSPI(FU-c0QSl`-^p*$_@P%w+S=rQv_ny99uy%w?X z&Yd8&ET8@$iXUO$s#6n2PF&{=Q!Wk@LPnBR#7sJ>kUz9HDg~asZ)s15RKg{{kuE4@ z5xl?lm3@g13qRY(ky^7jHWj))7|AEokal>L3U%P5UBg#Qtg?T)nTA*st|Vw!ZHqCw zx>cvfe$PWhfUhgU1PtCz475EdS4yw0l}C;1KFAtf{`9b5jAl;PV~V{UToKz}hDIHY ze$d0tzv{M>FBB>;Vv}@o?L@aGOIoOh>H_Ftcyw}8*@-LpO^>r{^Pqo>cD;qjnFyNM^`f;Q&$!ZYhgVCi3^tcRQ87d(Q z_DMAvOlO*YJQv7_&8XY(k3W6_JIK{-kOPYcMNx`V)VCI%EKRuoW~Q^Ixjlzh8~Tgw zv&rJ0f9}!S_P(KBOFCoEGlLGpR8>|j&CMq|cYPfdtDOU(ENeYx%ffG8i3}QQN2qvc z^z3+xT}EwLsJ8he4GW154({#;V)x)dUF_a>2Ok5_wXTZG=~ zyT?kvtYq@42QM>%8%|>zYL80viT&3?RFy@-1G9^R-&)RH!z9DJF2;yo8#hTaVa=pq zn!H`V!ye_nfQlr1vn@Eveo0_2Cz_sFTAmV0qqI`*ki^AaOZoq=8B+T%sqDIa{tFUS ztRz_`yJzG`T1TGIbjxD7V5KAyCvgQ6kTQAO7n_HvO}EKz_ug!2YEL)n^ZVHgJ5w$HRsHP0v8eyoCqYUqken)Aa*e;Mm`z29F`?si4617v^rI=$ZHi~c2P(@c*@^>;k;9YgCXJ$Lw{l) zs`XqFWKQ0dHE9PwFR<2Jv_1o?a5r{D`Djb_DyV0ZUVy +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/latex209.def +File: latex209.def 1998/05/13 v0.52 Standard LaTeX file + + + Entering LaTeX 2.09 COMPATIBILITY MODE + ************************************************************* + !!WARNING!! !!WARNING!! !!WARNING!! !!WARNING!! + + This mode attempts to provide an emulation of the LaTeX 2.09 + author environment so that OLD documents can be successfully + processed. It should NOT be used for NEW documents! + + New documents should use Standard LaTeX conventions and start + with the \documentclass command. + + Compatibility mode is UNLIKELY TO WORK with LaTeX 2.09 style + files that change any internal macros, especially not with + those that change the FONT SELECTION or OUTPUT ROUTINES. + + Therefore such style files MUST BE UPDATED to use + Current Standard LaTeX: LaTeX2e. + If you suspect that you may be using such a style file, which + is probably very, very old by now, then you should attempt to + get it updated by sending a copy of this error message to the + author of that file. + ************************************************************* + +\footheight=\dimen102 +\@maxsep=\dimen103 +\@dblmaxsep=\dimen104 +\@cla=\count79 +\@clb=\count80 +\mscount=\count81 +(/usr/share/texmf/tex/latex/base/tracefnt.sty +Package: tracefnt 1997/05/29 v3.0j Standard LaTeX package (font tracing) +\tracingfonts=\count82 +LaTeX Info: Redefining \selectfont on input line 96. +) +\symbold=\mathgroup4 +\symsans=\mathgroup5 +\symtypewriter=\mathgroup6 +\symitalic=\mathgroup7 +\symsmallcaps=\mathgroup8 +\symslanted=\mathgroup9 +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 288. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 289. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 290. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 296. +LaTeX Info: Redefining \em on input line 306. + +(/usr/share/texmf/tex/latex/base/latexsym.sty +Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) +\symlasy=\mathgroup10 +LaTeX Font Info: Overwriting symbol font `lasy' in version `bold' +(Font) U/lasy/m/n --> U/lasy/b/n on input line 42. +) +LaTeX Font Info: Redeclaring math delimiter \lgroup on input line 370. +LaTeX Font Info: Redeclaring math delimiter \rgroup on input line 372. +LaTeX Font Info: Redeclaring math delimiter \bracevert on input line 374. + +(/usr/share/texmf/tex/latex/config/latex209.cfg) +(/usr/share/texmf/tex/latex/tools/rawfonts.sty +Package: rawfonts 1994/05/08 Low-level LaTeX 2.09 font compatibility + +(/usr/share/texmf/tex/latex/tools/somedefs.sty +Package: somedefs 1994/06/01 Toolkit for optional definitions +) +LaTeX Font Info: Try loading font information for U+lasy on input line 44. + +(/usr/share/texmf/tex/latex/base/ulasy.fd +File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions +))) +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +Compatibility mode: definition of \rm ignored. +Compatibility mode: definition of \sf ignored. +Compatibility mode: definition of \tt ignored. +Compatibility mode: definition of \bf ignored. +Compatibility mode: definition of \it ignored. +Compatibility mode: definition of \sl ignored. +Compatibility mode: definition of \sc ignored. +LaTeX Info: Redefining \cal on input line 501. +LaTeX Info: Redefining \mit on input line 502. +\bibindent=\dimen105 +) (fix_wall_lj93.aux) +\openout1 = `fix_wall_lj93.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(fix_wall_lj93.aux) ) +Here is how much of TeX's memory you used: + 489 strings out of 20880 + 5128 string characters out of 196184 + 47102 words of memory out of 350001 + 3457 multiletter control sequences out of 10000+15000 + 22500 words of font info for 84 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 25i,4n,22p,266b,160s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on fix_wall_lj93.dvi (1 page, 712 bytes). diff --git a/doc/Eqs/fix_wall_lj93.tex b/doc/Eqs/fix_wall_lj93.tex new file mode 100644 index 0000000000..7372e55c15 --- /dev/null +++ b/doc/Eqs/fix_wall_lj93.tex @@ -0,0 +1,11 @@ +\documentstyle[12pt]{article} + +\begin{document} + +$$ + E = \epsilon \left[ \frac{2}{15} \left(\frac{\sigma}{r}\right)^{9} - + \left(\frac{\sigma}{r}\right)^3 \right] + \qquad r < r_c +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/improper_class2.aux b/doc/Eqs/improper_class2.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/improper_class2.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/improper_class2.dvi b/doc/Eqs/improper_class2.dvi new file mode 100644 index 0000000000000000000000000000000000000000..316b1cccac02c07eed681510088de09e4c8783ad GIT binary patch literal 1000 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwB<%vU(>mOj4NtS#bNq^u-K3K*Kqp8@PGh;5(wYpNsJ;r?d<29w1ugT9F@2UvE-_Rjy!J#&{4$hi5U)^=cj zclt`e{0$BfEFSj-dvcdy-!zaZ8heD0J>55vZ>HRS2C#=A5?B&&?zRxL!g#~7PEFawZ% z1vZ07Ux7ndj)4K_rRM@nhJAfKKY;P2g`BfM`GIjQP?U>-5qrF1P0HA_3AR|rnqhtd LGj%xAeINh;rj30K literal 0 HcmV?d00001 diff --git a/doc/Eqs/improper_class2.jpg b/doc/Eqs/improper_class2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..331f4ff8cfa3e2bf11e8a91b895d5dec29686367 GIT binary patch literal 8522 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

    CT)0r3B)4y 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 BwR`{o literal 0 HcmV?d00001 diff --git a/doc/Eqs/improper_class2.log b/doc/Eqs/improper_class2.log new file mode 100644 index 0000000000..473a4543a5 --- /dev/null +++ b/doc/Eqs/improper_class2.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**improper_class2.tex +(improper_class2.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (improper_class2.aux) +\openout1 = `improper_class2.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(improper_class2.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2146 string characters out of 196184 + 46503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,7n,19p,121b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on improper_class2.dvi (1 page, 1000 bytes). diff --git a/doc/Eqs/improper_class2.tex b/doc/Eqs/improper_class2.tex new file mode 100644 index 0000000000..2c41df1a29 --- /dev/null +++ b/doc/Eqs/improper_class2.tex @@ -0,0 +1,13 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} + E & = & E_i + E_{aa} \\ + E_i & = & K [ \frac{\chi_{ijkl} + \chi_{kjli} + \chi_{ljik}}{3} - \chi_0 ]^2 \\ + E_{aa} & = & M_1 (\theta_{ijk} - \theta_1) (\theta_{kjl} - \theta_3) + \\ + & & M_2 (\theta_{ijk} - \theta_1) (\theta_{ijl} - \theta_2) + \\ + & & M_3 (\theta_{ijl} - \theta_2) (\theta_{kjl} - \theta_3) +\end{eqnarray*} + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/improper_cvff.aux b/doc/Eqs/improper_cvff.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/improper_cvff.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/improper_cvff.dvi b/doc/Eqs/improper_cvff.dvi new file mode 100644 index 0000000000000000000000000000000000000000..6459c1a579b2adb5f36d18e915cba5f491e31247 GIT binary patch literal 312 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL-QX=6m^BaQnmb#SA<^vp|?FIX5@c&}fhA zL>A7>&wLT91G(XHtjW1WhDJMWCo+cy?eU(-aA)4mXv1ktt5#@F-jmWhk@5e(oyqyd zeG>(DhiL4{liR5o+t)W=jsaxRa{(s9zP_FxKpV7>y$Nz0<65973j-r|mtb|nPoRz` IO!vV60Dl%*p8x;= literal 0 HcmV?d00001 diff --git a/doc/Eqs/improper_cvff.jpg b/doc/Eqs/improper_cvff.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4b8b73b198bced62d64cfe8512c0f4b5478aaf04 GIT binary patch literal 1577 zcmZvcdpOez9L9gMjSZz?3Ul2Yms6a?%srQ6V_}ssw^N}uO_Wun4vVFP(Ij%@vaxa( zV@f#{qBvx!v6X8|A?Z+3J3Qxk&R@OX=Xw8mzt8*r_mRDnjRKnp9(WG`1Ofq`YX`_i z05<>%hCm=-=$b*HP4Z9qIpnCS-eEp6!YLk%9Yl0?Pa%Gr#UeLb|r=pf~mtA8>q*}kcKISzjsU~}0j zXCKa!w43;@G^+3cBE-+@7-O)WHl0*8dV~5SYq)7Xbg!ihh!Tuotlp~{-WvVD5^3bL zn{G(S?rQUT?2y4HOArbB=X#OT;@nfsb(1kUE2x~5o5jThLb8)2$@A|-t*c|P$;Z;) zRP<&b&x^YX;rP)a_l<#WGUC7B6Be7@^Y z9b%5}Xl~+oazj;9-#Hw{JydUV5JO0VQv>9zJdCA^{WXHC|XO?LfHvP@tt zbf^Jg<*;B}VTq;!`&}{{suMU%PLCS;T90N)sV}s{Y#q~SzUamM4&=I9k?EpO1B|;^ z9)&xb`Sdc@Gr|po``U$`{-rg@x@^#Yylv0a4nFXxc_kV5EoOUYJioD~ob#i0qg%*d zHg`IN#Fh&qAZ&T!eUcriN!h}XtN>r(1$GZ7+)%9|6L)dT9;F2?di$KWecN$5niRku zsrhZ+?uZn1riZQOgteFNu=${MWTB{^zR~Kr;7|>b6->48H1FDL@CsQ^II5mW&dIrZ z($hch^Vuch+`{R^&~2SlC-=P!y}q6ESdh{Y>Es!>wYGAQB4TP}3yqf*#qaDHJuj-O zz3x_*nR#4ucMYPO_>kB6H!d_jwWT?J&oZ5uh%+ciNn6Au+CRGRG+o z2ZxeTspbO}*401e+@hs+4Xb5@S6f`s1|0N<3UzI0z=Rnb>SC~auBh4Z$h{+Xyi=i$ zO5TLbF`Y|nKHT{;`Pe$I%+70^Rt^gfE%17mZ^Ug}STv6lah4n%M{G8Z2&Peok>}RI z#@gqPxtVL1#H)MD;3bv>p!HY7k>FL6tb&5N*m6lw6h)3R+^m0N0f$C^^jsZM9k1WE zt=tuyMi;fJo{7fy;Pr6&h}EQXW(`L_LchGm-n%J +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (improper_cvff.aux) +\openout1 = `improper_cvff.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(improper_cvff.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2136 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,119b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on improper_cvff.dvi (1 page, 312 bytes). diff --git a/doc/Eqs/improper_cvff.tex b/doc/Eqs/improper_cvff.tex new file mode 100644 index 0000000000..3a038b6b8c --- /dev/null +++ b/doc/Eqs/improper_cvff.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K [1 + d \cos (n \phi) ] +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/improper_harmonic.aux b/doc/Eqs/improper_harmonic.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/improper_harmonic.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/improper_harmonic.dvi b/doc/Eqs/improper_harmonic.dvi new file mode 100644 index 0000000000000000000000000000000000000000..727be1a9f74cb2171a8e7689e49f8f4a64094826 GIT binary patch literal 400 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL-R?|Dy3(aQnmb#SA<^vp|?FIX5@c&}fhA zL>A7>&wLT91G(XHtjW1WhDJMWCo+cy?eU(-aA)35jXm#_RnCoo`znC^oC04`ZO~q$t?4sKdsSnCl`dbJs72Pop;&_%W!fE3@cjRR^y-FRRe8ak5g>`MiZe(GK6O#TLI{ zs`*|BbpO<+7q*%#*|wo|%7m$cbL5W8zS{8hnaf|3*^`6jHEfG5vstEWHa*TrV5#Zl zoE0Mf5*|$X#O2Rys=rir$Nr^n^<(dJy*+utXI0dr)jBI5HG~CJFIjEz?WkwaPTpNC z)z5ZapZ@yq{($3Mk02+4_5i`F4v8hE<-yREcP#n??Zj_#aw?MgQE+MCDx3g_+J+3#1MNzR{_t>2VXx{md=hi`X@x0v{)bn#P0M^{<8;ll*8TN5k+vYuKZ}n0$iLjX-2UJS?daUwHqkp@ z&S=$%TwlO?RM%|o3Ly!_nYxQ*cuy8-_1ScV-*xG0ww!*aWn1D&L0Qeid2NTj)n`7q zqJPTN{&V@SYyTPE`ug;Xx$ZsjUG2tXS&v^QYZ(?g6qPd{v%YTj;n%C(Vcq-9i}k(S zI_rXYOg2^Zx##ZNQ@UdHq{XtwCUL%-s(t36S*`Ah=YISD%zAVu>D8N$c^QQ*nwqkq zJEkf$Eq=Pu!uC^z#4~l@%-Lp(yH`qG*%qDq?#{Qxlm3LIA9ZQF6fnhTkR(qsY4f=DT!~n-?J&;*v&+6qR5?5(I2j5UWEiwnK?#4Y`P(zrg{}uxeLcLj61^P{ zMyJn_j}e?uUEIIpdD!FSYm4V?vwQ4k_I2Y^Yr$i4G=jJ$EYV4+Y*qDQw>@EBz~UXW z(KB(UZreRpk2{=x6=Bx$fp4Rj4(9lNOMR-d!gIE);M3)mFZWH!ySY=&rQy->9mHIwHG`GJMJBe^t;mY aWPXt6lSxIMHj_MUt{ugaUx9h}|4jhb@biBF literal 0 HcmV?d00001 diff --git a/doc/Eqs/improper_harmonic.log b/doc/Eqs/improper_harmonic.log new file mode 100644 index 0000000000..4c89671347 --- /dev/null +++ b/doc/Eqs/improper_harmonic.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**improper_harmonic.tex +(improper_harmonic.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (improper_harmonic.aux) +\openout1 = `improper_harmonic.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(improper_harmonic.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2156 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,123b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on improper_harmonic.dvi (1 page, 400 bytes). diff --git a/doc/Eqs/improper_harmonic.tex b/doc/Eqs/improper_harmonic.tex new file mode 100644 index 0000000000..c47020cf9c --- /dev/null +++ b/doc/Eqs/improper_harmonic.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = K (\chi - \chi_0)^2 +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_buck.aux b/doc/Eqs/pair_buck.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_buck.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_buck.dvi b/doc/Eqs/pair_buck.dvi new file mode 100644 index 0000000000000000000000000000000000000000..16da6ff47a377514dcbb6a1b51beedefafca7cce GIT binary patch literal 540 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFw7SW%@AvLQ)DaEH&Lwk=4TN_C7oGdqq!i~7FQY?>}Tlh?VbPq;nCiS zEZHJ^ocks+-@QGbH88i6fgvrGfh%5iJ~szwTfI?!U5 zSsw^YRQn*kr)VPciU&56i+blXo;kBO87Mqoj)4K_@#g|eI}Q8#dVT=y)G1Oo*G1Ox>I1qKHU2nPoT z2M-Gi2@DYr5)u&)5fKv>92XN58Wj-{7$F!M9UUJZ9}^cMBqAOp93CGY|G)qX2mmzz z&jA4u0RO}Q8~_0T0s{d70RR9100000000041p@{L0s#pB!~ii6009I70s#U91p)^E z000000RRF61O*WW5+M^Y6e2-U2Ng15aTh`(BxQk-mgN8100;pA002J#{g#M`h=_=Y ziandOs>>W!ZP$WH4x?<62ABT;0Q;=$b6z&b2Mv+1cjO%r{{SoMA|fIpA|fIpBE@dR z6zWZG)X~9S2;C&INbNO^XxVWm*Z?-NqAG54oE&F_=XoQbGmK6)#p4h<@99S8_5T2V zx=?sN9oW7m$+-lPS<79n+4EMVXaZSFcJO!Y8+KaO`!%2iX~l50c=sNshNrU)X!`a( z?{Or#$M-HIpXFJiA|fIpE`7rD`5r-&&l98nib=tMnI;#hkTD`x{* z(^vr{`CFy{%KRk>}Wd z9^{{(1pOAV_)E&>lDp+SLo^PZuG?ZL`6^X1SnD|J_2aQp)Gvm3WE*Ue zxE8sjeTXC~{C*Z%^kK(X$~FVim2ilQ#PY=iFPdo? z6j8Lf?|Xo2S_a7^`v9WQ%i?kpHaZzfR^I4@&1@DL@>q4JXdlz$dG_)Y$GNOyp7#c| zqi%6J0DaY7A3u)FS#)@(NpibbTyDh8)+b;FwohlDf6>?uq!JE+mwzRWp(HWh$W*HN z%Y-eOX0XZBZQVgWbUdAV1(uzv*K0D(I}q7{`|Bi64{Nk^bVq~a5VENGIqX))&tk19 zFHXi29eCc>I!ApP9O4>3l2_AI~Du`9@zZ)+as zAD6KpXb&r^G-;p`PKUYru6O-7{{T+>JO2Qu{{ZP*hZn_uO^1$$rHhNBoOEpvhY00{e#0qb~ZJsQvd04pVK@^;j- znPhi>Hun;I_|~?30q5u@tPZJJ*V%p117&W;^*B z@}zQ19W4D8Q@uV;7?~)PI)+ZgDK-HbFM;fFZXu$VbAx(<3yYisK-m3T^Q{`Z z-UE?x80!9U`CA1G)o)dbw9>Fh=C#6T<#vzD^N`X%R))X?g?+^F*Rhzl*1v36d9yT; zHK%QYCrIZq7LoxWjUk|rJ+ +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_buck.aux) +\openout1 = `pair_buck.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_buck.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2116 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,115b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_buck.dvi (1 page, 540 bytes). diff --git a/doc/Eqs/pair_buck.tex b/doc/Eqs/pair_buck.tex new file mode 100644 index 0000000000..ef15af6901 --- /dev/null +++ b/doc/Eqs/pair_buck.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = A e^{-r / \rho} - \frac{C}{r^6} \qquad r < r_c +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_charmm.aux b/doc/Eqs/pair_charmm.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_charmm.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_charmm.dvi b/doc/Eqs/pair_charmm.dvi new file mode 100644 index 0000000000000000000000000000000000000000..a7a9e7f9719dec887c89ced871f6077cd551af46 GIT binary patch literal 1604 zcmcgsT}TvB6uz^Yt+>+q2a1YrhLBpaJC=!QkWxVgp(Yq+5BbLmYq=?G79>QZ*i79O zBn+Aj6(rG6B$;(|ed*0YB9Z=ZeGtospf)hevUBdJyVYQCT^Q!h+;hM4ecw6vuIRWM zuBpVs1cv^7g858Mx%pyq)1~GnGjFkEXIio{Eqt!!(825uh~O~nUt=AHTjy*gg8N5r zD{<@c*>tIuNbxWeT;!I0$R9bjP}f7k0Sup=Rd&10$}7i2T;{ zth}5rvh~50&&sKjluLBTdlkpsQc+H$$FI*Q4yy0>1n^|+SRiL5()|M z*#RIq9$SM5qc;+%sJVh+ODP$dL)30W?b1E!_s8r`+1JgOgsDs~U$I)e`pzH<_kcj= zx=&HlVhS3zJf!4xAr(fdb7Kj-#qzAti4gY;VSf zaIMVB->OmH7U+MFC&flF3>J zmPep*qcON~AR0f+5pB|!^j?pZ7iq?Lju$$ILT9jmAZTOmX@rK?w$Rb-bph!3#WxH( z8`32A&7+=yJxD>6%*9T0#Q7{KPzen~HkG-^eq@IGEpyzY+rzILdyr$i%`+6n3x+#CiztXl4(ihwt7XA3o{wd6_BX_?2(3HJQd&j zcmd))yeJt;jtZ=&si|?sOVCJ&fJF>~0D*=?yW~pn-9>!QN2S&NF#HQ&OX3q5F_&Ky zY=A|-%-l^Om{0%3Z_O0aCD!KMmt93VOUb@=HYn70Y`?`5HegV_nsNetq literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_charmm.jpg b/doc/Eqs/pair_charmm.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85bc839d28687e832463f6697d7732eb48c40940 GIT binary patch literal 13820 zcmch-cT`hd*Do5HG-;toFA{`+6j1{LBE5tjLQ5#pL`vvIKoF^d)IdOb4bnmlp-YjD zpj3ebP(YB5B7&fJeBSds@ArQ9oHOqE=ia@?SYxcc_tp zs!J5))MPY&-s&?0$S5c%$SEnwXfDx^F#rH$Iurt%6@l8j{MDx7px*z-=CsAXP}h zXx0jky35AIr3S0Tz*I(g(1ZFAq_siYmSW7W)5(mLf#v4KsX3F4nfPn6yrA@E32)ZH zz%tgi_U#WPB}JsJOWF&9RUAc0Ym3#M7PpZHkoki$&i7PR3Rm{y`q)-g&%t7L$^&5D z{ne>|ZHZ@!ThRV*nJ6Hlml z`TOrDMl$I98!XI`9W%G@m(_`sh@bTBI7nc*jnnW0P;yH47B-fd7bP#Tcs_d2W8ij6 zZBfHz@7>i2H%fN@s3u2+=|+AKZXmgcN_TXqE)~n}H}J43*P=Jun*e#k`6~!`Xks+5 zj;x1NxK#APOGzO*y$2+^akc5JjSZQ#%&rRccv#9>Zf+~!=(Fh~ixVU22Hdg4ryS4q ziuQ9mcb@!0WB-$W0ussLDiQp7_x6l9N{AP0q~lL6|IKNQy>#X*=ZBkvwHE$cwrRSH z?9~oltWNr^ee#|^D_jnS86kkCXnYhF5#{Aw=J%|!XU zFhI00;6dH(@obBH_cDY`LEx=mY5mOaQ%H4GBVME=l)Obi75wWKUUis#%wnOGh~h?! zIHB|*NviDn1RKP}49-YFP7EDJ>-{y<2l+=k{z4TK{mON)t^nM)P7EC*3^pofEt#(u zZ-V3(nHSA(d=<$u!wW$3p{*e9#h!$I&g*Ikk+H(~%p6@4^O>^ymkW$2+BOQ*UP@r%jSbJzeqTPx8+U-xT@GdihmNK;}k?3X+4YenK5H&Tl^KfdwN~DS4Sy zDVbFSBbjbTO(E2-SI3rgSff(#s|VN}UmKsnj5NOT1-;IoZFyocJ9AJBD1V-ve`QrV zbMnm1BNQJ0u=U|d01dpdJD;JR>rGb^1^2U*-2EF z6My}vo%y#G{Uv#dUkvve*=Jee^4Q2?aURPz!DLlxN|s?kmhnJWaXnq=oOw|y-Lt{9 z59vu{wn*)&P-({qRK?X zbT|QIJ%CV)_W$q@7;XOjUlU*aqg+G8!m(nftx1yuFxfq6B z)teIK;lS{IFuksTO8S{4hgADCG9+1uX9k!*O5vMwU-@{yF)&}-r|l6YY}!MP8M)g~ z()u$pCV=hei}^Wm2JDC4&#(Usb*-_oL1TG?}AUP_O@u^*BQHI4&f1%~A0 zyva7-l^@pa7ce;@w=LdChXjsPM>CkBqQu8>)}G>1=X!xkv1)J(+pwArBLoPCw9*Ja zosiJVEbtm+?_7QMz_1W%$)!|TN!c2nM~(OmxM7Bn)_I*C*ljD7IkX6?`xP2u10%vr z`3MV)Yr;V$gCy_t{Exb#^6YNq1%88UN{jIiAcZhHE+y~+fDoP+oBtaiY^Sr(&Kk#@=eDlzIK>|kHX+^K?D`3d!BDV4K#!8oFo(^iF>aH7L+|v1%?tMJs z^}uG^Fdt~zj?UMzrxe%Z7imw+vWps9S!*=rC$FHJB&9^p-S6c&E3va>#HP)Q;}?tV zad&*ej0^I(5?dZui-}t&MO2pql~MD=mKFJvnu5fJMLguibS()9t1DmOpJ~R`T(MR`2cU1pE4hNTn@ypftv zyj!$&^WzRyX3(YiX0_IMP#LHkS|%cxwD9(u-`)X2{2%A0nM)QAbATFy(^&clc}Cte zedzE?;nuT=&=97%m ze_45rd{19o4d=b!eGp1_k@p)QmiIZt_{VR+vV3aI31x^6LdPUKj^UZl6l{zEOXxK* zq1EZ(0;Tut2iM~Ngpl|ELT|ea@n&fpY`QYI6pewb8qq;x>2%H_<{=0Zf$5mG7vtWQY=Jx&Ew zAu-~&=9Bc|gtBie>6m)r>+zDJ4V2!R0sk2_;ft>>kHs_)?hoy>W<@51OJ7}j+N^$8 z3y9@ko6=$m|6uOMk=HGEBaXLuPmLFv@r0MO)I(jUmfP3e{^)L!SJmAq>3jk-ru*dv z7ZUj;zXPr1bFlnMv!tfwisR`$_dwoEku4fMg9Qn9T4z)b+#trL5!=?rIk66^@EH%w z{I?_)Z*!((4hjU_vMoX#HnUE0zNYp%y4S6^1i1ZAZ3iQ5&_EA51C0> zlJBM^6Dzd~>j8|qq5!fH5Se8Q&ad`8tM@eI1mC#iS8+Tt6D?&tp?gD7UT2teF;IGk zyoHIt=Zs>P6mkWN(1DGI_i5Gzx*o5oElP6m2@9C7e7NKJBHK?C5_5nuNe3T)o8MXo zsBtWk(|pueqeKVL%|Y-ss|a2}4Z+EwEGTe`?U^0l!P z7;-EQQRhW{7mQHljU?lpbssvzGmHA)`7li^HDX7 z3Y_0{`OdBl6guXzZ_HNwYruu~LD)a2CH(PcCIB+DQS+nZBU#6mtBSbJu?l+B;0zn4 zEHRSiL*(6^rGGxoz&>v3UwG&FO7dZn)TgBv6)ja}XD*vaXs#qA({kcxB4$*af_nXJ z{q5R!O@ep1&i(0ggHqyZO02&rU}AKAG>3S;9nz36EV~?ODdm}!%}@HnIagjQ-=5oH zSfT%#Z_{D6G9Ciiy881O{E|15rG?)2Ilmwe(~%d@@Bt#PkPyL*S~ z#ZHIGL%`KT&-H2ND;jMV86-BWl$s8gxK)6jJa4t&)8WeY&pMyCL}*45V^-Fr997D& zRJz_D3i^+sclc(bOb*gEmL8ivm>O8!;Sh#sujE`EmW-}^&*KT9_J|~5_6L0dpqJCI z+q*%l$Xhj*Z@YxPd!_Q|)ro=M0~vWul(!`hKq;u%roWZKQg1!D#g1(O-|(n?;MsWE z$;PurdVBGJL1NNVqF{?iXhU8EE%@8qs8Wyvf|xM2uM?0-@h}kD0v@3J0CoxjebqUi z{Y$-YQBy7iM3p)xVaU zBIWvNLy|9E-^gtvtwnci0AFYtRz@PdFZ|qvBmfn>c}@|j5Q}k?ThsCbW(Ci}q_SEh{MWo>v*Felf^&|RZ}12NOuU4Ncf5!kvrCS%T>1Hb4a z#?W{}E=^-R5M~pTF`@;A!o&ccAezi8T+fb-mK|vyChwEaySTxd??kGAm!nf@kFN)D zUHx99(sosIBA~gS6J+Ph3frInS2{lHCpY_~+eGrXL@zAB~CCejFDW$HW$h24sKBdddC5C2^lD94FzQ&X) zbzk^;*>S$r8_U~V;W@MGM!CEGWsr{#bX8hyrMMGTJB|;vpNEM>#C{5~W?4irfw0yn z>*!88Eg&SRL-kHNb-yB#+u`+{FTSlmwGC>|;%SnJ&ck~`k=rv#AB5}*J@$BgRYcia z63$_cw?$&STxY0?Err3tf=AzLuCLtL6!`gM<3eD@LVeilG{{J~;MLm+7tf&MCpW)s z5a!+rAAbG~xcqflue=~Gi#WBA4B1=b+)H@r^Cw$Wtb7Dw zu(&Rzhv`-*m=gd(5!3TMD^5>(Nk8wbhYPhSKHk{N_1hj?nHuydxS99`&h2;j8!*Uq zTG;=D#c%p_Lt$a4x;W*{&(@_+r+Xba2dh7`eU$EW-t|fsiXXk-bh&;t6{{O`q|Y$Y z7qN|N>gB6{1cH}O^5{AL$a;?J9gC{bw9l5N+J6K}yv0Zk?Sfj!bISK{Ry6)pY0x&U zfH~tldRh$v#ME@v?B$8RJj!+X;sKm|&(?wB<|(r@GePw0f%kQstE~susPn+Db61B_ z8Oh_Rfz&N6b9neaG+>=%IsU4WVaS;YEF|tDMy4rT|MoH5>idjNTW=erkyMfUj(wMq zm9$sb09NaEW8F)2nW5pB(Qcb)lW$zF3}rUkjZMo>N~sq|bi2*&MTkzd-R4#_QaIAT zMXY1CMi`T4B`+xd2D~a+Mpd+4mF*kzwI9}hF~RiCl1lUhERJAW(B_oC8m3~AeTjiGJDN{+ew!M=BmnEhu*XL+X<^z7n$eWLQ?zQ%{4o zj~pux1IO4KZvO_1_jyA&=7QGOW#>u0#r5|SCe;$($a|IFTN_cT|niYgBU1dJ$dlImK27W z(A(8=>Jr&l@L;AR8ADY;0NL=er{_EW{P3^90sWI2IZb)ZbLukKzGUC=G2FDe#jWE< zofc`WrCNT7t7b-ez}6?ZZf(ENMDc8eav|}k!=+llrt{Yw+_7fIP@qk@lR2Du=Zz#@ z3=J^R1$?pNdiP~H-ShAo>m6WCJ%^`0v)cS;q6K?@jpG#TJYJQWcXP|m``>fG9Buqx z`4+kK$1UkkCcZtcGqCX_Ks<)310N0E%$s9K?zR$0Pr3Q&gyF(Hs1M@uYx%$&vgwui zbJ?dO(fr3ZoCl7f6@fsjnFB;b`3@hg9oQ)!E;V+8}YmhKL*hQ4*)0PeMl-9CNG(HF3vmC$EnP*;2B^~RTDPAnPKWti&}iDgbMSBtlP zIXiXR<`EDDA*%W`M^lIP_RY7x7C;$S^B67dLMHzO^50DzjdSLb&&;hwYyZgAJ{5_c zo{^KDI{*K|VnXk-u2Yjp=CVgBlvf9)OUdjV9!+sxjTOICj92TnT4}ZhHfx8vDzZ20 z!r*Keieoyc&iA#vgz``gBwt%gfb3@Z`qGG;&~-_ku@dps2$*S;m+ru2)V|+J&SvR1 z_9nei2Mzj|@!4jt2g^lA&tBsiTjmxlp_g=IZT2F^BgSTH4D?H~Hxux&D4;H!(x}3lLLyJ1x`_6i@Ta&>~*p*5bDaO3nv+yHH!t*f) zs*!9)5kLeS76W9(fLsVVXEW!L3mwlJS8-VFT-xQl%qvTGxS&&yNHL6RaqpsHL{#9m z`xZ2>K&~B*vNJDkt{T8&A%ZdBqDi%;q@J_4j>#m8TAoN2Xg@)z@DNtv zib>b&5pv9#GhIJm_3-zC>4+*=HLm5szTBOLl3UmY+OR851Wn~Q z*J@6qiee5elUt^*?mE%*F%4KAQLW;NUlr^TN92i#n+bTE1%lV!!lzs17D6TK+D2ke zye1OQuLlwL^V0IGh^94CCl6cB*>m1=Iaw#hCiEj@9r zq2^?qrR=y{AKLNL$f&qFA^UnetUAxB21OYiy`yv=QCmWK^PRFsTm0Y2hV^+Jn^f!-hz=q0KAwde|j=)UC3(_m8m(+WvPdc`%!~L zM79nrG7o`NA*SlWW-=mVeKqydd|cz~WmY+|Z?ebEf2g?cX(A5-q>(nc1YN|rvQ6xb z9N^hLFsPG;x6s@yiCh-LRHd^UUX=Xd>7UHGIIx!RZH2{2Hth@hAiS)eOngg3SJmn} zg>MAc!Nkp|_~yj43*yHovFlGr4K}xd=>cCjdhJb?xapZ}oyvUapMl*J;EIlZ$*uSB zeL8!vfblBl37e<=+Bfg3wsM);gUYV-S$W?+O2tsNBW-E-GYTg+m*bkC&AFr>#e}lu z+UKoOiZ0;${yEMx!yhV&Gb%0DLb4*YD_+lz8k8coa<>`#--HFaz8aBikC7k69D{@L z#dr4J+qL0%bIocE2Jem<5O}6bLD+aH8H~cayM1si7}H`2!k>_hx4|y$DFjY>wT^?v zvbb4MN*9J}U9M!%kxg{)25t);a`A0Hf6^lKP2juTiU#uvoV0wvSD7jK&6&oGi?h1c zt;%G0IQPlrTfpfSewJPIseAQ~f}N)AvGBPn4Foi%!`C$q1)aW%%w0t9g zp}*JY1vSs}Pkh>Q+TIEY_v&%N%T0@`U)<;38!_U{@8FDDtPd{juD!{_`V?UeshFzt zQ>1PZ3tMptHo&Bx+JUMz-*-~Vv<(uw)QnJ>5d&lr`dx7*KWw@(`?qP!*FXKXxQN0vZ*kVzPs6(S!TKsmv#!q{7$+B3dtz+;})M!pBh2vIFz{=6>nktl? zg7d3+;yWjQUejI?JDN0~;lXFt$eOQ8{MWP+yg^G&?ywt-+&N7GGRrF6LUV z$Ot1C#nL+LNZ<$q13*4`0G$Z~n@2{0ueNQ#^zdapk868;vTJItt}sXZW+jb9kwl0o zUPAnii3RNkCfR$$$I^$Sl=Dom+wtj2rJUc?bYMZj6Ya;j$-Ci8&)%MB+PDQPRNc$^ zdGkRdsm1e1fTg{I=_S!~DQ$VB(A=+u^G~{20<`q_crx=K#6`a^A}GKvu0jC4eOHtR z35WDG)=*#)$&KWDW7e*`)I;VQ(QB18>{_%g`6t9Y$$=N2)8g{QYrjAa*w?QuIh{t* z`C@;R-NtVcm_m+R3q#VSUn=*mTP+${ObAVczo59SxhAauk#PAGWNgK4dC|!3pMU}V zdIkzVo3?q1?#}2x7`eSRXmqT_ zbc!DM4S24B%m23vtgxsys538mAY$)a1=YOl4Gj(AC$BEY`7pQNQ5&sZ6kyb(@ASm8ntNJFRCk**&Ij{-reG z{7nF5Hy5LJfasrNH5gpEA53F>Po?xQrg53Ge+;q!jldD1b(;(LQ=f5{9CoPu%Di0 z#+w_{?`iJ7yOKlC8|gW$n9YLvQ%8eiKdY)2k~l$S=GC&cZUMuF#FPs`Tnrfc=20~&E8y_^7w+Y$f;=KQTnjC0 z9fqOK(LO-B3cRZQVExgsu_5@`VaVlYBN@}UNZekfBD#oLR4{75)be(s`%L+Kl1pc? zc-A$Z6e$Hg{SH1&DJq<}Aj60tOR5pqu%Q1J@eg}Vs#vWOHph$;8*#*XjBCn7_AvffjfHn8R@QL@dkkehN6NfT ze(h9*I~h$#kGcL)OhxT2D0TCD82l{7&cMFQ=IS`d%^Fwqv*$ZljW>A&BEm|Qk`ln@ zDxx8Vxqb*aYpH4d>@Tz928&XK27_r)&|MWS5dY2ON5VOK|4$iU7>jD@xxE|Zo7?nF z&o#uZXW7i>kC`iqfPaawMo_m2n%UddC^(;YRJrEXC$}s#6Xua%Mc+*G8ZSh*Mx}_b zQuI0hI7#XrN0X&p0M zfVK_or0uJ3a$};VeEw0fR1HAx%cxn;h_2x-!$NHfQj@UeVerc7+H%4o(T9+}HBZRE z5XxARs-S2znx>b6J$|}f>##2iJQp3b?iS?f2mFS;UMr(*kjjQGv8Hi@_$7}SLUotq z5UwD@4#YBn2!Mz!T^xD-cun{EGW*b9E+qXHL5_h$IVHvr11$ncBI+lOp=hLwM zJjpZVnTvD4$kjYCyGn7=*IdD;5u@7oCG`GRz_Y(7zZQl)+{87&h$$u3cPd<8M|V0x z-L!QIQNJYHzAxqAJ)J6-K!eZ41xXmC_1M0^`;p~6_ihMJw}yD@(t++zRmql~c4pTK zXzW~3t(7N@ooC!U7W$TYudxp6JK1hUxVGXc_Z+VBbL{PlXEDW${#N$*8+^J-dx}UY zCjTt6`Hl8+*|JBSmAFC;o-3-$@}#44^vz?k7~nm8A0?8dp0!AA94Vo%#;EC6D=(FFI}6`xa|^fA5}pRKg0Zp)lRx z&Tjy4?#XdJ@kdU$!L7}odRD&yb3tAku0L)~7k-g+`3dt<-K5h70w8;R z$jJL!kdL2*;>@?>=M|-kqElHTJ1ZpQahhnQQv$)V-CA=H5flK5r4R}>5q?Mer>L)+ z;Py|^$NwsTcRnNU>4mMoxya2n@vY8zL=Y%4J!()DkW$S4F*l$q%QD~v3({ACgD9>J zroz`m;>(`)m_T(Y+H~H!{W)F!S4PF&Xe5|`FqD%Vpe%D*Lx&&#V1&CiATf;UvW~5? zaR^JqpTd@8hW~cJ`fuGd-qOvYot8FygO1~T5VEG_EJ^uoD$xlOWOC=%d^P>{k|(Jp zH&3v*gyU#QrjduY0>qoRw)@0c?cJ1AqyMzDt+gI{?CT}1rQZ6luT^_efxHaSR1pAr zI!^YWKPb1in{7)@kxRB*n`+q@)JZOX$HQ_~31nN%pdEn{N?i@jjb(!0AjkW@4lMo# zuvFX6c=kO9h7ouS8i~(*hCsqRc?h6di0&P6YM!_|GFyL1~T(BD+%O+PXaLq#v7SVNyvKpkIb-OpDF}0u6VQde&Y+ zjxo)nUE%UF)@^c96y62!BBZ*#tU?k8dYHn87Nxg>k)Sg0rM+E+HM8~fb9npQtA%() zN~65MM@rtD6nGXICZ&)eZEs@PBbWRPuj7TTE3f5i3J24;y3gmW`6j5+ z3IyEu4v+2T>OdC8Tyk_@ zg+hM`z=sr%KdH!3>gA3eF+(aNh3HiWQ&!)I>S&y6|oUa`i!vP?{?SOi@>Mf$eVk&Wd0C3btl^8g$% z?9~dLl0|C2{5dBo+Yo#mOh!v=c8B(W*914&9i3;GYu~%iHp<#DAw(ZQPfi}VYRfE>I@U7^a?#&yUKAu zQ6e|$#Z8cgdZTc$fS`Icm7_pQ+qE|0Z@{A2!Eb;cvHN`5ZRpP?q}syhSJJ^nlx0U! zwnc7S9FEgSkz3*Nh!;u(4f?ypmG!!md5nQc3s8Ymyp&=>KRj`w>__p|TBGh9-8l3qj1GHMCZnZVfN zaue@4VMt0LCcIx*v%cDhCwV?$wlaskibO2lAX0SM*S;USdxB7j_i1u-xwzu16T=r0 z=)_9^LH!d%~k@S;*#-QVg>036qK;TZ(vG5bw#zo-Im7+5~$ny7Kc#QD-ao zmfYL-f*U1nEm3Gz_jXli4e(>vrbsZBP*%f6*$8}!=Dc%*23w=Ohwl?P#t0Y#`% z^3(iXiy^UbGSnQN`O3Q4p!8$V(oO#~Zv7Xvl7kysV&%O!s6L7mkD+@S^{Gtns&{NXAA$k%ITku5f6`cp{fizfUr=~> zx*$d;PNG6x-D;^pj&M|rY+wDOiPc(?Lsn?l#+uJlUyGQW zZKZiWRle`e3tux@0SFy z*r+{rGcyilVVIqCJSHmi6Y1akaW5z?K97hUj>=bWVBo- zZ$gn*cu?O(=Hz0RuRhU8^G=;{)^E&=+-SEAy*G7|)``Ar9k@4O^?3)grsvuUq2a%> zv$?90OnSJXPgKjuB&r!lf04ONSr+Q+Yp8n-$3NS$naX?+jp*(Flgbv?EQ%;gg+2MY z{2@Y{WYIl{NI5pD`3*?G{|4MO`v1IVbyuBxEu?F-L+5a<-`qC+aQyQF=TyO9TK9}W zIjCqB2afbrp7X#qbLqoY$3T2HQ>V^@yUW(uvUwUETz*VwYZPciP;g&<&HJJ`%$8z8 zH?lvj6(6#aXjy>VT2Z)8NJRPz*-VMX12o^B1spF!2`2~JYwH#}>{F&mDw>&UtKj84aIxq_`gAen>|+aZ%a!ASIW z$sZ2=(OY(!cADyPt>MZzc9uEu*O#}y0fiL@md)D?D(hEV;vBCkp;Wmkq*??RNWu!c zfiw8X64PeG_6SwQ=b;_E7VGmOA={J63_0$Ga(=dy)yVct$>i2vq8+EY7pS8x)Vh7zi4uJjnbQ(_KAUPI0%s$v=c~)F%^=~ zQJU={N&rx8WDOPWx@6|~p5vQ(^3q6bZQuhb15XqCfq_&uU>UA?U#(Sn%XnCL$M`@Y z@O`0`4R6UGRnyE0P?tj{~gZaxN}+SnaP8SLdh)d zE0loh}s{6#-&Co>gbMDh4DV}J{It}NUSNL7mPmq_a zc;*53A2e4+UY`Kir tsD-a{~aWMo?(73{14X98Vdjb literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_charmm.log b/doc/Eqs/pair_charmm.log new file mode 100644 index 0000000000..20c8255de6 --- /dev/null +++ b/doc/Eqs/pair_charmm.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 2 MAR 2006 07:56 +**pair_charmm.tex +(pair_charmm.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_charmm.aux) +\openout1 = `pair_charmm.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_charmm.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2126 string characters out of 196184 + 47503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,9n,19p,117b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_charmm.dvi (1 page, 1604 bytes). diff --git a/doc/Eqs/pair_charmm.tex b/doc/Eqs/pair_charmm.tex new file mode 100644 index 0000000000..9544f01f0b --- /dev/null +++ b/doc/Eqs/pair_charmm.tex @@ -0,0 +1,22 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} + E & = & LJ(r) \qquad \qquad \qquad r < r_{\rm in} \\ + & = & S(r) * LJ(r) \qquad \qquad r_{\rm in} < r < r_{\rm out} \\ + & = & 0 \qquad \qquad \qquad \qquad r > r_{\rm out} \\ + E & = & C(r) \qquad \qquad \qquad r < r_{\rm in} \\ + & = & S(r) * C(r) \qquad \qquad r_{\rm in} < r < r_{\rm out} \\ + & = & 0 \qquad \qquad \qquad \qquad r > r_{\rm out} \\ + LJ(r) & = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] \\ + C(r) & = & \frac{C q_i q_j}{ \epsilon r} \\ + S(r) & = & \frac{ \left[r_{\rm out}^2 - r^2\right]^2 + \left[r_{\rm out}^2 + 2r^2 - 3{r_{\rm in}^2}\right]} + { \left[r_{\rm out}^2 - {r_{\rm in}}^2\right]^3 } +\end{eqnarray*} + +\end{document} + + diff --git a/doc/Eqs/pair_class2.aux b/doc/Eqs/pair_class2.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_class2.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_class2.dvi b/doc/Eqs/pair_class2.dvi new file mode 100644 index 0000000000000000000000000000000000000000..a7c6f5e98c9ea66f435311ca936a0f39871d4b9a GIT binary patch literal 680 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 literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_class2.log b/doc/Eqs/pair_class2.log new file mode 100644 index 0000000000..1e4e952e26 --- /dev/null +++ b/doc/Eqs/pair_class2.log @@ -0,0 +1,138 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**pair_class2.tex +(pair_class2.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/latex209.def +File: latex209.def 1998/05/13 v0.52 Standard LaTeX file + + + Entering LaTeX 2.09 COMPATIBILITY MODE + ************************************************************* + !!WARNING!! !!WARNING!! !!WARNING!! !!WARNING!! + + This mode attempts to provide an emulation of the LaTeX 2.09 + author environment so that OLD documents can be successfully + processed. It should NOT be used for NEW documents! + + New documents should use Standard LaTeX conventions and start + with the \documentclass command. + + Compatibility mode is UNLIKELY TO WORK with LaTeX 2.09 style + files that change any internal macros, especially not with + those that change the FONT SELECTION or OUTPUT ROUTINES. + + Therefore such style files MUST BE UPDATED to use + Current Standard LaTeX: LaTeX2e. + If you suspect that you may be using such a style file, which + is probably very, very old by now, then you should attempt to + get it updated by sending a copy of this error message to the + author of that file. + ************************************************************* + +\footheight=\dimen102 +\@maxsep=\dimen103 +\@dblmaxsep=\dimen104 +\@cla=\count79 +\@clb=\count80 +\mscount=\count81 +(/usr/share/texmf/tex/latex/base/tracefnt.sty +Package: tracefnt 1997/05/29 v3.0j Standard LaTeX package (font tracing) +\tracingfonts=\count82 +LaTeX Info: Redefining \selectfont on input line 96. +) +\symbold=\mathgroup4 +\symsans=\mathgroup5 +\symtypewriter=\mathgroup6 +\symitalic=\mathgroup7 +\symsmallcaps=\mathgroup8 +\symslanted=\mathgroup9 +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 288. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 289. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 290. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 296. +LaTeX Info: Redefining \em on input line 306. + +(/usr/share/texmf/tex/latex/base/latexsym.sty +Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) +\symlasy=\mathgroup10 +LaTeX Font Info: Overwriting symbol font `lasy' in version `bold' +(Font) U/lasy/m/n --> U/lasy/b/n on input line 42. +) +LaTeX Font Info: Redeclaring math delimiter \lgroup on input line 370. +LaTeX Font Info: Redeclaring math delimiter \rgroup on input line 372. +LaTeX Font Info: Redeclaring math delimiter \bracevert on input line 374. + +(/usr/share/texmf/tex/latex/config/latex209.cfg) +(/usr/share/texmf/tex/latex/tools/rawfonts.sty +Package: rawfonts 1994/05/08 Low-level LaTeX 2.09 font compatibility + +(/usr/share/texmf/tex/latex/tools/somedefs.sty +Package: somedefs 1994/06/01 Toolkit for optional definitions +) +LaTeX Font Info: Try loading font information for U+lasy on input line 44. + +(/usr/share/texmf/tex/latex/base/ulasy.fd +File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions +))) +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +Compatibility mode: definition of \rm ignored. +Compatibility mode: definition of \sf ignored. +Compatibility mode: definition of \tt ignored. +Compatibility mode: definition of \bf ignored. +Compatibility mode: definition of \it ignored. +Compatibility mode: definition of \sl ignored. +Compatibility mode: definition of \sc ignored. +LaTeX Info: Redefining \cal on input line 501. +LaTeX Info: Redefining \mit on input line 502. +\bibindent=\dimen105 +) (pair_class2.aux) +\openout1 = `pair_class2.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_class2.aux) ) +Here is how much of TeX's memory you used: + 489 strings out of 20880 + 5118 string characters out of 196184 + 47102 words of memory out of 350001 + 3457 multiletter control sequences out of 10000+15000 + 22500 words of font info for 84 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 25i,4n,22p,264b,160s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_class2.dvi (1 page, 680 bytes). diff --git a/doc/Eqs/pair_class2.tex b/doc/Eqs/pair_class2.tex new file mode 100644 index 0000000000..e2acc00bb6 --- /dev/null +++ b/doc/Eqs/pair_class2.tex @@ -0,0 +1,11 @@ +\documentstyle[12pt]{article} + +\begin{document} + +$$ + E = \epsilon \left[ 2 \left(\frac{\sigma}{r}\right)^9 - + 3 \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_coulomb.aux b/doc/Eqs/pair_coulomb.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_coulomb.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_coulomb.dvi b/doc/Eqs/pair_coulomb.dvi new file mode 100644 index 0000000000000000000000000000000000000000..a0fded2952f76418d9a35ada4cc278338848f3a1 GIT binary patch literal 412 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFw7SW%5Cb7fM$U(TXJr0rlHXu z*NH5gnV_=9F7|AWHUT_4R?Y&1VhF?POp`OJ$I*dO4q)gS&SkN8f@y z{6&30FwtV$#G;AJD<0TPWDX4~0-L=z87MJdj)4K_>gNJXI}Q8#dVT;c(LxS1kXISk Xf~{x7>KN>v#p=zUz%Vvqx(@*WOhJB; literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_coulomb.jpg b/doc/Eqs/pair_coulomb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b499409221ac40f1a52544f98c1f640fce115e6 GIT binary patch literal 1445 zcmZ9Mc`(}v6vuzL8cLB+cbrjMV!P-pQAadxrBm&Wvs9&NtvI46O^n@DY86{?wWU-Q zt4c~2jj3R?k`ScM#N7&_j-^CxgRIWZ?sWF^X5PG+_vU@yKi?^=AiqX5&(jN z!5|12BJD#3>=kBwO=jyh zu`(z>u~{~ffX?8W;&{P^(~Ori&2E|u>^13^Lu~zIbB%HAnY5K;@+q^qy@n{Pf!TJ+ zx?9w~EN{js8(Y10^s&LeV2qzAc}RhAZquhC;aZZBXkn3gt_xbF$$h&M-N>E>M3S_b zZBu%|BBA0c%o74i|FeL21Ru#&Kr~vTb2pEy)*mzZO#E#7U{y)Rj%ta$+onJq9-U)c zyx%g{P~~fJf}E?$IxZYt>PI%Sa0!MG+)Bxceb~d^;aXZXX>fO_r!0+ie*2y~Jvd3@ zvTtnojhFtxU9664@_ZZejY?M7WSd!ndJy~GG{Li_iN!Q(6-Brb_V!h7Ieo#OeqocG zI8(Ln{IDP^Z{2UHGRNwh>o<3sU6S7%*rHu*rh7X% z7u78Mu{uwhs}0@sVb+Pl2MkSaTUdE&5yB?%&7(1tpaf79OYeKDo%}_kIfNkO% z4sa~H0$=b@yR@4S;nP+IiRsM^DGC+V;O|)kuv3+VL~Z{8vd{!B~10#C@>8@NLKVjq)ewNCltJ?!OU zBUz;$fkSTotPk%;Edw2#NZG}b_38Aj>Ur~Fi~OmxM&5GqlaA)xj)j#3#T2Mc=U<2G z>y1xjy-=GM{A$KqfEL7}dv*j&?)7Afmaz||SQJ^&FxD4?=e)YS0NeITj7oP6?JQw* z^;P+a8^q7C#gf>Wn}e&u!n%=ijT-GIoKprgx5shxv>b<;ci9nlGImf(ve2!=c^Q@^ zaW34o(u*jz$gaqmv`mtqB6d<7*Nwi|zw2`<<(rvrH=dnIvTm@ZoSP_}ufd*l#{`eP z2q_L4oIdSN;KiVEt}MMo!lQ;lu}PIl&UI4-dyM=jrnRmGBpG9&d=xL0O$kygTaW;{ qrGil&vYvnG>D33F>Bm@W+%+Hf@_KKF8@jZV%$2Wy*#GJ~Qo-NX^R2xA literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_coulomb.log b/doc/Eqs/pair_coulomb.log new file mode 100644 index 0000000000..da2bfbcbbc --- /dev/null +++ b/doc/Eqs/pair_coulomb.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**pair_coulomb.tex +(pair_coulomb.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_coulomb.aux) +\openout1 = `pair_coulomb.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_coulomb.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2131 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,118b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_coulomb.dvi (1 page, 412 bytes). diff --git a/doc/Eqs/pair_coulomb.tex b/doc/Eqs/pair_coulomb.tex new file mode 100644 index 0000000000..9dacdc1af3 --- /dev/null +++ b/doc/Eqs/pair_coulomb.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_debye.aux b/doc/Eqs/pair_debye.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_debye.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_debye.dvi b/doc/Eqs/pair_debye.dvi new file mode 100644 index 0000000000000000000000000000000000000000..8970d141bfc902a02ec18d9eb9ed05ca2c4d8c6d GIT binary patch literal 480 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFw7SW%mt#%NEiyFPY1`Y|JOBH`qrDSZI$HNQPh_|=udsJMPIjR9ex^4v^|y_tOznNx1g9ZH4({HG9DNJ+ z@E7#~LGMImv-vwyD+>B1nrbO(d=^nu(wPNz1sBAH#g&Ez`x*9#6io>3+o?HGy#B+U zqKV8a9@tD|4h<>-yJc@O(4hHp3=BYDJ{MrxY1r4-^8=_`3ptQMLBqHf>|93dwqW%V R_8`L=SU-U=mBe%(1OV&9k&FNU literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_debye.jpg b/doc/Eqs/pair_debye.jpg new file mode 100644 index 0000000000000000000000000000000000000000..664c8bc5e543e103109962bce727e981858c590c GIT binary patch literal 1942 zcmZWqc{JMz7yX5#_9YR^42dGGgjSIeLA91C$&aKcs+MVurPC_awAG>+MCqW>)DqgM zs;$cuV;B3f)6~c4qcJ*YU9_YfP>=;IfCUHy4oF@C+5iNQ-W>q}{tGBiT9f8uku>2A9m;X$g+rcQe=pLlO}n`%kl@ zz}FnmBdY}WzvS)AIvonmn{tlj4LQ->nEY8Y9GHzJY!Yt5q%1E5o1skzqxg-&uN2_!Ygx(h+1yJMULRkg(x@2 z7uNMxSh$lMK6hBZE1fx!lH*sb;Om1wz3`i30b3hH);3nj4Pi+}?(LY#C?Hd)=3>zg zo7OKG&3|8!;%~*t83K7yoMjr?yozAP^OH-PL!@ z0JTxHIi>`F*i01`n#Cg@ZV)wfex6(sj85k#b0SK<yk{P)DwQ7pB9&mUWI*hw4?X&ixmF5^UW^;W zl|Sg&kO3+K$o?0oOJFEe6Uakg7KVVYMqivF0r z9+z)z8?v^2G-It+I75B%yMOG(MJ|5ABJM?VUq{Q_!|1`qm>X|8R&LW(bm9*c#oMBa>_tf3#z=%OPXy%N&taBeg|hL0UU}7 zJN`l;hRk&G8T&yl^20Pjs&Dys(_T8iYTG4?7kbioa;1g}>P(v>GruxB3p%F{@1T0G zVaJ{%7lJG|l^(pjTZT3aYtLDXkD-V$07#1!5B8<>M;}l|g~3A!IXRKZy>nMWkvD6# zN@d0!EIod8UbV@%iOoxHN=*|xj5kK*tNNRVP;NKrf5VkC(nB=GC%;!qzcMcv!VJ4#IJtt&MPcf#Z9 zuw4Rr@YUwTl8OmxooK!l|EV-&^UL+)rs8UTu}#+*+lZ>>9t69GX}tiB)1iuI_WNmL zv!)K}dPJ7?m<2RkejadtoZf1A;ZB!-^ry$?H&c~yb<VFrrj*0GAJg;XyF;Z45z$7e?j@;F%5;1YVecLR3O<=3W zKHfGyfTEpsNgr4Rb4}UrAL>49CCh~!V^HngdF?>>QoU@BhWDS&@|_xfzMe^XBsU=I znGsMtnf{V~-fP!Av-uaEzAk7Z1TA$jQMJ~q<=A~n1qMd$h82Jmx%5q6ROX8i8h3_5 z6TXmVAz5z)ge*<@%C;g|s_?QSV-JD&JWPGT@@%jkq33}qU)#r@Gh5TBk(YeSwi`WD zNha<^51j+OEG;UPUAX&&IT-HwAiAZF?1=r*^qIEJp(gvl;#;2CL?TCBt%qd0v!WV`)V_Ni1@%$Ra5}*bm0lbF)@#eDGD4*s#Y2%!=Sz>Mu z>9_-(^5B5pAQGFnMs$DWHF14xYehMeyL^q*VnwOxS$4kZr|=WbHu$_hQNhl`MwdFW Ua@+g +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_debye.aux) +\openout1 = `pair_debye.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 4. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 4. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 4. + [1 + +] +(pair_debye.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2121 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,116b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_debye.dvi (1 page, 480 bytes). diff --git a/doc/Eqs/pair_debye.tex b/doc/Eqs/pair_debye.tex new file mode 100644 index 0000000000..d3ab06c941 --- /dev/null +++ b/doc/Eqs/pair_debye.tex @@ -0,0 +1,8 @@ +\documentclass[12pt]{article} + +\begin{document} +$$ + E = \frac{C q_i q_j}{\epsilon r} \exp(- \kappa r) \qquad r < r_c +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_dpd.aux b/doc/Eqs/pair_dpd.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_dpd.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_dpd.dvi b/doc/Eqs/pair_dpd.dvi new file mode 100644 index 0000000000000000000000000000000000000000..31d78b8b96500f2f25d7fe6e49d959ef6498e5fc GIT binary patch literal 944 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO(=#vuA}d2P1G8?R3PzAJLf}6T zEMTf=VCY@&cS!@o0w!B9^LYcqd?_HSw|D-ZtKq$q7&Noh}D7IaMi5IxkZLXJ8dEItKFP6_PF&< zWL$V`{%`J?pM|b7iW@O-08Is9pxWF_i@nZ$6S;HPc4|*!TD1a6@m`m{i9Ad~JGCbx z3kLN~vh4Z_p^wi zlFlq}fN(*Auej3CU_Zki-iZv$Wy*Vj27|+bzot5p9Uc}ez;LtJWz;v3RcIaDUJV?+ z@wVI3v@Ruh{~4R?m;mJo=^};!VnbG`xz#KL)R8L zlKSS$F)#qr)pG%+orZmVJwJc}sD+#tKq;7UEjax!e#Yh??4ge};bBkbpRvRX)-?VT Lm^V3@?t=gT(iK~R literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_dpd.jpg b/doc/Eqs/pair_dpd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..77eb9689741be5fa8899d60f9ee7219b493363e4 GIT binary patch literal 6365 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 U9CTRr#qZ*OANT*WcRuld0LGB@ +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_dpd.aux) +\openout1 = `pair_dpd.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] (pair_dpd.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2111 string characters out of 196184 + 46503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,7n,19p,110b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_dpd.dvi (1 page, 944 bytes). diff --git a/doc/Eqs/pair_dpd.tex b/doc/Eqs/pair_dpd.tex new file mode 100644 index 0000000000..ba47f0d6b6 --- /dev/null +++ b/doc/Eqs/pair_dpd.tex @@ -0,0 +1,13 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} + \vec{f} & = & (F^C + F^D + F^R) \hat{r_{ij}} \qquad \qquad r < r_c \\ + F^C & = & A w(r) \\ + F^D & = & - \gamma w^2(r) (\hat{r_{ij}} \bullet \vec{v_{ij}}) \\ + F^R & = & \sigma w(r) \alpha (\Delta t)^{-1/2} \\ + w(r) & = & 1 - r/r_c +\end{eqnarray*} + +\end{document} diff --git a/doc/Eqs/pair_eam.aux b/doc/Eqs/pair_eam.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_eam.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_eam.dvi b/doc/Eqs/pair_eam.dvi new file mode 100644 index 0000000000000000000000000000000000000000..b5cc6f170ad89fd64b5f1f2f15a0ac9f28d528a7 GIT binary patch literal 700 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO(*q(yBP&B=L(6WU3PzAJLf}6T zEMTf=VCY@&cS!@o0w!B9^LYcqd@%;@-boDYU%NjGZhx4*n1Kgq76`K?=jLV_8trlI zozHmY%x9tNjN(QN96$*WW(7%F?9J?($hJ%8Ghf8&KyJ83pj?rm(N5cm%%MSh+`zi` za`*N2&VQX2)jN^>>(tK-zc!W%F>nFR0b!s;sTGC>s}1_*3jy5%QsK}CRNp&MVC%H` zU;qD!=~p+2O)0KzCT|vIRP_ zZ=$LY>mDhXQzo*0oxW3JPZ5NlnbkLu-RsFtO^5?m8$z7n*ay@WWW8ahHqa&WzdtHHo!s8e|QCUPrZ#^M&BkL4H`fbsHNfXT40ujdCaoV1Wr1t=~V*8)Y^85pq!2i6F~ X9>v(g4QrfYkGP)<3{1jI_aOiPwW#WU literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_eam.jpg b/doc/Eqs/pair_eam.jpg new file mode 100644 index 0000000000000000000000000000000000000000..50e991d8c6eb9fa4af869ed1e76dfa9117fe4d9a GIT binary patch literal 3714 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 +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_eam.aux) +\openout1 = `pair_eam.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] (pair_eam.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2111 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,110b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_eam.dvi (1 page, 700 bytes). diff --git a/doc/Eqs/pair_eam.tex b/doc/Eqs/pair_eam.tex new file mode 100644 index 0000000000..05c2085d4d --- /dev/null +++ b/doc/Eqs/pair_eam.tex @@ -0,0 +1,10 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E_i = F_\alpha \left(\sum_{j \neq i}\ \rho_\alpha (r_{ij})\right) + + \frac{1}{2} \sum_{j \neq i} \phi_{\alpha\beta} (r_{ij}) +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_eam_fs.aux b/doc/Eqs/pair_eam_fs.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_eam_fs.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_eam_fs.dvi b/doc/Eqs/pair_eam_fs.dvi new file mode 100644 index 0000000000000000000000000000000000000000..291f37cf2fe8b2a42b4be1cbeb39c1fe0a0e7394 GIT binary patch literal 700 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

    EoKng z9kTBt_g&l)zV+<@Oy2%|U5vo(^KBQjQDq`=YWJC0laASJ|G4;%k|?LAE50jc#+(T@ z33Q|)i0K-`I;PXlS|Lgj=bs*CFgW}a1%onb%{ v#-?UU%w!49ouS1I@}x~_r*mhYEj-Jq5-1bde0YHIM@s literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_eam_fs.log b/doc/Eqs/pair_eam_fs.log new file mode 100644 index 0000000000..39c95d6bfe --- /dev/null +++ b/doc/Eqs/pair_eam_fs.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 12 JUN 2006 13:19 +**pair_eam_fs +(pair_eam_fs.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_eam_fs.aux) +\openout1 = `pair_eam_fs.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_eam_fs.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2126 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,113b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_eam_fs.dvi (1 page, 700 bytes). diff --git a/doc/Eqs/pair_eam_fs.tex b/doc/Eqs/pair_eam_fs.tex new file mode 100644 index 0000000000..32ca605e2e --- /dev/null +++ b/doc/Eqs/pair_eam_fs.tex @@ -0,0 +1,11 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E_i = F_\alpha \left(\sum_{j \neq i}\ + \rho_{\alpha\beta} (r_{ij})\right) + + \frac{1}{2} \sum_{j \neq i} \phi_{\alpha\beta} (r_{ij}) +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_granular.aux b/doc/Eqs/pair_granular.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_granular.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_granular.dvi b/doc/Eqs/pair_granular.dvi new file mode 100644 index 0000000000000000000000000000000000000000..fbc2079ee5ff51e1952fdba6bc573c22cc57c5a3 GIT binary patch literal 700 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwB<%vL<@Sp8YJi{bBlI1|FbMAk3DWo11B9w8w2C z%Xf*-d=aYyx#4oG$+<;_MmudMGKU83N$c&M$n5@ir$*mI_L~Ry@J%Q-vQ6pTsoB>D zlu+RP1Qb`9zim%;?|jBHXFdyEXB0PL-~d_x!a##^GcES!^-W`45dhZuS^Us7zXfoc zfUZcYFf=-p2iCneGplbR=hvRkB8o~nv%reDAWki=G&I=HFp+81iaogyi}-7*BiZ2= zu>f6cu`87usNJS&4==>DyuQhY%3#di$si|BVrV<%u00K84srh4&j9t=-jcrA%o9)T z;p+tkz#+!szTSy~Y-u1r17#+PJKfmNFd6DLba#~W&49V1q_1}d$Q^xs^W_*AdM7bF z7hp2%>+AUe^rjYassP0$<62Mps`s$GvGl6mN~Q20$PX zfZZ=(ZvwCcc(}N^xw&}uiHC=WmrsbFZyzFpf)F7w5hzqlL`+OvN?uxA;-I9Mm<(Lz zpn`&ul9ITzGD2AqA+M;UxYq&*@&me{UJytO*n17g10aBFUt(Y6f5FYe3+Cbj@$cUr z6$L$LN,US`cqbA-(dd`SmQF2KL4Q{(sgT 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 literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_granular.log b/doc/Eqs/pair_granular.log new file mode 100644 index 0000000000..1f2512c77c --- /dev/null +++ b/doc/Eqs/pair_granular.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**pair_granular.tex +(pair_granular.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_granular.aux) +\openout1 = `pair_granular.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_granular.aux) ) +Here is how much of TeX's memory you used: + 220 strings out of 20880 + 2195 string characters out of 196184 + 45503 words of memory out of 350001 + 3232 multiletter control sequences out of 10000+15000 + 7304 words of font info for 26 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,119b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_granular.dvi (1 page, 700 bytes). diff --git a/doc/Eqs/pair_granular.tex b/doc/Eqs/pair_granular.tex new file mode 100644 index 0000000000..ab53911476 --- /dev/null +++ b/doc/Eqs/pair_granular.tex @@ -0,0 +1,12 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + F = f\left(\delta/d\right)\left(k_n \delta \mathbf{n}_{ij} - + m_{\mbox{\scriptsize{eff}}} \gamma_n\mathbf{ v}_n\right) + + f\left(\delta/d\right)\left(-k_t \delta\mathbf{ \Delta s}_t - + m_{\mbox{\scriptsize{eff}}} \gamma_t \mathbf{v}_t\right) +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_lj.aux b/doc/Eqs/pair_lj.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_lj.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_lj.dvi b/doc/Eqs/pair_lj.dvi new file mode 100644 index 0000000000000000000000000000000000000000..30a516f41b31f16265ba18401054a6cb04f7583b GIT binary patch literal 668 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5O5(b9e1%Ed)Ff3rw2Q$AhFw7Tb;Ow2m&@Xf1v*GrK>5Cb7fM$U(TXJr0rlHXt z*NH5gnV$_JRtIv!{4W0inElvo??w$Yr;nCiS0x5s)NcVxL`K*DtoeT_VsSNDWPv>)U zaQ9AR*q2t+2L!znCANrwG_Do~aTEkP=6}&z@>#T|I+C4%184~dvj81ralp{1Z=&{Y zi_b=iN;+AUe^n@02w1Xmxacu(w11AF`b`N2XFRU?z)fw1=5PSUn1Ulsl(|r&C E0E6t*Jpcdz literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_lj.jpg b/doc/Eqs/pair_lj.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e767e0b3adce4cf048df581ec6c30f737ca8342a GIT binary patch literal 2779 zcma);X*Ao562SivL9eZ$mJ)(kucAn67e%Ssn)cONDH8iuVkwH2UTZ~h1y%8`(q3&* zYwWrpv0qOswo*&%npkQp^7P&NKD>9%JLmo8oS6?ZXJ*csGjoPD%K8GFzG`M+27o{y z;L3>rtO>vbfPmTA*};$#1%W^~IC;1@PvGa~KE(s&7Z8B*L!pAgFcHBsVnR@;sI;h< zgajN87Zj0^m64Q%Nx~&rZvk#Dzyib#0zm;*2LSt#|4)Fw;5ezl$p+#&@#>xiKO*S0M|+1 z0199M9>p^M56R3Y6scbKl0nZ%_FQa@L0<8TwJI|zd$=t23f>9E2ut`_bkoh3?pqnJ zL+6P}(f{3XWwF_G2{gIHW=mzWb#1N?3A8KevhYOU@$_jqMgN%#s?F5d2&8IzARosiTA zzZSzaB$2wT+!3s6&M911+Hs+jLZV~Zxp;0N7 zWL%m8j!JXSuavsC&Hv&~>y_kG&3CtZn~DZ7N4Va0K2)Gr^cTBP-=!|ONYVPG#OoD#NFao&qNePMVFJ2ekqtwEzIF-Yw2v zWFW2({)>T z<1LUh7BGyT?9zNy1sWLQTUJ(hZ=<&+vNcu|I3Moo(6(0vRw!r;XzM~e6yaLP>1Sxl z<7H`RY(cTp*Mm{~4je_k?^%%1do%X>BiHa$&nqM2-uoB29B|;-#XkF*LqzI#3*zp1 zT%-tY%t1K0z@zV+M!1BtflaVD4Xt3Q3EiLWK|N-?xN@oNd zbdzrHua_T4tkxgaYC0-wA>sq23rfWY3iUUK z&v|`Jv{{UMt6VADV`9wpiu=<`r+Q22dxPFQ;0=psD`Nai*;y5tq_-yd!vI3BvtSo+=X0sHCbc;P|ud2K$+%exH=__O(Cu;(I!#uMkv zX!lR~;7@_Z@iwiY=KZ!`4ClHGU2YcDS-7OmpN+Y4$ zr(YLA&8B^~t5=i0pvFwgC5)YELY)%)vrA#C zUJP3eIxl137=5Ibcw~ciES4#x-y#f%t30I8I-{}GG=ofn=6;OoW@)Z#XklW#h)9$- zw4yk)?hY}?x$^^7E?s-Vc4bTXY=KgSjZ}31S~y_P<|iL$wVH3)5UXQ~3qs!|%q`?n z<7<*vPBsCbB0({M8M4>;xqYF&bDZ|Y5a>xQ4S9dxeCGNGs64Qn7O*~`fIHv?=|vDd zDDpk7RZm@~N$J`uEP#Z&yiRn)0^fL%N4=AJg|!jOx;~YrHzHLLkgq{Eh|TKRsdQb< z>*d_~**sP`L%Qa`QunI7FfU`+&Bv`uLBf4KzuG?Jq6!s;tD`4~iy=p!Ah1TRavlDH zTyE5LJpcFa$8pAOHz zpPfP;ng(^Wwj-{a+tX+}n0Dy&>}#}nuwB!1%Hg0QXCu$u!z&SeA7Df-7C^2iumFRM z_$t%Ou#u+R^pGnv&lj{;#fG<#Yb}}E>v!WMS%92-s$T8|+C7UIq^Q`9JT6Bl%68>f%Oz{CkLW8&e)?~OXmmqGEXkSy;BD}?m@n$IR_71As2s9=`l6?&g0 z!D!%Jub5ybIZUctJ^Q)>qtN%=(Y#~%5rJL3s!Mc4lk9n{;LVtd&Y+ldcg^%fn-W9f zx5HtQa(;BTiaFZXyiwTfA7TJJ3ETW2ST^v-2cb9!iBnyP(~16;trnm=>>3&Ho{BlN z3q8ut%}tcw~K zTl|<8&$|4BziHX&Ye#$;!x9dkTT6o*`W%57@%5jD%E637wSOMrzg1V6JE zF?0UWD|b(aW@NQfv!0U?F%olIT6~NbGVU$A{M)lH^-!oQUf-h`jqaJ96Yx+MHh5X< z@vbe}64os(`H%)tKVHx zetXo^Ho055MDK3o3Jop!;O3u^N*F|!#%P;m&ivW7OOlucMU#nrYC6Qc$b UvSSgkQ~wVBEBXI6YOJw;0=b6}AOHXW literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_lj.log b/doc/Eqs/pair_lj.log new file mode 100644 index 0000000000..aec725717f --- /dev/null +++ b/doc/Eqs/pair_lj.log @@ -0,0 +1,137 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**pair_lj.tex +(pair_lj.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/latex209.def +File: latex209.def 1998/05/13 v0.52 Standard LaTeX file + + + Entering LaTeX 2.09 COMPATIBILITY MODE + ************************************************************* + !!WARNING!! !!WARNING!! !!WARNING!! !!WARNING!! + + This mode attempts to provide an emulation of the LaTeX 2.09 + author environment so that OLD documents can be successfully + processed. It should NOT be used for NEW documents! + + New documents should use Standard LaTeX conventions and start + with the \documentclass command. + + Compatibility mode is UNLIKELY TO WORK with LaTeX 2.09 style + files that change any internal macros, especially not with + those that change the FONT SELECTION or OUTPUT ROUTINES. + + Therefore such style files MUST BE UPDATED to use + Current Standard LaTeX: LaTeX2e. + If you suspect that you may be using such a style file, which + is probably very, very old by now, then you should attempt to + get it updated by sending a copy of this error message to the + author of that file. + ************************************************************* + +\footheight=\dimen102 +\@maxsep=\dimen103 +\@dblmaxsep=\dimen104 +\@cla=\count79 +\@clb=\count80 +\mscount=\count81 +(/usr/share/texmf/tex/latex/base/tracefnt.sty +Package: tracefnt 1997/05/29 v3.0j Standard LaTeX package (font tracing) +\tracingfonts=\count82 +LaTeX Info: Redefining \selectfont on input line 96. +) +\symbold=\mathgroup4 +\symsans=\mathgroup5 +\symtypewriter=\mathgroup6 +\symitalic=\mathgroup7 +\symsmallcaps=\mathgroup8 +\symslanted=\mathgroup9 +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 288. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 289. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 290. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 296. +LaTeX Info: Redefining \em on input line 306. + +(/usr/share/texmf/tex/latex/base/latexsym.sty +Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) +\symlasy=\mathgroup10 +LaTeX Font Info: Overwriting symbol font `lasy' in version `bold' +(Font) U/lasy/m/n --> U/lasy/b/n on input line 42. +) +LaTeX Font Info: Redeclaring math delimiter \lgroup on input line 370. +LaTeX Font Info: Redeclaring math delimiter \rgroup on input line 372. +LaTeX Font Info: Redeclaring math delimiter \bracevert on input line 374. + +(/usr/share/texmf/tex/latex/config/latex209.cfg) +(/usr/share/texmf/tex/latex/tools/rawfonts.sty +Package: rawfonts 1994/05/08 Low-level LaTeX 2.09 font compatibility + +(/usr/share/texmf/tex/latex/tools/somedefs.sty +Package: somedefs 1994/06/01 Toolkit for optional definitions +) +LaTeX Font Info: Try loading font information for U+lasy on input line 44. + +(/usr/share/texmf/tex/latex/base/ulasy.fd +File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions +))) +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +Compatibility mode: definition of \rm ignored. +Compatibility mode: definition of \sf ignored. +Compatibility mode: definition of \tt ignored. +Compatibility mode: definition of \bf ignored. +Compatibility mode: definition of \it ignored. +Compatibility mode: definition of \sl ignored. +Compatibility mode: definition of \sc ignored. +LaTeX Info: Redefining \cal on input line 501. +LaTeX Info: Redefining \mit on input line 502. +\bibindent=\dimen105 +) (pair_lj.aux) +\openout1 = `pair_lj.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] (pair_lj.aux) ) +Here is how much of TeX's memory you used: + 489 strings out of 20880 + 5098 string characters out of 196184 + 47102 words of memory out of 350001 + 3457 multiletter control sequences out of 10000+15000 + 22500 words of font info for 84 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 25i,4n,22p,260b,160s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_lj.dvi (1 page, 668 bytes). diff --git a/doc/Eqs/pair_lj.tex b/doc/Eqs/pair_lj.tex new file mode 100644 index 0000000000..02d2fff710 --- /dev/null +++ b/doc/Eqs/pair_lj.tex @@ -0,0 +1,11 @@ +\documentstyle[12pt]{article} + +\begin{document} + +$$ + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_lj_expand.aux b/doc/Eqs/pair_lj_expand.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_lj_expand.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_lj_expand.dvi b/doc/Eqs/pair_lj_expand.dvi new file mode 100644 index 0000000000000000000000000000000000000000..431b961320043ae5f51fb12976495af98eac7f79 GIT binary patch literal 696 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFw7Tb;Ow24-PHYAaQnmb#SA<^qd=G~IX5@c&}fhA zL>A7>&wLT91G(XHtjW1WhDJMWr!j{Hne5^3?VZT@|KI#~X)&J}er+rjV&DSm2VtNY zsTGC>tCjkIO4zT4&i|MeCj?~o&j0@KXzxVnhcO@$T8ej{x}?iYOPk| zGlaE<_o6`7?lJ>9!E9a}C?r-Z_w`L;Somk-o}!7&D<0TPF6y1nc;?J!q3ev|MsSw_ z12Q+$VsCQaM7EoXJGDXX0(xt{90Nn|B!=e#Oon}ZJwJdx&_YfSplD=V3l!yKV8k9m aSZ%=`zu1BbYiwhW+Mf&zOnglDApih`G2l-C literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_lj_expand.jpg b/doc/Eqs/pair_lj_expand.jpg new file mode 100644 index 0000000000000000000000000000000000000000..64776d21d84c979416e4784821659fec5b17a7a2 GIT binary patch literal 3657 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 literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_lj_expand.log b/doc/Eqs/pair_lj_expand.log new file mode 100644 index 0000000000..14cbd02d65 --- /dev/null +++ b/doc/Eqs/pair_lj_expand.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**pair_lj_expand.tex +(pair_lj_expand.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_lj_expand.aux) +\openout1 = `pair_lj_expand.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_lj_expand.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2141 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,120b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_lj_expand.dvi (1 page, 696 bytes). diff --git a/doc/Eqs/pair_lj_expand.tex b/doc/Eqs/pair_lj_expand.tex new file mode 100644 index 0000000000..0aaa2f44d8 --- /dev/null +++ b/doc/Eqs/pair_lj_expand.tex @@ -0,0 +1,11 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = 4 \epsilon \left[ \left(\frac{\sigma}{r - \Delta}\right)^{12} - + \left(\frac{\sigma}{r - \Delta}\right)^6 \right] + \qquad r < r_c + \Delta +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_lj_smooth.aux b/doc/Eqs/pair_lj_smooth.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_lj_smooth.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_lj_smooth.dvi b/doc/Eqs/pair_lj_smooth.dvi new file mode 100644 index 0000000000000000000000000000000000000000..1b41ca4019e59d779412b184c254924fbbcd17ad GIT binary patch literal 920 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 +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_lj_smooth.aux) +\openout1 = `pair_lj_smooth.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_lj_smooth.aux) ) +Here is how much of TeX's memory you used: + 213 strings out of 20880 + 2109 string characters out of 197306 + 46503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,8n,19p,116b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_lj_smooth.dvi (1 page, 920 bytes). diff --git a/doc/Eqs/pair_lj_smooth.tex b/doc/Eqs/pair_lj_smooth.tex new file mode 100644 index 0000000000..5aa5495c27 --- /dev/null +++ b/doc/Eqs/pair_lj_smooth.tex @@ -0,0 +1,15 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} + E & = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_{in} \\ + F & = & C_1 + C_2 (r - r_{in}) + C_3 (r - r_{in})^2 + C_4 (r - r_{in})^3 + \qquad r_{in} < r < r_c +\end{eqnarray*} + +\end{document} + + diff --git a/doc/Eqs/pair_morse.aux b/doc/Eqs/pair_morse.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_morse.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_morse.dvi b/doc/Eqs/pair_morse.dvi new file mode 100644 index 0000000000000000000000000000000000000000..d0a901390d1cc5d847a66739cf86fe9f69613992 GIT binary patch literal 676 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFwExzvL@CvJ^d`W{bBlI1|FbMAk3DWo11B9w8wQK z3uoqMzKGR<+;BP8qc1?hlZU zR%iD0O=6fS)4Qi=BJ+v|Hj_b)ICExia$jHHd^rY&-boD41(yJe literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_morse.jpg b/doc/Eqs/pair_morse.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d236a54e060e7383cd3164d080d7310595c87c24 GIT binary patch literal 2326 zcma)-c|6mPAICql&B!_WMzRqr9V8{0p;nPA-EvEFk4b9D$`Q$ZtdJumM1115vha}Gyq~Ez%h^>2m}WNO@JZ*0>IlA+a~`70u=_sKtdwhS8Ztk1Q8Mf zfrX$T81&Br2oM58pm3SJ!m?V}ohq=uE<5|}I(h!ey(eWf)njKu9}5Nmkw0RmfGx(k z|BcbL8Rph|T@gy38|mINN0RUcIaTh161QEzx-FxwCx)e?Wfx4TxsJkN(Z7S z^eWs<@9=Fk^sX6iiNu2Uli^!fcd;XSvo_f=y)M)j9saG1g#EWk zk#nP8-tw*9MgE~wdn00Vt|{R_v+0XRiiV1~pQTh?#&=@F5%uxOSLIsEOWKwrrg}_; zIV9o2i;>+AGEU^PGes2|MlOpwP0PUSmR5b8FnlW!%J=A+p{!jgJL(nuB+qJQzK@IQ z!Z|Wqt83kNCG~r2wU55RfJu8`MTNs1ny;MoiNiU>VnW?B@b^7->c>yZb45KQ{1sa< z9BDfq&xt^B_Y(jER=yjr5L?UNJaw!R$<2X_G{TI8pY~|_DVr{di3XT1V4}Lkh2dNz zzaFxA7}p<1LY_!(YMI0kf23q&C^@dXbYld-c*3_^pD>JhV#y?d^Qj;ouh{qZo6d1) zidE|KM)PB*(!`|zucOAB`(K{?I*>YUXd1kadom{;-b;v3vB6g-*zTS?D^5N>RFS`% zD7mg*eis~{Dn@3EbdBS6#2;GEJfdCil6*kMPEj~j#RhUA!M8^RKzz5EO-Cl58{s6` zbqzNJ&QI}jO-lG0VeMbBA#~kH3e`QZbI5DVnz1G(zdn)21w;rxc*@K!y9`c$b8X?{XW%L+`f1klGD>;iciN8 zf6t)b7JVS?raKr_mVV3ae*BM^REWBVqx42U6N2rT}kbxC;=b9ARsVyLGYApO-Ms{S1El;&Kg2beuVplXgBOJo& z6EqOOSl$LhQ!}NX))R&tcs^RBO*ZHrw^Pl9hJapkRMq&<`i=UL=VfW=*=F&2MCQBJ zYS;z!uMAbC_u{2L@T-u5f-KW?BGRHF`mO=YL0j3y@_~PzPP3an`NZ_h!Y?XQWQ7?= z?ii%FH&NlI`PRgst|K(uNN!v#wN3J)zSwJ*+EvbQR&wh~@>YTXIL1;@i3#2ppN-NQ zpAatTEA5iOy9n9wbTBLyzz4D6 zgPDzbZG}TE`d$57nN8|tiK!*)fg@`~!|y?jrABMX%}MClxE^#7N~?D8volp#0FdR9 z1B|8AVwznS`%AzzzI1|nv1=MwE#Gmtj@5Vbc{}VecsUJo!!WF2_*cgo+Irr}>S|ll?A&^2=P-X(;^j+d@F-i8?%C8Tworv1g z90-9@h5upBbBs6Bue>-fxd~sEe|X}>(P}R5qOUS4ZDAJ~O`m$>A)$7`jc?AdJ52Mp zF*h{vyRTlmB-zkIU!T;e3a8e))qM5<$Ap0ZzV64edFOwlbW3#ahg|H&rfC+x}kJ@8zELYR9*hn>gELYmL)f(RdHqfC&b6zBmCN zTU~HvD93ePf;q87iBFS_F-LEw5EJT;U6s6zoCuhx}#$|~)rL&6TTyF%5B zXn{S847Npg;;If_N-lchAF_RwC8>mNSD@i)tFF~M;Na+~fc~PC%j7b_VW;s5C#J0R z8l|ptW0%i{*-FIhw=vl>wb=#Ac?8ToW3Evz-(j!USop-=o2oNgETzo$!`2`~5rfAV zh!AFnIS8-N!(9-LiLVR}s&%@7xrFullw3$t{Ku@PUo|PalXS6KdFf2VQ8w#VY)6rz zPityzp@oOHAG)FZllEOia~EL?JiMN4w>c4xz`IZ^-T^4iZnEmsx*wX0qKy<*~|- z4eDB}QE)a&+RD6ngII~)GD`0rJ7he)&@wLZ&?j}8QzWY#+S$7laLxrF{(boAdAxZ< zo!6rMZ~2w0&Nx(f?IrG{t_)g=SdFK!zfZd-?#Zg7U_@r305+X;aL%wz&?E V63_LX%r3dP^G~h+KNt!6{{@~?Z?OOX literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_morse.log b/doc/Eqs/pair_morse.log new file mode 100644 index 0000000000..ba8b1495a3 --- /dev/null +++ b/doc/Eqs/pair_morse.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**pair_morse.tex +(pair_morse.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_morse.aux) +\openout1 = `pair_morse.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_morse.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2121 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,116b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_morse.dvi (1 page, 676 bytes). diff --git a/doc/Eqs/pair_morse.tex b/doc/Eqs/pair_morse.tex new file mode 100644 index 0000000000..21204daa20 --- /dev/null +++ b/doc/Eqs/pair_morse.tex @@ -0,0 +1,10 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + \qquad r < r_c +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_soft.aux b/doc/Eqs/pair_soft.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_soft.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_soft.dvi b/doc/Eqs/pair_soft.dvi new file mode 100644 index 0000000000000000000000000000000000000000..14372a9fa8e87badd6f62eaea41c6df8e26c57c5 GIT binary patch literal 508 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFw7TVVDFv8Fs1kEXTj|c(-$-F0L=nnw&dL0OhcnR zt`k`}Ge7f1tPbRc%dsZs78x4tw4KHr8nnl;w|64r|9|s8rp0|`__eWAh=B{J9fW~K zq*fRjtQP5;$nGw)({LKosukM3laup{`+#~xQvZPTtQG=tdgp(Cc(iw-%-6+xBq!uq z7WILc^H~FPI~f?#QW6 z2LinlwH}m!jTQ!RjBH+jIHG-h6ElC>>?xYayyAh)WQZ|f9rNWF7=S_WT!3k(VP9X* n51@Hk$T0v4H^#L0+ZHj0^ur3_7#q-3h46-!3nbKdiQoZmg?e!2HN_uO-yb1#?9{R@Qj5dZ|{ z0r7x&Ac7FV?+qY;hZhWi^NFJQ#WYN1ub(_6r~9+Grdeo2WI{`;#ChkUKLixaulN=e zKVWd@0fFzj#=y~-#lPd?VBj@mPWAd3|GT>qmOAOB^v6QzX1x?AOO2U^ERpG~sEkGV zzBm>N6$%JX1B41a zmXSOcY7V{jj&xaS>Ors^+a#9dKCC#o9Ah2A zy)@aStX!j{9b!Rj{Mk8wLj#tT0xpO!#Md`+Ju z2h|=*+YV>>t24UP<*A;Dt@c!x#0yypgPk_e8yE{tWu|Amn*uMW5bu^%de+qw>EG`t)BIaSzuYIyKz;phV?C$cYY~P`#$jHsz#?v{c02V| zwANqeVfO?(&M!N*CN*}9t$KFxV+O7f*@`F_)`|=V#}iF4Mf+bB-))S9 z9X?iaO2gaK=4oUh%hWK5pB>R=9}9*ZHUrgvOHlT?-Kes((!5@_n%SPSKtJPCbbT*L`{kB9Lsx57b3CDNMjgMj&T6vt?G@>HiL|x;qo&StSJbL%5aF4Z^1z}gS}jQxIgM3ZLQ@D+;IOhf5s`pf6ynK zF74tW7$8Ta%ge;1L#t$EWmWwD@30mNi;K=81zgDU z2bOKc`fo~1r^mEnI`nG0)-xNMWH9#lirxoJI(1O8xel7+Xmy9Nlha$ls;ixK=kFWw z>%Of1VyJRR`9fw){GrEE#f}wpsP@<}7M^(Ux)C#zc=rv zbaPc^#LQYcY0PQ>u zN36VJlbSnV)P98&HsKXz{DHpgD1Jq-c^aD zOGjaINh-ky_wxj2pYW14@Ks^;LU9)}InV!GylrjADQD^|d$MH|YHE&uE_$gF{Y|kn m;}pf^ZuIk;Dh&>Nrck?fbICWf>`Jefiq_x%?Z1)9o%;s~EQ|#J literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_soft.log b/doc/Eqs/pair_soft.log new file mode 100644 index 0000000000..2f917a6f46 --- /dev/null +++ b/doc/Eqs/pair_soft.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**pair_soft.tex +(pair_soft.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_soft.aux) +\openout1 = `pair_soft.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_soft.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2116 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,115b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_soft.dvi (1 page, 508 bytes). diff --git a/doc/Eqs/pair_soft.tex b/doc/Eqs/pair_soft.tex new file mode 100644 index 0000000000..c2db15c2ee --- /dev/null +++ b/doc/Eqs/pair_soft.tex @@ -0,0 +1,10 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = A \left[ 1 + \cos\left(\frac{\pi r}{r_c}\right) \right] + \qquad r < r_c +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/pair_yukawa.aux b/doc/Eqs/pair_yukawa.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/pair_yukawa.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/pair_yukawa.dvi b/doc/Eqs/pair_yukawa.dvi new file mode 100644 index 0000000000000000000000000000000000000000..f9bb04e34e551044e64461fab1656f19c7292191 GIT binary patch literal 436 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFw7V7OYEJ*u<`Qc&w|?@rY~mT0h$HEY{|K~nTAGt zTqm+{W`5?2SRKd>mt#%NEiyFPX*-QMG-!`wZ*TAX?+=gmPGmGTPVJrld#TZ9(S6=0 zxEVNr#(*$Td2yx10fx^)*BQl)kcD$IE%u5O_4R?Y&SwqG?POp`OJxvkdo`b%gS&Sk z`{$Q?fU-b&{alBliOee=*i0_!ozHmY%-&?6=zKW_2B6!Y3oz|8?Cb0K0kldBIp{zh cW?Tz)1S3`_VRaDpaKIV@KY_t-!E_%804S+_ssI20 literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_yukawa.jpg b/doc/Eqs/pair_yukawa.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f50280e2273e68f5e673b52b69a0b319591dc951 GIT binary patch literal 1388 zcmZ{jeKgYx7{`CJ&E`bR#Jp@{BUfIE>ou0^=6cJm)HNc75#0?d-65|zmzK<1r%5lw z#gZl?FB^&zV~UP-%}c0U@3yr%4Y{$q`s1F{AAO#4o^zh_dCvFw>rsp=-T+#DUcO!c z2m}Irlm#eW0S5sn7y^NSp~?n@LRDevaF`O!9Xr(25t`cC2u%b6scWQ%)G^qFK%h)e z252-Ei$&_;OmP@fBMcU!=mvJc0cW5N1VR9cUce9l0bu0`5b!@>h%#6Ou9W+<01!k4 z1Xh89!O*WB1gI!ALR;0u1Brv_?6Qr(6Pdc_MosO03@BDi0`M@T->B|MwmiWa7 z*M1)gj!Gv1`J$BgnU@W7;;f`OG^k7Ck>?kJQx4R!yzlS1@Oto7a|xFiO6`Y7sQz%9 z-_={X(^wxxn4Cz8TUwD~Ep>k#BSoh=%-4|S7Yoj09o%yCvG*`8uyblRACNt)vU;%h z=xn0C8{Y{VBWk|fG}#u~n-Lx&>3CpVCm0SUsoP9fxIljig8mn+Ks)rXW79J4mi#|rgV63)_ z2Es&>YFn}8sO`mW$r_<2i05QkGB6a~){xds3JGy%#r@OLls3E$QvheSI=4iv@qIT| z^TxMT<&0L0w?|eccabB8yH>?-D)c zw{KHcpTyl^zpG0-zIAJ)VoA@tOQFXdijhug_3CTMk9-1Vvif!A9%N-jQfU#b=%h`=CB&Fq|@ z@p&2dI<8k+@7 z*LrJd;DNRBo~NR{#*8+<%)GKg8>h0KN88fW^~j^C^-NAf;(|49x4pBjM5yc3PPj6b zj!42hXIe1Xi;3(maG4f^aS#8og6-^7@a$7(fwibVLTVm!IEOd3VmIpR+4v;wq&v(r zb{(SSfq@^d;$N-aBF<)mQC!8 z%R@zklkg<3o1#ZFPy>Sk;@!@=}LAbvReZd#V&9qR-I9 zG*?UA6%iMnJDp7N#0bD<;fX1>Jwvp@qJ?bDY>=#e!Il$MnNxT(_%uXPZh_aZA>Z1d z;>A8vx3!TGVm&`Hhr>HzMn%tTollxu0x5t?=~Xx!&Wh3skGgnEt&}N1MEZa5KArn% b2v2YnJWFrq2-`wjcQB3>?&>VZ` literal 0 HcmV?d00001 diff --git a/doc/Eqs/pair_yukawa.log b/doc/Eqs/pair_yukawa.log new file mode 100644 index 0000000000..7910391f78 --- /dev/null +++ b/doc/Eqs/pair_yukawa.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**pair_yukawa.tex +(pair_yukawa.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (pair_yukawa.aux) +\openout1 = `pair_yukawa.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(pair_yukawa.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2126 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,117b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on pair_yukawa.dvi (1 page, 436 bytes). diff --git a/doc/Eqs/pair_yukawa.tex b/doc/Eqs/pair_yukawa.tex new file mode 100644 index 0000000000..01347ec201 --- /dev/null +++ b/doc/Eqs/pair_yukawa.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = A \frac{e^{- \kappa r}}{r} \qquad r < r_c +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Eqs/stress_tensor.aux b/doc/Eqs/stress_tensor.aux new file mode 100644 index 0000000000..f23e54680b --- /dev/null +++ b/doc/Eqs/stress_tensor.aux @@ -0,0 +1 @@ +\relax diff --git a/doc/Eqs/stress_tensor.dvi b/doc/Eqs/stress_tensor.dvi new file mode 100644 index 0000000000000000000000000000000000000000..27d77ef66799dd450787b2049d12941adad877fb GIT binary patch literal 736 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSO)iX5IGqAKWG%z*k2C85LDI)~_ z1Hl5OiUx+>1%H<`Ff3rQ1v8&FFw7TY;O?Eo(A_QbS#bNq^u-K3K(j!YEjc$g)6i&7 zaPNG^GiN>vU1tzMXV0whU)}M78x4tw4KNt8uVF2 zQAuYOSc(f`XmO>X!G4C`-ubW7qIxGX{{Q!x;n&7eAqJ2%R7q-up}}gSzWG8xr-4+M z^z}{TShZ?TZW-7udlUO6vNE6F1LXnTz;?D}r*<#U%z&B+kz;SxgffoL{592)>~N2>0R3jM%hnL+BI(V2J2mzsLY$NdbOe9Xeujxmt5(3o zvic^nq;c)k+~WpOlLVwJtUe11oZWYhfejQIu#hy{mzf1}7dS|`c4@9QhI$^zHU&Ak zZ@wG@12CGN3oz{j+THU5s8b6$m4M=waV=1kgMkrym}9jUYqVld2-pGwYs6!Z&z}qo KOv+66K>z^HU+)9} literal 0 HcmV?d00001 diff --git a/doc/Eqs/stress_tensor.jpg b/doc/Eqs/stress_tensor.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1bd227d9de6e0d3feaea3d4a8a275fe2f8d00bc0 GIT binary patch literal 2657 zcmaKuXFS^r7svmxqE>2;glJWxW^EA_6g7(8+ZI*aOB6LrtV*m7t42hx8FUzJmDWgN zrWB>6T2&RBs95DvvsNDNi|2WBKhO8=IiK_UopWBC!=ke$f#X)@mgWEm1Om!|%K*R{ z0nP*5TwGu-PHr$5eC!xE51$A>A1^PTq>wN~L|O_iBP|7k$(~Y0$evV|gTWMZ&nTZ& z*V590Bar9xGz?TVwKP~Q053Oi86*Y*2?DHk01AKrHugh_|G~itV&`H59|qCK0T2fp zh>e|ti<^!2DB~!ZgH!MXmyoc!vB*icAPt@0uyGk+Q9139s_L5GAB%}=nq0AW&wSe2 z#~KE>j|!uK-JO&FhKl<23WIn(zw>e}L%uS{;IY>;1pkXq-azCS&0y7RY=&W=8l>}susM592X6**HxNTR1tdp|!=pFZ6cZ7r?7VaLD62Osev zn;v5JX&wEQWH$<7Iv5?gY-&!)xS#Ip+|PvRh(gZqTek1F9Nh5l3U!4`=cgZY?}-0i zcJHHz`jspPB^YvSh1LBkQ&H)46m9sJa zF9yWb^B43bn%2%RU()W28@*Q=QpE>#pTQ1q>KnJ=jNE_>8Vhgevs&#fo}@pG>QVo?XY3m=QIaFc&d1_=2ZQhE?%mbau>d z3`X9)@$URi^sqW5feQ)VEnD&>KQW+1UT@HSAvxfPzDb1N=yJ#y`1>o`>extI{?83K zTg8$T8LDa(MlR)c8ACk#b1RVrs649;;Grw1dEDS5hEXifg={Te^oA8$c(Z4A<|^9w zm7x4;w@bHtx-g{XlDIT}0og6kcNjW5N6}F>)|jqvFZLM1NI?|qxJz+=E4zHNi&8 zwE9*TE7O9@<3{b+$YRN0fi26pCqqBiQ1bTrMAzy?nW@{i)ZCy;(EfOG=Pj4uq=)yxDyEi-^Ft7n*<9dfXi24zp-RA0RgZF>tpeI9jk*O&0lE7)kffp-l~YN zslHvyS4pAIYc@1qM>wSwzmCBAi6NI$wt|`qG);rnX3TC_hejr&J%uE$i)gPiaWvuc z-Gwd{Y|hM7tshx;%okfPav~sC9`>p6+oTdxD ztTnOASw5$5xqt3k^HXY3Xu|j`rnt&g>5`#j{uuNfNynT8$h#b*GGeCCKhZ3peDIQc zaZgCEwJ_)1Ynu!2U5IhCUS`IdwMz@`l@7h#gxk;gRLl4sF}@@gz)Su#P0+30T&r3K z24CbRH+i&bp71eGB*D)TV$qmUYgp*JU6kea5|*Nmm5+He?>6P3yqPpzIPGV_L{{at ze@eMoHvVno1FhFSgue1l>vgxgI30gcL*`q3r2$|~k%G=t-j*8PNbBl3_&^z+3RbMh z3k&nxZIA2HpJ)gJzU`&+e$9sBN}2V7;U46|O(Crir_hC{a~Hrp$|3Jn=P#m2mZwur zWiBprdLJFi2Ssx+&-IGx;60Ubhljy|S>Zm%_)g6U^}KxlBd!2Lt*Ts>E*qbeS@Pb0 z@wCLN{g1Ah>X6{88sZfZ=Kb@%Lztur0l{`&yGP3iJdqK>0aDWaQh+WXi;^fpG?PC$ zZ167ylmii8S9IT~kxf{DeUvZ@P{yEtaH7hpno&u_ePw>0^$C$wv0T2>XdKmlywgBN zd$YW>>ZPiRw{)kMYe}T3S!LvkQ(}j^1T%%ecrOLh;g+4-zsJ7DYseRU{6Q5B8d@6H zGMLRftgzOf=Dzhh#|w9!ZZsdnm21Tjj$_D zk(h--=(Yr!GT`$s(-6Gu#a!_wgI~S|{XaxpIwj6wkiMEn<&8c!7 z)zrra33d$iHYSuBa{sT-|qV-KaFXfNLUITQuEws4ri~Ji#E1NR+zj`XoF&sQu#3w TT2f#DG$&qrB=G++V-5WWXj0@U literal 0 HcmV?d00001 diff --git a/doc/Eqs/stress_tensor.log b/doc/Eqs/stress_tensor.log new file mode 100644 index 0000000000..8f4067d545 --- /dev/null +++ b/doc/Eqs/stress_tensor.log @@ -0,0 +1,57 @@ +This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2003.2.18) 9 NOV 2005 10:54 +**stress_tensor.tex +(stress_tensor.tex +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, german, ngerman, i +talian, nohyphenation, loaded. +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size12.clo +File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (stress_tensor.aux) +\openout1 = `stress_tensor.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 5. + [1 + +] +(stress_tensor.aux) ) +Here is how much of TeX's memory you used: + 214 strings out of 20880 + 2136 string characters out of 196184 + 45503 words of memory out of 350001 + 3229 multiletter control sequences out of 10000+15000 + 6376 words of font info for 23 fonts, out of 400000 for 1000 + 14 hyphenation exceptions out of 10000 + 22i,4n,19p,119b,162s stack positions out of 3000i,100n,1500p,50000b,4000s + +Output written on stress_tensor.dvi (1 page, 736 bytes). diff --git a/doc/Eqs/stress_tensor.tex b/doc/Eqs/stress_tensor.tex new file mode 100644 index 0000000000..1361844ec3 --- /dev/null +++ b/doc/Eqs/stress_tensor.tex @@ -0,0 +1,10 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + S_{ab} = - \left[ m v_a v_b + + \frac{1}{2} \sum_{j = 1}^N (a_i - a_j) F_{b_{ij}} \right] +$$ + +\end{document} \ No newline at end of file diff --git a/doc/Manual.html b/doc/Manual.html new file mode 100644 index 0000000000..6c180d5152 --- /dev/null +++ b/doc/Manual.html @@ -0,0 +1,192 @@ + +

    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    + + + + + + +
    + +

    + +

    LAMMPS Documentation +

    +
    (17 July 2006 version of LAMMPS) +
    +

    LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel +Simulator. +

    +

    LAMMPS is a classical molecular dynamics simulation code designed to +run efficiently on parallel computers. It was developed at Sandia +National Laboratories, a US Department of Energy facility, with +funding from the DOE. It is an open-source code, distributed freely +under the terms of the GNU Public License (GPL). +

    +

    The primary author of the code is Steve Plimpton, who can be +contacted at sjplimp@sandia.gov. The LAMMPS WWW Site at +www.cs.sandia.gov/~sjplimp/lammps.html has more information about the +code and its uses. +

    + + + + +
    + +

    The LAMMPS documentation is organized into the following sections. If +you find errors or omissions in this manual or have suggestions for +useful information to add, please send us an email so we can +improve the LAMMPS documentation. +

    +

    PDF file of the entire manual, generated by +htmldoc +

    +
    1. Introduction + + +
    2. Getting started + + +
    3. Commands + + +
    4. How-to discussions + + +
    5. Example problems + +
    6. Performance & scalability + +
    7. Additional tools + +
    8. Modifying & Extending LAMMPS + +
    9. Errors + + +
    10. Future and history + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/Manual.pdf b/doc/Manual.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ee936e049209ddee3712577025d844e64520463a GIT binary patch literal 970603 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

      }RIFG^6 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�M+7pc+bjB{Ip(H`P)$`tZ>1v{Do*wg9bu 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

      <_wLOjt#ll~zR67yA%2qaW9-y3sh;`L1P zOTJvjS@>9VLboJ_*JMijcc#35Z=11kyX=y*scMD!-=$erGj|v5JpSS%a+`yCC_j?E(H##up*U!z%H3R7ryv^7geT1) zf=3+jHfzw22i$;@SbmAYtUwK0i&CrB9*k5aWiN~aW$S`U(;;aQLw!-8fx>Js}5vp-g(|R-x>Y!uV_5P}$<{2@OG7^-%q-%!43A1lv z*OF)Zxb&+Oy-`ToW^#c{4bfI+0W?P>-gBReiwcapCt9X~`NLLxnAb~BkFGJ&DmX3H z338YAH&pQ?qL~L{vD@*Qt zMqM|r2tU+(zbyHxy`~=zj)K|s_PY@gmxw zF^3x*L}!?aj$F3BFH|3olhju(QseoweKiWTVOD^97bMQA7%8+LZ2OMss_J*>$&YT% zguUA9I5|c}c2vsHIKHM)Lq)XWKNGmN6;Sp#@$gRjn3-t5lTpSDwXHU*uf2hq1;K6Z z!U?g(BI$1z!2Ys>kn^Zi!%feY-50jghMCKfOEo&T(!laXQd6gO5Wpyh1KhYgsZ}+4 z)R|#1pC6BfOk^fk)W>C*48VouA@9jMW>Payv!~x0o;M~CxD^LZXK99AoM28z!zkAn zYC`|WfV4lrqH)w9SO82IkGhl-t3<*OI(}6m`WvWOY1tm2%>u%PFSvh9Q0|(zFB(+i zsdTtJS~y>cqA+mQw6{+tcr|eS8Ah+bF0R}u{Q#}WlUEqB5^$dm`ehjmA!i8FcT?b) zSW4~Ode3*eE>~@Q#CLr|ABB{} zkMZY_AZ!qVU)o})q4|8zzbaW32q@=~-6KO~2FOs7;n^Ux^&@yhPE*kIT{_pQisP!5 zwPc7o@vT7xCsw0aUQ}xsKrPGzf^Xi}(&>dqJbHJ$-c5Dm9q$cA-}~rE+n;W&r{a7G ze~fkBJJZ=4#ei^fkJbUHF->B|uNv^fXPsid%CHB^|b-AdeJuUS%tfNf@-Cr`AHcdwnNJ{r2B%*Tkah^ z35=ZiPtfYqeD*(12>&TQm;L`cKKIYAzy2$W%ktkH%6@z8KZGsTKXE8aRQv0>!IA1X z1E~IjPHiTQn|g!ReckfLiyDD0$?Bmfl5&{c>HCW(Qvq*9iv&7N#-~Sgko9H<=F!?h zM9~vl{zC@Z7s>E)Gsc1R%e`#As-$K}v@5hHYE#xusl^-0Vmj4+lL}hZ5%U_(>5$Tjt3^xhCh6w4 z&%mAJ&xyR=F7sRALe^`{-k#RZFyb!ahl94u<5fScDnM?IS1ga2g0HBhkh2DIbCNSbyKhe;iM9 zxe(a{Oqr_KNze6~dB-_05&PQyzDsxn>Ea|VaS?eCA7<+591Ic5{E!xR{XY znK>bg{`ds_Ag{{FV(Hp}b7WbLZXdFPi_r}g@$saEs$6xpC8&h>ARuALxum_t1pR%L z<5ehGfT1MXu4ljgf@%u*XEHOyL*a&?Ps$;yA)N8R!n43qDN`a_Q^ZbFAgyL!U{mCm zkxQrh2dvhngC#a`m#R53Rk)E#3#*^xjD<_Gg&s+z)zuGf?aFo{S+Mr|-1_2v2U3Y>+kul=5SO!Zu`?^%a3MVjLn0y128nWz44=h|a| z;#W>slpLoaVl-^xjd!Cxj_1_C)foXf*8Lu23{6S9*)}}Jc@2Cc*Vo!G#WYh)(~3jq zKa@}aiM0D~P49>q3kirq!c+s+xcrl6^O60A5P5gG5|+P2E;03AXTvA8@VnZe3L8a^ zu8fiV2=MBIc!RQC6DRGGH|4pb1$1V(?pkRCb@BAqMYK^;6?O!y%PaL9W;R7>zF)TW zMmZMD8`Nz)xf&w9NzE2rf)pHB0n}lNr-V;vA$rb2zD|(BVT5;a{n7v<@W!1*$IUb# zJ8fb$ZRZX$h}aB;wE6RO`Qv#Luu!uS6BBZS8>E-`qmdG3o|^B?u8-EwxenGqxbYDP zoZM$^D}m213fxNX!KChC`#hg^D^~Uq63*{U;AL@J^!!!ZRCo*PphJR-VOvW7sOBr( zttCC01HC>0b`k?KBIQ-<`q&3oD-QmQcxw#`%t2mdWLBu&tXI*cPp6+OyOw$|^ABSm z1>Dgt`PbP+kC8Il#7Y5PQ*i<#x?le6xsQ^IT%FM+4Kjs_-lJGUbyaO$0#%elILm&^ zshgBA4>>H~ux$9y*3|7U+cA#PiIG}){K0x%+qaI+(NbAT^2Cu?!s_PT2WDl&64^@j zqNPJ@YTauEAnX@e^wLFUg}%fX-}oTd`*TXC?oc~Et?tP{UT49~Dr-1&GBU@tNx+xn z#J&p5Gh~N2KE*{Rzi;IG>$XJSUaa_z64v*jLW15*lHFl@P(K++SQhLR!Q+$%jm7nv zxBHIn{g}@iPXo>x_IUmQJFB?hq+X&J7K+T}P>Nd=uXMm&J?wyF%Gzd?t2{yjWVDir zv7rQMmJW9EA|Wy>0+X;|JRIeSgh@rqtw3E${t*~IhkXvg z!)PT^H<+g^QB!IUr^<=m05d7z-l3|n2TO)mY((RaZ$ zl+R!Hr7M6My!9Jh{DV32JD9EWST(Oz^?TO~yhNX))Suz=zeql_|J#?^f3jrzUuSPv z{{Ybc3=7S`%);@9xia%_rp!~-Ep+|gdQ_-aZia$*EG(H&OoJ;Krjr3a2TL^UPzMpJ z(2uuCQc`v0xGIdWw!$adsm`AnLSCIAW>I_$m7liV6qU4xGdMag+0owG-)QnlY2r!J z6h+D{8%)7TH@?9Hp;|7D zBjDPT{=TgBO`DD~$}Bm*^HX8$lzMfV;dElCI;`4Gr&ed4ENx?Gbh%c&F$lRaGUs2) zq>z-*#pcXNyfcg%S1>ue|K6QST^OJJQ`97BTz;{SGN0J(hypb-G3lG)_tXjLEJZa( zF2t9wl3Yd@_GyGiAQ0rUh0WE&n5$!G@}jPmRB=Q!2&+nbnxg^8hFTj1?5c49NCdMa zb##%AAz&`Sv*#iw`SREnk~{bF%&RN%y0JyWih%Q!dC}jX&qWvgV&q60=EaKuOrO8Q zQy0WRRYn^05K66v-$z9hxszgywoFG(N`=u0h(`IuEieXDu)Cf;&_>PoyL(C!qXo%I!c{mQz3@U94qb(H>y+ z29^qDm8EZfqU8+-U~Wbo%Yk&AB+(Hfz(RN9x^Uaul28dgb66}$p4B5+74fKH^49v8NiT`DvPuw!h?l_~ zZx4km(}+i-(kL#v>6@Y$AkPMH* z0C`&m>IaHOYn{3W9IYDRvc58&u%!Pop{qt75zFpN(AWw7?&4+zNbIGeXKhHEHXFGs zJ#BmOFiA(rP2g79`SI2t+--e4S1jj{pOb<4c@>`0P&!@LbN_yKMqukbr>$*GIf$Du zSHXn_PvK2zw9P{esd1&?9hRa)7oUzS$lYXf)Br1&uHILzC=EZ^y8)XPXuvtwvxk;? z-ADh54a-V@kuj}(n7m|mCR*>2FsCR9v$apaM&Ebx&J()gyosC@T&;YnwHK| z2Nw#iI z`_v^tTiLwzAy$UNiQivW+7w-#crHZ-y0Rs}f7VyNupOOQ)q3`AE@rS_+I2=Omdk8! zI}K!SUedm|KB40Y5=;IWxc!UL1or=1X~Ms!top-E<8QD0heIbL{U2jrBLA*PfVnrs zMjHzk9s#|L8I+LEkzZ5u(SgDEZio3v%e8(PdwI=Lr=^UwgC&Nuyu2LG;P^Be`H%&= zy`jr75|@{jV7TGI|MIrCcGV$hi{eU%${gL%>OOK}RTt3#N`uCL1`Q?1yV7-Yc*5m` z9_wu1=6)Nc<)V>wS=IO6nL`f+)>M22D&n=Azuh8_03a7k73N9Dd*ksE<>6-lX7QaV zWvC{lI%$~f$A_o_Yp4NTp3OoX0zuzsXYGP@`Uss48VX3mNRM%c#w=MQ$xDL-ZI^^4 zRw9OS;>*(51Uybwdq298N}54@X1QIv-v6udnWHilVa->!X&5 z=TPccy(4(Zd>p?jr?8=7v_$JCDM!E0$tS=Ed8*hJ? z$$PF6lMuL}&1Lb-q2){!qB+?Sl#&p{UMa~=P?iypW2}CJPo}|(F&yL3bo*jOMBoOo zcR=B{ks)A6h+l)iOF(B>j0Bp+>`o@`b6s9S&dU)8R6S>j3>$j!l_jF>H+F_FW0qfS^3VFonde($Qthv)c4#AHfkb|Ej!1MNJi4|?Q@B#~OHY{D9t3o?ZCeo%N7*@d1EZ`VwueRxUR z)_jLmfjtM6H6z9X7PUL!VB0`YM-JXMP2vajsi{p9T6_(A+|7vu1JG}HeySu!N1J{O01)T z1||CWM04920G$|@Gh^N;?yi{U=A0~`7)IpDRZD6YnwdG9Y3TOm^D*vvnP`%OCUn!4 zz}ii;6QJ=~0i7qV=&Qk(&ZzKXJ&cRxR-%ulK{;caw1V{}#O_G;SVXejbt54(8 zF?cJb?sHXU9rTl8r;C>Sf;~e7ID?)QJhs;flvG4`C5!U29Af_#qpg7&)V%^F1Q7P4 zFKciI!g>e?xk`kAiXu0q(Sq?C&$BOTu|jlLj=8L66Us{m+ZwhlMK&v3+0344s^dX` zXu4-VI+{?e-*+0X^PB@;APSGG3A+p%El_Rzbi%-{^y+-6JbeGJA$`iaT&qp3nE**! zRn82?>!chO7!HbSu(~u1G!v$IK!pNBc5N*l=L->tkE=Cj>u}H}wFxeZTs*^SL)os~`)V@5_U$IGn2>~VKcQG=|>mKU4?+hpUY8dH;0LDuAJU(wqc2QZE% zPAtVn$-7|gQR-^8G&9Nx4(q-|rC*#+mgN<$+hr)h9-3<1qy#^%+^j_8cm6-Ty>pNy z*t$KKW~FW0w#`bj(zb2eW~FT#m9{Ev+gWK$_Py`D+i$vmbGvWMOyrKp^XEP%Vt-oe zTT2EujKlTE`pn_t={2v@FYRACq4lkspE5d=oCaBRhZ~IAjXJ1oQrgcQX|GIAa4{+# zdVdzt|0XBkpG%AX30L+%-f91Hmf7dVIt%{i`OSwx;*<6IdHzdp?Z5pG80h~=VE7#~ z;2*dDcafgszd^Czb7(7-|A~rK>DV2Sfrnxw#8bHSfHi2ho63w83ODKt$ z2YkT1(;ez8dDp|^_L>1^Nih}k5BrFyj$2kl1;C)KD$nam8C>K3Wh#Wo~ehQeGb zkd}sH@eGR(tpDZ45NAPZQjQK*5NRh}hb-o|soh8W48|SJ0I#?E9ody~8LR;Q5igAL8F)3OLvV)K&21wh-`Qdex8OY1qF;sjtDz*SzuHf!zsh)}87pYUtb zHc*y5t>(ZFDc?`~o8|TuqcS-R)|wfFlSr<(MW_dHn{6Mc$j;N`lqhX7@1B(&46wAw zq8Ymc8p0lW=RL$SN)f0F>hb+>&edGMj9D#b5M>b2E}|yN-j>oNP;`xiN1ZZiL?39- zzI1}?e*H8p?x!@VeOLLFQ~Ff6@u1P3($8aBU)^E$P@@<$WNnQm%wpqLk0Uc7qU8$&qR&HoV4hmIC z3s{Hrc4hLoJ^!{%kN?%{<7IWq#f7*A=&k>#&2bSBC85767Csnr)#*&yk0E9W-*$zl zACwh$jpfMw=Vtx%Nrg2#x-=Y7ZdW@2^R6zuPkRl`yR=r(t=|T$IJ_4QEMY~oRx3Xq zii<;C%v{s?yhH=g`PVD_N1qg$l~5$)r`|HTrlx_qLubUZ(8&uSThcl_a%4M`cy^o( zr9iVb?;I)0q1S6!z+^z2*_6ke{|d2i|}MiLjqGQSM_SVjlko zRjw48J0I6f4`w_GPUk>waoY8TIaovb;gKR`wOn!|@2zVaacIAv|3oL>07lSDXsK}H zO3s>8$Gc>p($&FaqEY2$ZpK~{oT{1lT&JI8dHhJ52t4{qhNaQnovEhH7Kgvb^<7WRZT(SHak?H(5@g@2%pW;jKJca!E zYW4>)=ZSD==rvzx4h*IRYWMmBh^p(Daz4Bh&l^gc!DI+^QwVDO)CffsF0Zd=a<_J3 z1bcdJ3D!Aj?RsObSYUxYKTVed$K60izwNNB@<{Rm!0^1Dwh}WM=TA}lxe-|aJHm_1>?dX#A&QV`Ug8@cNA4X(QW90L7 zcDig($5x1;uh-jI{#7jFc?imCNRW&0CGG1VX~U|5P-h(cm@+^(CbQ10g0Xt` zfxBUlxPc((PlY~x^3X&m&F z5#;t&WQ;Ki-7ZH1MWbe8>Aq%`M%R4WzNbm@ZI=3^YKG^O(6xoT8Pbwl^hN1LKJik9sxHthI|8lxxi zSXQ2C-v&6ko~gxGhNZzTu`}Lv-V)8S_sIcU{Vy`H)XvQx8P%yTy7bsoy9-1c`SWRh zk~El>*!s{k?ucC9LGA+%G$5pAjh=Q9Ct{3a?T2EG^agNZSZl>aGx?OD@x@eMl3B%6 zh(c3cMME#`h;*-9;VligyyDSSi$e5|?Np1q>DuTUHRf%EZ+mlI436Uy=3+33bj1nY?szCd6-+ostPdobVMj`Ag`5-Ph#V+p zvOi4PJbxOL{K-S(_?u89$A1h({+oyPcjOrUkJSV_KI1?6juMO<_@Cz=g~g{S-GBSi z{f1nA{s^DX@l&edA7AC)y-Zg2|B~eX--X1O^(sAl#|zc{Q4RtTFR?tR2EG|qjx8O9 zC$k(mB2Mi*6=FcY&n5}Uyt4vVDb*ujfX3wHWR=T>39_fBd?@-A{H*-}5}x2-7ytp$ z>%`R@rP|bm-vDnMZ8mtIAoVp>Y@+b}#(*m6wgU_stU!NeKOF)&G=vKTAu)lR8DLP& zCXaAO(AIcx2YxS39mxdIkDhJ%5mCgoO+vY$a}57-x}GbOL)Ee6fkpsHy;jjHInkPN zfP62!1#!KEAz+pTlrMQw3Gl{UK4$D|VY`p?fDFtXbuPMV7g8+C^uS zP$5r+tZwiVkcxwH>AiJ5=PAQ1;A%u@!+CEG3N+Eu)E2ILVm=spEWs!jl=y7^M}Q(h zbX8=VB8}%Oz+`;OFr&z^atn<6l~00=wPsc){Q91$N!$5&)zLJ?oS#?X@i!wYg}YPScuI$% zN=hWH;}h!#6>v!R{E^eiC;ymL7qwxDxdx}Xlm4w+Od-TMV8j~Fc|`@*AkOCLEWzQr ze&J58Z{J?vA87X&W)|7wpSL?e-rT=|!{_lSZZ%0}Y-p7J3djv5$QH1EpplDoy7ZF2 zB7{C~9D2?ju0XccB*H0K)Z`d1l23(Kg8)W9RF;+EX0wS-a(%|KO-hq3!Jj?&zlm*p3K{?Qiv9z6#Q#6Ajeq9- z-#_ZVgl#bW$qISa|2X7~=L4xROGqFqBm3M1k%N_|_7pERc4P?~O*k^P1cX zDm1JX1R?Z|rDgFr7$2M+j8Xq)kY=T?L7J#sPY>~_zw&E)QN1I|KQ*2iQn1XlRoXvF zGs%%lleW3nyvABpfVr;f2eY`xsd?wQY6sfTG$%}LcOEfpvUP9K1f$v<=LQI*rMxBg zM0nILOU0>CjZ@bkr$%46ct$Nt)QgkIHDlWnmp0KN{e`^ko)I!&xmcsLU`{=i0Zt{A zhKLZDB@2cy)?T+H+c4K)w~7KF5Rqr3fY9ijHS1PymGrbD^i8Kz}8@#GDb5_rT; zWt>TZ}L8UREX zWWTrH0zGiZ#=`S%{!AiY9%_`SYq#*}oJVvzmx;H>AcGFhUTjlSB`O0O$#{ZVQzUDmjo=Y1 zqrQoSm(@fVk*By%j&pRLOlMtyY557`U4(bxQQPB-H+EI2@;z{Nol;TZ2M+#$X!$7~ z+$y$|D#g@KsblQP7nOZf!vk_neq*&Ifn%*q%V7<#KAIio&?X_Y&Ns?30}8Jf@8;m$ zFRr2LE!nEiZcQI&77qA$sg@LEHMQ%`BUonOXo$>d$h-P47b@mV$J5{ojl*x~RkO&sAQ1Qs(`t^Y+0y>#iM!Zwf%{vKdtjG3r>GHvrg1-0% zF<|vuP}KFsHu2(-7y)srIm6s!|FGgm0~UU#$@fo}m3{cKk&)184sypeL_IX*BJDZz zX;AEFr0J0QYgb_TtI$*cY?rI!oHIGp1&}l7%hHrI|Qut$QvSmp!tLI$sTU&-QZxH*3FU#;D0jap_ zPudU8ZD{z6-# zQS`CH>P(z;QMluMfh65_o5G&`vFHNPM|i(wGI2;m{2? z&kNj3uUJNVY0k6KxjbD%q?2mhJFAdK@rf?HnMg3WhvUEQnnU-a+!&jaGG zuLH8yRV6TqPnR~{<un78o&f(W3;j(H;c53|s}DLelMZU4iHuIl_;9seV#yYP47i-3kAKa0J_jkB!U zC-T~V&G7R}H4F&mVaNNQ`fQ3xCZowhF_V9hK;_7EyL~h+S;WYP;1d;*mXI~#@*qhj z);kNiF2+~c+YZ0shCyQU`LM{GIgIX_%A^0Wa(urVftAZWsk?!Aw){9d{k`53RCU=L z#W>YK{!7O8gv|SE^fGbq_tT2o^nJ)5#bZDp>lLUC;6DTRZI779!|98S!1g3ii537@ zzUL@>5iW10Rm1MBcZj2Z)R#gdkItjV(Lz>5qn@IF1rzBA|FOSCC^TDM*p7mvHP$Qe zMc-bMN!Nm6a&|0&Xlu^c`6Ch0pkcXBK3kMP%1qJCooFTTwi-|w&`vpyF#2pv_Uxf9 zQBYkdX-SHNa>XSbgwCSOkcM&stL`u#;yCxyhdFCU#vvGq6Vk1uQVD$Jc2+;G<9TT^ z3f|DduKCFVb;h5A!LsaWU_T-z^3e*Kd6kQE9uZ;N4=*MP1ZuT)-*HdjdjZ1Tiw*9B z!6KVhdjg4sQIM!EeqL4$89|~>Z=_Q)o1da4QnOZs(Z&f-ptgth@%s`4)@<`6=k(eR z82Kg15)}=mbv1xZl=V(}KKcH}C&T=u#~UE?f>SvS8qnZb=wfgmHa?7I_Io`u+S!3+ zg{hD`&|yqB_p7US7i2gNHGvgH`X~r5C4K-6Bg+wR^I<;qI;%fBBhaz4ED>NBm^9bQ zCiFzLKf6RvpT^l{EjR|-^|=J$yYmJGx9E>`(fA8@2+=QyclAV6MiWk}8(-TQF|99u z%s6!jPw?|+2q-*!eJZ)-NP=M_b#_+$H8ry2Kvcp8$r=tqx>@gAQqZ~`mJc-#NNdw! zXA{|K_sm12+JCwpO#;k{H@iu{!!Ognk7Sq3q>4c+F=ns{&~HJ9)jC&a6QV}WuVyOB zNt)GBYll#RaH4C0G^>g-4P5oL1=r4Nuu-K~CV2|b3;HNVqf2*X$at3t79KLi1GbiT zHkOv_>2lOI?h&dmY5H03U-BWZHTUgREz)K zXs8h(BH*B8LE=Mkf;~+66TZHf9@eeP@;T;0F18U!=uA2OS!iw;LK+}+?<;uC#T(p( z4JHWb#Xi@iDugD6OcSkvu5>a@&oPSbzSq`66ASH;d_;e07xaB>nqiP=ghu?K34vfB|rv7mOr{jB>fB2 zy%EkwoM&Lz8v88>t^GGhSDSi_^@K1sZvRuNg~MSomXC~< zAXVw99` z7-d9#wwHR%MCr8g11>$*8|mx%yjiq`wp14nc&*)h(TUPdId{WtaH?yu7**Go35u{B zL_l2|w5Izb>`t>B3ETkd@Uw?-=%EwN+(uecI}bY#N$!2!yc^Iw`sx5UA09Vm5S2J_ z*)a^BtDrgEsl5#;O>`soP1WVLo`)W2RT6H?0lv*p3i;%_%9j6Zn9fz!XGtQr(9oQC zjyw@%ju%c-s81-kF3uC3Q)z%)FiwfF_F*t-s{fTHLv?mGfJ>&RPL{MXobLQQBCIA$ zSCq0;DNKN+K2J>P*7WSLGyMgfXR9VYtI9~CkyPHHDr#6H4L?oVF)jSW*R!>xiIGoE zqf{(&9h-bHY*-=*f-+w8xDL!cKvN}ZN7G5MQDW`~o`pq+OFY-&zH{(R^9^z0I^LZ= zJ#1`A-1khKUX5VUh;UY$pHH$%LA1)V=di?@!`{OrjVvv?qz`RzB)0orYwUIF@O}yw z$FgR}+lRYo(lRh(v2J<7W7LXaKPE8OjLQ-!jM@k(;&BSi$>yMlnL|2X0kk`(PCvrz zahL6M<=z2b$%UDV(wnT~7I_}Xfu8^h%qg9KVG}xJ02PuB)>wGLJCYh@7E5k0m9_In zPq(_uPt7oyZ=5SZRM<=dpkmgJvRW1C_u^)~mI_D)3U6h!$48 z*a|=s4Mq!BWX*o*y}+JD$F__li#u$XIp4ZdmFs{Lsy(t|!WF>obyO@TYVhrD;Q?kf zAkP-g3K8%mP>_g`M3;vfdS|>hbcU*m)S52kMTzq5znM%tRNZEGGwEY*O-Pk3%h2rZ zGW=rNslD_aJmi5<0^}6L0A8ll$UxN3)NuxIUjW$0|LdJ2z_N@Ic~u5(e$nPgk0N;A z%5?AglhV;QQh1|ZkW&eG`cyCu;Jdm3g>xL^2{X<66BFk=8X9v&%5HOz!SY$dPG6kp z+{(n;5U$poA$&)sNa=r}V8$w?nE}6%qVnjl} zzzdzDCu?GPFWCt#qU5_go%r=r#%KW!__EoFcVEFr*|k2+^}C33+d7VU+uDeK zvZ8&KZ8#hxTQ=xpld$NN9X+Zv))fcR4huU}qs?nyAMiR=2f48j8Q*Dvkw;qY{p(}h zt@HQ7mgCyepEHM{k3 zirD{ioKx_{70B&3MZkDV+fmtb#Xd~fW_S7gjT;r07dI%qeGium8?K-^#5FQWa z=n^n81j%_jX_EXB>Yltx-2hm9(E2YH7&VEXtRGR11ROWJcqVK^VH0c_u_JL&WS&9; zWQiMl&`2>l%OOS;%sMaBrde{qdruW^0@#oigI0fbOv)?nnp8^OqnjuDo9!`dj*xv! za3YD&aw9z~ydR8w6iOr(mFbu_MPHFU0ulzQSa+WCg@jT)VmYI) zwhq8DW!F4<7&7Yu9j&*%pfl6h7RNnc&M^<0TFdWelbG3DGNtN^<#RmQ#?gKkX{0IS zB}8%FqP$D{CZ5%7Zc%f#5jC|?*1`{M)?-P0CWTbU$Yr{4U#g<43UveD^8^dkimGL{ zwOV|7dI@dXt^rJ^J3R|XjpYstw1n>Z)lgUMjGPE+T-0n6dOD+s3R+F#sDWB{m9k)p zIj4}J>>Y9)bsa`Pcb>a1ACa}MBk9L5xO<=|IWk-j{g0Q0UV$ym(kN4y3Y0qNyr1ZU z%&t_HqF%x_d+oKcfk+aZmkn7&${rD!M}91#Xd=1d@FXP~8BO)EV1aBCNXo+F9a{tY z5B7*J2szT4``&*(p~~z#JZmql*OIS!MyEXN^+R z0Yn~N0ly76w{zN6o~Hje>J9A9TGZwBkthX5EQ`sry`yC{{}yjolQ50JB|e|N=qhDw zBxXd1oSNP3kMV~6lTP>F&Fo)UWMluQ;^+TM!{qEBm@7F!lro4!1=skjVGgQ!~_4Pr19UzcM;l;I+op2@Whf|N>0z*yNmllbf zRKi1h}m=EGx`|PZ1XO2QK|?FbB20G35K}TucM=+RHhfss&n|9%UQuv zk8>BYx%FDLXM~W({ezWb3|EgRHlkz}0O=&XCyoz>6Shd~`^@UgMr)OTY+;jzUl)C` z2D8vm<&Xj8PL&zq0AEU;9JQvIISF;uBk;cg4mq~=B=migTKVFw16OrXge=mqfuC@@ z@4t{Hqbq*u=tu{XR#_l@UiM8v9;J@Cq0}7FP4%j3wp^1qHd|nN09l)I(y1c}P6u-XJ;$yY6;nzoy3P6vIWWgle$7r_0!iNml+&LO z5tNmq8sTRQNTRV`mP)k1Z7H+Xtc8q2082H!1+rL`%E~_$vyI^9!$H024uAxtH#Fgv z9%YNn^WlYCbcx_>e`DzR#%?AO>o~VcCgs*q7*;CaVSsJzGLZH>01#T?6NKa3P-T~y zw0yX%-%3qu?=KUhIDtt37wTx*ShC6(3EglihLf_5nqM;Yg;p!9@)IzF!fe9!=4Bsm zuf}iA)-<#;Q(qD0JYYSGFRGxDe>a>6yPPc_>Im@Mo@#GbH6Fv@iwGiP8LLHqE5DH{u19kA*!`#{p?2wvXWiFHfs+Ri!6yI&7Mmq7;<8v9=wH3CAV@THmbG2pMgv!;wS45A_&!> zj~Mz4U83s$GCUfG!V{`xP!p!GU*%WVpu)ujMx@xfy8&D{yh3-3HjM+Z!@*rtG|ms+ z#Oa7q5yI1_Q8YNeNnt&Pfd+5ET6v;zqNQvMpsXH*)+qSWG_eOYvUQ@Xsp>*d`AsaV zUs1IiLF7ov+GT-dO@jMy=bgAwps-H$na$;3Dba4Ql-;6OB;bb#1j0EC*$6CoQCEda%r^-7ow`rdzgA~pp1Unn$qBhoufA&u zMjS^ptlbkM=n2zfc((JgI1vK(u{L)&_5D~ILjvi>#=89H&3aIm$6H8-XEq{L`1CLv zv)R1<^Xg=DSk0ISC0?tK)9%i!1@1)ti;!7=gv(RB5s#M6N!hZ@#%3GCm{aL-IrkYA zvppMK0RB~hC1glMril@mmyDdBLKEGJtVMZV<6(ykPc>PD?ue?;;|u&08V|5@ea0`^ zheg@mH7ayJ#VKC9N*y9T?5d0CV)JntG7KH$HTeLzx#8_@Fuq$fZ|ukGto^48gqjHBe?vFoUCm)o5{?2QcfYU&Ck_1 z(NX)<70Lx!3f^MPfzeFY;(qrru_~`vFKp4K$adcT+EW~M_C?NBG;m8@PMFUz`+RC= zeQxbpV}5SH2l0fqJ`fXB*X#B2V*Z@!>xY4W<4`DV&E7n2R^pqLGnc1(8NGDsrMfai z7hRU&2VxZ5l^X)J>V@RXEhofz(nEU%m27;c&|KVi&FO}eb7;FDaiR8~&6#u&xXZi=-e*#BgA>|YYynmD?ZjeDo4 zOCiJ=G(ZJr87#4AziE=NV#zCsQ#8H&;t`VUA~!>%cD71I{$$x7jEj5+XNbB+njW${~c-mliKutOodp#830p?(G8A3*Hml9suU9xvhP^k83U2K0sl)x{NNuyrga zb6}9_lI+>Kz#KJ&dZpFms|653jb;hMtD?Z`+K9Qv8+{zD!hy}Hvm0->PH7)iFl$zZ0A1+k@^GZzftY~=uC5Y+ zjd+r$Gg(k)i=B{M)fOQMlzk%#`}~f48>6hTp=6m${MyXCg4kV1p}UPg$%P@5&Iv_` z1XgPM`n()K`7F>5wekXXqROvY;0*dFKQ)g$s$TsdcF88>|x#yNw}dmG4~bMyU16<3Pdab#1&=|O(-7*ZW^hOP&ra6bz|(3 zg&68XG>~=l2rKz9_|#wU8_wp6*o$#28-cXe>G14+=PTRqrm7oh+ z&Mo{LDucyv`O@lXjAp5TG|y2L4+_b=fRBvvImI{qLf=&oIuVX1rGh20C{tm#Hmu=^ zkH#vmMtkZKASTCllZaxAX@K^;zcTG^D@7g^PTh8vxj15Hy+LTnoGX#);im>C+Ki6R zXrq7@qb&xGuU7TCtea}U#T{L-#tTE+*3IxFof2UC0{3!xb@4hG>XY3J*Z*uZd30J+MQME&08tl>V&?no|0i!xMIT%@5_-(2txdS^O-)uU=>pRIh zJ01mkT5cAGU`-s?bJ?a4@BI?fH`$Kj_I^#cYY?^R4=5!8veTlr<5J^ca<9o=S!{mf zQ^&U*4{u>ae6Y&sF1iq1&*kJo8{ut&f}amS_#=<%Wm0@K!Iig2YhEdSxOi~gsRQ)E zLGaxkPcN4~yfZ^Fc*hb1m_+6-xY8@OpT4D>R^706_q{D%9r@@);CS<<5qs9VR#(@4I9i4IdGWl#k$2uB=bRwe2e#wtMvD zX5VqP#!W;6cSRnrzD6J2coceld2-5B+_{?*UaEh|Gs#X%b0(^GDW!uW(yixXcH^+v z7yft99&4}gr-Ml+ZMAVSR}uk+UA;FGWEw6ovN7^5A+ReC2Gg~#Jrv#aQ}I35uG}We zHYx$#U>|@OL^14tmR|oJaLi8s9|OmKl3xE#$N78s`2Utu|Il6jB}kZ+nf?#^*qv&c z4lAO_-VfF6bXm1rYJ=zoYqEH=5^E#Ua~W=T(k5{#H4~Cl&Z@qTzuqRR;6e7jJ_|M^FVejRin`<*N`uOXj%d9I%sD)s*riIF za(n4gbW{|)>feQ$Jj@wFB@Nl#z)w|N-=6Ipm zh^9#)I&UA5QOZ#4vQ^%n!yi=ly->GjW-z`;4r~ihRj!xAHri)P%VHyLbSU4hNDay6 zEl#p+7c)+lwkC_kL##v$_(J7_?`25BnsVhB^K)Ti%etOltt_zbHkN~1zLImZzK+EB z1A;KzpG+xcbmrj)#q4mg5X+Dh|D?pJOO zAZgy8Oa3|$?VcbYB9|gJ_h92eB1bE}rB%do@)VA|=wK5%)mhXOU|bWRq}8TmnkLd+ z%D}2vXqw@sVsi&pxy*3XB~gi+6VcB3xT+?vtaA#lC8CHT#>u9s5Tqu4Bei`!=nM3o zNTj^;)h3-E$hXG$4ZkCKrC_uiVxj&O09BX76L1O#*;OH?Xwe8NWr;R65gGRe)B_eNj?ENT= z1CJ9`8;u`3FCrpxoBV;OA@)jyyF-U43Sxn)$4MSJJbxR+!jkCPcA@E}nKJTfIqW~G z2J&L3XFE6}G!uv**=14&NBmXOyk{b3k9TU9V}Hf+=;x%1gvGILNG)UyLnmYVy?Q$g z10Y~7Xd)F&!aWkJUBz-&)wc$@x#rnI6;S>LBb??!IKtYh+MGQ}`PM>?vtDHyNxYJv z-kx>f7U(`Hyh)sq#{Ovzp&)Xso3hx+G0Ip~_{ovl(CIx-;Gn<_#{{pGNI@wfPlwn; zZ0@FB6(GpEUx)$H7*qDSl8-xwc*YlIq7ruqED>@?2drLORKS>+-% z13I?+TTxzmnh!6jI!VQ&n6acq&-;|Qn^Nn(DSrNhh`6$G(rGmu!m4_(4ndxTJN)~R z(SZ9Fw#|vRN#>mf7rceOyMpN( z0bZ9evhoUI>oyJpU5MRnjaT0ZnxRQ$H;`b+5Tfh0tcy9Mg<~emu?FEQo|U(aw@g!9 z==20p7%0V4#S@zJ{Q?9(A3K5XrY=o1ug%O?@*E4NRGG9W^m6fAegG!nURl}}MO{R( zs<_!w70rWSiK?U#4&WX(Yq>h>yq7h~1jH@NTd0*+Yb*}y+NMm=Y9g4`+4Ow88e*c; ztr04vPduWsL8&C!Jk@2k9cBQF27=y0Fah4OqzsA(y|np8K|_d%h0^j9j;r z;jh>OU}|$6vkFb0DKSRAvkLe?%Swi%ePt{rkG(U1Q-)>W#A#V7fLSV*4>Xj|uI*U-eOgEz}od& zN5WajZs%b`pJ{^~{Y*2<+qcklUd~zxN;nu8nbRT^U-mKi)5j8~Sh+~BAHDsDYc3vL za~ETsnrGmp&UI{3Nwjfn&G|Upc74m(!%=P(x=&!_mnU~c`HS+ z7ECcQ44q*UV#mTTy%HzDdU5ML#atX4JW?O;6a0=33HC5{8E;&{aC(puGpFnCa1FNT z<(DbWE0c~e-$7Skc>N`c@W13~lvfNALaP$@z*n`iC%Pyc7T?V(27OqlkvGOu5HTVo zKq?Y^byrKRRSCr_2PGQl)fuxY1bt63v`m-=*FGG^!Whh!fpZCNZ_jU6Yj0395ke*P!=_U!b3kA}cb{~yy3{*{LR8dd9m=USG309?QC zU;hfFfRT~@kNs<-nuX2kFv@S5n%&ep)RyUaxXJQ4{H#^YVCIW5fg(*1@R7rD%vkY# zw!z7XI-3rcv5C?{X44`F#0VTr4|W%=G21B#2m_Byd1HZtOp*}^?BUl%ABXGJWC`lb zh0C6(14`56Vfk(^iE}RryCxN~q%-r^C(8bc>&u3j!n?ckcFegLAaz?~92Rll$r;~7 zA!QC3oONl!Xjj2!IKE%)L^dNQMi##%WMa$YA;=UXA!HD%z9m%P^6Z{Df_e05t7lDY zYq>Z_cGl<5%a7m3n5gEtB-R99^_vXkBV;FxVGtuTwB7EM{vWJ$z_ActB&TSNWizu!*>;sz1Jy)>bgLf>9o|5QDO| zvDodT)q_F?1Wm9w8>fjhYdp2Rx=&Y13)=M7IS%z+RxDC28+lW=STv1v?V(k{W9CuT zmsHqONII?f70R1kWo{Y0>^n2Gh_EgSUn#jVlRt_jgX$_ek_c5PNyZxPsGG-Ku+OTz zv1G5?d!+w^Y`Jipy?PY6t2R#yR*dGHwMbKE1&78;(YTCtMWjI&9mHBvZ%9G0O@1Gf zboZNL(*bmJG;S28DQc38yceaVv5JTNibo)-zYTO_@X@!*EOC|AdTMPW^`3wRNj5;e z;leZg{Se^p2BUlGD@#PW9>388=gtt7?)gwop<@WOCT3k)C{tM!9;m9>Qgw`_&;e;T z5^6hf%z|r`t4)i zsv#COcyF1RKx4lI8*lz3!LKi$kGoG=j$196%5jR?8);np?!R8ia6w`L*2V!``qRP| zuL_r}jzW)7EK{+yuapY?vRj#20c1khYytGk{A^tU{?)=BM`_t?*~O#3eUUsU zSG2#exEi)L3kQMm*Qk%#l3A>7yu6VD0n{t+MCLv}gByx6rE{5;z3D?~zmL|1X^z%l zruo{;-L@B!j-v?c*dOy(8AjwWRIN(HlyM z9*mf%k4`BRA_m@5V8Fk6K6fJ5JhD~;OjE*XOOqH`Jb`1k@Ke%!!UA_$QMkXqwAol+ z&zgD5Xt&6OCE)Vk?h}HoLS|j`BVX=P3X;GXPVg2TIc#xUAyG~_>XsV_yw4bv&%GDq z+52i_QO%AN%WsNDrFCkLeg~ulglwfbFW+fNbsU>GyazZEn2bMUdnkqf4)D(P9X1JM z$36+<9S_w8?lFH!nZ+1i_topjM`TQe|AwQb;*1=O<|iU5=vJyi~PHDn?c3kp{K}5q<+Xg}9%4MN1tZ3}wg_HuGG3JHr z0?KVM(UDv3i(=hI5Ghw(YUGwej3(NQ! z@kDK?xy3@~3@Uk2_ApC+$xZdakTEllz-Tcw0ibfMIi)yn>^g~lDlPRt9fL6hUo$p z?TS?8Sram2Qw&v%b{B<| zL0s)?qk0gk$@Va_py<(15A^WO+&-PpPf5}ilu5k!3DoVhp|*ndwrZUG`nFFf%G_Jd zr65`7146O-#NVL?f;9{_BpaoL#boNbrynrzRnGtvHZMHoMZUP)F>wO#00-Yy>!&Wz z17?#(*!UwjDpcEP-V{Q!OxbFDA64>9B0-eMTH zh3G|^F=nT50p##h+I~Fl4m3!0l}E<$2W>TRgb>v%vrRbk52Zs< zV7A&V2TN&>ujV1=<-9BkX_{=B>(hI>-}z3^5m57StQ*0!`E|e>*{AM2XuAiJfY$op zjjYYVQ}IV}+3t@YveH-UcC0eC$3r{h*|+W8G_vnbH+b7L4Sxzn{7p6x!+*>M`m0>g zKcEr+=PAi2sq=r4LD~OtyMKqlGqbY(kvM;*W?}hF45bSOp@0@bPD!31hl(Ij$v>-c zF$SJoK`LWO<{Q~PXOk4}UMWCTIx_`wcwpdTfGMS5c{s#c{}L8i6We6IWO{57=(U_s zAv0iMP`n@_S(MJ{dgo=U3+!fEyGy4tu!c9tWlVOzhYpiT*VAO0!{m5Vov9(gy9iNZ zQe0X3aPVYZ&_47v=|{c2gu1eojGI$IQCV3B<19v)^5CdJYq5=3`WV#rYZg?hYRX3_ zkvQ{?^2q)Zb32`|?(+=747XJA`Mk0l%#w;y;qP0Ylof-WM^h;};WLJ?V)h-_Iwte)AAP#m6oqSI(7e;Fx>Ez29Wm(Ud*JMl!N zGQo~ie0Tkv^6#c~1=N%yXaejB9T2{ChQb<#l8nTRe!qMsbJQ7A!Nvp<`2psHWc>?> z$+$;jZAX&MjIq6C9&xQ(Y#l}f%~>ew^`CF(-B>x|%y|vu)?}A6lsu-7;z#l^;s^V* zdr@p`Vs8kz_|rb915;XW5GuXRq!bN2l{@ka^`o7KitziO>jvk!F*8zZzWGc&U{oV2 z1Mc~4qr|i|Ssg!zP;%O6gcS)u9?)&inQB06Ao+8vj33wL;08Ev-?Y#e*ers__=5_fC6HMT59^mJxSt}2e(^fm z&$iZGAwRKxZRYoc6TG;9OUy@lU6+dnFj&SnQm(;4gr*5yS`;gT703qwBd)q>k{e9apKWe?Qa(RwR(%Yw_cM(&BSKC$LOH>*d|QEh_ZbSpNXRuGaN5 zC-q$HY#X9q`}GxXMjhiw%tA_zh#S}s@oSF6Z0FY#!)PzoZN_z44snVkI7g7Xyn)89s@FAkBX)|$7ti>cJY0hB?x&F8r(wx7#GzVTP#QUzYuXW-=9G; z*{_t0;*-!3k@V2)1nL%K?gqn&$al1WnU@TOxPICTqqt{C83?ON3}M=$u#bnBiJNz? zysS7B2TdXLJFRHi&t6kL=@M-Dqni3)Zl@!9p~MJVEOFj5(99&My`hdUM?K8~B11c{ zv8iy@&K0k9GynIYGO3{q1q zX@x$d!57d0=y1MAQqx)kas-(zI&1!=edKXr;7XF6tpv;9m~*+MdpFI$dEM-0`Ze~` zYLtD033?Wz&c`v0%mbxOpiN}50QqMD^2ziUH2LT2zPkZu_HiX z4x}UR2?^{PF>@(gJe#X;9Kg^!4PkEZ6M?}qs4iP$RWY}Vx1=6-Oi&B9JB3;m)qa+M zIpR$KfR)sl-yN;^5+Lor35XNt@@NVM+gAG7EAte7+|*vOM?ItVKja z%`%e?Yj?sof#h6wCaYBQW!P0h=xDBymzmQ$ zQ9usq_GR6Vj|@eEhI5gEbqa=p10MZVJY&IUo?s7<7I~lD)6YNces?R3l4KDOw6l; zE7M>?R0-iv%Q(HHuYmyXw=57yv?MC|QNm=}9NF&`vb>o)dL`FAG#e(9SyD5*AG#;o zOw2rc!O!c9J{EKLc85Pt?jOlk({~zZw-tt|*9;C2u(7tCh%((~L+s9}m1v zt~e1sF|Tk+rPi&D?!k$K*H9i>q&tJZs~wDI%~cI9m|=OYB9!>h>#f3=bLbiq7NdwL z0t33Fd#&e1MO$$B3!y1?C6HC2ZY!-4UIfl>vcyoF5<8pCN^U=FPuDIIi5Cm}S zkXce+8LV_T05m)##;*kio`Z&Pn7(rDYl`PmT4?wBr$b4W*)i~CW{~DW{CsTMuQOQ( z(DdXT2@CSuCiytXV?hVrp$9{T^%L=T41OH>Qp($d8Te5HKxO%^bE)hCN$IH>RcL$w zOaU&usVfeaNT|Y}$~Lm`nr$V;4)z_yL@9O3UR02hA&@yooY3(trYpIeVGH*toIipg zv68!m`dupNQ0oy*&%~cqJfs&4qCwi~UeFLMmssB%bd-0GfW>YfU>MLG3%QB<8S{}W zho1RY4(tyUWf7`YWf&j(U=|bdDB|>eD5}isO3WJ5&W#KRL`#7Jgk8g1j3srHY7wdy zBN#38xMjrMo`d2HcQ0Q3tw-h;Mq2`|WcK+CZtgqiGmC}$lKEkElZ8STOBAiuRh}gW ze1^csri!mt6_P-hUMA>($a0Uv;>C{wQ@dWm*5^}{4*L5XoL!c?b*_pQT$xoYr9Z$- z_SDg8&G1kKQ48!w7V00ti)&ZO;~wpB1_WY5p4R$y7y%)3kiS6D)q4iAINev)B?YVt zhYdqS1IXDqoCtG_reU;8C7qgJ;A=)t5hy#u)sjQ?g{ZevB0aD%Qg^8mEAB*K%0X|%-pAYBFLS^jkQ;fXoa_TaQ$D*yy7ZK)7AJDGP=tj{M-_^FInH%AzV_+*ae5K$?C@LQEUxNg=SHTU=9r_cv$M$2 z>n0p3tydc4z4&ATZ!4x2q~qlj=74jdjO%z&p^D0i$x#~(d0kncet>qqzUtUsDvV;m znt7#abNid-eyOai9S(q0zL%anix|8x>`#JAG;uf(cKrQzeXp0IT1 z6>1IocJ5MkbX6Fcg+WIIgsDZ>J3kXyK|Va-3*S&XCm}5G5z<^6N!Vz2xvJ2vsx}Xi z!dqUt{H~ z?VGf|60m3+;Bn|lCEg!w^glW10Vv>0{Rd`1xE<%s1COOez*jLUZ**n-s!9Hk>MsMu z@apiTXHgt+cSD6`h|kx`eOmpiD?P z+r9%yXy)L?VvjOu6dkyQJMs6K-#UnK7Jd|RX z5z4tw8hnU!p70KS>Mv}1&Qeq*yGu9@hCH~=`=bJC43O*=@O*058`>4K@W=a*Dtf>V z?W0~GPfH4;3bZ4(+52^JEJ?bwY+qdgquaW9tg*b5Y0o&Vv63~lsGnj%>I&QM?nw&Zkm-`}{i^br@1+PHq*2;x2hv94*#@Aw= zv6_4`PAMuhla?7;@%92lE(TEvp&Q+8ByZ!a*|Q$TlWOpp!Q9Ebk3NTbO&WIf+&@=J z3uaMlpya3>BUN8*oLUiE#R?rd2`*y9^3Kz}JV<2%;oJDi>uISDMat+4qvBQ_)6(yH zX?=j4;0l$A30luk=S70cVy+JiV3(_~z;gK-dys?+p2F_qGL73aV``ED<5mTFbPb?j z&-D;Iwu3>-p!84!v3iGaIGQSYWj-s!a6FvjWa~*Rm3G< zZ8&i1^elDj;<4PMTY3Gi^~S2TLdCj5$Xp9$CU6pl+@K;hF1Vb8C!&JT8wm8NNiV!M zN_)<*cNdu66MdWxLpR~Q^`;dmW&JO5L+!9>1E>1mJhLy7o~ab85foh8@8zJuqgjy2 z&JB%xVsEtdQ*wiH{c=VDe1WhjV1#lp9uZW{(+ZO6tM2m|J5NaC$AEVD8RSOm#-g5l zcYoT1EKjWwGFl~O*z;9gw7H16XjkpMM%%|F6e1WECJ)N#BKsg&S#T*F%&2PR*@AZD zTXUc-(JN*vVx#9`524^E5RMm#A8rhZjX9|@YM?}BD7TgxU`r^_Z>p2^>h$+wIao@MeNfRcqgOliOiKu^FepJ`o5Jp|djHNT4!3N;Hk*XjON@%F3)k$d^({S$8{& zu@vPC8psD%qEk&z;RsTQeW_LYaaR8>e#CT!RHB0^5|e|Rvk(NJR&sNZRBm+Fo<*y* z3~<);S~{|b#>F~d>K~71GS-$71OoP`=cXUKy?y1ie*c3$6`#P4zfV6KW>T#4E$H!pKLFkAz0ndT*Vnia{@J|&0 z0&r&>qTR2(73KhzP!B8puhFff3w- zm+&KU*SPm`5L#wJjA;ni7K}Bic_m0AC6h+|QM`${PoJUs7MO}k*C2&7#iuI^C}&>T%WTjKtNq5k3LXy1rZm(7fU=NoS5 zbCWECn*NN-KweS(Nli1qEYuCbID=J|X4d}45xW!>s)kS*++vBda_6U&kBwhCE0a)o;TylW zjNzV|npXzL($8$3SK!W6yxkx0(hGx+|4Hf*{l8i4@=f9JKg{g??_Q_<_e!t-DLZI`Wf<-sj z1z^F47ZqJyxa_=ge&u{JD@^1CucH)BJMQJWaKGC8J@vA6=Q!o5lgd`OPw^>5-r{6F zvXD*I^5h$;L!N5?@erRkG*^}FAT^R;QI+bTG(uV=naQNIS{dVs3P+@Z^fFZslsqJhh)?qNk|vf%?7jw9`W~wE&^~>X?(;W1KCx8 zA^{zsDLjP3KKyBnLFGHO@lIujOPryJ;w{!0)#sfyZCzxe0Eb@=LqL!(T!%@sF#HDM zFISLXk+*8Uq<0)>xIv(|oULMc6E`R?--Sq2G!G}E)22pIJ+%a|*2c5&fb)x0KtXP5 z-lS8OvIh<JoyZ}tZKu#BlG9x9+viO`T8Yk-QqM}Q<5 z$JB+V{PNuI>VJIpf;hiVcxZ|bckMQ|jS0yn_MX?$GCU43u))mgm##r(u6*MeuJNoZhD!#;HoLHS)rDe&`!9;Qx=AAw->jL z9@#m-q0llvt@!uOG`eDYMH=|&?3McH!ARSzO}&U5qu*t30nZy*WSTUa{O051!;f%& zR0R;&I;}7HKd=Q`L(5XT?_$m^eB|{gFS{(};NlJ+!>ZGM%`|phyWX;!6Pr{ola1J! zvVO=n?0fT0BL;9w;oCL3UGVEuqlnmGw%VNHayJVTuc_D+->ST2fl^#BRVBCE8@Eu` z2PT05!TDGyhOA*p0s}IfyRVyJW)8f)shw~D9TuT=eD|LtVyuf_C{b7q1V1S}uMTMQH9HwjAyHZ7L!OYZr@p_sAM zH(y}JzEh_#CIX*r_%M3egl2FospH2o>+qPj}VEmtU<2_GSV|7rQUtrX}w=%#VZ% zCDs$I93-oJ&JvO^6W!%UWf{c>&G*>IU+oSZPgbYf?;K~^wmBfNH|*mKCAsE@>|BDC zePn|qZ0g3;_;HX9rJ1A#U|Kj+oUJVbcP)`ap(vY9tpuJEiZM%_3I*I(!bOFhvntiy zB#RXq)?TFu1>HR(I;+;P92aURj$<%*61#bx3ddsqVD$L|@&x-(iYbTfNE>(GdnP;# zWvH}KJy2oP?TFaOu`RGeX-S`Oa8dv)+_MC>ZB_Zd>{`_RxhEbb$yY-NZ9X^N`Z`lh zq=C7T#b{j#w`JIf@gvrhp=||T4zqUI>xP5%X`xfK1z5BlAk|{_PmX92a70(sUC%;=r~Bla*+qdoz6N`V=Mb}b zb3c$Y0|Q0(3ZUu3$nz|tecAJWw{zsF3Tu7ap_)q(moSBJ!GgYxZgM|kN-|U!hC^(m z;WIX>yHQ^Htiw|-;Ed;r#@w6ArR04bSbkqs4(yU>;aY(r?UT09gs^RZT!6QFf$P6p zcVv9DQg18LU%I>nTkl@^e8F77J-aWpw+OA&H{yC3yy}9uU;!2oG~@POrc1B&I#xeb z_KY^<*(gLb!42IAE{z$n6&U&|3yKM_f>Y{rD$M9FJte7ihAPBKKt-cqP< zy^=#|+6B{hmS9mP6zN1!^FR63UZpy<$+2T_1sq)#)Mo5YP0mubTRbLyM3t$f&SJB8 zn-nsyR`t6nrY?ERj~M(RR|`X}Ue2kr&efN+@F7YS0P~Vd-BSjB+{~#2M~Crl}(KK&I&Yk|AQmzWc1d&x=ObACAeZq zGfZq0YAt2tNk>&YEN)LEJN?#*l31JA5rcfHb|UcUubp>kRq>4CA20S$Zn_hPF~CTxY`NR?yTKW}(7 zSa8Ed_QXIFqpPnj8w(FG4@x+0$OdBp5H%1r%Lg?O;tUpI;82`j^Fx*p1J71=$t>n2 zANyUQZ;_;y>)X;!fIsqnB|3IgqM!tinaPMf_AGE0h9H@{kc%bMFv+t3_o(BT{nW=y z&!JRgyj@*->63XqWVNBi;VOMsXBC|DXsHG`aa;(ofDHJNCD_+0}PWd z%64Te)BXZC?gvURvSL;?>Ge(1n826Spd^?Hbgn|jjUI^A2Ls%RW0)_DP3n296i?!$ zP6Jaz^X&#{T_HB+A77`^m(%27$f%?%R3~;7F*mTT7-Al6><>tEESQFpSj*^dqN1 z^3_9#NijPbzu71YowY*5Wlc3{%xYytO5-MhaZjD07JZf!*G-n8wuhY7cPhH|Tyzb$ zW-wQ(rMc?_g(qZL3F_mL0;dl7eYnAnwKeOO zaLy*T+NjkiuZg-qr4$E%kfUXp6yRm?cg1raLRy*qGkN)00VkW^_?K55SF$Dd196?G zc-|j7^WCrAz1a@8#`f8U0UgP6Ki&mz1_`c1QPxHm{UoOL%cd%Y@{JVvOiT3~^WuKc zMkD4oLmTSyrp_Ms&Ve#285YuO+hq_D61l(**1IO^t&CT{iYnXr!}-&V$}5T6<;arr z+rdmtJP-3duUJRBQjKEc=Ra7xS78Y%4qf$pM@{&+qg23*%H@_b9E>3{Ci2{@?>j%0 z@VT;zr?C_7(h+sup%-fD-q*dKg~fI9cwXmqkuQPt8_9-fmroGWgp16rn?=WeH^ zyA1X+kq|jk*zf903U}Cr^DaA1Yn(<>-T1*)X#aFngJnK=|MXJ39u3dEd)XJ8VL<1I zv^VSYgKx&n$6xRH#NO+kIhV4im>e-&rI&j zBHJOS2k=O2zS~VW05kl7MbB| zh$soBsoYSpM3&JqGqr91qSj`gYrV}BIETQsNLKdiDH7$a#4we)dNQ_n8fZa$2$ zuEd7!=XqRilF}cbW4-63RFlE;2BOINe%UWQIrUUNo$cz2I4$VfnB=I^ro#9BRL3-e zL_)0mmDW-@dFk{EMQ>QPq~YGqy?5e1>TICG89Mj7@BZgt#E2=1qNgpgrxK z)n7ouivxDc*e^6{z>j&IbA~k@y1a_rFMJa}*j`g47tPY%vYILNvwZp0i*c2Bk#*VE zpAVw>L4s)NEWBLXRh=-yi;#KJ0@GTc4EP#~0 zg3JJ66=Dn4`mD8^&jiX506sR!tPwo!Ve&AMHs91P7j`*{*@S;w+Dyq2UvI71>|;A2 zqE=9*XwS{U6jm+uINR1;xlxm!yl_3b7uY*wf#pg@xv8lnZIHp<(6~BSIZ8aNYU0MZ z|Haj}9TljsCGYrO@fc~ec>tTkfAzPLuQdtp*A7}ER|KO@D zvV=HgR6L96#9Hczm&jzm^=k564BrHJ>i6Jrwy#uVQ`?2ROgh(QlSpY*icK4KMvupm z-UGN!S|SC2Tz;(?a)5;PJ{H-D59d0#@v?w+L39h&atNh5465NniNQgIV8xmUiUaM;k3SGtqT`c2m-%r^C|vc>&{C3?1)XAK^K0fp zL$wzh!Tp=5js>Iw8?1B9L;K>wsN;NNHm1=upQ$8z91l87_6ScC{&k*MCwKI4Ta_tK zW;Nx)#Z`hj3>~+OdDq^3<_QWoEbi!it|DV`>WfT>a~|EgxNxqaQ4;oE>}7U`&WrcJ zQ+-fK5hBML#r%#S8YeOPMtH4UsBHpBkoFk2?_3Mchc#aX^;1w`vM)ecAFL2CDP_e< zLw3RfGI<=iK|i-5qvf?Q#+}vIBir^(^{uQtet&L`&VeZxw?5Sq=#WH`P20 z2D>j1FPp*fGQZHumh4)?Q(bsc0!`l%a9{#Z>@Xg8qb!11QX408U4F`toEWmG^gfhg!j=I{;>y8UNnm%wpG0VJ;LYmN zHIQwlMcEk{uIs7=!1pn)%0PlzI7uY`_NdLhs{iFhYD-RNb9-C)aY9qE@z<1W&0766tjZA4zY%OVz zVNb5{@|v}BAP*f6Z|3G@iP$z?Cv}@_zLAA=C`bf-G{TD+EHltGfbY-`a)_ z4W(Y`?@|p)h#Y*TD|PdVm`(V;825-~$2PRTYwz0yGH_$WqaW{KS(Bz=a|5}#-t89d z7lSGn@-3&i6Y11#;jhO>uucOSZpo+~3_kTUq?IqY8xBgHwtB#7zrm%!FBSa9bq_k| zdx%Qqj4QHWJL=ErVc2(hber=Ur2qx%Zi#YYy5|PlPJpH(Ar_1vs1$5D(5j?*P4#WP z{6=@+!x{H{ z?$Wyl(bJojwAvlvfa#6yX##@D^-`5UNA*%9p)?d)qq8xa@gqdcMM+WutweebH}-EJ zLn<3L5ag^o7kYWQ{v4xmPNdptbC$q6{ZMSFT*ioghWYMFtU(bKP~7;(e2KFq0fyvf zeW8MA~V3CtpNo1b>=9SNr~7Y>nxZ%0DBd6GlMTNi^)N_~tu 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 literal 0 HcmV?d00001 diff --git a/doc/Manual.txt b/doc/Manual.txt new file mode 100644 index 0000000000..4f5b012106 --- /dev/null +++ b/doc/Manual.txt @@ -0,0 +1,120 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +

      + +LAMMPS Documentation :c,h3 + +(17 July 2006 version of LAMMPS) :c + +LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel +Simulator. + +LAMMPS is a classical molecular dynamics simulation code designed to +run efficiently on parallel computers. It was developed at Sandia +National Laboratories, a US Department of Energy facility, with +funding from the DOE. It is an open-source code, distributed freely +under the terms of the GNU Public License (GPL). + +The primary author of the code is "Steve Plimpton"_sjp, who can be +contacted at "sjplimp@sandia.gov"_mail. The "LAMMPS WWW Site"_lws at +www.cs.sandia.gov/~sjplimp/lammps.html has more information about the +code and its uses. + +:link(sjp,http://www.cs.sandia.gov/~sjplimp) +:link(mail,mailto:sjplimp@sandia.gov) + +:line + +The LAMMPS documentation is organized into the following sections. If +you find errors or omissions in this manual or have suggestions for +useful information to add, please send us an "email"_mail so we can +improve the LAMMPS documentation. + +"PDF file"_Manual.pdf of the entire manual, generated by +"htmldoc"_http://www.easysw.com/htmldoc + +"Introduction"_Section_intro.html :olb,l + 1.1 "What is LAMMPS"_1_1 :ulb,b + 1.2 "LAMMPS features"_1_2 :b + 1.3 "LAMMPS non-features"_1_3 :b + 1.4 "Open source distribution"_1_4 :b + 1.5 "Acknowledgments and citations"_1_5 :ule,b +"Getting started"_Section_start.html :l + 2.1 "What's in the LAMMPS distribution"_2_1 :ulb,b + 2.2 "Making LAMMPS"_2_2 :b + 2.3 "Running LAMMPS"_2_3 :b + 2.4 "Command-line options"_2_4 :b + 2.5 "Screen output"_2_5 :b + 2.6 "Tips for users of previous versions"_2_6 :ule,b +"Commands"_Section_commands.html :l + 3.1 "LAMMPS input script"_3_1 :ulb,b + 3.2 "Parsing rules"_3_2 :b + 3.3 "Input script structure"_3_3 :b + 3.4 "Commands listed by category"_3_4 :b + 3.5 "Commands listed alphabetically"_3_5 :ule,b +"How-to discussions"_Section_howto.html :l + 4.1 "Restarting a simulation"_4_1 :ulb,b + 4.2 "2d simulations"_4_2 :b + 4.3 "CHARMM and AMBER force fields"_4_3 :b + 4.4 "Running multiple simulations from one input script"_4_4 :b + 4.5 "Parallel tempering"_4_5 :b + 4.6 "Granular models"_4_6 :b + 4.7 "TIP3P water model"_4_7 :b + 4.8 "TIP4P water model"_4_8 :b + 4.9 "SPC water model"_4_9 :b + 4.9 "Coupling LAMMPS to other codes"_4_10 :ule,b +"Example problems"_Section_example.html :l +"Performance & scalability"_Section_perf.html :l +"Additional tools"_Section_tools.html :l +"Modifying & Extending LAMMPS"_Section_modify.html :l +"Errors"_Section_errors.html :l + 9.1 "Common problems"_9_1 :ulb,b + 9.2 "Reporting bugs"_9_2 :b + 9.3 "Error & warning messages"_9_3 :ule,b +"Future and history"_Section_history.html :l + 10.1 "Coming attractions"_10_1 :ulb,b + 10.2 "Past versions"_10_2 :ule,b +:ole + +:link(1_1,Section_intro.html#1_1) +:link(1_2,Section_intro.html#1_2) +:link(1_3,Section_intro.html#1_3) +:link(1_4,Section_intro.html#1_4) +:link(1_5,Section_intro.html#1_5) + +:link(2_1,Section_start.html#2_1) +:link(2_2,Section_start.html#2_2) +:link(2_3,Section_start.html#2_3) +:link(2_4,Section_start.html#2_4) +:link(2_5,Section_start.html#2_5) +:link(2_6,Section_start.html#2_6) + +:link(3_1,Section_commands.html#3_1) +:link(3_2,Section_commands.html#3_2) +:link(3_3,Section_commands.html#3_3) +:link(3_4,Section_commands.html#3_4) +:link(3_5,Section_commands.html#3_5) + +:link(4_1,Section_howto.html#4_1) +:link(4_2,Section_howto.html#4_2) +:link(4_3,Section_howto.html#4_3) +:link(4_4,Section_howto.html#4_4) +:link(4_5,Section_howto.html#4_5) +:link(4_6,Section_howto.html#4_6) +:link(4_7,Section_howto.html#4_7) +:link(4_8,Section_howto.html#4_8) +:link(4_9,Section_howto.html#4_9) +:link(4_10,Section_howto.html#4_10) + +:link(9_1,Section_errors.html#9_1) +:link(9_2,Section_errors.html#9_2) +:link(9_3,Section_errors.html#9_3) + +:link(10_1,Section_history.html#10_1) +:link(10_2,Section_history.html#10_2) diff --git a/doc/Section_commands.html b/doc/Section_commands.html new file mode 100644 index 0000000000..c67a419ab9 --- /dev/null +++ b/doc/Section_commands.html @@ -0,0 +1,371 @@ + +
      Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
      + + + + + + +
      + +

      3. Commands +

      +

      This section describes how a LAMMPS input script is formatted and what +commands are used to define a LAMMPS simulation. +

      +3.1 LAMMPS input script
      +3.2 Parsing rules
      +3.3 Input script structure
      +3.4 Commands listed by category
      +3.5 Commands listed alphabetically
      + +
      + +

      3.1 LAMMPS input script +

      +

      LAMMPS executes by reading commands from a input script (text file), +one line at a time. When the input script ends, LAMMPS exits. Each +command causes LAMMPS to take some action. It may set an internal +variable, read in a file, or run a simulation. Most commands have +default settings, which means you only need to use the command if you +wish to change the default. +

      +

      In many cases, the ordering of commands in an input script is not +important. However the following rules apply: +

      +

      (1) LAMMPS does not read your entire input script and then perform a +simulation with all the settings. Rather, the input script is read +one line at a time and each command takes effect when it is read. +Thus this sequence of commands: +

      +
      timestep 0.5 
      +run      100 
      +run      100 
      +
      +

      does something different than this sequence: +

      +
      run      100 
      +timestep 0.5 
      +run      100 
      +
      +

      In the first case, the specified timestep (0.5 fmsec) is used for two +simulations of 100 timesteps each. In the 2nd case, the default +timestep (1.0 fmsec) is used for the 1st 100 step simulation and a 0.5 +fmsec timestep is used for the 2nd one. +

      +

      (2) Some commands are only valid when they follow other commands. For +example you cannot set the temperature of a group of atoms until atoms +have been defined and a group command is used to define which atoms +belong to the group. +

      +

      (3) Sometimes command B will use values that can be set by command A. +This means command A must precede command B in the input script if it +is to have the desired effect. For example, the +read_data command initializes the system by setting +up the simulation box and assigning atoms to processors. If default +values are not desired, the processors and +boundary commands need to be used before read_data to +tell LAMMPS how to map processors to the simulation box. +

      +

      Many input script errors are detected by LAMMPS and an ERROR or +WARNING message is printed. This section gives +more information on what errors mean. The documentation for each +command lists restrictions on how the command can be used. +

      +
      + +

      3.2 Parsing rules +

      +

      Each non-blank line in the input script is treated as a command. +LAMMPS commands are case sensitive. Command names are lower-case, as +are specified command arguments. Upper case letters may be used in +file names or user-chosen ID strings. +

      +

      Here is how each line in the input script is parsed by LAMMPS: +

      +

      (1) If the line ends with a "&" character (with no trailing +whitespace), the command is assumed to continue on the next line. The +next line is concatenated to the previous line by removing the "&" +character and newline. This allows long commands to be continued +across two or more lines. +

      +

      (2) All characters from the first "#" character onward are treated as +comment and discarded. +

      +

      (3) The line is searched repeatedly for $ characters which indicate +variables that are replaced with text. If the $ is followed by curly +brackets, then the variable name is the text inside the curly +brackets. If no curly brackets follow the $, then the variable name +is the character immediately following the $. Thus ${myTemp} and $x +refer to variable names "myTemp" and "x". See the +variable command for details of how values are +assigned to variables and how they are substituted for in input +scripts. +

      +

      (4) The line is broken into "words" separated by whitespace (tabs, +spaces). Note that words can thus contain letters, digits, +underscores, or punctuation characters. +

      +

      (5) The first word is the command name. All successive words in the +line are arguments. +

      +

      (6) Text with spaces can be enclosed in double quotes so it will be +treated as a single argument. See the dump modify +or fix print commands for examples. A '#' or '$' +charater that in text between double quotes will not be treated as a +comment or substituted for as a variable. +

      +
      + +

      3.3 Input script structure +

      +

      This section describes the structure of a typical LAMMPS input script. +The "examples" directory in the LAMMPS distribution contains many +sample input scripts; the corresponding problems are discussed in +this section, and animated on the LAMMPS WWW +Site. +

      +

      A LAMMPS input script typically has 4 parts: +

      +
      1. Initialization +
      2. Atom definition +
      3. Settings +
      4. Run a simulation +
      +

      The last 2 parts can be repeated as many times as desired. I.e. run a +simulation, change some settings, run some more, etc. Each of the 4 +parts is now described in more detail. Remember that almost all the +commands need only be used if a non-default value is desired. +

      +

      (1) Initialization +

      +

      Set parameters that need to be defined before atoms are created or +read-in from a file. +

      +

      The relevant commands are units, +dimension, newton, +processors, boundary, +atom_style, atom_modify. +

      +

      If force-field parameters appear in the files that will be read, these +commands tell LAMMPS what kinds of force fields are being used: +pair_style, bond_style, +angle_style, dihedral_style, +improper_style. +

      +

      (2) Atom definition +

      +

      There are 3 ways to define atoms in LAMMPS. Read them in from a data +or restart file via the read_data or +read_restart commands. These files can contain +molecular topology information. Or create atoms on a lattice (with no +molecular topology), using these commands: lattice, +orient, origin, region, +create_box, create_atoms. The +entire set of atoms can be duplicated to make a larger simulation +using the replicate command. +

      +

      (3) Settings +

      +

      Once atoms and molecular topology are defined, a variety of settings +can be specified: force field coefficients, simulation parameters, +output options, etc. +

      +

      Force field coefficients are set by these commands (they can also be +set in the read-in files): pair_coeff, +bond_coeff, angle_coeff, +dihedral_coeff, +improper_coeff, +kspace_style, dielectric, +special_bonds. +

      +

      Various simulation parameters are set by these commands: +temperature, temp_modify, +neighbor, neigh_modify, +group, timestep, +reset_timestep, run_style, +min_style, min_modify. +

      +

      Fixes impose a variety of boundary conditions, time integration, and +diagnostic options. The fix command comes in many flavors. +

      +

      Output options are set by these commands: thermo, +dump, restart. +

      +

      (4) Run a simulation +

      +

      A molecular dynamics simulation is run using the run +command. Energy minimizationn (molecular statics) is performed using +the minimize command. A parallel tempering +(replica-exchange) simulation can be run using the +temper command. +

      +
      + +

      3.4 Commands listed by category +

      +

      This section lists all LAMMPS commands, grouped by category. The +next section lists the same commands alphabetically. Note that +some style options for some commands are part of specific LAMMPS +packages, which means they cannot be used unless the package was +included when LAMMPS was built. Not all packages are included in a +default LAMMPS build. These dependencies are listed as Restrictions +in the command's documentation. +

      +

      Initialization: +

      +

      atom_modify, atom_style, +boundary, dimension, +newton, processors, units +

      +

      Atom definition: +

      +

      create_atoms, create_box, +lattice, orient, origin, +read_data, read_restart, +region, replicate +

      +

      Force fields: +

      +

      angle_coeff, angle_style, +bond_coeff, bond_style, +dielectric, dihedral_coeff, +dihedral_style, +improper_coeff, +improper_style, +kspace_modify, kspace_style, +pair_coeff, pair_modify, +pair_style, pair_write, +special_bonds +

      +

      Settings: +

      +

      dipole, group, mass, +min_modify, min_style, +neigh_modify, neighbor, +reset_timestep, run_style, +set, temp_modify, +temperature, timestep, +velocity +

      +

      Fixes: +

      +

      fix, fix_modify, unfix +

      +

      Output: +

      +

      dump, dump_modify, +restart, thermo, +thermo_modify, thermo_style, +undump, write_restart +

      +

      Actions: +

      +

      delete_atoms, delete_bonds, +displace_atoms, minimize, +run, temper +

      +

      Miscellaneous: +

      +

      clear, echo, include, +jump, label, log, +next, print, shell, +variable +

      +
      + +

      3.5 Individual commands +

      +

      This section lists all LAMMPS commands alphabetically, with a separate +listing below of styles within certain commands. The previous +section lists the same commands, grouped by category. Note that +some style options for some commands are part of specific LAMMPS +packages, which means they cannot be used unless the package was +included when LAMMPS was built. Not all packages are included in a +default LAMMPS build. These dependencies are listed as Restrictions +in the command's documentation. +

      + + +

      Fix styles. See the fix command for one-line descriptions +or click on the command itself for a full description: +

      + + +

      Pair styles. See the pair_style command for an +overview of pair potentials. Click on the style itself for a full +description: +

      + + +

      Bond styles. See the bond_style command for an +overview of bond potentials. Click on the style itself for a full +description: +

      + + +

      Angle styles. See the angle_style command for an +overview of angle potentials. Click on the style itself for a full +description: +

      + + +

      Dihedral styles. See the dihedral_style command +for an overview of dihedral potentials. Click on the style itself for +a full description: +

      + + +

      Improper styles. See the improper_style command for an +overview of improper potentials. Click on the style itself for a full +description: +

      + + + diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt new file mode 100644 index 0000000000..47894ef96b --- /dev/null +++ b/doc/Section_commands.txt @@ -0,0 +1,488 @@ +"Previous Section"_Section_start.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_howto.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +3. Commands :h3 + +This section describes how a LAMMPS input script is formatted and what +commands are used to define a LAMMPS simulation. + +3.1 "LAMMPS input script"_#3_1 +3.2 "Parsing rules"_#3_2 +3.3 "Input script structure"_#3_3 +3.4 "Commands listed by category"_#3_4 +3.5 "Commands listed alphabetically"_#3_5 :all(b) + +:line + +3.1 LAMMPS input script :link(3_1),h4 + +LAMMPS executes by reading commands from a input script (text file), +one line at a time. When the input script ends, LAMMPS exits. Each +command causes LAMMPS to take some action. It may set an internal +variable, read in a file, or run a simulation. Most commands have +default settings, which means you only need to use the command if you +wish to change the default. + +In many cases, the ordering of commands in an input script is not +important. However the following rules apply: + +(1) LAMMPS does not read your entire input script and then perform a +simulation with all the settings. Rather, the input script is read +one line at a time and each command takes effect when it is read. +Thus this sequence of commands: + +timestep 0.5 +run 100 +run 100 :pre + +does something different than this sequence: + +run 100 +timestep 0.5 +run 100 :pre + +In the first case, the specified timestep (0.5 fmsec) is used for two +simulations of 100 timesteps each. In the 2nd case, the default +timestep (1.0 fmsec) is used for the 1st 100 step simulation and a 0.5 +fmsec timestep is used for the 2nd one. + +(2) Some commands are only valid when they follow other commands. For +example you cannot set the temperature of a group of atoms until atoms +have been defined and a group command is used to define which atoms +belong to the group. + +(3) Sometimes command B will use values that can be set by command A. +This means command A must precede command B in the input script if it +is to have the desired effect. For example, the +"read_data"_read_data.html command initializes the system by setting +up the simulation box and assigning atoms to processors. If default +values are not desired, the "processors"_processors.html and +"boundary"_boundary.html commands need to be used before read_data to +tell LAMMPS how to map processors to the simulation box. + +Many input script errors are detected by LAMMPS and an ERROR or +WARNING message is printed. "This section"_Section_errors.html gives +more information on what errors mean. The documentation for each +command lists restrictions on how the command can be used. + +:line + +3.2 Parsing rules :link(3_2),h4 + +Each non-blank line in the input script is treated as a command. +LAMMPS commands are case sensitive. Command names are lower-case, as +are specified command arguments. Upper case letters may be used in +file names or user-chosen ID strings. + +Here is how each line in the input script is parsed by LAMMPS: + +(1) If the line ends with a "&" character (with no trailing +whitespace), the command is assumed to continue on the next line. The +next line is concatenated to the previous line by removing the "&" +character and newline. This allows long commands to be continued +across two or more lines. + +(2) All characters from the first "#" character onward are treated as +comment and discarded. + +(3) The line is searched repeatedly for $ characters which indicate +variables that are replaced with text. If the $ is followed by curly +brackets, then the variable name is the text inside the curly +brackets. If no curly brackets follow the $, then the variable name +is the character immediately following the $. Thus $\{myTemp\} and $x +refer to variable names "myTemp" and "x". See the +"variable"_variable.html command for details of how values are +assigned to variables and how they are substituted for in input +scripts. + +(4) The line is broken into "words" separated by whitespace (tabs, +spaces). Note that words can thus contain letters, digits, +underscores, or punctuation characters. + +(5) The first word is the command name. All successive words in the +line are arguments. + +(6) Text with spaces can be enclosed in double quotes so it will be +treated as a single argument. See the "dump modify"_dump_modify.html +or "fix print"_fix_print.html commands for examples. A '#' or '$' +charater that in text between double quotes will not be treated as a +comment or substituted for as a variable. + +:line + +3.3 Input script structure :h4,link(3_3) + +This section describes the structure of a typical LAMMPS input script. +The "examples" directory in the LAMMPS distribution contains many +sample input scripts; the corresponding problems are discussed in +"this section"_Section_example.html, and animated on the "LAMMPS WWW +Site"_lws. + +A LAMMPS input script typically has 4 parts: + +Initialization +Atom definition +Settings +Run a simulation :ol + +The last 2 parts can be repeated as many times as desired. I.e. run a +simulation, change some settings, run some more, etc. Each of the 4 +parts is now described in more detail. Remember that almost all the +commands need only be used if a non-default value is desired. + +(1) Initialization + +Set parameters that need to be defined before atoms are created or +read-in from a file. + +The relevant commands are "units"_units.html, +"dimension"_dimension.html, "newton"_newton.html, +"processors"_processors.html, "boundary"_boundary.html, +"atom_style"_atom_style.html, "atom_modify"_atom_modify.html. + +If force-field parameters appear in the files that will be read, these +commands tell LAMMPS what kinds of force fields are being used: +"pair_style"_pair_style.html, "bond_style"_bond_style.html, +"angle_style"_angle_style.html, "dihedral_style"_dihedral_style.html, +"improper_style"_improper_style.html. + +(2) Atom definition + +There are 3 ways to define atoms in LAMMPS. Read them in from a data +or restart file via the "read_data"_read_data.html or +"read_restart"_read_restart.html commands. These files can contain +molecular topology information. Or create atoms on a lattice (with no +molecular topology), using these commands: "lattice"_lattice.html, +"orient"_orient.html, "origin"_origin.html, "region"_region.html, +"create_box"_create_box.html, "create_atoms"_create_atoms.html. The +entire set of atoms can be duplicated to make a larger simulation +using the "replicate"_replicate.html command. + +(3) Settings + +Once atoms and molecular topology are defined, a variety of settings +can be specified: force field coefficients, simulation parameters, +output options, etc. + +Force field coefficients are set by these commands (they can also be +set in the read-in files): "pair_coeff"_pair_coeff.html, +"bond_coeff"_bond_coeff.html, "angle_coeff"_angle_coeff.html, +"dihedral_coeff"_dihedral_coeff.html, +"improper_coeff"_improper_coeff.html, +"kspace_style"_kspace_style.html, "dielectric"_dielectric.html, +"special_bonds"_special_bonds.html. + +Various simulation parameters are set by these commands: +"temperature"_temperature.html, "temp_modify"_temp_modify.html, +"neighbor"_neighbor.html, "neigh_modify"_neigh_modify.html, +"group"_group.html, "timestep"_timestep.html, +"reset_timestep"_reset_timestep.html, "run_style"_run_style.html, +"min_style"_min_style.html, "min_modify"_min_modify.html. + +Fixes impose a variety of boundary conditions, time integration, and +diagnostic options. The "fix"_fix.html command comes in many flavors. + +Output options are set by these commands: "thermo"_thermo.html, +"dump"_dump.html, "restart"_restart.html. + +(4) Run a simulation + +A molecular dynamics simulation is run using the "run"_run.html +command. Energy minimizationn (molecular statics) is performed using +the "minimize"_minimize.html command. A parallel tempering +(replica-exchange) simulation can be run using the +"temper"_temper.html command. + +:line + +3.4 Commands listed by category :link(3_4),h4 + +This section lists all LAMMPS commands, grouped by category. The +"next section"_#3_5 lists the same commands alphabetically. Note that +some style options for some commands are part of specific LAMMPS +packages, which means they cannot be used unless the package was +included when LAMMPS was built. Not all packages are included in a +default LAMMPS build. These dependencies are listed as Restrictions +in the command's documentation. + +Initialization: + +"atom_modify"_atom_modify.html, "atom_style"_atom_style.html, +"boundary"_boundary.html, "dimension"_dimension.html, +"newton"_newton.html, "processors"_processors.html, "units"_units.html + +Atom definition: + +"create_atoms"_create_atoms.html, "create_box"_create_box.html, +"lattice"_lattice.html, "orient"_orient.html, "origin"_origin.html, +"read_data"_read_data.html, "read_restart"_read_restart.html, +"region"_region.html, "replicate"_replicate.html + +Force fields: + +"angle_coeff"_angle_coeff.html, "angle_style"_angle_style.html, +"bond_coeff"_bond_coeff.html, "bond_style"_bond_style.html, +"dielectric"_dielectric.html, "dihedral_coeff"_dihedral_coeff.html, +"dihedral_style"_dihedral_style.html, +"improper_coeff"_improper_coeff.html, +"improper_style"_improper_style.html, +"kspace_modify"_kspace_modify.html, "kspace_style"_kspace_style.html, +"pair_coeff"_pair_coeff.html, "pair_modify"_pair_modify.html, +"pair_style"_pair_style.html, "pair_write"_pair_write.html, +"special_bonds"_special_bonds.html + +Settings: + +"dipole"_dipole.html, "group"_group.html, "mass"_mass.html, +"min_modify"_min_modify.html, "min_style"_min_style.html, +"neigh_modify"_neigh_modify.html, "neighbor"_neighbor.html, +"reset_timestep"_reset_timestep.html, "run_style"_run_style.html, +"set"_set.html, "temp_modify"_temp_modify.html, +"temperature"_temperature.html, "timestep"_timestep.html, +"velocity"_velocity.html + +Fixes: + +"fix"_fix.html, "fix_modify"_fix_modify.html, "unfix"_unfix.html + +Output: + +"dump"_dump.html, "dump_modify"_dump_modify.html, +"restart"_restart.html, "thermo"_thermo.html, +"thermo_modify"_thermo_modify.html, "thermo_style"_thermo_style.html, +"undump"_undump.html, "write_restart"_write_restart.html + +Actions: + +"delete_atoms"_delete_atoms.html, "delete_bonds"_delete_bonds.html, +"displace_atoms"_displace_atoms.html, "minimize"_minimize.html, +"run"_run.html, "temper"_temper.html + +Miscellaneous: + +"clear"_clear.html, "echo"_echo.html, "include"_include.html, +"jump"_jump.html, "label"_label.html, "log"_log.html, +"next"_next.html, "print"_print.html, "shell"_shell.html, +"variable"_variable.html + +:line + +3.5 Individual commands :h4,link(3_5),link(comm) + +This section lists all LAMMPS commands alphabetically, with a separate +listing below of styles within certain commands. The "previous +section"_#3_4 lists the same commands, grouped by category. Note that +some style options for some commands are part of specific LAMMPS +packages, which means they cannot be used unless the package was +included when LAMMPS was built. Not all packages are included in a +default LAMMPS build. These dependencies are listed as Restrictions +in the command's documentation. + +"angle_coeff"_angle_coeff.html, +"angle_style"_angle_style.html, +"atom_modify"_atom_modify.html, +"atom_style"_atom_style.html, +"bond_coeff"_bond_coeff.html, +"bond_style"_bond_style.html, +"boundary"_boundary.html, +"clear"_clear.html, +"create_atoms"_create_atoms.html, +"create_box"_create_box.html, +"delete_atoms"_delete_atoms.html, +"delete_bonds"_delete_bonds.html, +"dielectric"_dielectric.html, +"dihedral_coeff"_dihedral_coeff.html, +"dihedral_style"_dihedral_style.html, +"dimension"_dimension.html, +"dipole"_dipole.html, +"displace_atoms"_displace_atoms.html, +"dump"_dump.html, +"dump_modify"_dump_modify.html, +"echo"_echo.html, +"fix"_fix.html, +"fix_modify"_fix_modify.html, +"group"_group.html, +"improper_coeff"_improper_coeff.html, +"improper_style"_improper_style.html, +"include"_include.html, +"jump"_jump.html, +"kspace_modify"_kspace_modify.html, +"kspace_style"_kspace_style.html, +"label"_label.html, +"lattice"_lattice.html, +"log"_log.html, +"mass"_mass.html, +"minimize"_minimize.html, +"min_modify"_min_modify.html, +"min_style"_min_style.html, +"neigh_modify"_neigh_modify.html, +"neighbor"_neighbor.html, +"newton"_newton.html, +"next"_next.html, +"orient"_orient.html, +"origin"_origin.html, +"pair_coeff"_pair_coeff.html, +"pair_modify"_pair_modify.html, +"pair_style"_pair_style.html, +"pair_write"_pair_write.html, +"print"_print.html, +"processors"_processors.html, +"read_data"_read_data.html, +"read_restart"_read_restart.html, +"region"_region.html, +"replicate"_replicate.html, +"reset_timestep"_reset_timestep.html, +"restart"_restart.html, +"run"_run.html, +"run_style"_run_style.html, +"set"_set.html, +"shell"_shell.html, +"special_bonds"_special_bonds.html, +"temp_modify"_temp_modify.html, +"temper"_temper.html, +"temperature"_temperature.html, +"thermo"_thermo.html, +"thermo_modify"_thermo_modify.html, +"thermo_style"_thermo_style.html, +"timestep"_timestep.html, +"undump"_undump.html, +"unfix"_unfix.html, +"units"_units.html, +"variable"_variable.html, +"velocity"_velocity.html, +"write_restart"_write_restart.html :tb(c=6,ea=c) + +Fix styles. See the "fix"_fix.html command for one-line descriptions +or click on the command itself for a full description: + +"fix addforce"_fix_addforce.html, +"fix aveforce"_fix_aveforce.html, +"fix com"_fix_com.html, +"fix drag"_fix_drag.html, +"fix efield"_fix_efield.html, +"fix enforce2d"_fix_enforce2d.html, +"fix freeze"_fix_freeze.html, +"fix gran/diag"_fix_gran_diag.html, +"fix gravity"_fix_gravity.html, +"fix gyration"_fix_gyration.html, +"fix indent"_fix_indent.html, +"fix insert"_fix_insert.html, +"fix langevin"_fix_langevin.html, +"fix lineforce"_fix_lineforce.html, +"fix msd"_fix_msd.html, +"fix momentum"_fix_momentum.html, +"fix nph"_fix_nph.html, +"fix npt"_fix_npt.html, +"fix nve"_fix_nve.html, +"fix nve/gran"_fix_nve_gran.html, +"fix nvt"_fix_nvt.html, +"fix orient/fcc"_fix_orient_fcc.html, +"fix planeforce"_fix_planeforce.html, +"fix poems"_fix_poems.html, +"fix print"_fix_print.html, +"fix rdf"_fix_rdf.html, +"fix recenter"_fix_recenter.html, +"fix rigid"_fix_rigid.html, +"fix setforce"_fix_setforce.html, +"fix shake"_fix_shake.html, +"fix spring"_fix_spring.html, +"fix spring/rg"_fix_spring_rg.html, +"fix spring/self"_fix_spring_self.html, +"fix temp/rescale"_fix_temp_rescale.html, +"fix tmd"_fix_tmd.html, +"fix uniaxial"_fix_uniaxial.html, +"fix vcm"_fix_vcm.html, +"fix viscous"_fix_viscous.html, +"fix volume/rescale"_fix_volume_rescale.html, +"fix wall/gran"_fix_wall_gran.html, +"fix wall/lj93"_fix_wall_lj93.html, +"fix wall/reflect"_fix_wall_reflect.html, +"fix wiggle"_fix_wiggle.html :tb(c=6,ea=c) + +Pair styles. See the "pair_style"_pair_style.html command for an +overview of pair potentials. Click on the style itself for a full +description: + +"none"_pair_style_none.html, +"hybrid"_pair_style_hybrid.html, +"buck"_pair_style_buck.html, +"buck/coul/cut"_pair_style_buck.html, +"buck/coul/long"_pair_style_buck.html, +"dpd"_pair_style_dpd.html, +"eam"_pair_style_eam.html, +"eam/alloy"_pair_style_eam.html, +"eam/fs"_pair_style_eam.html, +"gran/hertzian"_pair_style_gran.html, +"gran/history"_pair_style_gran.html, +"gran/no_history"_pair_style_gran.html, +"lj/charmm/coul/charmm"_pair_style_charmm.html, +"lj/charmm/coul/charmm/implicit"_pair_style_charmm.html, +"lj/charmm/coul/long"_pair_style_charmm.html, +"lj/class2"_pair_style_class2.html, +"lj/class2/coul/cut"_pair_style_class2.html, +"lj/class2/coul/long"_pair_style_class2.html, +"lj/cut"_pair_style_lj.html, +"lj/cut/coul/cut"_pair_style_lj.html, +"lj/cut/coul/debye"_pair_style_lj.html, +"lj/cut/coul/long"_pair_style_lj.html, +"lj/cut/coul/long/tip4p"_pair_style_lj.html, +"lj/expand"_pair_style_lj_expand.html, +"lj/smooth"_pair_style_lj_smooth.html, +"morse"_pair_style_morse.html, +"soft"_pair_style_soft.html, +"table"_pair_style_table.html, +"yukawa"_pair_style_yukawa.html :tb(c=4,ea=c) + +Bond styles. See the "bond_style"_bond_style.html command for an +overview of bond potentials. Click on the style itself for a full +description: + +"none"_bond_style_none.html, +"hybrid"_bond_style_hybrid.html, +"class2"_bond_style_class2.html, +"fene"_bond_style_fene.html, +"fene/expand"_bond_style_fene_expand.html, +"harmonic"_bond_style_harmonic.html, +"morse"_bond_style_morse.html, +"nonlinear"_bond_style_nonlinear.html, +"quartic"_bond_style_quartic.html :tb(c=4,ea=c,w=100) + +Angle styles. See the "angle_style"_angle_style.html command for an +overview of angle potentials. Click on the style itself for a full +description: + +"none"_angle_style_none.html, +"hybrid"_angle_style_hybrid.html, +"charmm"_angle_style_charmm.html, +"class2"_angle_style_class2.html, +"cosine"_angle_style_cosine.html, +"cosine/squared"_angle_style_cosine_squared.html, +"harmonic"_angle_style_harmonic.html :tb(c=6,ea=c,w=100) + +Dihedral styles. See the "dihedral_style"_dihedral_style.html command +for an overview of dihedral potentials. Click on the style itself for +a full description: + +"none"_dihedral_style_none.html, +"hybrid"_dihedral_style_hybrid.html, +"charmm"_dihedral_style_charmm.html, +"class2"_dihedral_style_class2.html, +"harmonic"_dihedral_style_harmonic.html, +"helix"_dihedral_style_helix.html, +"multi/harmonic"_dihedral_style_multi_harmonic.html, +"opls"_dihedral_style_opls.html :tb(c=7,ea=c,w=100) + +Improper styles. See the "improper_style"_improper_style.html command for an +overview of improper potentials. Click on the style itself for a full +description: + +"none"_improper_style_none.html, +"hybrid"_improper_style_hybrid.html, +"class2"_improper_style_class2.html, +"cvff"_improper_style_cvff.html, +"harmonic"_improper_style_harmonic.html :tb(c=4,ea=c,w=100) diff --git a/doc/Section_errors.html b/doc/Section_errors.html new file mode 100644 index 0000000000..a72c0bb6c9 --- /dev/null +++ b/doc/Section_errors.html @@ -0,0 +1,2658 @@ + +
      Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
      + + + + + + +
      + +

      9. Errors +

      +

      This section describes the various kinds of errors you can encounter +when using LAMMPS. +

      +9.1 Common problems
      +9.2 Reporting bugs
      +9.3 Error & warning messages
      + +
      + +

      9.1 Common problems +

      +

      If two LAMMPS runs do not produce the same answer on different +machines or different numbers of processors, this is typically not a +bug. In theory you should get identical answers on any number of +processors and on any machine. In practice, numerical round-off can +cause slight differences and eventual divergence of molecular dynamics +phase space trajectories within a few 100s or few 1000s of timesteps. +However, the statistical properties of the two runs (e.g. average +energy or temperature) should still be the same. +

      +

      If the velocity command is used to set initial atom +velocities, a particular atom can be assigned a different velocity +when the problem on different machines. Obviously, this means the +phase space trajectories of the two simulations will rapidly diverge. +See the discussion of the loop option in the +velocity command for details. +

      +

      A LAMMPS simulation typically has two stages, setup and run. Most +LAMMPS errors are detected at setup time; others like a bond +stretching too far may not occur until the middle of a run. +

      +

      LAMMPS tries to flag errors and print informative error messages so +you can fix the problem. Of course LAMMPS cannot figure out your +physics mistakes, like choosing too big a timestep, specifying invalid +force field coefficients, or putting 2 atoms on top of each other! If +you find errors that LAMMPS doesn't catch that you think it should +flag, please send us an email. +

      + + +

      If you get an error message about an invalid command in your input +script, you can determine what command is causing the problem by +looking in the log.lammps file or using the echo command +to see it on the screen. For a given command, LAMMPS expects certain +arguments in a specified order. If you mess this up, LAMMPS will +often flag the error, but it may read a bogus argument and assign a +value that is valid, but not what you wanted. E.g. trying to read the +string "abc" as an integer value and assigning the associated variable +a value of 0. +

      +

      Generally, LAMMPS will print a message to the screen and exit +gracefully when it encounters a fatal error. Sometimes it will print +a WARNING and continue on; you can decide if the WARNING is important +or not. If LAMMPS crashes or hangs without spitting out an error +message first then it could be a bug (see this section) or one +of the following cases: +

      +

      LAMMPS runs in the available memory a processor allows to be +allocated. Most reasonable MD runs are compute limited, not memory +limited, so this shouldn't be a bottleneck on most platforms. Almost +all large memory allocations in the code are done via C-style malloc's +which will generate an error message if you run out of memory. +Smaller chunks of memory are allocated via C++ "new" statements. If +you are unlucky you could run out of memory just when one of these +small requests is made, in which case the code will crash or hang (in +parallel), since LAMMPS doesn't trap on those errors. +

      +

      Illegal arithmetic can cause LAMMPS to run slow or crash. This is +typically due to invalid physics and numerics that your simulation is +computing. If you see wild thermodynamic values or NaN values in your +LAMMPS output, something is wrong with your simulation. +

      +

      In parallel, one way LAMMPS can hang is due to how different MPI +implementations handle buffering of messages. If the code hangs +without an error message, it may be that you need to specify an MPI +setting or two (usually via an environment variable) to enable +buffering or boost the sizes of messages that can be buffered. +

      +
      + +

      9.2 Reporting bugs +

      +

      If you are confident that you have found a bug in LAMMPS, we'd like to +know about it via email. +

      +

      First, check the "New features and bug fixes" section of the LAMMPS +WWW site to see if the bug has already been reported or fixed. +

      +

      If not, the most useful thing you can do for us is to isolate the +problem. Run it on the smallest number of atoms and fewest number of +processors and with the simplest input script that reproduces the bug. +

      +

      Send an email that describes the problem and any ideas you have as to +what is causing it or where in the code the problem might be. We'll +request your input script and data files if necessary. +

      +
      + +

      9.3 Error & warning Messages +

      +

      These are two alphabetic lists of the ERROR and +WARNING messages LAMMPS prints out and the reason why. If the +explanation here is not sufficient, the documentation for the +offending command may help. Grepping the source files for the text of +the error message and staring at the source code and comments is also +not a bad idea! Note that sometimes the same message can be printed +from multiple places in the code. +

      +

      Errors: +

      +
      + +
      1-3 bond count is inconsistent + +
      An inconsistency was detected when computing the number of 1-3 +neighbors for each atom. This likely means something is wrong with +the bond topologies you have defined. + +
      1-4 bond count is inconsistent + +
      An inconsistency was detected when computing the number of 1-4 +neighbors for each atom. This likely means something is wrong with +the bond topologies you have defined. + +
      All angle coeffs are not set + +
      All angle coefficients must be set in the data file or by the +angle_coeff command before running a simulation. + +
      All bond coeffs are not set + +
      All bond coefficients must be set in the data file or by the +bond_coeff command before running a simulation. + +
      All EAM pair coeffs are not set + +
      All EAM pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation. + +
      All dihedral coeffs are not set + +
      All dihedral coefficients must be set in the data file or by the +dihedral_coeff command before running a simulation. + +
      All dipole moments are not set + +
      For atom styles that define dipole moments for each atom type, all +moments must be set in the data file or by the dipole command before +running a simulation. + +
      All improper coeffs are not set + +
      All improper coefficients must be set in the data file or by the +improper_coeff command before running a simulation. + +
      All masses are not set + +
      For atom styles that define masses for each atom type, all masses must +be set in the data file or by the mass command before running a +simulation. They must also be set before using the velocity +command. + +
      All pair coeffs are not set + +
      All pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation. + +
      All universe variables must have same # of values + +
      Self-explanatory. + +
      All variables in next command must be same style + +
      Self-explanatory. + +
      Angle atoms %d %d %d missing on proc %d at step %d + +
      One or more of 3 atoms needed to compute a particular angle are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the angle has blown apart and an atom is +too far away. + +
      Angle atom missing in delete_bonds + +
      The delete_bonds command cannot find one or more atoms in a particular +angle on a particular processor. The pairwise cutoff is too short or +the atoms are too far apart to make a valid angle. + +
      Angle atom missing in set command + +
      The set command cannot find one or more atoms in a particular angle on +a particular processor. The pairwise cutoff is too short or the atoms +are too far apart to make a valid angle. + +
      Angle coeffs are not set + +
      No angle coefficients have been assigned in the data file or via the +angle_coeff command. + +
      Angle_coeff command before angle_style is defined + +
      Coefficients cannot be set in the data file or via the angle_coeff +command until an angle_style has been assigned. + +
      Angle_coeff command before simulation box is defined + +
      The angle_coeff command cannot be used before a read_data, +read_restart, or create_box command. + +
      Angle_coeff command when no angles allowed + +
      The chosen atom style does not allow for angles to be defined. + +
      Angle coeff for hybrid has invalid style + +
      Angle style hybrid uses another angle style as one of its +coefficients. The angle style used in the angle_coeff command or read +from a restart file is not recognized. + +
      Angles assigned incorrectly + +
      Angles read in from the data file were not assigned correctly to +atoms. This means there is something invalid about the topology +definitions. + +
      Angles defined but no angle types + +
      The data file header lists angles but no angle types. + +
      Angle style hybrid cannot have hybrid as an argument + +
      Self-explanatory. + +
      Angle style hybrid cannot use same angle style twice + +
      Self-explanatory. + +
      Atom count is inconsistent, cannot write restart file + +
      Sum of atoms across processors does not equal initial total count. +This is probably because you have lost some atoms. + +
      Atom IDs must be consecutive for dump dcd + +
      Self-explanatory. + +
      Atom IDs must be consecutive for dump xtc + +
      Self-explanatory. + +
      Atom IDs must be consecutive for dump xyz + +
      Self-explanatory. + +
      Atom in too many rigid bodies - boost MAXBODY + +
      Fix poems has a parameter MAXBODY (in fix_poems.cpp) which determines +the maximum number of rigid bodies a single atom can belong to (i.e. a +multibody joint). The bodies you have defined exceed this limit. + +
      Atom_modify command after simulation box is defined + +
      The atom_modify command cannot be used after a read_data, +read_restart, or create_box command. + +
      Atom_modify command before atom_style command + +
      The atom_modify command cannot be used before an atom style has +been defined. + +
      Atom style granular and dpd cannot be used together + +
      Self-explanatory. + +
      Atom style granular must perform 3d simulations + +
      Atom style granular cannot be used with 2d simulations, because +the pairwise potentials are inherently 3d. + +
      Atom style hybrid cannot have hybrid as an argument + +
      Self-explanatory. Check the input script. + +
      Atom_style command after simulation box is defined + +
      The atom_style command cannot be used after a read_data, +read_restart, or create_box command. + +
      Attempting to rescale a 0.0 temperature + +
      Cannot rescale a temperature that is already 0.0. + +
      Bad FENE bond + +
      Two atoms in a FENE bond have become so far apart that the bond cannot +be computed. + +
      Bad grid of processors + +
      The 3d grid of processors defined by the processors command does not +match the number of processors LAMMPS is being run on. + +
      Bad principal moments + +
      Fix rigid did not compute the principal moments of inertia of a rigid +group of atoms correctly. + +
      Bad slab parameter + +
      Kspace_modify value for the slab/volume keyword must be >= 2.0. + +
      Bitmapped lookup tables require int/float be same size + +
      Cannot use pair tables on this machine, because of word sizes. Use +the pair_modify command with table 0 instead. + +
      Bitmapped table is incorrect length in table file + +
      Number of table entries is not a correct power of 2. + +
      Bitmapped table in file does not match requested table + +
      Setting for bitmapped table in pair_coeff command must match table +in file exactly. + +
      Bond and angle potentials must be defined for TIP4P + +
      Cannot use TIP4P pair potential unless bond and angle potentials +are defined. + +
      Bond atom missing in delete_bonds + +
      The delete_bonds command cannot find one or more atoms in a particular +bond on a particular processor. The pairwise cutoff is too short or +the atoms are too far apart to make a valid bond. + +
      Bond atom missing in set command + +
      The set command cannot find one or more atoms in a particular bond on +a particular processor. The pairwise cutoff is too short or the atoms +are too far apart to make a valid bond. + +
      Bond atoms %d %d missing on proc %d at step %d + +
      One or more of 2 atoms needed to compute a particular bond are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the bond has blown apart and an atom is +too far away. + +
      Bond coeff for hybrid has invalid style + +
      Bond style hybrid uses another bond style as one of its coefficients. +The bond style used in the bond_coeff command or read from a restart +file is not recognized. + +
      Bond_coeff command before bond_style is defined + +
      Coefficients cannot be set in the data file or via the bond_coeff +command until an bond_style has been assigned. + +
      Bond_coeff command before simulation box is defined + +
      The bond_coeff command cannot be used before a read_data, +read_restart, or create_box command. + +
      Bond_coeff command when no bonds allowed + +
      The chosen atom style does not allow for bonds to be defined. + +
      Bond coeffs are not set + +
      No bond coefficients have been assigned in the data file or via the +bond_coeff command. + +
      Bond potential must be defined for SHAKE + +
      Cannot use fix shake unless bond potential is defined. + +
      Bonds assigned incorrectly + +
      Bonds read in from the data file were not assigned correctly to atoms. +This means there is something invalid about the topology definitions. + +
      Bonds defined but no bond types + +
      The data file header lists bonds but no bond types. + +
      Bond style hybrid cannot have hybrid as an argument + +
      Self-explanatory. Check the input script. + +
      Bond style hybrid cannot use same bond style twice + +
      The sub-style arguments of bond_style hybrid cannot be duplicated. +Check the input script. + +
      Bond style quartic cannot be used with 3,4-body interactions + +
      No angle, dihedral, or improper styles can be defined when using +bond style quartic. + +
      Both sides of boundary must be periodic + +
      Cannot specify a boundary as periodic only on the lo or hi side. Must +be periodic on both sides. + +
      Boundary command after simulation box is defined + +
      The boundary command cannot be used after a read_data, read_restart, +or create_box command. + +
      Box bounds are invalid + +
      The box boundaries specified in the read_data file are invalid. The +lo value must be less than the hi value for all 3 dimensions. + +
      Can only wiggle zcylinder wall in z dim + +
      The Self-explanatory. + +
      Cannot change dump_modify every for dump dcd + +
      The frequency of writing dump dcd snapshots cannot be changed. + +
      Cannot compute PPPM G + +
      LAMMPS failed to compute a valid approximation for the PPPM g_ewald +factor that partitions the computation between real space and k-space. + +
      Cannot compute PPPM X grid spacing + +
      LAMMPS failed to compute a valid PPPM grid spacing in the x dimension. + +
      Cannot compute PPPM Y grid spacing + +
      LAMMPS failed to compute a valid PPPM grid spacing in the y dimension. + +
      Cannot compute PPPM Z grid spacing + +
      LAMMPS failed to compute a valid PPPM grid spacing in the z dimension. + +
      Cannot create atoms with undefined lattice + +
      Must use the lattice command before using the create_atoms +command. + +
      Cannot create_box after simulation box is defined + +
      The create_box command cannot be used after a read_data, read_restart, +or create_box command. + +
      Cannot create_box until atom_style is defined + +
      Self-explanatory. + +
      Cannot create vels with loop all for non-contiguous atom IDs + +
      You cannot use the loop all option if you atom IDs do not span 1 to natoms + +
      Cannot evaluate variable equal command + +
      Syntax or keyword names in mathematical expression are not +recognized. + +
      Cannot find delete_bonds group ID + +
      Group ID used in the delete_bonds command does not exist. + +
      Cannot find set command group ID + +
      Group ID used in the set command does not exist. + +
      Cannot fix nph on a non-periodic dimension + +
      Pressure can only be controlled on a dimension that is periodic. + +
      Cannot fix npt on a non-periodic dimension + +
      Pressure can only be controlled on a dimension that is periodic. + +
      Cannot fix volume/rescale on a non-periodic boundary + +
      Volume can only be rescaled on a dimension that is periodic. + +
      Cannot fix uniaxial on non-periodic system + +
      Volume can only be rescaled uniaxially if system is periodic in all 3 +dimensions. + +
      Cannot invoke single() with pairwise TIP4P potential + +
      Commands that invoke the single() function within pairwise potentials +cannot be used with a TIP4P potential, due to the way it computes +forces on other atoms besides the i,j pair. This includes the eng and +stress tensor components for the dump custom command. + +
      Cannot open EAM potential file %s + +
      The specified EAM potential file cannot be opened. Check that the +path and name are correct. + +
      Cannot open file %s + +
      The specified file cannot be opened. Check that the path and name are +correct. + +
      Cannot open fix com file %s + +
      The output file for the fix com command cannot be opened. Check that +the path and name are correct. + +
      Cannot open fix gran/diag file %s + +
      The output file for the fix gran/diag command cannot be opened. Check +that the path and name are correct. + +
      Cannot open fix msd file %s + +
      The output file for the fix msd command cannot be opened. Check that +the path and name are correct. + +
      Cannot open fix poems file %s + +
      The specified file cannot be opened. Check that the path and name are +correct. + +
      Cannot open fix rdf file %s + +
      The output file for the fix rdf command cannot be opened. Check that +the path and name are correct. + +
      Cannot open fix tmd file %s + +
      The output file for the fix tmd command cannot be opened. Check that +the path and name are correct. + +
      Cannot open gzipped file + +
      LAMMPS is attempting to open a gzipped version of the specified file +but was unsuccessful. Check that the path and name are correct. + +
      Cannot open pair_write file + +
      The specified output file for pair energies and forces cannot be +opened. Check that the path and name are correct. + +
      Cannot open restart file %s + +
      The output restart file cannot be opened. Check that the path and +name are correct and that disk space is available. + +
      Cannot read_data after simulation box is defined + +
      The read_data command cannot be used after a read_data, +read_restart, or create_box command. + +
      Cannot read_data until atom_style is defined + +
      Self-explanatory. + +
      Cannot read_restart after simulation box is defined + +
      The read_restart command cannot be used after a read_data, +read_restart, or create_box command. + +
      Cannot redefine variable as a different style + +
      The variable was already used as a different style variable. + +
      Cannot replicate 2d simulation in z dimension + +
      The replicate command cannot replicate a 2d simulation in the z +dimension. + +
      Cannot replicate with fixes that store atom quantities + +
      Either fixes are defined that create and store atom-based vectors or a +restart file was read which included atom-based vectors for fixes. +The replicate command cannot duplicate that information for new atoms. +You should use the replicate command before fixes are applied to the +system. + +
      Cannot run 2d simulation with nonperiodic Z dimension + +
      Use the boundary command to make the z dimension periodic in order to +run a 2d simulation. + +
      Cannot set both respa pair and inner/middle/outer + +
      In the rRESPA integrator, you must compute pairwise potentials either +all together (pair), or in pieces (inner/middle/outer). You can't do +both. + +
      Cannot set dipole for this atom style + +
      This atom style does not support dipole settings for each atom type. + +
      Cannot set dump_modify flush for dump xtc + +
      Self-explanatory. + +
      Cannot set mass for this atom style + +
      This atom style does not support mass settings for each atom type. +Instead they are defined on a per-atom basis in the data file. + +
      Cannot set respa middle without inner/outer + +
      In the rRESPA integrator, you must define both a inner and outer +setting in order to use a middle setting. + +
      Cannot set these values with this atom style + +
      Choice of set style does not match attribute of atom style. + +
      Cannot use atom style granular with chosen thermo settings + +
      Cannot output temperature or pressure with atom style granular. + +
      Cannot use delete_bonds with non-molecular system + +
      Your choice of atom style does not have bonds. + +
      Cannot use dump bond with non-molecular system + +
      Your choice of atom style does not have bonds. + +
      Cannot use Ewald with 2d simulation + +
      The kspace style ewald cannot be used in 2d simulations. You can use +2d Ewald in a 3d simulation; see the kspace_modify command. + +
      Cannot use fix gravity vector with atom style granular + +
      Self-explanatory. + +
      Cannot use fix poems with atom style granular + +
      This fix is not yet enabled for this atom style. + +
      Cannot use fix rigid with atom style granular + +
      This fix is not yet enabled for this atom style. + +
      Cannot use fix shake with non-molecular system + +
      Your choice of atom style does not have bonds. + +
      Cannot use multiple long-range potentials with pair hybrid + +
      Only one sub-style potential with a long-range component can be +used with pair_style hybrid. + +
      Cannot use nonperiodic boundaries with Ewald + +
      For kspace style ewald, all 3 dimensions must have periodic boundaries +unless you use the kspace_modify command to define a 2d slab with a +non-periodic z dimension. + +
      Cannot use nonperiodic boundaries with PPPM + +
      For kspace style pppm, All 3 dimensions must have periodic boundaries +unless you use the kspace_modify command to define a 2d slab with a +non-periodic z dimension. + +
      Cannot use PPPM with 2d simulation + +
      The kspace style pppm cannot be used in 2d simulations. You can use +2d PPPM in a 3d simulation; see the kspace_modify command. + +
      Cannot use region INF when box does not exist + +
      Regions that extend to the box boundaries can only be used after the +create_box command has been used. + +
      Cannot use vectors in variables unless atom map exists + +
      Vectors require an atom map to be able to lookup the vector index. +Only atom styles with molecular information creat a global map. + +
      Cannot zero momentum for less than 2 atoms + +
      Velocity command is being used with momentum-zeroing options on a +group with 0 or 1 atoms. + +
      Command-line variable already exists + +
      Cannot use the -var command-line option to define the same variable +more than once. + +
      Could not create 3d FFT plan + +
      The FFT setup in pppm failed. + +
      Could not create 3d remap plan + +
      The FFT setup in pppm failed. + +
      Could not find delete_atoms group ID + +
      Group ID used in the delete_atoms command does not exist. + +
      Could not find delete_atoms region ID + +
      Region ID used in the delete_atoms command does not exist. + +
      Could not find displace_atoms group ID + +
      A group ID used in the displace_atoms command does not exist. + +
      Cound not find dump_modify ID + +
      A dump ID used in the dump_modify command does not exist. + +
      Could not find dump group ID + +
      A group ID used in the dump command does not exist. + +
      Could not find fix group ID + +
      A group ID used in the fix command does not exist. + +
      Could not find fix poems group ID + +
      A group ID used in the fix poems command does not exist. + +
      Could not find fix rigid group ID + +
      A group ID used in the fix rigid command does not exist. + +
      Could not find fix_modify ID + +
      A fix ID used in the fix_modify command does not exist. + +
      Could not find fix_modify temperature ID + +
      A temperature ID used in the fix_modify command does not exist. + +
      Could not find fix spring vector group ID + +
      Group ID used with fix spring command does not exist. + +
      Could not find temp_modify ID + +
      A temperature ID used in the temp_modify command does not exist. + +
      Could not find temperature group ID + +
      A group ID used in the temperature command does not exist. + +
      Could not find thermo temperature ID + +
      A temperature ID used in the thermo custom style does not exist. + +
      Could not find thermo_modify temperature ID + +
      A temperature ID used in the thermo_modify command does not exist. + +
      Could not find undump ID + +
      A dump ID used in the undump command does not exist. + +
      Could not find unfix ID + +
      A fix ID used in the unfix command does not exist. + +
      Could not find velocity group ID + +
      A group ID used in the velocity command does not exist. + +
      Could not find velocity temperature ID + +
      A temperature ID used in the velocity command does not exist. + +
      Could not open dump file + +
      The output file for the dump command cannot be opened. Check that the +path and name are correct. + +
      Could not open input script + +
      The input script file named in a command-line argument could not be +opened. + +
      Could not open log.lammps + +
      The default LAMMPS log file cannot be opened. Check that the +directory you are running in allows for files to be created. + +
      Could not open logfile + +
      The LAMMPS log file named in a command-line argument cannot be opened. +Check that the path and name are correct. + +
      Could not open logfile %s + +
      The LAMMPS log file specified in the input script cannot be opened. +Check that the path and name are correct. + +
      Could not open new input file %s + +
      The input script file named in an include or jump command could not be +opened. Check that the path and name are correct. + +
      Could not open screen file + +
      The screen file specified as a command-line argument cannot be +opened. Check that the directory you are running in allows for files +to be created. + +
      Could not open universe log file + +
      For a multi-partition run, the master log file cannot be opened. +Check that the directory you are running in allows for files to be +created. + +
      Could not open universe screen file + +
      For a multi-partition run, the master screen file cannot be opened. +Check that the directory you are running in allows for files to be +created. + +
      Create_atoms command before simulation box is defined + +
      The create_atoms command cannot be used before a read_data, +read_restart, or create_box command. + +
      Create_atoms region ID does not exist + +
      A region ID used in the create_atoms command does not exist. + +
      Create_box region must be of type inside + +
      The region used in the create_box command must not be an "outside" +region. See the region command for details. + +
      Create_box region ID does not exist + +
      A region ID used in the create_box command does not exist. + +
      Cyclic loop in joint connections + +
      Fix poems cannot (yet) work with coupled bodies whose joints connect +the bodies in a ring (or cycle). + +
      Delete_atoms command before simulation box is defined + +
      The delete_atoms command cannot be used before a read_data, +read_restart, or create_box command. + +
      Delete_atoms cutoff > neighbor cutoff + +
      Cannot use a cutoff with delete_atoms overlap that is larger than +the force cutoff + neighbor skin. + +
      Delete_bonds command before simulation box is defined + +
      The delete_bonds command cannot be used before a read_data, +read_restart, or create_box command. + +
      Delete_bonds command with no atoms existing + +
      No atoms are yet defined so the delete_bonds command cannot be used. + +
      Did not assign all atoms correctly + +
      Atoms read in from a data file were not assigned correctly to +processors. This is likely due to some atom coordinates being +outside a non-periodic simulation box. + +
      Did not find keyword in table file + +
      Keyword used in pair_coeff command was not found in table file. + +
      Did not find fix shake partner info + +
      Could not find bond partners implied by fix shake command. This error +can be triggered if the delete_bonds command was used before fix +shake, and it removed bonds without resetting the 1-2, 1-3, 1-4 +weighting list via the special keyword. + +
      Dihedral atoms %d %d %d %d missing on proc %d at step %d + +
      One or more of 4 atoms needed to compute a particular dihedral are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the dihedral has blown apart and an atom is +too far away. + +
      Dihedral atom missing in delete_bonds + +
      The delete_bonds command cannot find one or more atoms in a particular +dihedral on a particular processor. The pairwise cutoff is too short +or the atoms are too far apart to make a valid dihedral. + +
      Dihedral atom missing in set command + +
      The set command cannot find one or more atoms in a particular dihedral +on a particular processor. The pairwise cutoff is too short or the +atoms are too far apart to make a valid dihedral. + +
      Dihedral_coeff command before dihedral_style is defined + +
      Coefficients cannot be set in the data file or via the dihedral_coeff +command until an dihedral_style has been assigned. + +
      Dihedral_coeff command before simulation box is defined + +
      The dihedral_coeff command cannot be used before a read_data, +read_restart, or create_box command. + +
      Dihedral_coeff command when no dihedrals allowed + +
      The chosen atom style does not allow for dihedrals to be defined. + +
      Dihedral coeff for hybrid has invalid style + +
      Dihedral style hybrid uses another dihedral style as one of its +coefficients. The dihedral style used in the dihedral_coeff command +or read from a restart file is not recognized. + +
      Dihedral coeffs are not set + +
      No dihedral coefficients have been assigned in the data file or via +the dihedral_coeff command. + +
      Dihedrals assigned incorrectly + +
      Dihedrals read in from the data file were not assigned correctly to +atoms. This means there is something invalid about the topology +definitions. + +
      Dihedrals defined but no dihedral types + +
      The data file header lists dihedrals but no dihedral types. + +
      Dihedral style hybrid cannot have hybrid as an argument + +
      Self-explanatory. + +
      Dihedral style hybrid cannot use same dihedral style twice + +
      Self-explanatory. + +
      Dimension command after simulation box is defined + +
      The dimension command cannot be used after a read_data, +read_restart, or create_box command. + +
      Dipole command before simulation box is defined + +
      The dipole command cannot be used before a read_data, +read_restart, or create_box command. + +
      Displace_atoms command before simulation box is defined + +
      The displace_atoms command cannot be used before a read_data, +read_restart, or create_box command. + +
      Dump dcd must use group all + +
      Self-explanatory. + +
      Dump dcd of non-matching # of atoms + +
      Every snapshot written by dump dcd must contain the same # of atoms. + +
      Dump xtc must use group all + +
      Self-explanatory. + +
      Dump_modify region ID does not exist + +
      Self-explanatory. + +
      Dump xtc must use group all + +
      Self-explanatory. + +
      Failed to allocate %d bytes for array %s + +
      Your LAMMPS simulation has run out of memory. You need to run a +smaller simulation or on more processors. + +
      Failed to reallocate %d bytes for array %s + +
      Your LAMMPS simulation has run out of memory. You need to run a +smaller simulation or on more processors. + +
      Fix command before simulation box is defined + +
      The fix command cannot be used before a read_data, read_restart, or +create_box command. + +
      Fix insert region ID does not exist + +
      A region ID used in the fix insert command does not exist. + +
      Fix langevin period must be > 0.0 + +
      The time window for temperature relaxation must be > 0 + +
      Fix langevin region ID does not exist + +
      Self-explanatory. + +
      Fix nph periods must be > 0.0 + +
      The time window for pressure relaxation must be > 0 + +
      Fix npt periods must be > 0.0 + +
      The time window for temperature or pressure relaxation must be > 0 + +
      Fix nvt period must be > 0.0 + +
      The time window for temperature relaxation must be > 0 + +
      Fix orient/fcc file open failed + +
      The fix orient/fcc command could not open a specified file. + +
      Fix orient/fcc file read failed + +
      The fix orient/fcc command could not read the needed parameters from a +specified file. + +
      Fix orient/fcc found self twice + +
      The neighbor lists used by fix orient/fcc are messed up. If this +error occurs, it is likely a bug, so send an email. + +
      Fix rdf requires a pair style be defined + +
      Cannot use the rdf fix unless a pair style with a cutoff has been +defined. + +
      Fix temp/rescale region ID does not exist + +
      Self-explanatory. + +
      Fix tmd must come after integration fixes + +
      Any fix tmd command must appear in the input script after all time +integration fixes (nve, nvt, npt). See the fix tmd documentation for +details. + +
      Fix wall/gran can only be used with granular pair style + +
      Self-explanatory. + +
      Granular pair styles do not use pair_coeff settings + +
      The pair_coeff command cannot be used with granular force fields. + +
      Gravity must point in -z to use with fix insert + +
      The fix insert command assumes the theta angle for gravity is 180.0. + +
      Group command before simulation box is defined + +
      The group command cannot be used before a read_data, read_restart, or +create_box command. + +
      Group ID does not exist + +
      A group ID used in the group command does not exist. + +
      Group region ID does not exist + +
      A region ID used in the group command does not exist. + +
      Illegal ... command + +
      Self-explanatory. Check the input script syntax and compare to the +documentation for the command. + +
      Improper atoms %d %d %d %d missing on proc %d at step %d + +
      One or more of 4 atoms needed to compute a particular improper are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the improper has blown apart and an atom is +too far away. + +
      Improper atom missing in delete_bonds + +
      The delete_bonds command cannot find one or more atoms in a particular +improper on a particular processor. The pairwise cutoff is too short +or the atoms are too far apart to make a valid improper. + +
      Improper atom missing in set command + +
      The set command cannot find one or more atoms in a particular improper +on a particular processor. The pairwise cutoff is too short or the +atoms are too far apart to make a valid improper. + +
      Improper_coeff command before improper_style is defined + +
      Coefficients cannot be set in the data file or via the improper_coeff +command until an improper_style has been assigned. + +
      Improper_coeff command before simulation box is defined + +
      The improper_coeff command cannot be used before a read_data, +read_restart, or create_box command. + +
      Improper_coeff command when no impropers allowed + +
      The chosen atom style does not allow for impropers to be defined. + +
      Improper coeff for hybrid has invalid style + +
      Improper style hybrid uses another improper style as one of its +coefficients. The improper style used in the improper_coeff command +or read from a restart file is not recognized. + +
      Improper coeffs are not set + +
      No improper coefficients have been assigned in the data file or via +the improper_coeff command. + +
      Impropers assigned incorrectly + +
      Impropers read in from the data file were not assigned correctly to +atoms. This means there is something invalid about the topology +definitions. + +
      Impropers defined but no improper types + +
      The data file header lists improper but no improper types. + +
      Improper style hybrid cannot have hybrid as an argument + +
      Self-explanatory. + +
      Improper style hybrid cannot use same improper style twice + +
      Self-explanatory. + +
      Inconsistent dipole settings for some atoms + +
      Dipole moment must be 0 for non-dipole type atoms. Dipole moment must +be set for dipole type atoms. + +
      Incorrect args for angle coefficients + +
      Self-explanatory. Check the input script or data file. + +
      Incorrect args for bond coefficients + +
      Self-explanatory. Check the input script or data file. + +
      Incorrect args for dihedral coefficients + +
      Self-explanatory. Check the input script or data file. + +
      Incorrect args for improper coefficients + +
      Self-explanatory. Check the input script or data file. + +
      Incorrect args for pair coefficients + +
      Self-explanatory. Check the input script or data file. + +
      Incorrect atom format in data file + +
      Number of values per atom line in the data file is not consistent with +the atom style. + +
      Incorrect boundaries with slab Ewald + +
      Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with Ewald. + +
      Incorrect boundaries with slab PPPM + +
      Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with PPPM. + +
      Incorrect format in TMD target file + +
      Format of file read by fix tmd command is incorrect. + +
      Incorrect multiplicity arg for dihedral coefficients + +
      Self-explanatory. Check the input script or data file. + +
      Incorrect sign arg for dihedral coefficients + +
      Self-explanatory. Check the input script or data file. + +
      Incorrect weight arg for dihedral coefficients + +
      Self-explanatory. Check the input script or data file. + +
      Insertion region extends outside simulation box + +
      Region specified with fix insert command extends outside the global +simulation box. + +
      Insufficient Jacobi rotations for POEMS body + +
      Eigensolve for rigid body was not sufficiently accurate. + +
      Insufficient Jacobi rotations for rigid body + +
      Eigensolve for rigid body was not sufficiently accurate. + +
      Invalid $ variable + +
      The character following a $ in the input script is not between "a" and +"z". + +
      Invalid angle style + +
      The choice of angle style is unknown. + +
      Invalid angle type in Angles section of data file + +
      Angle type must be positive integer and within range of specified angle +types. + +
      Invalid angle type index for fix shake + +
      Self-explanatory. + +
      Invalid atom ID in Angles section of data file + +
      Atom IDs must be positive integers and within range of defined +atoms. + +
      Invalid atom ID in Atoms section of data file + +
      Atom IDs must be positive integers. + +
      Invalid atom ID in Bonds section of data file + +
      Atom IDs must be positive integers and within range of defined +atoms. + +
      Invalid atom ID in Dihedrals section of data file + +
      Atom IDs must be positive integers and within range of defined +atoms. + +
      Invalid atom ID in Impropers section of data file + +
      Atom IDs must be positive integers and within range of defined +atoms. + +
      Invalid atom ID in Velocities section of data file + +
      Atom IDs must be positive integers and within range of defined +atoms. + +
      Invalid atom mass for fix shake + +
      Mass specified in fix shake command must be > 0.0. + +
      Invalid atom style + +
      The choice of atom style is unknown. + +
      Invalid atom type in Atoms section of data file + +
      Atom types must range from 1 to specified # of types. + +
      Invalid atom type in neighbor exclusion list + +
      Atom types must range from 1 to Ntypes inclusive. + +
      Invalid atom type index for fix shake + +
      Atom types must range from 1 to Ntypes inclusive. + +
      Invalid atom types in fix rdf command + +
      Atom types must range from 1 to Ntypes inclusive. + +
      Invalid atom types in pair_write command + +
      Atom types must range from 1 to Ntypes inclusive. + +
      Invalid bond style + +
      The choice of bond style is unknown. + +
      Invalid bond type in Bonds section of data file + +
      Bond type must be positive integer and within range of specified bond +types. + +
      Invalid bond type index for fix shake + +
      Self-explanatory. Check the fix shake command in the input script. + +
      Invalid coeffs for this angle style + +
      Cannot set class 2 coeffs in data file for this angle style. + +
      Invalid coeffs for this dihedral style + +
      Cannot set class 2 coeffs in data file for this dihedral style. + +
      Invalid coeffs for this improper style + +
      Cannot set class 2 coeffs in data file for this improper style. + +
      Invalid command-line argument + +
      One or more command-line arguments is invalid. Check the syntax of +the command you are using to launch LAMMPS. + +
      Invalid cutoffs in pair_write command + +
      Inner cutoff must be larger than 0.0 and less than outer cutoff. + +
      Invalid data file section: Angle Coeffs + +
      Atom style does not allow angles. + +
      Invalid data file section: AngleAngle Coeffs + +
      Atom style does not allow impropers. + +
      Invalid data file section: AngleAngleTorsion Coeffs + +
      Atom style does not allow dihedrals. + +
      Invalid data file section: AngleTorsion Coeffs + +
      Atom style does not allow dihedrals. + +
      Invalid data file section: Angles + +
      Atom style does not allow angles. + +
      Invalid data file section: Bond Coeffs + +
      Atom style does not allow bonds. + +
      Invalid data file section: BondAngle Coeffs + +
      Atom style does not allow angles. + +
      Invalid data file section: BondBond Coeffs + +
      Atom style does not allow angles. + +
      Invalid data file section: BondBond13 Coeffs + +
      Atom style does not allow dihedrals. + +
      Invalid data file section: Bonds + +
      Atom style does not allow bonds. + +
      Invalid data file section: Dihedral Coeffs + +
      Atom style does not allow dihedrals. + +
      Invalid data file section: Dihedrals + +
      Atom style does not allow dihedrals. + +
      Invalid data file section: EndBondTorsion Coeffs + +
      Atom style does not allow dihedrals. + +
      Invalid data file section: Improper Coeffs + +
      Atom style does not allow impropers. + +
      Invalid data file section: Impropers + +
      Atom style does not allow impropers. + +
      Invalid data file section: MiddleBondTorsion Coeffs + +
      Atom style does not allow dihedrals. + +
      Invalid dihedral style + +
      The choice of dihedral style is unknown. + +
      Invalid dihedral type in Dihedrals section of data file + +
      Dihedral type must be positive integer and within range of specified +dihedral types. + +
      Invalid dump dcd filename + +
      Filenames used with the dump dcd style cannot be binary or compressed +or cause multiple files to be written. + +
      Invalid dump frequency + +
      Dumps frequency must be 1 or greater. + +
      Invalid dump_modify threshhold operator + +
      Operator keyword used for threshhold specification in not recognized. + +
      Invalid dump style + +
      The choice of dump style is unknown. + +
      Invalid dump xtc filename + +
      Filenames used with the dump xtc style cannot be binary or compressed +or cause multiple files to be written. + +
      Invalid dump xyz filename + +
      Filenames used with the dump xyz style cannot be binary or cause files +to be written by each processor. + +
      Invalid group ID in neigh_modify command + +
      A group ID used in the neigh_modify command does not exist. + +
      Invalid fix style + +
      The choice of fix style is unknown. + +
      Invalid flag in header of restart file + +
      Value read from beginning of restart file is not recognized. + +
      Invalid improper style + +
      The choice of improper style is unknown. + +
      Invalid improper type in Impropers section of data file + +
      Improper type must be positive integer and within range of specified +improper types. + +
      Invalid keyword in dump custom command + +
      One or more attribute keywords are not recognized. + +
      Invalid keyword in pair table parameters + +
      Keyword used in list of table parameters is not recognized. + +
      Invalid keyword in thermo_style command + +
      One or more attribute keywords are not recognized. + +
      Invalid keyword in variable equal command + +
      One or more attribute keywords are not recognized. + +
      Invalid kspace style + +
      The choice of kspace style is unknown. + +
      Invalid natoms for dump dcd + +
      Natoms is initially 0 which is not valid for the dump dcd style. +Natoms must be constant for the duration of the simulation. + +
      Invalid natoms for dump xtc + +
      Natoms is initially 0 which is not valid for the dump xtc style. + +
      Invalid natoms for dump xyz + +
      Natoms is initially 0 which is not valid for the dump xyz style. + +
      Invalid order of forces within respa levels + +
      For respa, ordering of force computations within respa levels must +obey certain rules. E.g. bonds cannot be compute less frequently than +angles, pairwise forces cannot be computed less frequently than +kspace, etc. + +
      Invalid pair style + +
      The choice of pair style is unknown. + +
      Invalid pair table cutoff + +
      Cutoffs in pair_coeff command are not valid with read-in pair table. + +
      Invalid pair table length + +
      Length of read-in pair table is invalid + +
      Invalid random number seed in set command + +
      Random number seed must be > 0. + +
      Invalid region style + +
      The choice of region style is unknown. + +
      Invalid style in pair_write command + +
      Self-explanatory. Check the input script. + +
      Invalid temperature style + +
      The choice of temperature style is unknown. + +
      Invalid type for dipole set + +
      Dipole command must set a type from 1-N where N is the number of atom +types. + +
      Invalid type for mass set + +
      Mass command must set a type from 1-N where N is the number of atom +types. + +
      Invalid type in set command + +
      Type used in set command must be from 1-N where N is the number +of atom types (bond types, angle types, etc). + +
      Invalid variable in command-line argument + +
      Command-line arg -var must set a variable from "a" to "z". + +
      Invalid variable in next command + +
      Next command in input script must set variables from "a" to "z". + +
      Invalid variable in variable command + +
      Variable command in input script must set a variable from "a" to "z". + +
      Invalid variable style with next command + +
      Variable styles equal and world cannot be used in a next +command. + +
      Invalid vector in variable equal command + +
      One or more vector names are not recognized. + +
      KSpace style has not yet been set + +
      Cannot use kspace_modify command until a kspace style is set. + +
      KSpace style is incompatible with Pair style + +
      Setting a kspace style requires that a pair style with a long-range +Coulombic component be selected. + +
      Label wasn't found in input script + +
      Self-explanatory. + +
      Lattice style incompatible with dimension + +
      2d simulation can use sq, sq2, or hex lattice. 3d simulation can use +sc, bcc, or fcc lattice. + +
      Lost atoms via displacement: original %.15g current %.15g + +
      Moving atoms via the displace_atoms command lost one or more atoms. + +
      Lost atoms: original %.15g current %.15g + +
      A thermodynamic computation has detected lost atoms. + +
      Marsaglia RNG cannot use 0 seed + +
      The random number generator use for the fix langevin command cannot +use 0 as an initial seed. + +
      Mass command before simulation box is defined + +
      The mass command cannot be used before a read_data, read_restart, or +create_box command. + +
      Minimize command before simulation box is defined + +
      The minimize command cannot be used before a read_data, read_restart, +or create_box command. + +
      Min_style command before simulation box is defined + +
      The min_style command cannot be used before a read_data, read_restart, +or create_box command. + +
      More than one freeze fix + +
      You can only define one freeze fix. + +
      More than one shake fix + +
      You can only define one SHAKE fix. + +
      Must define angle_style before Angle Coeffs + +
      Must use an angle_style command before reading a data file that +defines Angle Coeffs. + +
      Must define angle_style before BondAngle Coeffs + +
      Must use an angle_style command before reading a data file that +defines Angle Coeffs. + +
      Must define angle_style before BondBond Coeffs + +
      Must use an angle_style command before reading a data file that +defines Angle Coeffs. + +
      Must define bond_style before Bond Coeffs + +
      Must use a bond_style command before reading a data file that +defines Bond Coeffs. + +
      Must define dihedral_style before AngleAngleTorsion Coeffs + +
      Must use a dihedral_style command before reading a data file that +defines AngleAngleTorsion Coeffs. + +
      Must define dihedral_style before AngleTorsion Coeffs + +
      Must use a dihedral_style command before reading a data file that +defines AngleTorsion Coeffs. + +
      Must define dihedral_style before BondBond13 Coeffs + +
      Must use a dihedral_style command before reading a data file that +defines BondBond13 Coeffs. + +
      Must define dihedral_style before Dihedral Coeffs + +
      Must use a dihedral_style command before reading a data file that +defines Dihedral Coeffs. + +
      Must define dihedral_style before EndBondTorsion Coeffs + +
      Must use a dihedral_style command before reading a data file that +defines EndBondTorsion Coeffs. + +
      Must define dihedral_style before MiddleBondTorsion Coeffs + +
      Must use a dihedral_style command before reading a data file that +defines MiddleBondTorsion Coeffs. + +
      Must define improper_style before AngleAngle Coeffs + +
      Must use an improper_style command before reading a data file that +defines AngleAngle Coeffs. + +
      Must define improper_style before Improper Coeffs + +
      Must use an improper_style command before reading a data file that +defines Improper Coeffs. + +
      Must define pair_style before Pair Coeffs + +
      Must use a pair_style command before reading a data file that defines +Pair Coeffs. + +
      Must have more than one processor partition to temper + +
      Cannot use the temper command with only one processor partition. Use +the -partition command-line option. + +
      Must read Atoms before Angles + +
      The Atoms section of a data file must come before an Angles section. + +
      Must read Atoms before Bonds + +
      The Atoms section of a data file must come before a Bonds section. + +
      Must read Atoms before Dihedrals + +
      The Atoms section of a data file must come before a Dihedrals section. + +
      Must read Atoms before Impropers + +
      The Atoms section of a data file must come before an Impropers +section. + +
      Must read Atoms before Velocities + +
      The Atoms section of a data file must come before a Velocities +section. + +
      Must set both respa inner and outer + +
      Cannot use just the inner or outer option with repsa without using the +other. + +
      Must specify a region in fix insert + +
      Self-explanatory. + +
      Must use -in switch with multiple partitions + +
      A multi-partition simulation cannot read the input script from stdin. +The -in command-line option must be used to specify a file. + +
      Must use a block or cylinder region with fix insert + +
      Self-explanatory. + +
      Must use a molecular atom style with fix poems molecule + +
      Self-explanatory. + +
      Must use a molecular atom style with fix rigid molecule + +
      Self-explanatory. + +
      Must use molecular atom style with neigh_modify exclude molecule + +
      Self-explanatory. + +
      Must use a z-axis cylinder with fix insert + +
      The axis of the cylinder region used with the fix insert command must +be oriented along the z dimension. + +
      Must use atom style dpd with pair style dpd + +
      Self-explanatory. + +
      Must use atom style granular with lj units + +
      Self-explanatory. + +
      Must use atom style granular with pair style granular + +
      Self-explanatory. + +
      Must use atom style granular with chosen thermo settings + +
      If granular thermo info is to be output, must use atom style +granular. + +
      Must use atom style granular with granular thermo output + +
      If atom style is granular, must use thermo style granular or custom. + +
      Must use charged atom style with fix efield + +
      The atom style being used does not allow atoms to have assigned +charges. Hence it will not work with this fix which generates a force +due to an E-field acting on charge. + +
      Must use charged atom style with this pair style + +
      The atom style being used does not allow atoms to have assigned +charges. Hence it will not work with this choice of pair style. + +
      Must use fix freeze with atom style granular + +
      Self-explanatory. + +
      Must use fix gran/diag with atom style granular + +
      Self-explanatory. + +
      Must use fix gran/diag with granular pair style + +
      Self-explanatory. + +
      Must use fix gravity chute with atom style granular + +
      Self-explanatory. + +
      Must use fix gravity spherical with atom style granular + +
      Self-explanatory. + +
      Must use fix gravity gradient with atom style granular + +
      Self-explanatory. + +
      Must use fix gravity with fix insert + +
      Insertion of granular particles must be done under the influence of +gravity. + +
      Must use fix insert with atom style granular + +
      Self-explanatory. + +
      Must use fix nve/gran with atom style granular + +
      Self-explanatory. + +
      Must use fix wall/gran with atom style granular + +
      Self-explanatory. + +
      Must use newton pairwise on with TIP4P potential + +
      Use of a TIP4P pair potential requires the newton command setting for +pairwise interactions be "on", because of the way forces are computed +on other atoms due to TIP4P interactions. + +
      Must use region with side = in with fix insert + +
      Self-explanatory. + +
      Must use special bonds = 1,1,1 with bond style quartic + +
      The settings for the special_bonds command must be set as indicated +when using bond style quartic. + +
      Needed topology not in data file + +
      The header of the data file indicated that bonds or angles or +dihedrals or impropers would be included, but they were not present. + +
      Neighbor delay must be 0 or multiple of every setting + +
      The delay and every parameters set via the neigh_modify command are +inconsistent. If the delay setting is non-zero, then it must be a +multiple of the every setting. + +
      Neighbor list overflow, boost neigh_modify one or page + +
      There are too many neighbors of a single atom. Use the neigh_modify +command to increase the neighbor page size and the max number of +neighbors allowed for one atom. + +
      Newton bond change after simulation box is defined + +
      The newton command cannot be used to change the newton bond value +after a read_data, read_restart, or create_box command. + +
      No angles allowed with this atom style + +
      Self-explanatory. Check data file. + +
      No atoms in data file + +
      The header of the data file indicated that atoms would be included, +but they were not present. + +
      No atoms to compute diffusion for + +
      The fix msd command has no atoms to compute on. + +
      No bonds allowed with this atom style + +
      Self-explanatory. Check data file. + +
      No dihedrals allowed with this atom style + +
      Self-explanatory. Check data file. + +
      No dump custom arguments specified + +
      The dump custom command requires that atom quantities be specified to +output to dump file. + +
      No impropers allowed with this atom style + +
      Self-explanatory. Check data file. + +
      No rigid bodies defined by fix rigid + +
      Self-explanatory. + +
      Non integer # of swaps in temper command + +
      Swap frequency in temper command must evenly divide the total # of +timesteps. + +
      Non-orthogonal lattice vectors + +
      Self-explanatory. + +
      One or zero atoms in rigid body + +
      Any rigid body defined by the fix rigid command must contain 2 or more +atoms. + +
      One or more atoms belong to multiple rigid bodies + +
      Two or more rigid bodies defined by the fix rigid command cannot +contain the same atom. + +
      Orientation vectors are not right-handed + +
      The 3 vectors defined by the orient command must form a right-handed +coordinate system. + +
      Out of range atoms - cannot compute PPPM + +
      One or more atoms are attempting to map their charge to a PPPM grid +point that is not owned by a processor. This is usually because +an atom has moved to far in a single timestep. + +
      Pair distance < table inner cutoff + +
      Two atoms are closer together than the pairwise table allows. + +
      Pair distance > table outer cutoff + +
      Two atoms are further apart than the pairwise table allows. + +
      Pair style must be defined to use bond style quartic + +
      Bond style quartic requires a pair style be defined. + +
      Pair table parameters did not set N + +
      List of pair table parameters must include N setting. + +
      PPPM grid is too large + +
      The global PPPM grid is larger than OFFSET in one or more dimensions. +OFFSET is currently set to 4096. You likely need to decrease the +requested precision. + +
      PPPM order cannot be greater than %d + +
      Self-explanatory. + +
      PPPM stencil extends too far, reduce PPPM order + +
      The grid points that atom charge are mapped to cannot extend further +than one neighbor processor away. Reducing the PPPM order via the +kspace_modify command will reduce the stencil distance. + +
      Pair coeff for hybrid has invalid style + +
      Style in pair coeff must have been listed in pair_style command. + +
      Pair cutoff < Respa interior cutoff + +
      One or more pairwise cutoffs are too short to use with the specified +rRESPA cutoffs. + +
      Pair style hybrid cannot have hybrid as an argument + +
      Self-explanatory. Check the input script. + +
      Pair style hybrid cannot use same pair style twice + +
      The sub-style arguments of pair_style hybrid cannot be duplicated. +Check the input script. + +
      Pair inner cutoff < Respa interior cutoff + +
      One or more pairwise cutoffs are too short to use with the specified +rRESPA cutoffs. + +
      Pair inner cutoff >= Pair outer cutoff + +
      The specified cutoffs for the pair style are inconsistent. + +
      Pair style is incompatible with DihedralCharmm + +
      When using a dihedral style charmm, a pair style with a CHARMM +component must also be selected, so that 1-4 pairwise coefficients are +specified. + +
      Pair style is incompatible with KSpace style + +
      If a pair style with a long-range Coulombic component is selected, +then a kspace style must also be used. + +
      Pair table cutoffs must all be equal to use with KSpace + +
      When using pair style table with a long-range KSpace solver, the +cutoffs for all atom type pairs must all be the same, since the +long-range solver starts at that cutoff. + +
      Pair_coeff command before pair_style is defined + +
      Self-explanatory. + +
      Pair_coeff command before simulation box is defined + +
      The pair_coeff command cannot be used before a read_data, +read_restart, or create_box command. + +
      Pair_modify command before pair_style is defined + +
      Self-explanatory. + +
      Pair_write command before pair_style is defined + +
      Self-explanatory. + +
      POEMS fix must come before NPT/NPH fix + +
      NPT/NPH fix must be defined in input script after all poems fixes, +else the fix contribution to the pressure virial is incorrect. + +
      Potential with shear history requires newton pair off + +
      Granular potentials that include shear history effects can only be run +with a newton setting where pairwise newton is "off". + +
      Proc grid in z != 1 for 2d simulation + +
      There cannot be more than 1 processor in the z dimension of a 2d +simulation. + +
      Processor partitions are inconsistent + +
      The total number of processors in all partitions must match the number +of processors LAMMPS is running on. + +
      Processors command after simulation box is defined + +
      The processors command cannot be used after a read_data, read_restart, +or create_box command. + +
      Quaternion creation numeric error + +
      A numeric error occurred in the creation of a rigid body by the fix +rigid command. + +
      Quotes in a single arg + +
      A single word should not be quoted in the input script; only a set of +words with intervening spaces should be quoted. + +
      R0 < 0 for fix spring command + +
      Equilibrium spring length is invalid. + +
      Region union region ID does not exist + +
      One or more of the region IDs specified by the region union command +does not exist. + +
      Replacing a fix, but new style != old style + +
      A fix ID can be used a 2nd time, but only if the style matches the +previous fix. In this case it is assumed you with to reset a fix's +parameters. This error may mean you are mistakenly re-using a fix ID +when you do not intend to. + +
      Replicate command before simulation box is defined + +
      The replicate command cannot be used before a read_data, read_restart, +or create_box command. + +
      Replicate did not assign all atoms correctly + +
      Atoms replicated by the replicate command were not assigned correctly +to processors. This is likely due to some atom coordinates being +outside a non-periodic simulation box. + +
      Requested atom types in EAM setfl file do not exist + +
      Atom type specified in pair_style eam command does not match number of +types in setfl potential file. + +
      Respa inner cutoffs are invalid + +
      The first cutoff must be <= the second cutoff. + +
      Respa inner/middle/outer used with invalid pair style + +
      Only a few pair potentials support the use of respa inner, middle, +outer options. + +
      Respa levels must be >= 1 + +
      Self-explanatory. + +
      Respa middle cutoffs are invalid + +
      The first cutoff must be <= the second cutoff. + +
      Respa not allowed with atom style granular + +
      Respa cannot be used with the granular atom style. + +
      Reuse of dump ID + +
      A dump ID cannot be used twice. + +
      Reuse of region ID + +
      A region ID cannot be used twice. + +
      Reuse of temperature ID + +
      A temperature ID cannot be used twice. + +
      Rigid body has degenerate moment of inertia + +
      Fix poems will only work with bodies (collections of atoms) that have +non-zero principal moments of inertia. This means they must be 3 or +more non-colinear atoms, even with joint atoms removed. + +
      Rigid fix must come before NPT/NPH fix + +
      NPT/NPH fix must be defined in input script after all rigid fixes, +else the rigid fix contribution to the pressure virial is +incorrect. + +
      Run command before simulation box is defined + +
      The run command cannot be used before a read_data, read_restart, or +create_box command. + +
      Run_style command before simulation box is defined + +
      The run_style command cannot be used before a read_data, +read_restart, or create_box command. + +
      Set command before simulation box is defined + +
      The set command cannot be used before a read_data, read_restart, +or create_box command. + +
      Set command with no atoms existing + +
      No atoms are yet defined so the set command cannot be used. + +
      Shake angles have different bond types + +
      All 3-atom angle-constrained SHAKE clusters specified by the fix shake +command that are the same angle type, must also have the same bond +types for the 2 bonds in the angle. + +
      Shake atoms %d %d %d %d missing on proc %d at step %d + +
      The 4 atoms in a single shake cluster specified by the fix shake +command are not all accessible to a processor. This probably means +an atom has moved too far. + +
      Shake atoms %d %d %d missing on proc %d at step %d + +
      The 3 atoms in a single shake cluster specified by the fix shake +command are not all accessible to a processor. This probably means +an atom has moved too far. + +
      Shake atoms %d %d missing on proc %d at step %d + +
      The 2 atoms in a single shake cluster specified by the fix shake +command are not all accessible to a processor. This probably means +an atom has moved too far. + +
      Shake cluster of more than 4 atoms + +
      A single cluster specified by the fix shake command can have no more +than 4 atoms. + +
      Shake clusters are connected + +
      A single cluster specified by the fix shake command must have a single +central atom with up to 3 other atoms bonded to it. + +
      Shake determinant = 0.0 + +
      The determinant of the matrix being solved for a single cluster +specified by the fix shake command is numerically invalid. + +
      Shake fix must come before NPT/NPH fix + +
      NPT fix must be defined in input script after SHAKE fix, else the +SHAKE fix contribution to the pressure virial is incorrect. + +
      Substitution for undefined variable + +
      The variable specified with a $ symbol in an input script command has +not been previously defined with a variable command. + +
      Temperature region ID does not exist + +
      The region ID specified in the temperature command does not exist. + +
      Temper command before simulation box is defined + +
      The temper command cannot be used before a read_data, read_restart, or +create_box command. + +
      Tempering fix ID is not defined + +
      The fix ID specified by the temper command does not exist. + +
      Tempering fix is not valid + +
      The fix specified by the temper command is not one that controls +temperature (nvt or langevin). + +
      Thermodynamics not computed on tempering swap steps + +
      The thermo command must insure that thermodynamics (including energy) +is computed on the timesteps that tempering swaps are attempted. + +
      Thermodynamics must compute PE for temper + +
      The thermo style must insure that thermodynamics computations include +potential energy when tempering is performed. + +
      Thermo_style command before simulation box is defined + +
      The thermo_style command cannot be used before a read_data, +read_restart, or create_box command. + +
      Timestep must be >= 0 + +
      Specified timestep size is invalid. + +
      TIP4P hydrogen has incorrect atom type + +
      The TIP4P pairwise computation found an H atom whose type does not +agree with the specified H type. + +
      TIP4P hydrogen is missing + +
      The TIP4P pairwise computation failed to find the correct H atom +within a water molecule. + +
      TMD target file did not list all group atoms + +
      The target file for the fix tmd command did not list all atoms in the +fix group. + +
      Too big a problem to run with a molecular atom style + +
      Cannot run a problem with > 2^31 atoms with molecular attributes. + +
      Too few bits for lookup table + +
      Table size specified via pair_modify command does not work with your +machine's floating point representation. + +
      Too large an atom type in create_atoms command + +
      The atoms to be created by the create_atoms command must have a valid +type. + +
      Too many atoms in data file + +
      A data file cannot contain more than 2^31 atoms. + +
      Too many atoms to use delete atoms command + +
      Cannot use delete_atoms command if number of atoms is greater than +2^31. + +
      Too many atoms to use velocity create with loop all + +
      Cannot use velocity create command with loop all setting if number of +atoms is greater than 2^31. Switch to local or geom setting. + +
      Too many exponent bits for lookup table + +
      Table size specified via pair_modify command does not work with your +machine's floating point representation. + +
      Too many mantissa bits for lookup table + +
      Table size specified via pair_modify command does not work with your +machine's floating point representation. + +
      Too many groups + +
      The maximum number of atom groups (including the "all" group) is +given by MAX_GROUP in group.cpp and is 32. + +
      Too many masses for fix shake + +
      The fix shake command cannot list more masses than there are atom +types. + +
      Too many total bits for bitmapped lookup table + +
      Table size specified via pair_modify command is too large. Note that +a value of N generates a 2^N size table. + +
      Too many touching neighbors - boost MAXTOUCH + +
      A granular simulation has too many neighbors touching one atom. The +MAXTOUCH parameter in fix_shear_history.cpp must be set larger and +LAMMPS must be re-built. + +
      Tree structure in joint connections + +
      Fix poems cannot (yet) work with coupled bodies whose joints connect +the bodies in a tree structure. + +
      Unbalanced quotes in input line + +
      No matching end double quote was found following a leading double +quote. + +
      Unexpected end of data file + +
      LAMMPS hit the end of the data file while attempting to read a +section. Something is wrong with the format of the data file. + +
      Units command after simulation box is defined + +
      The units command cannot be used after a read_data, read_restart, or +create_box command. + +
      Unknown atom style in restart file + +
      The atom style stored in the restart file is not recognized by LAMMPS. + +
      Unknown command: %s + +
      The command is not known to LAMMPS. Check the input script. + +
      Unknown identifier in data file: %s + +
      A section of the data file cannot be read by LAMMPS. + +
      Unknown section in data file: %s + +
      The keyword for a section of the data file is not recognized by +LAMMPS. + +
      Unknown table style in pair_style command + +
      Style of table is invalid for use with pair_style table command. + +
      Universe variable count < # of partitions + +
      A world-style variable must specify a number of values >= to the +number of processor partitions. + +
      Use of displace_atoms with undefined lattice + +
      Must use lattice command with displace_atoms command if units option +is set to lattice. + +
      Use of fix indent with undefined lattice + +
      The lattice command must be used to define a lattice before using the +fix indent command. + +
      Use of region with undefined lattice + +
      If scale = lattice (the default) for the region command, then a +lattice must first be defined via the lattice command. + +
      Use of temperature ramp with undefined lattice + +
      If scale = lattice (the default) for the temperature ramp command, +then a lattice must first be defined via the lattice command. + +
      Use of velocity with undefined lattice + +
      If scale = lattice (the default) for the velocity set or velocity ramp +command, then a lattice must first be defined via the lattice command. + +
      Using variable equal keyword before simulation box is defined + +
      Cannot use simulation domain keywords in a equal style variable +definition until the simulation box has been defined. + +
      Using variable equal keyword before initial run + +
      Cannot use thermodynamic keywords in a equal style variable definition +until a simulation run has been performed. + +
      Velocity command before simulation box is defined + +
      The velocity command cannot be used before a read_data, read_restart, +or create_box command. + +
      Velocity command with no atoms existing + +
      A velocity command has been used, but no atoms yet exist. + +
      Velocity ramp in z for a 2d problem + +
      Self-explanatory. + +
      World variable count doesn't match # of partitions + +
      A world-style variable must specify a number of values equal to the +number of processor partitions. + +
      Write_restart command before simulation box is defined + +
      The write_restart command cannot be used before a read_data, +read_restart, or create_box command. + + +
      +

      Warnings: +

      +
      + +
      FENE bond too long: %d %g + +
      A FENE bond has stretched dangerously far. It's interaction strength +will be truncated to attempt to prevent the bond from blowing up. + +
      FENE bond too long: %d %d %d %g + +
      A FENE bond has stretched dangerously far. It's interaction strength +will be truncated to attempt to prevent the bond from blowing up. + +
      Group for fix_modify temp != fix group + +
      The fix_modify command is specifying a temperature computation that +computes a temperature on a different group of atoms than the fix +itself operates on. This is probably not what you want to do. + +
      Less insertions than requested + +
      Less atom insertions occurred on this timestep due to the fix insert +command than were scheduled. This is probably because there were too +many overlaps detected. + +
      Lost atoms: original %.15g current %.15g + +
      A thermodynamic computation has detected lost atoms. + +
      Mismatch between velocity and temperature groups + +
      The temperature computation used by the velocity command will not be +on the same group of atoms that velocities are being set for. This is +probably not what you want. + +
      More than one dump custom with a centro attribute + +
      Each dump custom command that uses a per-atom centro attribute will +cause a full neighbor list to be built and looped over. Thus it may +be inefficient to use this attribute in multiple dump custom +commands. + +
      More than one dump custom with a stress attribute + +
      Each dump custom command that uses a per-atom stress tensor attribute +will cause the neighbor list to be looped over and inter-processor +communication to be performed. Thus it may be inefficient to use +these attributes in multiple dump custom commands. + +
      More than one dump custom with an energy attribute + +
      Each dump custom command that uses a per-atom energy attribute will +cause the neighbor list to be looped over and inter-processor +communication to be performed. Thus it may be inefficient to use this +attribute in multiple dump custom commands. + +
      More than one msd fix + +
      This will be computationally inefficient. + +
      More than one poems fix + +
      This will be computationally inefficient and compute the fix's +contribution to the virial (pressure) incorrectly. + +
      More than one rigid fix + +
      This will be computationally inefficient and compute the fix's +contribution to the virial (pressure) incorrectly. + +
      No fixes defined, atoms won't move + +
      If you are not using a fix like nve, nvt, npt then atom velocities and +coordinates will not be updated during timestepping. + +
      No joints between rigid bodies, use fix rigid instead + +
      The bodies defined by fix poems are not connected by joints. POEMS +will integrate the body motion, but it would be more efficient to use +fix rigid. + +
      One or more respa levels compute no forces + +
      This is computationally inefficient. + +
      Replacing a fix, but new group != old group + +
      The ID and style of a fix match for a fix you are changing with a fix +command, but the new group you are specifying does not match the old +group. + +
      Replicating in a non-periodic dimension + +
      The parameters for a replicate command will cause a non-periodic +dimension to be replicated; this may cause unwanted behavior. + +
      Resetting angle_style to restart file value + +
      The angle style defined in the LAMMPS input script does not match that +of the restart file. + +
      Resetting bond_style to restart file value + +
      The bond style defined in the LAMMPS input script does not match that +of the restart file. + +
      Resetting boundary settings to restart file values + +
      The boundary settings defined in the LAMMPS input script do not match +that of the restart file. + +
      Resetting dihedral_style to restart file value + +
      The dihedral style defined in the LAMMPS input script does not match +that of the restart file. + +
      Resetting dimension to restart file value + +
      The dimension value defined in the LAMMPS input script does not match +that of the restart file. + +
      Resetting improper_style to restart file value + +
      The improper style defined in the LAMMPS input script does not match +that of the restart file. + +
      Resetting newton bond to restart file value + +
      The value of the newton setting for bonds defined in the LAMMPS input +script does not match that of the restart file. + +
      Resetting pair_style to restart file value + +
      The pair style defined in the LAMMPS input script does not match that +of the restart file. + +
      Resetting reneighboring criteria during minimization + +
      Minimization requires that neigh_modify settings be delay = 0, every = +1, check = yes. Since these settings were not in place, LAMMPS +changed them and will restore them to their original values after the +minimization. + +
      Resetting unit_style to restart file value + +
      The unit style defined in the LAMMPS input script does not match that +of the restart file. + +
      Restart file used different # of processors + +
      The restart file was written out by a LAMMPS simulation running on a +different number of processors. Due to round-off, the trajectories of +your restarted simulation may diverge a little more quickly than if +you ran on the same # of processors. + +
      Restart file used different 3d processor grid + +
      The restart file was written out by a LAMMPS simulation running on a +different 3d grid of processors. Due to round-off, the trajectories +of your restarted simulation may diverge a little more quickly than if +you ran on the same # of processors. + +
      Restart file used different newton pair setting + +
      The restart file was written out by a LAMMPS simulation running with a +different value of the newton pair setting. The new simulation will +use the value from the input script. + +
      Restart file version does not match LAMMPS version + +
      The version of LAMMPS that wrote the restart file does not match the +version of LAMMPS that is reading the restart file. Generally this +shouldn't be a problem, since restart file formats won't change very +often if at all. But if they do, the code will probably crash trying +to read the file. Versions of LAMMPS are specified by a date. + +
      Shake determinant < 0.0 + +
      The determinant of the quadratic equation being solved for a single +cluster specified by the fix shake command is numerically suspect. LAMMPS +will set it to 0.0 and continue. + +
      System is not charge neutral, net charge = %g + +
      The total charge on all atoms on the system is not 0.0, which +is not valid for Ewald or PPPM. + +
      Table inner cutoff >= outer cutoff + +
      You specified an inner cutoff for a Coulombic table that is longer +than the global cutoff. Probably not what you wanted. + +
      Temperature for NPH is not for group all + +
      User-assigned temperature to NPH fix does not compute temperature for +all atoms. Since NPH computes a global pressure, the kinetic energy +contribution from the temperature is assumed to also be for all atoms. +Thus the pressure used by NPH could be inaccurate. + +
      Temperature for NPH is style region + +
      User-assigned temperature to NPH fix has style region. Since NPT +computes a global pressure, the kinetic energy contribution from the +temperature is assumed to also be for all atoms. Thus the pressure +used by NPT could be inaccurate. + +
      Temperature for NPT is not for group all + +
      User-assigned temperature to NPT fix does not compute temperature for +all atoms. Since NPT computes a global pressure, the kinetic energy +contribution from the temperature is assumed to also be for all atoms. +Thus the pressure used by NPT could be inaccurate. + +
      Temperature for NPT is style region + +
      User-assigned temperature to NPT fix has style region. Since NPT +computes a global pressure, the kinetic energy contribution from the +temperature is assumed to also be for all atoms. Thus the pressure +used by NPT could be inaccurate. + +
      Temperature for NVT is style region + +
      User-assigned temperature to NVT fix has style region. Since NVT is a +Nose/Hoover formulation that tracks average properties of a collection +of atoms over time, it may be inaccurate to do this if the atoms +in the region change. + +
      Temperature for temp/rescale is style region + +
      User-assigned temperature to temp/rescale fix has style region, but +the temp/rescale fix did not specify a region. This means the +temperature may be computed on a different set of atoms than are +rescaled. + +
      Temperature for thermo pressure is not for group all + +
      User-assigned temperature to thermo via the thermo_modify command does +not compute temperature for all atoms. Since thermo computes a global +pressure, the kinetic energy contribution from the temperature is +assumed to also be for all atoms. Thus the pressure printed by thermo +could be inaccurate. + +
      Temperature for thermo pressure is style region + +
      User-assigned temperature to thermo via the thermo_modify command has +style region. Since thermo computes a global pressure, the kinetic +energy contribution from the temperature is assumed to also be for all +atoms. Thus the pressure printed by thermo could be inaccurate. + +
      Using variable equal keyword with non-current thermo + +
      The variable expression is being evaluated with a thermodynamic +quantity on a timestep when thermodynamic information may not be +current. + + +
      + diff --git a/doc/Section_errors.txt b/doc/Section_errors.txt new file mode 100644 index 0000000000..aef84fa96b --- /dev/null +++ b/doc/Section_errors.txt @@ -0,0 +1,2653 @@ +"Previous Section"_Section_modify.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_history.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +9. Errors :h3 + +This section describes the various kinds of errors you can encounter +when using LAMMPS. + +9.1 "Common problems"_#9_1 +9.2 "Reporting bugs"_#9_2 +9.3 "Error & warning messages"_#9_3 :all(b) + +:line + +9.1 Common problems :link(9_1),h4 + +If two LAMMPS runs do not produce the same answer on different +machines or different numbers of processors, this is typically not a +bug. In theory you should get identical answers on any number of +processors and on any machine. In practice, numerical round-off can +cause slight differences and eventual divergence of molecular dynamics +phase space trajectories within a few 100s or few 1000s of timesteps. +However, the statistical properties of the two runs (e.g. average +energy or temperature) should still be the same. + +If the "velocity"_velocity.html command is used to set initial atom +velocities, a particular atom can be assigned a different velocity +when the problem on different machines. Obviously, this means the +phase space trajectories of the two simulations will rapidly diverge. +See the discussion of the {loop} option in the +"velocity"_velocity.html command for details. + +A LAMMPS simulation typically has two stages, setup and run. Most +LAMMPS errors are detected at setup time; others like a bond +stretching too far may not occur until the middle of a run. + +LAMMPS tries to flag errors and print informative error messages so +you can fix the problem. Of course LAMMPS cannot figure out your +physics mistakes, like choosing too big a timestep, specifying invalid +force field coefficients, or putting 2 atoms on top of each other! If +you find errors that LAMMPS doesn't catch that you think it should +flag, please send us an "email"_mail. + +:link(mail,mailto:sjplimp@sandia.gov) + +If you get an error message about an invalid command in your input +script, you can determine what command is causing the problem by +looking in the log.lammps file or using the "echo command"_echo.html +to see it on the screen. For a given command, LAMMPS expects certain +arguments in a specified order. If you mess this up, LAMMPS will +often flag the error, but it may read a bogus argument and assign a +value that is valid, but not what you wanted. E.g. trying to read the +string "abc" as an integer value and assigning the associated variable +a value of 0. + +Generally, LAMMPS will print a message to the screen and exit +gracefully when it encounters a fatal error. Sometimes it will print +a WARNING and continue on; you can decide if the WARNING is important +or not. If LAMMPS crashes or hangs without spitting out an error +message first then it could be a bug (see "this section"_#9_2) or one +of the following cases: + +LAMMPS runs in the available memory a processor allows to be +allocated. Most reasonable MD runs are compute limited, not memory +limited, so this shouldn't be a bottleneck on most platforms. Almost +all large memory allocations in the code are done via C-style malloc's +which will generate an error message if you run out of memory. +Smaller chunks of memory are allocated via C++ "new" statements. If +you are unlucky you could run out of memory just when one of these +small requests is made, in which case the code will crash or hang (in +parallel), since LAMMPS doesn't trap on those errors. + +Illegal arithmetic can cause LAMMPS to run slow or crash. This is +typically due to invalid physics and numerics that your simulation is +computing. If you see wild thermodynamic values or NaN values in your +LAMMPS output, something is wrong with your simulation. + +In parallel, one way LAMMPS can hang is due to how different MPI +implementations handle buffering of messages. If the code hangs +without an error message, it may be that you need to specify an MPI +setting or two (usually via an environment variable) to enable +buffering or boost the sizes of messages that can be buffered. + +:line + +9.2 Reporting bugs :link(9_2),h4 + +If you are confident that you have found a bug in LAMMPS, we'd like to +know about it via "email"_mail. + +First, check the "New features and bug fixes" section of the "LAMMPS +WWW site"_lws to see if the bug has already been reported or fixed. + +If not, the most useful thing you can do for us is to isolate the +problem. Run it on the smallest number of atoms and fewest number of +processors and with the simplest input script that reproduces the bug. + +Send an email that describes the problem and any ideas you have as to +what is causing it or where in the code the problem might be. We'll +request your input script and data files if necessary. + +:line + +9.3 Error & warning Messages :h4,link(9_3) + +These are two alphabetic lists of the "ERROR"_#error and +"WARNING"_#warn messages LAMMPS prints out and the reason why. If the +explanation here is not sufficient, the documentation for the +offending command may help. Grepping the source files for the text of +the error message and staring at the source code and comments is also +not a bad idea! Note that sometimes the same message can be printed +from multiple places in the code. + +Errors: :h4,link(error) + +:dlb + +{1-3 bond count is inconsistent} :dt + +An inconsistency was detected when computing the number of 1-3 +neighbors for each atom. This likely means something is wrong with +the bond topologies you have defined. :dd + +{1-4 bond count is inconsistent} :dt + +An inconsistency was detected when computing the number of 1-4 +neighbors for each atom. This likely means something is wrong with +the bond topologies you have defined. :dd + +{All angle coeffs are not set} :dt + +All angle coefficients must be set in the data file or by the +angle_coeff command before running a simulation. :dd + +{All bond coeffs are not set} :dt + +All bond coefficients must be set in the data file or by the +bond_coeff command before running a simulation. :dd + +{All EAM pair coeffs are not set} :dt + +All EAM pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation. :dd + +{All dihedral coeffs are not set} :dt + +All dihedral coefficients must be set in the data file or by the +dihedral_coeff command before running a simulation. :dd + +{All dipole moments are not set} :dt + +For atom styles that define dipole moments for each atom type, all +moments must be set in the data file or by the dipole command before +running a simulation. :dd + +{All improper coeffs are not set} :dt + +All improper coefficients must be set in the data file or by the +improper_coeff command before running a simulation. :dd + +{All masses are not set} :dt + +For atom styles that define masses for each atom type, all masses must +be set in the data file or by the mass command before running a +simulation. They must also be set before using the velocity +command. :dd + +{All pair coeffs are not set} :dt + +All pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation. :dd + +{All universe variables must have same # of values} :dt + +Self-explanatory. :dd + +{All variables in next command must be same style} :dt + +Self-explanatory. :dd + +{Angle atoms %d %d %d missing on proc %d at step %d} :dt + +One or more of 3 atoms needed to compute a particular angle are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the angle has blown apart and an atom is +too far away. :dd + +{Angle atom missing in delete_bonds} :dt + +The delete_bonds command cannot find one or more atoms in a particular +angle on a particular processor. The pairwise cutoff is too short or +the atoms are too far apart to make a valid angle. :dd + +{Angle atom missing in set command} :dt + +The set command cannot find one or more atoms in a particular angle on +a particular processor. The pairwise cutoff is too short or the atoms +are too far apart to make a valid angle. :dd + +{Angle coeffs are not set} :dt + +No angle coefficients have been assigned in the data file or via the +angle_coeff command. :dd + +{Angle_coeff command before angle_style is defined} :dt + +Coefficients cannot be set in the data file or via the angle_coeff +command until an angle_style has been assigned. :dd + +{Angle_coeff command before simulation box is defined} :dt + +The angle_coeff command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Angle_coeff command when no angles allowed} :dt + +The chosen atom style does not allow for angles to be defined. :dd + +{Angle coeff for hybrid has invalid style} :dt + +Angle style hybrid uses another angle style as one of its +coefficients. The angle style used in the angle_coeff command or read +from a restart file is not recognized. :dd + +{Angles assigned incorrectly} :dt + +Angles read in from the data file were not assigned correctly to +atoms. This means there is something invalid about the topology +definitions. :dd + +{Angles defined but no angle types} :dt + +The data file header lists angles but no angle types. :dd + +{Angle style hybrid cannot have hybrid as an argument} :dt + +Self-explanatory. :dd + +{Angle style hybrid cannot use same angle style twice} :dt + +Self-explanatory. :dd + +{Atom count is inconsistent, cannot write restart file} :dt + +Sum of atoms across processors does not equal initial total count. +This is probably because you have lost some atoms. :dd + +{Atom IDs must be consecutive for dump dcd} :dt + +Self-explanatory. :dd + +{Atom IDs must be consecutive for dump xtc} :dt + +Self-explanatory. :dd + +{Atom IDs must be consecutive for dump xyz} :dt + +Self-explanatory. :dd + +{Atom in too many rigid bodies - boost MAXBODY} :dt + +Fix poems has a parameter MAXBODY (in fix_poems.cpp) which determines +the maximum number of rigid bodies a single atom can belong to (i.e. a +multibody joint). The bodies you have defined exceed this limit. :dd + +{Atom_modify command after simulation box is defined} :dt + +The atom_modify command cannot be used after a read_data, +read_restart, or create_box command. :dd + +{Atom_modify command before atom_style command} :dt + +The atom_modify command cannot be used before an atom style has +been defined. :dd + +{Atom style granular and dpd cannot be used together} :dt + +Self-explanatory. :dd + +{Atom style granular must perform 3d simulations} :dt + +Atom style granular cannot be used with 2d simulations, because +the pairwise potentials are inherently 3d. :dd + +{Atom style hybrid cannot have hybrid as an argument} :dt + +Self-explanatory. Check the input script. :dd + +{Atom_style command after simulation box is defined} :dt + +The atom_style command cannot be used after a read_data, +read_restart, or create_box command. :dd + +{Attempting to rescale a 0.0 temperature} :dt + +Cannot rescale a temperature that is already 0.0. :dd + +{Bad FENE bond} :dt + +Two atoms in a FENE bond have become so far apart that the bond cannot +be computed. :dd + +{Bad grid of processors} :dt + +The 3d grid of processors defined by the processors command does not +match the number of processors LAMMPS is being run on. :dd + +{Bad principal moments} :dt + +Fix rigid did not compute the principal moments of inertia of a rigid +group of atoms correctly. :dd + +{Bad slab parameter} :dt + +Kspace_modify value for the slab/volume keyword must be >= 2.0. :dd + +{Bitmapped lookup tables require int/float be same size} :dt + +Cannot use pair tables on this machine, because of word sizes. Use +the pair_modify command with table 0 instead. :dd + +{Bitmapped table is incorrect length in table file} :dt + +Number of table entries is not a correct power of 2. :dd + +{Bitmapped table in file does not match requested table} :dt + +Setting for bitmapped table in pair_coeff command must match table +in file exactly. :dd + +{Bond and angle potentials must be defined for TIP4P} :dt + +Cannot use TIP4P pair potential unless bond and angle potentials +are defined. :dd + +{Bond atom missing in delete_bonds} :dt + +The delete_bonds command cannot find one or more atoms in a particular +bond on a particular processor. The pairwise cutoff is too short or +the atoms are too far apart to make a valid bond. :dd + +{Bond atom missing in set command} :dt + +The set command cannot find one or more atoms in a particular bond on +a particular processor. The pairwise cutoff is too short or the atoms +are too far apart to make a valid bond. :dd + +{Bond atoms %d %d missing on proc %d at step %d} :dt + +One or more of 2 atoms needed to compute a particular bond are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the bond has blown apart and an atom is +too far away. :dd + +{Bond coeff for hybrid has invalid style} :dt + +Bond style hybrid uses another bond style as one of its coefficients. +The bond style used in the bond_coeff command or read from a restart +file is not recognized. :dd + +{Bond_coeff command before bond_style is defined} :dt + +Coefficients cannot be set in the data file or via the bond_coeff +command until an bond_style has been assigned. :dd + +{Bond_coeff command before simulation box is defined} :dt + +The bond_coeff command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Bond_coeff command when no bonds allowed} :dt + +The chosen atom style does not allow for bonds to be defined. :dd + +{Bond coeffs are not set} :dt + +No bond coefficients have been assigned in the data file or via the +bond_coeff command. :dd + +{Bond potential must be defined for SHAKE} :dt + +Cannot use fix shake unless bond potential is defined. :dd + +{Bonds assigned incorrectly} :dt + +Bonds read in from the data file were not assigned correctly to atoms. +This means there is something invalid about the topology definitions. :dd + +{Bonds defined but no bond types} :dt + +The data file header lists bonds but no bond types. :dd + +{Bond style hybrid cannot have hybrid as an argument} :dt + +Self-explanatory. Check the input script. :dd + +{Bond style hybrid cannot use same bond style twice} :dt + +The sub-style arguments of bond_style hybrid cannot be duplicated. +Check the input script. :dd + +{Bond style quartic cannot be used with 3,4-body interactions} :dt + +No angle, dihedral, or improper styles can be defined when using +bond style quartic. :dd + +{Both sides of boundary must be periodic} :dt + +Cannot specify a boundary as periodic only on the lo or hi side. Must +be periodic on both sides. :dd + +{Boundary command after simulation box is defined} :dt + +The boundary command cannot be used after a read_data, read_restart, +or create_box command. :dd + +{Box bounds are invalid} :dt + +The box boundaries specified in the read_data file are invalid. The +lo value must be less than the hi value for all 3 dimensions. :dd + +{Can only wiggle zcylinder wall in z dim} :dt + +The Self-explanatory. :dd + +{Cannot change dump_modify every for dump dcd} :dt + +The frequency of writing dump dcd snapshots cannot be changed. :dd + +{Cannot compute PPPM G} :dt + +LAMMPS failed to compute a valid approximation for the PPPM g_ewald +factor that partitions the computation between real space and k-space. :dd + +{Cannot compute PPPM X grid spacing} :dt + +LAMMPS failed to compute a valid PPPM grid spacing in the x dimension. :dd + +{Cannot compute PPPM Y grid spacing} :dt + +LAMMPS failed to compute a valid PPPM grid spacing in the y dimension. :dd + +{Cannot compute PPPM Z grid spacing} :dt + +LAMMPS failed to compute a valid PPPM grid spacing in the z dimension. :dd + +{Cannot create atoms with undefined lattice} :dt + +Must use the lattice command before using the create_atoms +command. :dd + +{Cannot create_box after simulation box is defined} :dt + +The create_box command cannot be used after a read_data, read_restart, +or create_box command. :dd + +{Cannot create_box until atom_style is defined} :dt + +Self-explanatory. :dd + +{Cannot create vels with loop all for non-contiguous atom IDs} :dt + +You cannot use the loop all option if you atom IDs do not span 1 to natoms :dd + +{Cannot evaluate variable equal command} :dt + +Syntax or keyword names in mathematical expression are not +recognized. :dd + +{Cannot find delete_bonds group ID} :dt + +Group ID used in the delete_bonds command does not exist. :dd + +{Cannot find set command group ID} :dt + +Group ID used in the set command does not exist. :dd + +{Cannot fix nph on a non-periodic dimension} :dt + +Pressure can only be controlled on a dimension that is periodic. :dd + +{Cannot fix npt on a non-periodic dimension} :dt + +Pressure can only be controlled on a dimension that is periodic. :dd + +{Cannot fix volume/rescale on a non-periodic boundary} :dt + +Volume can only be rescaled on a dimension that is periodic. :dd + +{Cannot fix uniaxial on non-periodic system} :dt + +Volume can only be rescaled uniaxially if system is periodic in all 3 +dimensions. :dd + +{Cannot invoke single() with pairwise TIP4P potential} :dt + +Commands that invoke the single() function within pairwise potentials +cannot be used with a TIP4P potential, due to the way it computes +forces on other atoms besides the i,j pair. This includes the eng and +stress tensor components for the dump custom command. :dd + +{Cannot open EAM potential file %s} :dt + +The specified EAM potential file cannot be opened. Check that the +path and name are correct. :dd + +{Cannot open file %s} :dt + +The specified file cannot be opened. Check that the path and name are +correct. :dd + +{Cannot open fix com file %s} :dt + +The output file for the fix com command cannot be opened. Check that +the path and name are correct. :dd + +{Cannot open fix gran/diag file %s} :dt + +The output file for the fix gran/diag command cannot be opened. Check +that the path and name are correct. :dd + +{Cannot open fix msd file %s} :dt + +The output file for the fix msd command cannot be opened. Check that +the path and name are correct. :dd + +{Cannot open fix poems file %s} :dt + +The specified file cannot be opened. Check that the path and name are +correct. :dd + +{Cannot open fix rdf file %s} :dt + +The output file for the fix rdf command cannot be opened. Check that +the path and name are correct. :dd + +{Cannot open fix tmd file %s} :dt + +The output file for the fix tmd command cannot be opened. Check that +the path and name are correct. :dd + +{Cannot open gzipped file} :dt + +LAMMPS is attempting to open a gzipped version of the specified file +but was unsuccessful. Check that the path and name are correct. :dd + +{Cannot open pair_write file} :dt + +The specified output file for pair energies and forces cannot be +opened. Check that the path and name are correct. :dd + +{Cannot open restart file %s} :dt + +The output restart file cannot be opened. Check that the path and +name are correct and that disk space is available. :dd + +{Cannot read_data after simulation box is defined} :dt + +The read_data command cannot be used after a read_data, +read_restart, or create_box command. :dd + +{Cannot read_data until atom_style is defined} :dt + +Self-explanatory. :dd + +{Cannot read_restart after simulation box is defined} :dt + +The read_restart command cannot be used after a read_data, +read_restart, or create_box command. :dd + +{Cannot redefine variable as a different style} :dt + +The variable was already used as a different style variable. :dd + +{Cannot replicate 2d simulation in z dimension} :dt + +The replicate command cannot replicate a 2d simulation in the z +dimension. :dd + +{Cannot replicate with fixes that store atom quantities} :dt + +Either fixes are defined that create and store atom-based vectors or a +restart file was read which included atom-based vectors for fixes. +The replicate command cannot duplicate that information for new atoms. +You should use the replicate command before fixes are applied to the +system. :dd + +{Cannot run 2d simulation with nonperiodic Z dimension} :dt + +Use the boundary command to make the z dimension periodic in order to +run a 2d simulation. :dd + +{Cannot set both respa pair and inner/middle/outer} :dt + +In the rRESPA integrator, you must compute pairwise potentials either +all together (pair), or in pieces (inner/middle/outer). You can't do +both. :dd + +{Cannot set dipole for this atom style} :dt + +This atom style does not support dipole settings for each atom type. :dd + +{Cannot set dump_modify flush for dump xtc} :dt + +Self-explanatory. :dd + +{Cannot set mass for this atom style} :dt + +This atom style does not support mass settings for each atom type. +Instead they are defined on a per-atom basis in the data file. :dd + +{Cannot set respa middle without inner/outer} :dt + +In the rRESPA integrator, you must define both a inner and outer +setting in order to use a middle setting. :dd + +{Cannot set these values with this atom style} :dt + +Choice of set style does not match attribute of atom style. :dd + +{Cannot use atom style granular with chosen thermo settings} :dt + +Cannot output temperature or pressure with atom style granular. :dd + +{Cannot use delete_bonds with non-molecular system} :dt + +Your choice of atom style does not have bonds. :dd + +{Cannot use dump bond with non-molecular system} :dt + +Your choice of atom style does not have bonds. :dd + +{Cannot use Ewald with 2d simulation} :dt + +The kspace style ewald cannot be used in 2d simulations. You can use +2d Ewald in a 3d simulation; see the kspace_modify command. :dd + +{Cannot use fix gravity vector with atom style granular} :dt + +Self-explanatory. :dd + +{Cannot use fix poems with atom style granular} :dt + +This fix is not yet enabled for this atom style. :dd + +{Cannot use fix rigid with atom style granular} :dt + +This fix is not yet enabled for this atom style. :dd + +{Cannot use fix shake with non-molecular system} :dt + +Your choice of atom style does not have bonds. :dd + +{Cannot use multiple long-range potentials with pair hybrid} :dt + +Only one sub-style potential with a long-range component can be +used with pair_style hybrid. :dd + +{Cannot use nonperiodic boundaries with Ewald} :dt + +For kspace style ewald, all 3 dimensions must have periodic boundaries +unless you use the kspace_modify command to define a 2d slab with a +non-periodic z dimension. :dd + +{Cannot use nonperiodic boundaries with PPPM} :dt + +For kspace style pppm, All 3 dimensions must have periodic boundaries +unless you use the kspace_modify command to define a 2d slab with a +non-periodic z dimension. :dd + +{Cannot use PPPM with 2d simulation} :dt + +The kspace style pppm cannot be used in 2d simulations. You can use +2d PPPM in a 3d simulation; see the kspace_modify command. :dd + +{Cannot use region INF when box does not exist} :dt + +Regions that extend to the box boundaries can only be used after the +create_box command has been used. :dd + +{Cannot use vectors in variables unless atom map exists} :dt + +Vectors require an atom map to be able to lookup the vector index. +Only atom styles with molecular information creat a global map. :dd + +{Cannot zero momentum for less than 2 atoms} :dt + +Velocity command is being used with momentum-zeroing options on a +group with 0 or 1 atoms. :dd + +{Command-line variable already exists} :dt + +Cannot use the -var command-line option to define the same variable +more than once. :dd + +{Could not create 3d FFT plan} :dt + +The FFT setup in pppm failed. :dd + +{Could not create 3d remap plan} :dt + +The FFT setup in pppm failed. :dd + +{Could not find delete_atoms group ID} :dt + +Group ID used in the delete_atoms command does not exist. :dd + +{Could not find delete_atoms region ID} :dt + +Region ID used in the delete_atoms command does not exist. :dd + +{Could not find displace_atoms group ID} :dt + +A group ID used in the displace_atoms command does not exist. :dd + +{Cound not find dump_modify ID} :dt + +A dump ID used in the dump_modify command does not exist. :dd + +{Could not find dump group ID} :dt + +A group ID used in the dump command does not exist. :dd + +{Could not find fix group ID} :dt + +A group ID used in the fix command does not exist. :dd + +{Could not find fix poems group ID} :dt + +A group ID used in the fix poems command does not exist. :dd + +{Could not find fix rigid group ID} :dt + +A group ID used in the fix rigid command does not exist. :dd + +{Could not find fix_modify ID} :dt + +A fix ID used in the fix_modify command does not exist. :dd + +{Could not find fix_modify temperature ID} :dt + +A temperature ID used in the fix_modify command does not exist. :dd + +{Could not find fix spring vector group ID} :dt + +Group ID used with fix spring command does not exist. :dd + +{Could not find temp_modify ID} :dt + +A temperature ID used in the temp_modify command does not exist. :dd + +{Could not find temperature group ID} :dt + +A group ID used in the temperature command does not exist. :dd + +{Could not find thermo temperature ID} :dt + +A temperature ID used in the thermo custom style does not exist. :dd + +{Could not find thermo_modify temperature ID} :dt + +A temperature ID used in the thermo_modify command does not exist. :dd + +{Could not find undump ID} :dt + +A dump ID used in the undump command does not exist. :dd + +{Could not find unfix ID} :dt + +A fix ID used in the unfix command does not exist. :dd + +{Could not find velocity group ID} :dt + +A group ID used in the velocity command does not exist. :dd + +{Could not find velocity temperature ID} :dt + +A temperature ID used in the velocity command does not exist. :dd + +{Could not open dump file} :dt + +The output file for the dump command cannot be opened. Check that the +path and name are correct. :dd + +{Could not open input script} :dt + +The input script file named in a command-line argument could not be +opened. :dd + +{Could not open log.lammps} :dt + +The default LAMMPS log file cannot be opened. Check that the +directory you are running in allows for files to be created. :dd + +{Could not open logfile} :dt + +The LAMMPS log file named in a command-line argument cannot be opened. +Check that the path and name are correct. :dd + +{Could not open logfile %s} :dt + +The LAMMPS log file specified in the input script cannot be opened. +Check that the path and name are correct. :dd + +{Could not open new input file %s} :dt + +The input script file named in an include or jump command could not be +opened. Check that the path and name are correct. :dd + +{Could not open screen file} :dt + +The screen file specified as a command-line argument cannot be +opened. Check that the directory you are running in allows for files +to be created. :dd + +{Could not open universe log file} :dt + +For a multi-partition run, the master log file cannot be opened. +Check that the directory you are running in allows for files to be +created. :dd + +{Could not open universe screen file} :dt + +For a multi-partition run, the master screen file cannot be opened. +Check that the directory you are running in allows for files to be +created. :dd + +{Create_atoms command before simulation box is defined} :dt + +The create_atoms command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Create_atoms region ID does not exist} :dt + +A region ID used in the create_atoms command does not exist. :dd + +{Create_box region must be of type inside} :dt + +The region used in the create_box command must not be an "outside" +region. See the region command for details. :dd + +{Create_box region ID does not exist} :dt + +A region ID used in the create_box command does not exist. :dd + +{Cyclic loop in joint connections} :dt + +Fix poems cannot (yet) work with coupled bodies whose joints connect +the bodies in a ring (or cycle). :dd + +{Delete_atoms command before simulation box is defined} :dt + +The delete_atoms command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Delete_atoms cutoff > neighbor cutoff} :dt + +Cannot use a cutoff with delete_atoms overlap that is larger than +the force cutoff + neighbor skin. :dd + +{Delete_bonds command before simulation box is defined} :dt + +The delete_bonds command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Delete_bonds command with no atoms existing} :dt + +No atoms are yet defined so the delete_bonds command cannot be used. :dd + +{Did not assign all atoms correctly} :dt + +Atoms read in from a data file were not assigned correctly to +processors. This is likely due to some atom coordinates being +outside a non-periodic simulation box. :dd + +{Did not find keyword in table file} :dt + +Keyword used in pair_coeff command was not found in table file. :dd + +{Did not find fix shake partner info} :dt + +Could not find bond partners implied by fix shake command. This error +can be triggered if the delete_bonds command was used before fix +shake, and it removed bonds without resetting the 1-2, 1-3, 1-4 +weighting list via the special keyword. :dd + +{Dihedral atoms %d %d %d %d missing on proc %d at step %d} :dt + +One or more of 4 atoms needed to compute a particular dihedral are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the dihedral has blown apart and an atom is +too far away. :dd + +{Dihedral atom missing in delete_bonds} :dt + +The delete_bonds command cannot find one or more atoms in a particular +dihedral on a particular processor. The pairwise cutoff is too short +or the atoms are too far apart to make a valid dihedral. :dd + +{Dihedral atom missing in set command} :dt + +The set command cannot find one or more atoms in a particular dihedral +on a particular processor. The pairwise cutoff is too short or the +atoms are too far apart to make a valid dihedral. :dd + +{Dihedral_coeff command before dihedral_style is defined} :dt + +Coefficients cannot be set in the data file or via the dihedral_coeff +command until an dihedral_style has been assigned. :dd + +{Dihedral_coeff command before simulation box is defined} :dt + +The dihedral_coeff command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Dihedral_coeff command when no dihedrals allowed} :dt + +The chosen atom style does not allow for dihedrals to be defined. :dd + +{Dihedral coeff for hybrid has invalid style} :dt + +Dihedral style hybrid uses another dihedral style as one of its +coefficients. The dihedral style used in the dihedral_coeff command +or read from a restart file is not recognized. :dd + +{Dihedral coeffs are not set} :dt + +No dihedral coefficients have been assigned in the data file or via +the dihedral_coeff command. :dd + +{Dihedrals assigned incorrectly} :dt + +Dihedrals read in from the data file were not assigned correctly to +atoms. This means there is something invalid about the topology +definitions. :dd + +{Dihedrals defined but no dihedral types} :dt + +The data file header lists dihedrals but no dihedral types. :dd + +{Dihedral style hybrid cannot have hybrid as an argument} :dt + +Self-explanatory. :dd + +{Dihedral style hybrid cannot use same dihedral style twice} :dt + +Self-explanatory. :dd + +{Dimension command after simulation box is defined} :dt + +The dimension command cannot be used after a read_data, +read_restart, or create_box command. :dd + +{Dipole command before simulation box is defined} :dt + +The dipole command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Displace_atoms command before simulation box is defined} :dt + +The displace_atoms command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Dump dcd must use group all} :dt + +Self-explanatory. :dd + +{Dump dcd of non-matching # of atoms} :dt + +Every snapshot written by dump dcd must contain the same # of atoms. :dd + +{Dump xtc must use group all} :dt + +Self-explanatory. :dd + +{Dump_modify region ID does not exist} :dt + +Self-explanatory. :dd + +{Dump xtc must use group all} :dt + +Self-explanatory. :dd + +{Failed to allocate %d bytes for array %s} :dt + +Your LAMMPS simulation has run out of memory. You need to run a +smaller simulation or on more processors. :dd + +{Failed to reallocate %d bytes for array %s} :dt + +Your LAMMPS simulation has run out of memory. You need to run a +smaller simulation or on more processors. :dd + +{Fix command before simulation box is defined} :dt + +The fix command cannot be used before a read_data, read_restart, or +create_box command. :dd + +{Fix insert region ID does not exist} :dt + +A region ID used in the fix insert command does not exist. :dd + +{Fix langevin period must be > 0.0} :dt + +The time window for temperature relaxation must be > 0 :dd + +{Fix langevin region ID does not exist} :dt + +Self-explanatory. :dd + +{Fix nph periods must be > 0.0} :dt + +The time window for pressure relaxation must be > 0 :dd + +{Fix npt periods must be > 0.0} :dt + +The time window for temperature or pressure relaxation must be > 0 :dd + +{Fix nvt period must be > 0.0} :dt + +The time window for temperature relaxation must be > 0 :dd + +{Fix orient/fcc file open failed} :dt + +The fix orient/fcc command could not open a specified file. :dd + +{Fix orient/fcc file read failed} :dt + +The fix orient/fcc command could not read the needed parameters from a +specified file. :dd + +{Fix orient/fcc found self twice} :dt + +The neighbor lists used by fix orient/fcc are messed up. If this +error occurs, it is likely a bug, so send an email. :dd + +{Fix rdf requires a pair style be defined} :dt + +Cannot use the rdf fix unless a pair style with a cutoff has been +defined. :dd + +{Fix temp/rescale region ID does not exist} :dt + +Self-explanatory. :dd + +{Fix tmd must come after integration fixes} :dt + +Any fix tmd command must appear in the input script after all time +integration fixes (nve, nvt, npt). See the fix tmd documentation for +details. :dd + +{Fix wall/gran can only be used with granular pair style} :dt + +Self-explanatory. :dd + +{Granular pair styles do not use pair_coeff settings} :dt + +The pair_coeff command cannot be used with granular force fields. :dd + +{Gravity must point in -z to use with fix insert} :dt + +The fix insert command assumes the theta angle for gravity is 180.0. :dd + +{Group command before simulation box is defined} :dt + +The group command cannot be used before a read_data, read_restart, or +create_box command. :dd + +{Group ID does not exist} :dt + +A group ID used in the group command does not exist. :dd + +{Group region ID does not exist} :dt + +A region ID used in the group command does not exist. :dd + +{Illegal ... command} :dt + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. :dd + +{Improper atoms %d %d %d %d missing on proc %d at step %d} :dt + +One or more of 4 atoms needed to compute a particular improper are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the improper has blown apart and an atom is +too far away. :dd + +{Improper atom missing in delete_bonds} :dt + +The delete_bonds command cannot find one or more atoms in a particular +improper on a particular processor. The pairwise cutoff is too short +or the atoms are too far apart to make a valid improper. :dd + +{Improper atom missing in set command} :dt + +The set command cannot find one or more atoms in a particular improper +on a particular processor. The pairwise cutoff is too short or the +atoms are too far apart to make a valid improper. :dd + +{Improper_coeff command before improper_style is defined} :dt + +Coefficients cannot be set in the data file or via the improper_coeff +command until an improper_style has been assigned. :dd + +{Improper_coeff command before simulation box is defined} :dt + +The improper_coeff command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Improper_coeff command when no impropers allowed} :dt + +The chosen atom style does not allow for impropers to be defined. :dd + +{Improper coeff for hybrid has invalid style} :dt + +Improper style hybrid uses another improper style as one of its +coefficients. The improper style used in the improper_coeff command +or read from a restart file is not recognized. :dd + +{Improper coeffs are not set} :dt + +No improper coefficients have been assigned in the data file or via +the improper_coeff command. :dd + +{Impropers assigned incorrectly} :dt + +Impropers read in from the data file were not assigned correctly to +atoms. This means there is something invalid about the topology +definitions. :dd + +{Impropers defined but no improper types} :dt + +The data file header lists improper but no improper types. :dd + +{Improper style hybrid cannot have hybrid as an argument} :dt + +Self-explanatory. :dd + +{Improper style hybrid cannot use same improper style twice} :dt + +Self-explanatory. :dd + +{Inconsistent dipole settings for some atoms} :dt + +Dipole moment must be 0 for non-dipole type atoms. Dipole moment must +be set for dipole type atoms. :dd + +{Incorrect args for angle coefficients} :dt + +Self-explanatory. Check the input script or data file. :dd + +{Incorrect args for bond coefficients} :dt + +Self-explanatory. Check the input script or data file. :dd + +{Incorrect args for dihedral coefficients} :dt + +Self-explanatory. Check the input script or data file. :dd + +{Incorrect args for improper coefficients} :dt + +Self-explanatory. Check the input script or data file. :dd + +{Incorrect args for pair coefficients} :dt + +Self-explanatory. Check the input script or data file. :dd + +{Incorrect atom format in data file} :dt + +Number of values per atom line in the data file is not consistent with +the atom style. :dd + +{Incorrect boundaries with slab Ewald} :dt + +Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with Ewald. :dd + +{Incorrect boundaries with slab PPPM} :dt + +Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with PPPM. :dd + +{Incorrect format in TMD target file} :dt + +Format of file read by fix tmd command is incorrect. :dd + +{Incorrect multiplicity arg for dihedral coefficients} :dt + +Self-explanatory. Check the input script or data file. :dd + +{Incorrect sign arg for dihedral coefficients} :dt + +Self-explanatory. Check the input script or data file. :dd + +{Incorrect weight arg for dihedral coefficients} :dt + +Self-explanatory. Check the input script or data file. :dd + +{Insertion region extends outside simulation box} :dt + +Region specified with fix insert command extends outside the global +simulation box. :dd + +{Insufficient Jacobi rotations for POEMS body} :dt + +Eigensolve for rigid body was not sufficiently accurate. :dd + +{Insufficient Jacobi rotations for rigid body} :dt + +Eigensolve for rigid body was not sufficiently accurate. :dd + +{Invalid $ variable} :dt + +The character following a $ in the input script is not between "a" and +"z". :dd + +{Invalid angle style} :dt + +The choice of angle style is unknown. :dd + +{Invalid angle type in Angles section of data file} :dt + +Angle type must be positive integer and within range of specified angle +types. :dd + +{Invalid angle type index for fix shake} :dt + +Self-explanatory. :dd + +{Invalid atom ID in Angles section of data file} :dt + +Atom IDs must be positive integers and within range of defined +atoms. :dd + +{Invalid atom ID in Atoms section of data file} :dt + +Atom IDs must be positive integers. :dd + +{Invalid atom ID in Bonds section of data file} :dt + +Atom IDs must be positive integers and within range of defined +atoms. :dd + +{Invalid atom ID in Dihedrals section of data file} :dt + +Atom IDs must be positive integers and within range of defined +atoms. :dd + +{Invalid atom ID in Impropers section of data file} :dt + +Atom IDs must be positive integers and within range of defined +atoms. :dd + +{Invalid atom ID in Velocities section of data file} :dt + +Atom IDs must be positive integers and within range of defined +atoms. :dd + +{Invalid atom mass for fix shake} :dt + +Mass specified in fix shake command must be > 0.0. :dd + +{Invalid atom style} :dt + +The choice of atom style is unknown. :dd + +{Invalid atom type in Atoms section of data file} :dt + +Atom types must range from 1 to specified # of types. :dd + +{Invalid atom type in neighbor exclusion list} :dt + +Atom types must range from 1 to Ntypes inclusive. :dd + +{Invalid atom type index for fix shake} :dt + +Atom types must range from 1 to Ntypes inclusive. :dd + +{Invalid atom types in fix rdf command} :dt + +Atom types must range from 1 to Ntypes inclusive. :dd + +{Invalid atom types in pair_write command} :dt + +Atom types must range from 1 to Ntypes inclusive. :dd + +{Invalid bond style} :dt + +The choice of bond style is unknown. :dd + +{Invalid bond type in Bonds section of data file} :dt + +Bond type must be positive integer and within range of specified bond +types. :dd + +{Invalid bond type index for fix shake} :dt + +Self-explanatory. Check the fix shake command in the input script. :dd + +{Invalid coeffs for this angle style} :dt + +Cannot set class 2 coeffs in data file for this angle style. :dd + +{Invalid coeffs for this dihedral style} :dt + +Cannot set class 2 coeffs in data file for this dihedral style. :dd + +{Invalid coeffs for this improper style} :dt + +Cannot set class 2 coeffs in data file for this improper style. :dd + +{Invalid command-line argument} :dt + +One or more command-line arguments is invalid. Check the syntax of +the command you are using to launch LAMMPS. :dd + +{Invalid cutoffs in pair_write command} :dt + +Inner cutoff must be larger than 0.0 and less than outer cutoff. :dd + +{Invalid data file section: Angle Coeffs} :dt + +Atom style does not allow angles. :dd + +{Invalid data file section: AngleAngle Coeffs} :dt + +Atom style does not allow impropers. :dd + +{Invalid data file section: AngleAngleTorsion Coeffs} :dt + +Atom style does not allow dihedrals. :dd + +{Invalid data file section: AngleTorsion Coeffs} :dt + +Atom style does not allow dihedrals. :dd + +{Invalid data file section: Angles} :dt + +Atom style does not allow angles. :dd + +{Invalid data file section: Bond Coeffs} :dt + +Atom style does not allow bonds. :dd + +{Invalid data file section: BondAngle Coeffs} :dt + +Atom style does not allow angles. :dd + +{Invalid data file section: BondBond Coeffs} :dt + +Atom style does not allow angles. :dd + +{Invalid data file section: BondBond13 Coeffs} :dt + +Atom style does not allow dihedrals. :dd + +{Invalid data file section: Bonds} :dt + +Atom style does not allow bonds. :dd + +{Invalid data file section: Dihedral Coeffs} :dt + +Atom style does not allow dihedrals. :dd + +{Invalid data file section: Dihedrals} :dt + +Atom style does not allow dihedrals. :dd + +{Invalid data file section: EndBondTorsion Coeffs} :dt + +Atom style does not allow dihedrals. :dd + +{Invalid data file section: Improper Coeffs} :dt + +Atom style does not allow impropers. :dd + +{Invalid data file section: Impropers} :dt + +Atom style does not allow impropers. :dd + +{Invalid data file section: MiddleBondTorsion Coeffs} :dt + +Atom style does not allow dihedrals. :dd + +{Invalid dihedral style} :dt + +The choice of dihedral style is unknown. :dd + +{Invalid dihedral type in Dihedrals section of data file} :dt + +Dihedral type must be positive integer and within range of specified +dihedral types. :dd + +{Invalid dump dcd filename} :dt + +Filenames used with the dump dcd style cannot be binary or compressed +or cause multiple files to be written. :dd + +{Invalid dump frequency} :dt + +Dumps frequency must be 1 or greater. :dd + +{Invalid dump_modify threshhold operator} :dt + +Operator keyword used for threshhold specification in not recognized. :dd + +{Invalid dump style} :dt + +The choice of dump style is unknown. :dd + +{Invalid dump xtc filename} :dt + +Filenames used with the dump xtc style cannot be binary or compressed +or cause multiple files to be written. :dd + +{Invalid dump xyz filename} :dt + +Filenames used with the dump xyz style cannot be binary or cause files +to be written by each processor. :dd + +{Invalid group ID in neigh_modify command} :dt + +A group ID used in the neigh_modify command does not exist. :dd + +{Invalid fix style} :dt + +The choice of fix style is unknown. :dd + +{Invalid flag in header of restart file} :dt + +Value read from beginning of restart file is not recognized. :dd + +{Invalid improper style} :dt + +The choice of improper style is unknown. :dd + +{Invalid improper type in Impropers section of data file} :dt + +Improper type must be positive integer and within range of specified +improper types. :dd + +{Invalid keyword in dump custom command} :dt + +One or more attribute keywords are not recognized. :dd + +{Invalid keyword in pair table parameters} :dt + +Keyword used in list of table parameters is not recognized. :dd + +{Invalid keyword in thermo_style command} :dt + +One or more attribute keywords are not recognized. :dd + +{Invalid keyword in variable equal command} :dt + +One or more attribute keywords are not recognized. :dd + +{Invalid kspace style} :dt + +The choice of kspace style is unknown. :dd + +{Invalid natoms for dump dcd} :dt + +Natoms is initially 0 which is not valid for the dump dcd style. +Natoms must be constant for the duration of the simulation. :dd + +{Invalid natoms for dump xtc} :dt + +Natoms is initially 0 which is not valid for the dump xtc style. :dd + +{Invalid natoms for dump xyz} :dt + +Natoms is initially 0 which is not valid for the dump xyz style. :dd + +{Invalid order of forces within respa levels} :dt + +For respa, ordering of force computations within respa levels must +obey certain rules. E.g. bonds cannot be compute less frequently than +angles, pairwise forces cannot be computed less frequently than +kspace, etc. :dd + +{Invalid pair style} :dt + +The choice of pair style is unknown. :dd + +{Invalid pair table cutoff} :dt + +Cutoffs in pair_coeff command are not valid with read-in pair table. :dd + +{Invalid pair table length} :dt + +Length of read-in pair table is invalid :dd + +{Invalid random number seed in set command} :dt + +Random number seed must be > 0. :dd + +{Invalid region style} :dt + +The choice of region style is unknown. :dd + +{Invalid style in pair_write command} :dt + +Self-explanatory. Check the input script. :dd + +{Invalid temperature style} :dt + +The choice of temperature style is unknown. :dd + +{Invalid type for dipole set} :dt + +Dipole command must set a type from 1-N where N is the number of atom +types. :dd + +{Invalid type for mass set} :dt + +Mass command must set a type from 1-N where N is the number of atom +types. :dd + +{Invalid type in set command} :dt + +Type used in set command must be from 1-N where N is the number +of atom types (bond types, angle types, etc). :dd + +{Invalid variable in command-line argument} :dt + +Command-line arg -var must set a variable from "a" to "z". :dd + +{Invalid variable in next command} :dt + +Next command in input script must set variables from "a" to "z". :dd + +{Invalid variable in variable command} :dt + +Variable command in input script must set a variable from "a" to "z". :dd + +{Invalid variable style with next command} :dt + +Variable styles {equal} and {world} cannot be used in a next +command. :dd + +{Invalid vector in variable equal command} :dt + +One or more vector names are not recognized. :dd + +{KSpace style has not yet been set} :dt + +Cannot use kspace_modify command until a kspace style is set. :dd + +{KSpace style is incompatible with Pair style} :dt + +Setting a kspace style requires that a pair style with a long-range +Coulombic component be selected. :dd + +{Label wasn't found in input script} :dt + +Self-explanatory. :dd + +{Lattice style incompatible with dimension} :dt + +2d simulation can use sq, sq2, or hex lattice. 3d simulation can use +sc, bcc, or fcc lattice. :dd + +{Lost atoms via displacement: original %.15g current %.15g} :dt + +Moving atoms via the displace_atoms command lost one or more atoms. :dd + +{Lost atoms: original %.15g current %.15g} :dt + +A thermodynamic computation has detected lost atoms. :dd + +{Marsaglia RNG cannot use 0 seed} :dt + +The random number generator use for the fix langevin command cannot +use 0 as an initial seed. :dd + +{Mass command before simulation box is defined} :dt + +The mass command cannot be used before a read_data, read_restart, or +create_box command. :dd + +{Minimize command before simulation box is defined} :dt + +The minimize command cannot be used before a read_data, read_restart, +or create_box command. :dd + +{Min_style command before simulation box is defined} :dt + +The min_style command cannot be used before a read_data, read_restart, +or create_box command. :dd + +{More than one freeze fix} :dt + +You can only define one freeze fix. :dd + +{More than one shake fix} :dt + +You can only define one SHAKE fix. :dd + +{Must define angle_style before Angle Coeffs} :dt + +Must use an angle_style command before reading a data file that +defines Angle Coeffs. :dd + +{Must define angle_style before BondAngle Coeffs} :dt + +Must use an angle_style command before reading a data file that +defines Angle Coeffs. :dd + +{Must define angle_style before BondBond Coeffs} :dt + +Must use an angle_style command before reading a data file that +defines Angle Coeffs. :dd + +{Must define bond_style before Bond Coeffs} :dt + +Must use a bond_style command before reading a data file that +defines Bond Coeffs. :dd + +{Must define dihedral_style before AngleAngleTorsion Coeffs} :dt + +Must use a dihedral_style command before reading a data file that +defines AngleAngleTorsion Coeffs. :dd + +{Must define dihedral_style before AngleTorsion Coeffs} :dt + +Must use a dihedral_style command before reading a data file that +defines AngleTorsion Coeffs. :dd + +{Must define dihedral_style before BondBond13 Coeffs} :dt + +Must use a dihedral_style command before reading a data file that +defines BondBond13 Coeffs. :dd + +{Must define dihedral_style before Dihedral Coeffs} :dt + +Must use a dihedral_style command before reading a data file that +defines Dihedral Coeffs. :dd + +{Must define dihedral_style before EndBondTorsion Coeffs} :dt + +Must use a dihedral_style command before reading a data file that +defines EndBondTorsion Coeffs. :dd + +{Must define dihedral_style before MiddleBondTorsion Coeffs} :dt + +Must use a dihedral_style command before reading a data file that +defines MiddleBondTorsion Coeffs. :dd + +{Must define improper_style before AngleAngle Coeffs} :dt + +Must use an improper_style command before reading a data file that +defines AngleAngle Coeffs. :dd + +{Must define improper_style before Improper Coeffs} :dt + +Must use an improper_style command before reading a data file that +defines Improper Coeffs. :dd + +{Must define pair_style before Pair Coeffs} :dt + +Must use a pair_style command before reading a data file that defines +Pair Coeffs. :dd + +{Must have more than one processor partition to temper} :dt + +Cannot use the temper command with only one processor partition. Use +the -partition command-line option. :dd + +{Must read Atoms before Angles} :dt + +The Atoms section of a data file must come before an Angles section. :dd + +{Must read Atoms before Bonds} :dt + +The Atoms section of a data file must come before a Bonds section. :dd + +{Must read Atoms before Dihedrals} :dt + +The Atoms section of a data file must come before a Dihedrals section. :dd + +{Must read Atoms before Impropers} :dt + +The Atoms section of a data file must come before an Impropers +section. :dd + +{Must read Atoms before Velocities} :dt + +The Atoms section of a data file must come before a Velocities +section. :dd + +{Must set both respa inner and outer} :dt + +Cannot use just the inner or outer option with repsa without using the +other. :dd + +{Must specify a region in fix insert} :dt + +Self-explanatory. :dd + +{Must use -in switch with multiple partitions} :dt + +A multi-partition simulation cannot read the input script from stdin. +The -in command-line option must be used to specify a file. :dd + +{Must use a block or cylinder region with fix insert} :dt + +Self-explanatory. :dd + +{Must use a molecular atom style with fix poems molecule} :dt + +Self-explanatory. :dd + +{Must use a molecular atom style with fix rigid molecule} :dt + +Self-explanatory. :dd + +{Must use molecular atom style with neigh_modify exclude molecule} :dt + +Self-explanatory. :dd + +{Must use a z-axis cylinder with fix insert} :dt + +The axis of the cylinder region used with the fix insert command must +be oriented along the z dimension. :dd + +{Must use atom style dpd with pair style dpd} :dt + +Self-explanatory. :dd + +{Must use atom style granular with lj units} :dt + +Self-explanatory. :dd + +{Must use atom style granular with pair style granular} :dt + +Self-explanatory. :dd + +{Must use atom style granular with chosen thermo settings} :dt + +If granular thermo info is to be output, must use atom style +granular. :dd + +{Must use atom style granular with granular thermo output} :dt + +If atom style is granular, must use thermo style granular or custom. :dd + +{Must use charged atom style with fix efield} :dt + +The atom style being used does not allow atoms to have assigned +charges. Hence it will not work with this fix which generates a force +due to an E-field acting on charge. :dd + +{Must use charged atom style with this pair style} :dt + +The atom style being used does not allow atoms to have assigned +charges. Hence it will not work with this choice of pair style. :dd + +{Must use fix freeze with atom style granular} :dt + +Self-explanatory. :dd + +{Must use fix gran/diag with atom style granular} :dt + +Self-explanatory. :dd + +{Must use fix gran/diag with granular pair style} :dt + +Self-explanatory. :dd + +{Must use fix gravity chute with atom style granular} :dt + +Self-explanatory. :dd + +{Must use fix gravity spherical with atom style granular} :dt + +Self-explanatory. :dd + +{Must use fix gravity gradient with atom style granular} :dt + +Self-explanatory. :dd + +{Must use fix gravity with fix insert} :dt + +Insertion of granular particles must be done under the influence of +gravity. :dd + +{Must use fix insert with atom style granular} :dt + +Self-explanatory. :dd + +{Must use fix nve/gran with atom style granular} :dt + +Self-explanatory. :dd + +{Must use fix wall/gran with atom style granular} :dt + +Self-explanatory. :dd + +{Must use newton pairwise on with TIP4P potential} :dt + +Use of a TIP4P pair potential requires the newton command setting for +pairwise interactions be "on", because of the way forces are computed +on other atoms due to TIP4P interactions. :dd + +{Must use region with side = in with fix insert} :dt + +Self-explanatory. :dd + +{Must use special bonds = 1,1,1 with bond style quartic} :dt + +The settings for the special_bonds command must be set as indicated +when using bond style quartic. :dd + +{Needed topology not in data file} :dt + +The header of the data file indicated that bonds or angles or +dihedrals or impropers would be included, but they were not present. :dd + +{Neighbor delay must be 0 or multiple of every setting} :dt + +The delay and every parameters set via the neigh_modify command are +inconsistent. If the delay setting is non-zero, then it must be a +multiple of the every setting. :dd + +{Neighbor list overflow, boost neigh_modify one or page} :dt + +There are too many neighbors of a single atom. Use the neigh_modify +command to increase the neighbor page size and the max number of +neighbors allowed for one atom. :dd + +{Newton bond change after simulation box is defined} :dt + +The newton command cannot be used to change the newton bond value +after a read_data, read_restart, or create_box command. :dd + +{No angles allowed with this atom style} :dt + +Self-explanatory. Check data file. :dd + +{No atoms in data file} :dt + +The header of the data file indicated that atoms would be included, +but they were not present. :dd + +{No atoms to compute diffusion for} :dt + +The fix msd command has no atoms to compute on. :dd + +{No bonds allowed with this atom style} :dt + +Self-explanatory. Check data file. :dd + +{No dihedrals allowed with this atom style} :dt + +Self-explanatory. Check data file. :dd + +{No dump custom arguments specified} :dt + +The dump custom command requires that atom quantities be specified to +output to dump file. :dd + +{No impropers allowed with this atom style} :dt + +Self-explanatory. Check data file. :dd + +{No rigid bodies defined by fix rigid} :dt + +Self-explanatory. :dd + +{Non integer # of swaps in temper command} :dt + +Swap frequency in temper command must evenly divide the total # of +timesteps. :dd + +{Non-orthogonal lattice vectors} :dt + +Self-explanatory. :dd + +{One or zero atoms in rigid body} :dt + +Any rigid body defined by the fix rigid command must contain 2 or more +atoms. :dd + +{One or more atoms belong to multiple rigid bodies} :dt + +Two or more rigid bodies defined by the fix rigid command cannot +contain the same atom. :dd + +{Orientation vectors are not right-handed} :dt + +The 3 vectors defined by the orient command must form a right-handed +coordinate system. :dd + +{Out of range atoms - cannot compute PPPM} :dt + +One or more atoms are attempting to map their charge to a PPPM grid +point that is not owned by a processor. This is usually because +an atom has moved to far in a single timestep. :dd + +{Pair distance < table inner cutoff} :dt + +Two atoms are closer together than the pairwise table allows. :dd + +{Pair distance > table outer cutoff} :dt + +Two atoms are further apart than the pairwise table allows. :dd + +{Pair style must be defined to use bond style quartic} :dt + +Bond style quartic requires a pair style be defined. :dd + +{Pair table parameters did not set N} :dt + +List of pair table parameters must include N setting. :dd + +{PPPM grid is too large} :dt + +The global PPPM grid is larger than OFFSET in one or more dimensions. +OFFSET is currently set to 4096. You likely need to decrease the +requested precision. :dd + +{PPPM order cannot be greater than %d} :dt + +Self-explanatory. :dd + +{PPPM stencil extends too far, reduce PPPM order} :dt + +The grid points that atom charge are mapped to cannot extend further +than one neighbor processor away. Reducing the PPPM order via the +kspace_modify command will reduce the stencil distance. :dd + +{Pair coeff for hybrid has invalid style} :dt + +Style in pair coeff must have been listed in pair_style command. :dd + +{Pair cutoff < Respa interior cutoff} :dt + +One or more pairwise cutoffs are too short to use with the specified +rRESPA cutoffs. :dd + +{Pair style hybrid cannot have hybrid as an argument} :dt + +Self-explanatory. Check the input script. :dd + +{Pair style hybrid cannot use same pair style twice} :dt + +The sub-style arguments of pair_style hybrid cannot be duplicated. +Check the input script. :dd + +{Pair inner cutoff < Respa interior cutoff} :dt + +One or more pairwise cutoffs are too short to use with the specified +rRESPA cutoffs. :dd + +{Pair inner cutoff >= Pair outer cutoff} :dt + +The specified cutoffs for the pair style are inconsistent. :dd + +{Pair style is incompatible with DihedralCharmm} :dt + +When using a dihedral style charmm, a pair style with a CHARMM +component must also be selected, so that 1-4 pairwise coefficients are +specified. :dd + +{Pair style is incompatible with KSpace style} :dt + +If a pair style with a long-range Coulombic component is selected, +then a kspace style must also be used. :dd + +{Pair table cutoffs must all be equal to use with KSpace} :dt + +When using pair style table with a long-range KSpace solver, the +cutoffs for all atom type pairs must all be the same, since the +long-range solver starts at that cutoff. :dd + +{Pair_coeff command before pair_style is defined} :dt + +Self-explanatory. :dd + +{Pair_coeff command before simulation box is defined} :dt + +The pair_coeff command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Pair_modify command before pair_style is defined} :dt + +Self-explanatory. :dd + +{Pair_write command before pair_style is defined} :dt + +Self-explanatory. :dd + +{POEMS fix must come before NPT/NPH fix} :dt + +NPT/NPH fix must be defined in input script after all poems fixes, +else the fix contribution to the pressure virial is incorrect. :dd + +{Potential with shear history requires newton pair off} :dt + +Granular potentials that include shear history effects can only be run +with a newton setting where pairwise newton is "off". :dd + +{Proc grid in z != 1 for 2d simulation} :dt + +There cannot be more than 1 processor in the z dimension of a 2d +simulation. :dd + +{Processor partitions are inconsistent} :dt + +The total number of processors in all partitions must match the number +of processors LAMMPS is running on. :dd + +{Processors command after simulation box is defined} :dt + +The processors command cannot be used after a read_data, read_restart, +or create_box command. :dd + +{Quaternion creation numeric error} :dt + +A numeric error occurred in the creation of a rigid body by the fix +rigid command. :dd + +{Quotes in a single arg} :dt + +A single word should not be quoted in the input script; only a set of +words with intervening spaces should be quoted. :dd + +{R0 < 0 for fix spring command} :dt + +Equilibrium spring length is invalid. :dd + +{Region union region ID does not exist} :dt + +One or more of the region IDs specified by the region union command +does not exist. :dd + +{Replacing a fix, but new style != old style} :dt + +A fix ID can be used a 2nd time, but only if the style matches the +previous fix. In this case it is assumed you with to reset a fix's +parameters. This error may mean you are mistakenly re-using a fix ID +when you do not intend to. :dd + +{Replicate command before simulation box is defined} :dt + +The replicate command cannot be used before a read_data, read_restart, +or create_box command. :dd + +{Replicate did not assign all atoms correctly} :dt + +Atoms replicated by the replicate command were not assigned correctly +to processors. This is likely due to some atom coordinates being +outside a non-periodic simulation box. :dd + +{Requested atom types in EAM setfl file do not exist} :dt + +Atom type specified in pair_style eam command does not match number of +types in setfl potential file. :dd + +{Respa inner cutoffs are invalid} :dt + +The first cutoff must be <= the second cutoff. :dd + +{Respa inner/middle/outer used with invalid pair style} :dt + +Only a few pair potentials support the use of respa inner, middle, +outer options. :dd + +{Respa levels must be >= 1} :dt + +Self-explanatory. :dd + +{Respa middle cutoffs are invalid} :dt + +The first cutoff must be <= the second cutoff. :dd + +{Respa not allowed with atom style granular} :dt + +Respa cannot be used with the granular atom style. :dd + +{Reuse of dump ID} :dt + +A dump ID cannot be used twice. :dd + +{Reuse of region ID} :dt + +A region ID cannot be used twice. :dd + +{Reuse of temperature ID} :dt + +A temperature ID cannot be used twice. :dd + +{Rigid body has degenerate moment of inertia} :dt + +Fix poems will only work with bodies (collections of atoms) that have +non-zero principal moments of inertia. This means they must be 3 or +more non-colinear atoms, even with joint atoms removed. :dd + +{Rigid fix must come before NPT/NPH fix} :dt + +NPT/NPH fix must be defined in input script after all rigid fixes, +else the rigid fix contribution to the pressure virial is +incorrect. :dd + +{Run command before simulation box is defined} :dt + +The run command cannot be used before a read_data, read_restart, or +create_box command. :dd + +{Run_style command before simulation box is defined} :dt + +The run_style command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Set command before simulation box is defined} :dt + +The set command cannot be used before a read_data, read_restart, +or create_box command. :dd + +{Set command with no atoms existing} :dt + +No atoms are yet defined so the set command cannot be used. :dd + +{Shake angles have different bond types} :dt + +All 3-atom angle-constrained SHAKE clusters specified by the fix shake +command that are the same angle type, must also have the same bond +types for the 2 bonds in the angle. :dd + +{Shake atoms %d %d %d %d missing on proc %d at step %d} :dt + +The 4 atoms in a single shake cluster specified by the fix shake +command are not all accessible to a processor. This probably means +an atom has moved too far. :dd + +{Shake atoms %d %d %d missing on proc %d at step %d} :dt + +The 3 atoms in a single shake cluster specified by the fix shake +command are not all accessible to a processor. This probably means +an atom has moved too far. :dd + +{Shake atoms %d %d missing on proc %d at step %d} :dt + +The 2 atoms in a single shake cluster specified by the fix shake +command are not all accessible to a processor. This probably means +an atom has moved too far. :dd + +{Shake cluster of more than 4 atoms} :dt + +A single cluster specified by the fix shake command can have no more +than 4 atoms. :dd + +{Shake clusters are connected} :dt + +A single cluster specified by the fix shake command must have a single +central atom with up to 3 other atoms bonded to it. :dd + +{Shake determinant = 0.0} :dt + +The determinant of the matrix being solved for a single cluster +specified by the fix shake command is numerically invalid. :dd + +{Shake fix must come before NPT/NPH fix} :dt + +NPT fix must be defined in input script after SHAKE fix, else the +SHAKE fix contribution to the pressure virial is incorrect. :dd + +{Substitution for undefined variable} :dt + +The variable specified with a $ symbol in an input script command has +not been previously defined with a variable command. :dd + +{Temperature region ID does not exist} :dt + +The region ID specified in the temperature command does not exist. :dd + +{Temper command before simulation box is defined} :dt + +The temper command cannot be used before a read_data, read_restart, or +create_box command. :dd + +{Tempering fix ID is not defined} :dt + +The fix ID specified by the temper command does not exist. :dd + +{Tempering fix is not valid} :dt + +The fix specified by the temper command is not one that controls +temperature (nvt or langevin). :dd + +{Thermodynamics not computed on tempering swap steps} :dt + +The thermo command must insure that thermodynamics (including energy) +is computed on the timesteps that tempering swaps are attempted. :dd + +{Thermodynamics must compute PE for temper} :dt + +The thermo style must insure that thermodynamics computations include +potential energy when tempering is performed. :dd + +{Thermo_style command before simulation box is defined} :dt + +The thermo_style command cannot be used before a read_data, +read_restart, or create_box command. :dd + +{Timestep must be >= 0} :dt + +Specified timestep size is invalid. :dd + +{TIP4P hydrogen has incorrect atom type} :dt + +The TIP4P pairwise computation found an H atom whose type does not +agree with the specified H type. :dd + +{TIP4P hydrogen is missing} :dt + +The TIP4P pairwise computation failed to find the correct H atom +within a water molecule. :dd + +{TMD target file did not list all group atoms} :dt + +The target file for the fix tmd command did not list all atoms in the +fix group. :dd + +{Too big a problem to run with a molecular atom style} :dt + +Cannot run a problem with > 2^31 atoms with molecular attributes. :dd + +{Too few bits for lookup table} :dt + +Table size specified via pair_modify command does not work with your +machine's floating point representation. :dd + +{Too large an atom type in create_atoms command} :dt + +The atoms to be created by the create_atoms command must have a valid +type. :dd + +{Too many atoms in data file} :dt + +A data file cannot contain more than 2^31 atoms. :dd + +{Too many atoms to use delete atoms command} :dt + +Cannot use delete_atoms command if number of atoms is greater than +2^31. :dd + +{Too many atoms to use velocity create with loop all} :dt + +Cannot use velocity create command with loop all setting if number of +atoms is greater than 2^31. Switch to local or geom setting. :dd + +{Too many exponent bits for lookup table} :dt + +Table size specified via pair_modify command does not work with your +machine's floating point representation. :dd + +{Too many mantissa bits for lookup table} :dt + +Table size specified via pair_modify command does not work with your +machine's floating point representation. :dd + +{Too many groups} :dt + +The maximum number of atom groups (including the "all" group) is +given by MAX_GROUP in group.cpp and is 32. :dd + +{Too many masses for fix shake} :dt + +The fix shake command cannot list more masses than there are atom +types. :dd + +{Too many total bits for bitmapped lookup table} :dt + +Table size specified via pair_modify command is too large. Note that +a value of N generates a 2^N size table. :dd + +{Too many touching neighbors - boost MAXTOUCH} :dt + +A granular simulation has too many neighbors touching one atom. The +MAXTOUCH parameter in fix_shear_history.cpp must be set larger and +LAMMPS must be re-built. :dd + +{Tree structure in joint connections} :dt + +Fix poems cannot (yet) work with coupled bodies whose joints connect +the bodies in a tree structure. :dd + +{Unbalanced quotes in input line} :dt + +No matching end double quote was found following a leading double +quote. :dd + +{Unexpected end of data file} :dt + +LAMMPS hit the end of the data file while attempting to read a +section. Something is wrong with the format of the data file. :dd + +{Units command after simulation box is defined} :dt + +The units command cannot be used after a read_data, read_restart, or +create_box command. :dd + +{Unknown atom style in restart file} :dt + +The atom style stored in the restart file is not recognized by LAMMPS. :dd + +{Unknown command: %s} :dt + +The command is not known to LAMMPS. Check the input script. :dd + +{Unknown identifier in data file: %s} :dt + +A section of the data file cannot be read by LAMMPS. :dd + +{Unknown section in data file: %s} :dt + +The keyword for a section of the data file is not recognized by +LAMMPS. :dd + +{Unknown table style in pair_style command} :dt + +Style of table is invalid for use with pair_style table command. :dd + +{Universe variable count < # of partitions} :dt + +A world-style variable must specify a number of values >= to the +number of processor partitions. :dd + +{Use of displace_atoms with undefined lattice} :dt + +Must use lattice command with displace_atoms command if units option +is set to lattice. :dd + +{Use of fix indent with undefined lattice} :dt + +The lattice command must be used to define a lattice before using the +fix indent command. :dd + +{Use of region with undefined lattice} :dt + +If scale = lattice (the default) for the region command, then a +lattice must first be defined via the lattice command. :dd + +{Use of temperature ramp with undefined lattice} :dt + +If scale = lattice (the default) for the temperature ramp command, +then a lattice must first be defined via the lattice command. :dd + +{Use of velocity with undefined lattice} :dt + +If scale = lattice (the default) for the velocity set or velocity ramp +command, then a lattice must first be defined via the lattice command. :dd + +{Using variable equal keyword before simulation box is defined} :dt + +Cannot use simulation domain keywords in a equal style variable +definition until the simulation box has been defined. :dd + +{Using variable equal keyword before initial run} :dt + +Cannot use thermodynamic keywords in a equal style variable definition +until a simulation run has been performed. :dd + +{Velocity command before simulation box is defined} :dt + +The velocity command cannot be used before a read_data, read_restart, +or create_box command. :dd + +{Velocity command with no atoms existing} :dt + +A velocity command has been used, but no atoms yet exist. :dd + +{Velocity ramp in z for a 2d problem} :dt + +Self-explanatory. :dd + +{World variable count doesn't match # of partitions} :dt + +A world-style variable must specify a number of values equal to the +number of processor partitions. :dd + +{Write_restart command before simulation box is defined} :dt + +The write_restart command cannot be used before a read_data, +read_restart, or create_box command. :dd + +:dle + +Warnings: :h4,link(warn) + +:dlb + +{FENE bond too long: %d %g} :dt + +A FENE bond has stretched dangerously far. It's interaction strength +will be truncated to attempt to prevent the bond from blowing up. :dd + +{FENE bond too long: %d %d %d %g} :dt + +A FENE bond has stretched dangerously far. It's interaction strength +will be truncated to attempt to prevent the bond from blowing up. :dd + +{Group for fix_modify temp != fix group} :dt + +The fix_modify command is specifying a temperature computation that +computes a temperature on a different group of atoms than the fix +itself operates on. This is probably not what you want to do. :dd + +{Less insertions than requested} :dt + +Less atom insertions occurred on this timestep due to the fix insert +command than were scheduled. This is probably because there were too +many overlaps detected. :dd + +{Lost atoms: original %.15g current %.15g} :dt + +A thermodynamic computation has detected lost atoms. :dd + +{Mismatch between velocity and temperature groups} :dt + +The temperature computation used by the velocity command will not be +on the same group of atoms that velocities are being set for. This is +probably not what you want. :dd + +{More than one dump custom with a centro attribute} :dt + +Each dump custom command that uses a per-atom centro attribute will +cause a full neighbor list to be built and looped over. Thus it may +be inefficient to use this attribute in multiple dump custom +commands. :dd + +{More than one dump custom with a stress attribute} :dt + +Each dump custom command that uses a per-atom stress tensor attribute +will cause the neighbor list to be looped over and inter-processor +communication to be performed. Thus it may be inefficient to use +these attributes in multiple dump custom commands. :dd + +{More than one dump custom with an energy attribute} :dt + +Each dump custom command that uses a per-atom energy attribute will +cause the neighbor list to be looped over and inter-processor +communication to be performed. Thus it may be inefficient to use this +attribute in multiple dump custom commands. :dd + +{More than one msd fix} :dt + +This will be computationally inefficient. :dd + +{More than one poems fix} :dt + +This will be computationally inefficient and compute the fix's +contribution to the virial (pressure) incorrectly. :dd + +{More than one rigid fix} :dt + +This will be computationally inefficient and compute the fix's +contribution to the virial (pressure) incorrectly. :dd + +{No fixes defined, atoms won't move} :dt + +If you are not using a fix like nve, nvt, npt then atom velocities and +coordinates will not be updated during timestepping. :dd + +{No joints between rigid bodies, use fix rigid instead} :dt + +The bodies defined by fix poems are not connected by joints. POEMS +will integrate the body motion, but it would be more efficient to use +fix rigid. :dd + +{One or more respa levels compute no forces} :dt + +This is computationally inefficient. :dd + +{Replacing a fix, but new group != old group} :dt + +The ID and style of a fix match for a fix you are changing with a fix +command, but the new group you are specifying does not match the old +group. :dd + +{Replicating in a non-periodic dimension} :dt + +The parameters for a replicate command will cause a non-periodic +dimension to be replicated; this may cause unwanted behavior. :dd + +{Resetting angle_style to restart file value} :dt + +The angle style defined in the LAMMPS input script does not match that +of the restart file. :dd + +{Resetting bond_style to restart file value} :dt + +The bond style defined in the LAMMPS input script does not match that +of the restart file. :dd + +{Resetting boundary settings to restart file values} :dt + +The boundary settings defined in the LAMMPS input script do not match +that of the restart file. :dd + +{Resetting dihedral_style to restart file value} :dt + +The dihedral style defined in the LAMMPS input script does not match +that of the restart file. :dd + +{Resetting dimension to restart file value} :dt + +The dimension value defined in the LAMMPS input script does not match +that of the restart file. :dd + +{Resetting improper_style to restart file value} :dt + +The improper style defined in the LAMMPS input script does not match +that of the restart file. :dd + +{Resetting newton bond to restart file value} :dt + +The value of the newton setting for bonds defined in the LAMMPS input +script does not match that of the restart file. :dd + +{Resetting pair_style to restart file value} :dt + +The pair style defined in the LAMMPS input script does not match that +of the restart file. :dd + +{Resetting reneighboring criteria during minimization} :dt + +Minimization requires that neigh_modify settings be delay = 0, every = +1, check = yes. Since these settings were not in place, LAMMPS +changed them and will restore them to their original values after the +minimization. :dd + +{Resetting unit_style to restart file value} :dt + +The unit style defined in the LAMMPS input script does not match that +of the restart file. :dd + +{Restart file used different # of processors} :dt + +The restart file was written out by a LAMMPS simulation running on a +different number of processors. Due to round-off, the trajectories of +your restarted simulation may diverge a little more quickly than if +you ran on the same # of processors. :dd + +{Restart file used different 3d processor grid} :dt + +The restart file was written out by a LAMMPS simulation running on a +different 3d grid of processors. Due to round-off, the trajectories +of your restarted simulation may diverge a little more quickly than if +you ran on the same # of processors. :dd + +{Restart file used different newton pair setting} :dt + +The restart file was written out by a LAMMPS simulation running with a +different value of the newton pair setting. The new simulation will +use the value from the input script. :dd + +{Restart file version does not match LAMMPS version} :dt + +The version of LAMMPS that wrote the restart file does not match the +version of LAMMPS that is reading the restart file. Generally this +shouldn't be a problem, since restart file formats won't change very +often if at all. But if they do, the code will probably crash trying +to read the file. Versions of LAMMPS are specified by a date. :dd + +{Shake determinant < 0.0} :dt + +The determinant of the quadratic equation being solved for a single +cluster specified by the fix shake command is numerically suspect. LAMMPS +will set it to 0.0 and continue. :dd + +{System is not charge neutral, net charge = %g} :dt + +The total charge on all atoms on the system is not 0.0, which +is not valid for Ewald or PPPM. :dd + +{Table inner cutoff >= outer cutoff} :dt + +You specified an inner cutoff for a Coulombic table that is longer +than the global cutoff. Probably not what you wanted. :dd + +{Temperature for NPH is not for group all} :dt + +User-assigned temperature to NPH fix does not compute temperature for +all atoms. Since NPH computes a global pressure, the kinetic energy +contribution from the temperature is assumed to also be for all atoms. +Thus the pressure used by NPH could be inaccurate. :dd + +{Temperature for NPH is style region} :dt + +User-assigned temperature to NPH fix has style region. Since NPT +computes a global pressure, the kinetic energy contribution from the +temperature is assumed to also be for all atoms. Thus the pressure +used by NPT could be inaccurate. :dd + +{Temperature for NPT is not for group all} :dt + +User-assigned temperature to NPT fix does not compute temperature for +all atoms. Since NPT computes a global pressure, the kinetic energy +contribution from the temperature is assumed to also be for all atoms. +Thus the pressure used by NPT could be inaccurate. :dd + +{Temperature for NPT is style region} :dt + +User-assigned temperature to NPT fix has style region. Since NPT +computes a global pressure, the kinetic energy contribution from the +temperature is assumed to also be for all atoms. Thus the pressure +used by NPT could be inaccurate. :dd + +{Temperature for NVT is style region} :dt + +User-assigned temperature to NVT fix has style region. Since NVT is a +Nose/Hoover formulation that tracks average properties of a collection +of atoms over time, it may be inaccurate to do this if the atoms +in the region change. :dd + +{Temperature for temp/rescale is style region} :dt + +User-assigned temperature to temp/rescale fix has style region, but +the temp/rescale fix did not specify a region. This means the +temperature may be computed on a different set of atoms than are +rescaled. :dd + +{Temperature for thermo pressure is not for group all} :dt + +User-assigned temperature to thermo via the thermo_modify command does +not compute temperature for all atoms. Since thermo computes a global +pressure, the kinetic energy contribution from the temperature is +assumed to also be for all atoms. Thus the pressure printed by thermo +could be inaccurate. :dd + +{Temperature for thermo pressure is style region} :dt + +User-assigned temperature to thermo via the thermo_modify command has +style region. Since thermo computes a global pressure, the kinetic +energy contribution from the temperature is assumed to also be for all +atoms. Thus the pressure printed by thermo could be inaccurate. :dd + +{Using variable equal keyword with non-current thermo} :dt + +The variable expression is being evaluated with a thermodynamic +quantity on a timestep when thermodynamic information may not be +current. :dd + +:dle diff --git a/doc/Section_example.html b/doc/Section_example.html new file mode 100644 index 0000000000..d7d502e503 --- /dev/null +++ b/doc/Section_example.html @@ -0,0 +1,71 @@ + +
      Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
      + + + + + + +
      + +

      5. Example problems +

      +

      The LAMMPS distribution includes an examples sub-directory with +several sample problems. Each problem is in a sub-directory of its +own. Most are 2d models so that they run quickly, requiring at most a +couple of minutes to run on a desktop machine. Each problem has an +input script (in.*) and produces a log file (log.*) and dump file +(dump.*) when it runs. Some use a data file (data.*) of initial +coordinates as additional input. A few sample log file outputs on +different machines and different numbers of processors are included in +the directories to compare your answers to. E.g. a log file like +log.crack.foo.P means it ran on P processors of machine "foo". +

      +

      The dump files produced by the example runs can be animated using the +xmovie tool described in the Tools section. MPEG +versions of most of the xmovie animations are also viewable from the +Examples page of the LAMMPS WWW Site. +

      +

      These are the sample problems in the examples sub-directories: +

      +
      + + + + + + + + + + + +
      crack crack propagation in a 2d solid
      flow Couette and Poisseuille flow in a 2d channel
      friction frictional contact of spherical asperities between 2d surfaces
      indent spherical indenter into a 2d solid
      melt rapid melt of 3d LJ system
      micelle self-assembly of small lipid-like molecules into 2d bilayers
      min energy minimization of 2d LJ melt
      obstacle flow around two voids in a 2d channel
      peptide dynamics of a small solvated peptide chain (5-mer)
      pour pouring of granular particles into a 3d box, then chute flow
      rigid rigid bodies modeled as independent or coupled
      shear sideways shear applied to 2d solid, with and without a void +
      + +

      Here is how you might run and visualize one of the sample problems: +

      +
      cd indent
      +cp ../../src/lmp_linux .           # copy LAMMPS executable to this dir
      +lmp_linux < in.indent              # run the problem 
      +
      +

      Running the simulation produces the files dump.indent and +log.lammps. You can visualize the dump file as follows: +

      +
      ../../tools/xmovie/xmovie -scale dump.indent 
      +
      +

      There is also a directory "couple" in the examples sub-directory, +which contains a stand-alone code umbrella.cpp that links LAMMPS as a +library. The README describes how to build the code. The code itself +runs LAMMPS on a subset of processors, sets up a LAMMPS problem +by invoking LAMMPS input script commands one at a time, does +a run, grabs atom coordinates, changes one atom position, puts +them back into LAMMPS, and does another run. +

      +

      This illustrates how an umbrella code could include new models and +physics while using LAMMPS to perform MD, or how the umbrella code +could call both LAMMPS and some other code to perform a coupled +calculation. +

      + diff --git a/doc/Section_example.txt b/doc/Section_example.txt new file mode 100644 index 0000000000..0384f5ce52 --- /dev/null +++ b/doc/Section_example.txt @@ -0,0 +1,64 @@ +"Previous Section"_Section_howto.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_perf.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +5. Example problems :h3 + +The LAMMPS distribution includes an examples sub-directory with +several sample problems. Each problem is in a sub-directory of its +own. Most are 2d models so that they run quickly, requiring at most a +couple of minutes to run on a desktop machine. Each problem has an +input script (in.*) and produces a log file (log.*) and dump file +(dump.*) when it runs. Some use a data file (data.*) of initial +coordinates as additional input. A few sample log file outputs on +different machines and different numbers of processors are included in +the directories to compare your answers to. E.g. a log file like +log.crack.foo.P means it ran on P processors of machine "foo". + +The dump files produced by the example runs can be animated using the +xmovie tool described in the "Tools section"_Section_tools.html. MPEG +versions of most of the xmovie animations are also viewable from the +Examples page of the "LAMMPS WWW Site"_lws. + +These are the sample problems in the examples sub-directories: + +crack: crack propagation in a 2d solid +flow: Couette and Poisseuille flow in a 2d channel +friction: frictional contact of spherical asperities between 2d surfaces +indent: spherical indenter into a 2d solid +melt: rapid melt of 3d LJ system +micelle: self-assembly of small lipid-like molecules into 2d bilayers +min: energy minimization of 2d LJ melt +obstacle: flow around two voids in a 2d channel +peptide: dynamics of a small solvated peptide chain (5-mer) +pour: pouring of granular particles into a 3d box, then chute flow +rigid: rigid bodies modeled as independent or coupled +shear: sideways shear applied to 2d solid, with and without a void :tb(s=:) + +Here is how you might run and visualize one of the sample problems: + +cd indent +cp ../../src/lmp_linux . # copy LAMMPS executable to this dir +lmp_linux < in.indent # run the problem :pre + +Running the simulation produces the files {dump.indent} and +{log.lammps}. You can visualize the dump file as follows: + +../../tools/xmovie/xmovie -scale dump.indent :pre + +There is also a directory "couple" in the examples sub-directory, +which contains a stand-alone code umbrella.cpp that links LAMMPS as a +library. The README describes how to build the code. The code itself +runs LAMMPS on a subset of processors, sets up a LAMMPS problem +by invoking LAMMPS input script commands one at a time, does +a run, grabs atom coordinates, changes one atom position, puts +them back into LAMMPS, and does another run. + +This illustrates how an umbrella code could include new models and +physics while using LAMMPS to perform MD, or how the umbrella code +could call both LAMMPS and some other code to perform a coupled +calculation. diff --git a/doc/Section_history.html b/doc/Section_history.html new file mode 100644 index 0000000000..72be59bf56 --- /dev/null +++ b/doc/Section_history.html @@ -0,0 +1,129 @@ + +
      Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
      + + + + + + +
      + +

      10. Future and history +

      +

      This section lists features we are planning to add to LAMMPS, features +of previous versions of LAMMPS, and features of other parallel +molecular dynamics codes I've distributed. +

      +10.1 Coming attractions
      +10.2 Past versions
      + +
      + +

      10.1 Coming attractions +

      +

      The current version of LAMMPS incorporates nearly all the features +from previous parallel MD codes I developed. These include earlier +versions of LAMMPS itself, Warp and ParaDyn for metals, and GranFlow +for granular materials. +

      +

      These are new features I'd like to eventually add to LAMMPS. Some are +being worked on; some haven't been implemented because of lack of time +or interest; others are just a lot of work! +

      +
      • Monte Carlo bond-swapping for polymers (was in Fortran LAMMPS) +
      • torsional shear boundary conditions and temperature calculation +
      • bond creation potentials +
      • point dipole force fields +
      • 3-body force fields for materials like Si or silica +
      • modified EAM (MEAM) potentials for metals +
      • REAXX force field from Bill Goddard's group +
      • pressure and energy tail corrections for pairwise interactions +
      • Parinello-Rahman non-rectilinear simulation box +
      +
      + +

      10.2 Past versions +

      +

      LAMMPS development began in the mid 1990s under a cooperative research +& development agreement (CRADA) between two DOE labs (Sandia and LLNL) +and 3 companies (Cray, Bristol Myers Squibb, and Dupont). Soon after +the CRADA ended, a final F77 version of the code, LAMMPS 99, was +released. As development of LAMMPS continued at Sandia, the memory +management in the code was converted to F90; a final F90 version was +released as LAMMPS 2001. +

      +

      The current LAMMPS is a rewrite in C++ and was first publicly released +in 2004. It includes many new features, including features from other +parallel molecular dynamics codes written at Sandia, namely ParaDyn, +Warp, and GranFlow. ParaDyn is a parallel implementation of the +popular serial DYNAMO code developed by Stephen Foiles and Murray Daw +for their embedded atom method (EAM) metal potentials. ParaDyn uses +atom- and force-decomposition algorithms to run in parallel. Warp is +also a parallel implementation of the EAM potentials designed for +large problems, with boundary conditions specific to shearing solids +in varying geometries. GranFlow is a granular materials code with +potentials and boundary conditions peculiar to granular systems. All +of these codes (except ParaDyn) use spatial-decomposition techniques +for their parallelism. +

      +

      These older codes are available for download from the LAMMPS WWW +site, except for Warp & GranFlow which were primarily used +internally. A brief listing of their features is given here. +

      +

      LAMMPS 2001 +

      +
      • F90 + MPI +
      • dynamic memory +
      • spatial-decomposition parallelism +
      • NVE, NVT, NPT, NPH, rRESPA integrators +
      • LJ and Coulombic pairwise force fields +
      • all-atom, united-atom, bead-spring polymer force fields +
      • CHARMM-compatible force fields +
      • class 2 force fields +
      • 3d/2d Ewald & PPPM +
      • various force and temperature constraints +
      • SHAKE +
      • Hessian-free truncated-Newton minimizer +
      • user-defined diagnostics +
      +

      LAMMPS 99 +

      +
      • F77 + MPI +
      • static memory allocation +
      • spatial-decomposition parallelism +
      • most of the LAMMPS 2001 features with a few exceptions +
      • no 2d Ewald & PPPM +
      • molecular force fields are missing a few CHARMM terms +
      • no SHAKE +
      +

      Warp +

      +
      • F90 + MPI +
      • spatial-decomposition parallelism +
      • embedded atom method (EAM) metal potentials + LJ +
      • lattice and grain-boundary atom creation +
      • NVE, NVT integrators +
      • boundary conditions for applying shear stresses +
      • temperature controls for actively sheared systems +
      • per-atom energy and centro-symmetry computation and output +
      +

      ParaDyn +

      +
      • F77 + MPI +
      • atom- and force-decomposition parallelism +
      • embedded atom method (EAM) metal potentials +
      • lattice atom creation +
      • NVE, NVT, NPT integrators +
      • all serial DYNAMO features for controls and constraints +
      +

      GranFlow +

      +
      • F90 + MPI +
      • spatial-decomposition parallelism +
      • frictional granular potentials +
      • NVE integrator +
      • boundary conditions for granular flow and packing and walls +
      • particle insertion +
      + diff --git a/doc/Section_history.txt b/doc/Section_history.txt new file mode 100644 index 0000000000..0df99b6169 --- /dev/null +++ b/doc/Section_history.txt @@ -0,0 +1,124 @@ +"Previous Section"_Section_errors.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Manual.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +10. Future and history :h3 + +This section lists features we are planning to add to LAMMPS, features +of previous versions of LAMMPS, and features of other parallel +molecular dynamics codes I've distributed. + +10.1 "Coming attractions"_#10_1 +10.2 "Past versions"_#10_2 :all(b) + +:line + +10.1 Coming attractions :h4,link(10_1) + +The current version of LAMMPS incorporates nearly all the features +from previous parallel MD codes I developed. These include earlier +versions of LAMMPS itself, Warp and ParaDyn for metals, and GranFlow +for granular materials. + +These are new features I'd like to eventually add to LAMMPS. Some are +being worked on; some haven't been implemented because of lack of time +or interest; others are just a lot of work! + +Monte Carlo bond-swapping for polymers (was in Fortran LAMMPS) +torsional shear boundary conditions and temperature calculation +bond creation potentials +point dipole force fields +3-body force fields for materials like Si or silica +modified EAM (MEAM) potentials for metals +REAXX force field from Bill Goddard's group +pressure and energy tail corrections for pairwise interactions +Parinello-Rahman non-rectilinear simulation box :ul + +:line + +10.2 Past versions :h4,link(10_2) + +LAMMPS development began in the mid 1990s under a cooperative research +& development agreement (CRADA) between two DOE labs (Sandia and LLNL) +and 3 companies (Cray, Bristol Myers Squibb, and Dupont). Soon after +the CRADA ended, a final F77 version of the code, LAMMPS 99, was +released. As development of LAMMPS continued at Sandia, the memory +management in the code was converted to F90; a final F90 version was +released as LAMMPS 2001. + +The current LAMMPS is a rewrite in C++ and was first publicly released +in 2004. It includes many new features, including features from other +parallel molecular dynamics codes written at Sandia, namely ParaDyn, +Warp, and GranFlow. ParaDyn is a parallel implementation of the +popular serial DYNAMO code developed by Stephen Foiles and Murray Daw +for their embedded atom method (EAM) metal potentials. ParaDyn uses +atom- and force-decomposition algorithms to run in parallel. Warp is +also a parallel implementation of the EAM potentials designed for +large problems, with boundary conditions specific to shearing solids +in varying geometries. GranFlow is a granular materials code with +potentials and boundary conditions peculiar to granular systems. All +of these codes (except ParaDyn) use spatial-decomposition techniques +for their parallelism. + +These older codes are available for download from the "LAMMPS WWW +site"_lws, except for Warp & GranFlow which were primarily used +internally. A brief listing of their features is given here. + +LAMMPS 2001 + + F90 + MPI + dynamic memory + spatial-decomposition parallelism + NVE, NVT, NPT, NPH, rRESPA integrators + LJ and Coulombic pairwise force fields + all-atom, united-atom, bead-spring polymer force fields + CHARMM-compatible force fields + class 2 force fields + 3d/2d Ewald & PPPM + various force and temperature constraints + SHAKE + Hessian-free truncated-Newton minimizer + user-defined diagnostics :ul + +LAMMPS 99 + + F77 + MPI + static memory allocation + spatial-decomposition parallelism + most of the LAMMPS 2001 features with a few exceptions + no 2d Ewald & PPPM + molecular force fields are missing a few CHARMM terms + no SHAKE :ul + +Warp + + F90 + MPI + spatial-decomposition parallelism + embedded atom method (EAM) metal potentials + LJ + lattice and grain-boundary atom creation + NVE, NVT integrators + boundary conditions for applying shear stresses + temperature controls for actively sheared systems + per-atom energy and centro-symmetry computation and output :ul + +ParaDyn + + F77 + MPI + atom- and force-decomposition parallelism + embedded atom method (EAM) metal potentials + lattice atom creation + NVE, NVT, NPT integrators + all serial DYNAMO features for controls and constraints :ul + +GranFlow + + F90 + MPI + spatial-decomposition parallelism + frictional granular potentials + NVE integrator + boundary conditions for granular flow and packing and walls + particle insertion :ul diff --git a/doc/Section_howto.html b/doc/Section_howto.html new file mode 100644 index 0000000000..3dd033b0a3 --- /dev/null +++ b/doc/Section_howto.html @@ -0,0 +1,595 @@ + +
      Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
      + + + + + + +
      + +

      4. How-to discussions +

      +

      The following sections describe what commands can be used to perform +certain kinds of LAMMPS simulations. +

      +4.1 Restarting a simulation
      +4.2 2d simulations
      +4.3 CHARMM and AMBER force fields
      +4.4 Running multiple simulations from one input script
      +4.5 Parallel tempering
      +4.6 Granular models
      +4.7 TIP3P water model
      +4.8 TIP4P water model
      +4.9 SPC water model
      +4.10 Coupling LAMMPS to other codes
      + +

      The example input scripts included in the LAMMPS distribution and +highlighted in this section also show how to +setup and run various kinds of problems. +

      +
      + +

      4.1 Restarting a simulation +

      +

      There are 3 ways to continue a long LAMMPS simulation. Multiple +run commands can be used in the same input script. Each +run will continue from where the previous run left off. Or binary +restart files can be saved to disk using the restart +command. At a later time, these binary files can be read via a +read_restart command in a new script. Or they can +be converted to text data files and read by a +read_data command in a new script. This +section discusses the restart2data tool that is +used to perform the conversion. +

      +

      Here we give examples of 2 scripts that read either a binary restart +file or a converted data file and then issue a new run command to +continue where the previous run left off. They illustrate what +settings must be made in the new script. Details are discussed in the +documentation for the read_restart and +read_data commands. +

      +

      Look at the in.chain input script provided in the bench directory +of the LAMMPS distribution to see the original script that these 2 +scripts are based on. If that script had the line +

      +
      restart	        50 tmp.restart 
      +
      +

      added to it, it would produce 2 binary restart files (tmp.restart.50 +and tmp.restart.100) as it ran. +

      +

      This script could be used to read the 1st restart file and re-run the +last 50 timesteps: +

      +
      read_restart	tmp.restart.50 
      +
      +
      neighbor	0.4 bin
      +neigh_modify	every 1 delay 1 
      +
      +
      fix		1 all nve
      +fix		2 all langevin 1.0 1.0 10.0 904297 
      +
      +
      timestep	0.012 
      +
      +
      run		50 
      +
      +

      Note that the following commands do not need to be repeated because +their settings are included in the restart file: units, atom_style, +special_bonds, pair_style, bond_style. However these commands do +need to be used, since their settings are not in the restart file: +neighbor, fix, timestep. +

      +

      If you actually use this script to perform a restarted run, you will +notice that the thermodynamic data match at step 50 (if you also put a +"thermo 50" command in the original script), but do not match at step +100. This is because the fix langevin command +uses random numbers in a way that does not allow for perfect restarts. +

      +

      As an alternate approach, the restart file could be converted to a data +file using this tool: +

      +
      restart2data tmp.restart.50 tmp.restart.data 
      +
      +

      Then, this script could be used to re-run the last 50 steps: +

      +
      units		lj
      +atom_style	bond
      +pair_style	lj/cut 1.12
      +pair_modify	shift yes
      +bond_style	fene
      +special_bonds   0.0 1.0 1.0 
      +
      +
      read_data	tmp.restart.data 
      +
      +
      neighbor	0.4 bin
      +neigh_modify	every 1 delay 1 
      +
      +
      fix		1 all nve
      +fix		2 all langevin 1.0 1.0 10.0 904297 
      +
      +
      timestep	0.012 
      +
      +
      reset_timestep	50
      +run		50 
      +
      +

      Note that nearly all the settings specified in the original in.chain +script must be repeated, except the pair_coeff and bond_coeff +commands since the new data file lists the force field coefficients. +Also, the reset_timestep command is used to tell +LAMMPS the current timestep. This value is stored in restart files, +but not in data files. +

      +
      + +

      4.2 2d simulations +

      +

      Use the dimension command to specify a 2d simulation. +

      +

      Make the simulation box periodic in z via the boundary +command. This is the default. +

      +

      If using the create box command to define a +simulation box, set the z dimensions narrow, but finite, so that the +create_atoms command will tile the 3d simulation box with a single z +plane of atoms - e.g. +

      +
      create box 1 -10 10 -10 10 -0.25 0.25 
      +
      +

      If using the read data command to read in a file of +atom coordinates, set the "zlo zhi" values to be finite but narrow, +similar to the create_box command settings just described. For each +atom in the file, assign a z coordinate so it falls inside the +z-boundaries of the box - e.g. 0.0. +

      +

      Use the fix enforce2d command as the last +defined fix to insure that the z-components of velocities and forces +are zeroed out every timestep. The reason to make it the last fix is +so that any forces induced by other fixes will be zeroed out. +

      +

      Many of the example input scripts included in the LAMMPS distribution +are for 2d models. +

      +
      + +

      4.3 CHARMM and AMBER force fields +

      +

      There are many different ways to compute forces in the CHARMM +and AMBER molecular dynamics codes, only some of which are +available as options in LAMMPS. A force field has 2 parts: the +formulas that define it and the coefficients used for a particular +system. Here we only discuss formulas implemented in LAMMPS. Setting +coefficients is done in the input data file via the +read_data command or in the input script with +commands like pair_coeff or +bond_coeff. See this section for +additional tools that can use CHARMM or AMBER to assign force field +coefficients and convert their output into LAMMPS input. +

      + + + + +

      These style choices compute force field formulas that are consistent +with common options in CHARMM or AMBER. See each command's +documentation for the formula it computes. +

      + + +
      + +

      4.4 Running multiple simulations from one input script +

      +

      This can be done in several ways. See the documentation for +individual commands for more details on how these examples work. +

      +

      If "multiple simulations" means continue a previous simulation for +more timesteps, then you simply use the run command +multiple times. For example, this script +

      +
      units lj
      +atom_style atomic
      +read_data data.lj
      +run 10000
      +run 10000
      +run 10000
      +run 10000
      +run 10000 
      +
      +

      would run 5 successive simulations of the same system for a total of +50,000 timesteps. +

      +

      If you wish to run totally different simulations, one after the other, +the clear command can be used in between them to +re-initialize LAMMPS. For example, this script +

      +
      units lj
      +atom_style atomic
      +read_data data.lj
      +run 10000
      +clear
      +units lj
      +atom_style atomic
      +read_data data.lj.new
      +run 10000 
      +
      +

      would run 2 independent simulations, one after the other. +

      +

      For large numbers of independent simulations, you can use +variables and the next and +jump commands to loop over the same input script +multiple times with different settings. For example, this +script, named in.polymer +

      +
      variable d index run1 run2 run3 run4 run5 run6 run7 run8
      +cd $d
      +read_data data.polymer
      +run 10000
      +cd ..
      +clear
      +next d
      +jump in.polymer 
      +
      +

      would run 8 simulations in different directories, using a data.polymer +file in each directory. The same concept could be used to run the +same system at 8 different temperatures, using a temperature variable +and storing the output in different log and dump files, for example +

      +
      variable a loop 8
      +variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15
      +log log.$a
      +read data.polymer
      +velocity all create $t 352839
      +fix 1 all nvt $t $t 100.0
      +dump 1 all atom 1000 dump.$a
      +run 100000
      +next t
      +next a
      +jump in.polymer 
      +
      +

      All of the above examples work whether you are running on 1 or +multiple processors, but assumed you are running LAMMPS on a single +partition of processors. LAMMPS can be run on multiple partitions via +the "-partition" command-line switch as described in this +section of the manual. +

      +

      In the last 2 examples, if LAMMPS were run on 3 partitions, the same +scripts could be used if the "index" and "loop" variables were +replaced with universe-style variables, as described in the +variable command. Also, the "next t" and "next a" +commands would need to be replaced with a single "next a t" command. +With these modifications, the 8 simulations of each script would run +on the 3 partitions one after the other until all were finished. +Initially, 3 simulations would be started simultaneously, one on each +partition. When one finished, that partition would then start +the 4th simulation, and so forth, until all 8 were completed. +

      +
      + +

      4.5 Parallel tempering +

      +

      The temper command can be used to perform a parallel +tempering or replica-exchange simulation where multiple copies of a +simulation are run at different temperatures on different sets of +processors, and Monte Carlo temperature swaps are performed between +pairs of copies. +

      +

      Use the -procs and -in command-line switches +to launch LAMMPS on multiple partitions. +

      +

      In your input script, define a set of temperatures, one for each +processor partition, using the variable command: +

      +
      variable t proc 300.0 310.0 320.0 330.0 
      +
      +

      Define a fix of style nvt or langevin +to control the temperature of each simulation: +

      +
      fix myfix all nvt $t $t 100.0 
      +
      +

      Use the temper command in place of a run +command to perform a simulation where tempering exchanges will take +place: +

      +
      temper 100000 100 $t myfix 3847 58382 
      +
      +
      + +

      4.6 Granular models +

      +

      To run a simulation of a granular model, you will want to use +the following commands: +

      + +

      Use one of these 3 pair potentials: +

      + +

      These commands implement fix options specific to granular systems: +

      + +

      The fix style freeze zeroes both the force and torque of frozen +atoms, and should be used for granular system instead of the fix style +setforce. +

      +

      For computational efficiency, you can eliminate needless pairwise +computations between frozen atoms by using this command: +

      + +
      + +

      4.7 TIP3P water model +

      +

      The TIP3P water model as implemented in CHARMM +(MacKerell) specifies a 3-site rigid water molecule with +charges and Lennard-Jones parameters assigned to each of the 3 atoms. +In LAMMPS the fix shake command can be used to hold +the two O-H bonds and the H-O-H angle rigid. A bond style of +harmonic and an angle style of harmonic or charmm should also be +used. +

      +

      These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid TIP3P-CHARMM model with a +cutoff. The K values can be used if a flexible TIP3P model (without +fix shake) is desired. If the LJ epsilon and sigma for HH and OH are +set to 0.0, it corresponds to the original 1983 TIP3P model +(Jorgensen). +

      +

      O mass = 15.9994
      +H mass = 1.008
      +

      +

      O charge = -0.834
      +H charge = 0.417
      +

      +

      LJ epsilon of OO = 0.1521
      +LJ sigma of OO = 3.1507
      +LJ epsilon of HH = 0.0460
      +LJ sigma of HH = 0.4000
      +LJ epsilon of OH = 0.0836
      +LJ sigma of OH = 1.7753
      +

      +

      K of OH bond = 450
      +r0 of OH bond = 0.9572
      +

      +

      K of HOH angle = 55
      +theta of HOH angle = 104.52
      +

      +

      These are the parameters to use for TIP3P with a long-range Coulombic +solver (Ewald or PPPM in LAMMPS): +

      +

      O mass = 15.9994
      +H mass = 1.008
      +

      +

      O charge = -0.830
      +H charge = 0.415
      +

      +

      LJ epsilon of OO = 0.102
      +LJ sigma of OO = 3.1507
      +LJ epsilon, sigma of OH, HH = 0.0
      +

      +

      K of OH bond = 450
      +r0 of OH bond = 0.9572
      +

      +

      K of HOH angle = 55
      +theta of HOH angle = 104.52
      +

      +
      + +

      4.8 TIP4P water model +

      +

      The four-point TIP4P rigid water model extends the traditional +three-point TIP3P model by adding an additional site, usually +massless, where the charge associated with the oxygen atom is placed. +This site M is located at a fixed distance away from the oxygen along +the bisector of the HOH bond angle. A bond style of harmonic and an +angle style of harmonic or charmm should also be used. +

      +

      Two different four-point models (cutoff and long-range Coulombics) can +be implemented using LAMMPS pair styles with tip4p in their style +name. For both models, the bond lengths and bond angles should be +held fixed using the fix shake command. +

      +

      These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid TIP4P model with a cutoff +(Jorgensen). Note that the OM distance is specified in +the pair_style command, not as part of the pair +coefficients. +

      +

      O mass = 15.9994
      +H mass = 1.008
      +

      +

      O charge = -1.040
      +H charge = 0.520
      +

      +

      r0 of OH bond = 0.9572
      +theta of HOH angle = 104.52
      +

      +

      OM distance = 0.15
      +

      +

      LJ epsilon of O-O = 0.1550
      +LJ sigma of O-O = 3.1536
      +LJ epsilon, sigma of OH, HH = 0.0
      +

      +

      These are the parameters to use for TIP4P with a long-range Coulombic +solver (Ewald or PPPM in LAMMPS): +

      +

      O mass = 15.9994
      +H mass = 1.008
      +

      +

      O charge = -1.0484
      +H charge = 0.5242
      +

      +

      r0 of OH bond = 0.9572
      +theta of HOH angle = 104.52
      +

      +

      OM distance = 0.1250
      +

      +

      LJ epsilon of O-O = 0.16275
      +LJ sigma of O-O = 3.16435
      +LJ epsilon, sigma of OH, HH = 0.0
      +

      +
      + +

      4.9 SPC water model +

      +

      The SPC water model specifies a 3-site rigid water molecule with +charges and Lennard-Jones parameters assigned to each of the 3 atoms. +In LAMMPS the fix shake command can be used to hold +the two O-H bonds and the H-O-H angle rigid. A bond style of +harmonic and an angle style of harmonic or charmm should also be +used. +

      +

      These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid SPC model with long-range +Coulombics (Ewald or PPPM in LAMMPS). +

      +

      O mass = 15.9994
      +H mass = 1.008
      +

      +

      O charge = -0.820
      +H charge = 0.410
      +

      +

      LJ epsilon of OO = 0.1553
      +LJ sigma of OO = 3.166
      +LJ epsilon, sigma of OH, HH = 0.0
      +

      +

      r0 of OH bond = 1.0
      +theta of HOH angle = 109.47
      +

      +
      + +

      4.10 Coupling LAMMPS to other codes +

      +

      LAMMPS is designed to allow it to be coupled to other codes. For +example, a quantum mechanics code might compute forces on a subset of +atoms and pass those forces to LAMMPS. Or a continuum finite element +(FE) simulation might use atom positions as boundary conditions on FE +nodal points, compute a FE solution, and return interpolated forces on +MD atoms. +

      +

      LAMMPS can be coupled to other codes in at least 3 ways. Each has +advantages and disadvantages, which you'll have to think about in the +context of your application. +

      +

      (1) Define a new fix command that calls the other code. In +this scenario, LAMMPS is the driver code. During its timestepping, +the fix is invoked, and can make library calls to the other code, +which has been linked to LAMMPS as a library. This is the way the +POEMS package that performs constrained rigid-body motion on +groups of atoms is hooked to LAMMPS. See the +fix_poems command for more details. See this +section of the documention for info on how to add +a new fix to LAMMPS. +

      + + +

      (2) Define a new LAMMPS command that calls the other code. This is +conceptually similar to method (1), but in this case LAMMPS and the +the other code are on a more equal footing. Note that now the other +code is not called during the timesteps of a LAMMPS run, but between +runs. The LAMMPS input script can be used to alternate LAMMPS runs +with calls to the other code, invoked via the new command. The +run command facilitates this with its every option, which +makes it easy to run a few steps, invoke the command, run a few steps, +invoke the command, etc. +

      +

      In this scenario, the other code can be a library, called by the +command, or it could be a stand-alone code, invoked by a system() call +made by the command (assuming your parallel machine allows one or more +processors to start up another program). In the latter case the +stand-alone code could communicate with LAMMPS thru files that the +command writes and reads. +

      +

      See this section of the documention for how to +add a new command to LAMMPS. +

      +

      (3) Use LAMMPS as a library called by another code. In this case the +other code is the driver and calls LAMMPS as needed. Or a wrapper +code could link and call both LAMMPS and another code as libraries. +Again, the run command has options that allow it to be +invoked with minimal overhead (no setup or clean-up) if you wish to do +multiple short runs, driven by another program. +

      +

      This section of the documention describes how +to build LAMMPS as a library. Once this is done, you can interface +with LAMMPS either via C++, C, or Fortran (or any other language that +supports a vanilla C-like interface, e.g. a scripting language). For +example, from C++ you could create an "instance" of LAMMPS, and +initialize it, pass it an input script to process, or execute +individual commands, all by invoking the correct class methods in +LAMMPS. From C or Fortran you would make function calls to do the +same things. Library.cpp and library.h contain such a C interface +that illustrates this with the functions: +

      +
      void lammps_open(int, char **, MPI_Comm);
      +void lammps_close();
      +void lammps_file(char *);
      +char *lammps_command(char *); 
      +
      +

      The functions contain the C++ code you would need to put in a C++ +application that was invoking LAMMPS directly. +

      +

      Two of the routines in library.cpp are of particular note. The +lammps_open() function initiates LAMMPS and takes an MPI communicator +as an argument. LAMMPS will run on the set of processors in the +communicator. This means the calling code can run LAMMPS on all or a +subset of processors. For example, a wrapper script might decide to +alternate between LAMMPS and another code, allowing them both to run +on all the processors. Or it might allocate half the processors to +LAMMPS and half to the other code and run both codes simultaneously +before syncing them up periodically. +

      +

      Library.cpp also contains a lammps_command() function to which the +caller passes a single LAMMPS command (a string). Thus the calling +code can read or generate a series of LAMMPS commands (e.g. an input +script) one line at a time and pass it thru the library interface to +setup a problem and then run it. +

      +

      A few other sample routines are included in library.cpp, but the key +idea is that you can write any routines you wish to define an +interface for how your code talks to LAMMPS and add them to +library.cpp and library.h. The routines you add can access any LAMMPS +data. The umbrella.cpp code in examples/couple is a simple example of +how a stand-alone code can link LAMMPS as a library, run LAMMPS on a +subset of processors, grab data from LAMMPS, change it, and put it +back into LAMMPS. +

      +
      + + + +

      (Horn) Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon, +J Chem Phys, 120, 9665 (2004). +

      + + +

      (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). +

      + + +

      (Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983). +

      + diff --git a/doc/Section_howto.txt b/doc/Section_howto.txt new file mode 100644 index 0000000000..2b44097e84 --- /dev/null +++ b/doc/Section_howto.txt @@ -0,0 +1,586 @@ +"Previous Section"_Section_commands.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_example.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +4. How-to discussions :h3 + +The following sections describe what commands can be used to perform +certain kinds of LAMMPS simulations. + +4.1 "Restarting a simulation"_#4_1 +4.2 "2d simulations"_#4_2 +4.3 "CHARMM and AMBER force fields"_#4_3 +4.4 "Running multiple simulations from one input script"_#4_4 +4.5 "Parallel tempering"_#4_5 +4.6 "Granular models"_#4_6 +4.7 "TIP3P water model"_#4_7 +4.8 "TIP4P water model"_#4_8 +4.9 "SPC water model"_#4_9 +4.10 "Coupling LAMMPS to other codes"_#4_10 :all(b) + +The example input scripts included in the LAMMPS distribution and +highlighted in "this section"_Section_example.html also show how to +setup and run various kinds of problems. + +:line + +4.1 Restarting a simulation :link(4_1),h4 + +There are 3 ways to continue a long LAMMPS simulation. Multiple +"run"_run.html commands can be used in the same input script. Each +run will continue from where the previous run left off. Or binary +restart files can be saved to disk using the "restart"_restart.html +command. At a later time, these binary files can be read via a +"read_restart"_read_restart.html command in a new script. Or they can +be converted to text data files and read by a +"read_data"_read_data.html command in a new script. "This +section"_Section_tools.html discusses the {restart2data} tool that is +used to perform the conversion. + +Here we give examples of 2 scripts that read either a binary restart +file or a converted data file and then issue a new run command to +continue where the previous run left off. They illustrate what +settings must be made in the new script. Details are discussed in the +documentation for the "read_restart"_read_restart.html and +"read_data"_read_data.html commands. + +Look at the {in.chain} input script provided in the {bench} directory +of the LAMMPS distribution to see the original script that these 2 +scripts are based on. If that script had the line + +restart 50 tmp.restart :pre + +added to it, it would produce 2 binary restart files (tmp.restart.50 +and tmp.restart.100) as it ran. + +This script could be used to read the 1st restart file and re-run the +last 50 timesteps: + +read_restart tmp.restart.50 :pre + +neighbor 0.4 bin +neigh_modify every 1 delay 1 :pre + +fix 1 all nve +fix 2 all langevin 1.0 1.0 10.0 904297 :pre + +timestep 0.012 :pre + +run 50 :pre + +Note that the following commands do not need to be repeated because +their settings are included in the restart file: {units, atom_style, +special_bonds, pair_style, bond_style}. However these commands do +need to be used, since their settings are not in the restart file: +{neighbor, fix, timestep}. + +If you actually use this script to perform a restarted run, you will +notice that the thermodynamic data match at step 50 (if you also put a +"thermo 50" command in the original script), but do not match at step +100. This is because the "fix langevin"_fix_langevin.html command +uses random numbers in a way that does not allow for perfect restarts. + +As an alternate approach, the restart file could be converted to a data +file using this tool: + +restart2data tmp.restart.50 tmp.restart.data :pre + +Then, this script could be used to re-run the last 50 steps: + +units lj +atom_style bond +pair_style lj/cut 1.12 +pair_modify shift yes +bond_style fene +special_bonds 0.0 1.0 1.0 :pre + +read_data tmp.restart.data :pre + +neighbor 0.4 bin +neigh_modify every 1 delay 1 :pre + +fix 1 all nve +fix 2 all langevin 1.0 1.0 10.0 904297 :pre + +timestep 0.012 :pre + +reset_timestep 50 +run 50 :pre + +Note that nearly all the settings specified in the original {in.chain} +script must be repeated, except the {pair_coeff} and {bond_coeff} +commands since the new data file lists the force field coefficients. +Also, the "reset_timestep"_reset_timestep.html command is used to tell +LAMMPS the current timestep. This value is stored in restart files, +but not in data files. + +:line + +4.2 2d simulations :link(4_2),h4 + +Use the "dimension"_dimension.html command to specify a 2d simulation. + +Make the simulation box periodic in z via the "boundary"_boundary.html +command. This is the default. + +If using the "create box"_create_box.html command to define a +simulation box, set the z dimensions narrow, but finite, so that the +create_atoms command will tile the 3d simulation box with a single z +plane of atoms - e.g. + +"create box"_create_box.html 1 -10 10 -10 10 -0.25 0.25 :pre + +If using the "read data"_read_data.html command to read in a file of +atom coordinates, set the "zlo zhi" values to be finite but narrow, +similar to the create_box command settings just described. For each +atom in the file, assign a z coordinate so it falls inside the +z-boundaries of the box - e.g. 0.0. + +Use the "fix enforce2d"_fix_enforce2d.html command as the last +defined fix to insure that the z-components of velocities and forces +are zeroed out every timestep. The reason to make it the last fix is +so that any forces induced by other fixes will be zeroed out. + +Many of the example input scripts included in the LAMMPS distribution +are for 2d models. + +:line + +4.3 CHARMM and AMBER force fields :link(4_3),h4 + +There are many different ways to compute forces in the "CHARMM"_charmm +and "AMBER"_amber molecular dynamics codes, only some of which are +available as options in LAMMPS. A force field has 2 parts: the +formulas that define it and the coefficients used for a particular +system. Here we only discuss formulas implemented in LAMMPS. Setting +coefficients is done in the input data file via the +"read_data"_read_data.html command or in the input script with +commands like "pair_coeff"_pair_coeff.html or +"bond_coeff"_bond_coeff.html. See "this section"_Section_tools.html for +additional tools that can use CHARMM or AMBER to assign force field +coefficients and convert their output into LAMMPS input. + +:link(charmm,http://www.scripps.edu/brooks) +:link(amber,http://amber.scripps.edu) + +These style choices compute force field formulas that are consistent +with common options in CHARMM or AMBER. See each command's +documentation for the formula it computes. + +"bond_style"_bond_style.html harmonic +"angle_style"_angle_style.html charmm +"dihedral_style"_dihedral_style.html charmm +"pair_style"_pair_style.html lj/charmm/coul/charmm +"pair_style"_pair_style.html lj/charmm/coul/charmm/implicit +"pair_style"_pair_style.html lj/charmm/coul/long :ul + +"special_bonds"_special_bonds.html charmm +"special_bonds"_special_bonds.html amber :ul + +:line + +4.4 Running multiple simulations from one input script :link(4_4),h4 + +This can be done in several ways. See the documentation for +individual commands for more details on how these examples work. + +If "multiple simulations" means continue a previous simulation for +more timesteps, then you simply use the "run"_run.html command +multiple times. For example, this script + +units lj +atom_style atomic +read_data data.lj +run 10000 +run 10000 +run 10000 +run 10000 +run 10000 :pre + +would run 5 successive simulations of the same system for a total of +50,000 timesteps. + +If you wish to run totally different simulations, one after the other, +the "clear"_clear.html command can be used in between them to +re-initialize LAMMPS. For example, this script + +units lj +atom_style atomic +read_data data.lj +run 10000 +clear +units lj +atom_style atomic +read_data data.lj.new +run 10000 :pre + +would run 2 independent simulations, one after the other. + +For large numbers of independent simulations, you can use +"variables"_variable.html and the "next"_next.html and +"jump"_jump.html commands to loop over the same input script +multiple times with different settings. For example, this +script, named in.polymer + +variable d index run1 run2 run3 run4 run5 run6 run7 run8 +cd $d +read_data data.polymer +run 10000 +cd .. +clear +next d +jump in.polymer :pre + +would run 8 simulations in different directories, using a data.polymer +file in each directory. The same concept could be used to run the +same system at 8 different temperatures, using a temperature variable +and storing the output in different log and dump files, for example + +variable a loop 8 +variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15 +log log.$a +read data.polymer +velocity all create $t 352839 +fix 1 all nvt $t $t 100.0 +dump 1 all atom 1000 dump.$a +run 100000 +next t +next a +jump in.polymer :pre + +All of the above examples work whether you are running on 1 or +multiple processors, but assumed you are running LAMMPS on a single +partition of processors. LAMMPS can be run on multiple partitions via +the "-partition" command-line switch as described in "this +section"_Section_start.html#2_4 of the manual. + +In the last 2 examples, if LAMMPS were run on 3 partitions, the same +scripts could be used if the "index" and "loop" variables were +replaced with {universe}-style variables, as described in the +"variable"_variable.html command. Also, the "next t" and "next a" +commands would need to be replaced with a single "next a t" command. +With these modifications, the 8 simulations of each script would run +on the 3 partitions one after the other until all were finished. +Initially, 3 simulations would be started simultaneously, one on each +partition. When one finished, that partition would then start +the 4th simulation, and so forth, until all 8 were completed. + +:line + +4.5 Parallel tempering :link(4_5),h4 + +The "temper"_temper.html command can be used to perform a parallel +tempering or replica-exchange simulation where multiple copies of a +simulation are run at different temperatures on different sets of +processors, and Monte Carlo temperature swaps are performed between +pairs of copies. + +Use the -procs and -in "command-line switches"_Section_start.html#2_4 +to launch LAMMPS on multiple partitions. + +In your input script, define a set of temperatures, one for each +processor partition, using the "variable"_variable.html command: + +variable t proc 300.0 310.0 320.0 330.0 :pre + +Define a fix of style "nvt"_fix_nvt.html or "langevin"_fix_langevin.html +to control the temperature of each simulation: + +fix myfix all nvt $t $t 100.0 :pre + +Use the "temper"_temper.html command in place of a "run"_run.html +command to perform a simulation where tempering exchanges will take +place: + +temper 100000 100 $t myfix 3847 58382 :pre + +:line + +4.6 Granular models :link(4_6),h4 + +To run a simulation of a granular model, you will want to use +the following commands: + +"atom_style"_atom_style.html granular +"fix nve/gran"_fix_nve_gran.html +"fix gravity"_fix_gravity.html +"thermo_style"_thermo_style.html gran :ul + +Use one of these 3 pair potentials: + +"pair_style"_pair_style.html gran/history +"pair_style"_pair_style.html gran/no_history +"pair_style"_pair_style.html gran/hertzian :ul + +These commands implement fix options specific to granular systems: + +"fix freeze"_fix_freeze.html +"fix gran/diag"_fix_gran_diag.html +"fix insert"_fix_insert.html +"fix viscous"_fix_viscous.html +"fix wall/gran"_fix_wall_gran.html :ul + +The fix style {freeze} zeroes both the force and torque of frozen +atoms, and should be used for granular system instead of the fix style +{setforce}. + +For computational efficiency, you can eliminate needless pairwise +computations between frozen atoms by using this command: + +"neigh_modify"_neigh_modify.html exclude :ul + +:line + +4.7 TIP3P water model :link(4_7),h4 + +The TIP3P water model as implemented in CHARMM +"(MacKerell)"_#MacKerell specifies a 3-site rigid water molecule with +charges and Lennard-Jones parameters assigned to each of the 3 atoms. +In LAMMPS the "fix shake"_fix_shake.html command can be used to hold +the two O-H bonds and the H-O-H angle rigid. A bond style of +{harmonic} and an angle style of {harmonic} or {charmm} should also be +used. + +These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid TIP3P-CHARMM model with a +cutoff. The K values can be used if a flexible TIP3P model (without +fix shake) is desired. If the LJ epsilon and sigma for HH and OH are +set to 0.0, it corresponds to the original 1983 TIP3P model +"(Jorgensen)"_#Jorgensen. + +O mass = 15.9994 +H mass = 1.008 :all(b),p + +O charge = -0.834 +H charge = 0.417 :all(b),p + +LJ epsilon of OO = 0.1521 +LJ sigma of OO = 3.1507 +LJ epsilon of HH = 0.0460 +LJ sigma of HH = 0.4000 +LJ epsilon of OH = 0.0836 +LJ sigma of OH = 1.7753 :all(b),p + +K of OH bond = 450 +r0 of OH bond = 0.9572 :all(b),p + +K of HOH angle = 55 +theta of HOH angle = 104.52 :all(b),p + +These are the parameters to use for TIP3P with a long-range Coulombic +solver (Ewald or PPPM in LAMMPS): + +O mass = 15.9994 +H mass = 1.008 :all(b),p + +O charge = -0.830 +H charge = 0.415 :all(b),p + +LJ epsilon of OO = 0.102 +LJ sigma of OO = 3.1507 +LJ epsilon, sigma of OH, HH = 0.0 :all(b),p + +K of OH bond = 450 +r0 of OH bond = 0.9572 :all(b),p + +K of HOH angle = 55 +theta of HOH angle = 104.52 :all(b),p + +:line + +4.8 TIP4P water model :link(4_8),h4 + +The four-point TIP4P rigid water model extends the traditional +three-point TIP3P model by adding an additional site, usually +massless, where the charge associated with the oxygen atom is placed. +This site M is located at a fixed distance away from the oxygen along +the bisector of the HOH bond angle. A bond style of {harmonic} and an +angle style of {harmonic} or {charmm} should also be used. + +Two different four-point models (cutoff and long-range Coulombics) can +be implemented using LAMMPS pair styles with {tip4p} in their style +name. For both models, the bond lengths and bond angles should be +held fixed using the "fix shake"_fix_shake.html command. + +These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid TIP4P model with a cutoff +"(Jorgensen)"_#Jorgensen. Note that the OM distance is specified in +the "pair_style"_pair_style.html command, not as part of the pair +coefficients. + +O mass = 15.9994 +H mass = 1.008 :all(b),p + +O charge = -1.040 +H charge = 0.520 :all(b),p + +r0 of OH bond = 0.9572 +theta of HOH angle = 104.52 :all(b),p + +OM distance = 0.15 :all(b),p + +LJ epsilon of O-O = 0.1550 +LJ sigma of O-O = 3.1536 +LJ epsilon, sigma of OH, HH = 0.0 :all(b),p + +These are the parameters to use for TIP4P with a long-range Coulombic +solver (Ewald or PPPM in LAMMPS): + +O mass = 15.9994 +H mass = 1.008 :all(b),p + +O charge = -1.0484 +H charge = 0.5242 :all(b),p + +r0 of OH bond = 0.9572 +theta of HOH angle = 104.52 :all(b),p + +OM distance = 0.1250 :all(b),p + +LJ epsilon of O-O = 0.16275 +LJ sigma of O-O = 3.16435 +LJ epsilon, sigma of OH, HH = 0.0 :all(b),p + +:line + +4.9 SPC water model :link(4_9),h4 + +The SPC water model specifies a 3-site rigid water molecule with +charges and Lennard-Jones parameters assigned to each of the 3 atoms. +In LAMMPS the "fix shake"_fix_shake.html command can be used to hold +the two O-H bonds and the H-O-H angle rigid. A bond style of +{harmonic} and an angle style of {harmonic} or {charmm} should also be +used. + +These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid SPC model with long-range +Coulombics (Ewald or PPPM in LAMMPS). + +O mass = 15.9994 +H mass = 1.008 :all(b),p + +O charge = -0.820 +H charge = 0.410 :all(b),p + +LJ epsilon of OO = 0.1553 +LJ sigma of OO = 3.166 +LJ epsilon, sigma of OH, HH = 0.0 :all(b),p + +r0 of OH bond = 1.0 +theta of HOH angle = 109.47 :all(b),p + +:line + +4.10 Coupling LAMMPS to other codes :link(4_10),h4 + +LAMMPS is designed to allow it to be coupled to other codes. For +example, a quantum mechanics code might compute forces on a subset of +atoms and pass those forces to LAMMPS. Or a continuum finite element +(FE) simulation might use atom positions as boundary conditions on FE +nodal points, compute a FE solution, and return interpolated forces on +MD atoms. + +LAMMPS can be coupled to other codes in at least 3 ways. Each has +advantages and disadvantages, which you'll have to think about in the +context of your application. + +(1) Define a new "fix"_fix.html command that calls the other code. In +this scenario, LAMMPS is the driver code. During its timestepping, +the fix is invoked, and can make library calls to the other code, +which has been linked to LAMMPS as a library. This is the way the +"POEMS"_poems package that performs constrained rigid-body motion on +groups of atoms is hooked to LAMMPS. See the +"fix_poems"_fix_poems.html command for more details. See "this +section"_Section_modify.html of the documention for info on how to add +a new fix to LAMMPS. + +:link(poems,http://www.rpi.edu/~anderk5/lab) + +(2) Define a new LAMMPS command that calls the other code. This is +conceptually similar to method (1), but in this case LAMMPS and the +the other code are on a more equal footing. Note that now the other +code is not called during the timesteps of a LAMMPS run, but between +runs. The LAMMPS input script can be used to alternate LAMMPS runs +with calls to the other code, invoked via the new command. The +"run"_run.html command facilitates this with its {every} option, which +makes it easy to run a few steps, invoke the command, run a few steps, +invoke the command, etc. + +In this scenario, the other code can be a library, called by the +command, or it could be a stand-alone code, invoked by a system() call +made by the command (assuming your parallel machine allows one or more +processors to start up another program). In the latter case the +stand-alone code could communicate with LAMMPS thru files that the +command writes and reads. + +See "this section"_Section_modify.html of the documention for how to +add a new command to LAMMPS. + +(3) Use LAMMPS as a library called by another code. In this case the +other code is the driver and calls LAMMPS as needed. Or a wrapper +code could link and call both LAMMPS and another code as libraries. +Again, the "run"_run.html command has options that allow it to be +invoked with minimal overhead (no setup or clean-up) if you wish to do +multiple short runs, driven by another program. + +"This section"_Section_start.html#2_2 of the documention describes how +to build LAMMPS as a library. Once this is done, you can interface +with LAMMPS either via C++, C, or Fortran (or any other language that +supports a vanilla C-like interface, e.g. a scripting language). For +example, from C++ you could create an "instance" of LAMMPS, and +initialize it, pass it an input script to process, or execute +individual commands, all by invoking the correct class methods in +LAMMPS. From C or Fortran you would make function calls to do the +same things. Library.cpp and library.h contain such a C interface +that illustrates this with the functions: + +void lammps_open(int, char **, MPI_Comm); +void lammps_close(); +void lammps_file(char *); +char *lammps_command(char *); :pre + +The functions contain the C++ code you would need to put in a C++ +application that was invoking LAMMPS directly. + +Two of the routines in library.cpp are of particular note. The +lammps_open() function initiates LAMMPS and takes an MPI communicator +as an argument. LAMMPS will run on the set of processors in the +communicator. This means the calling code can run LAMMPS on all or a +subset of processors. For example, a wrapper script might decide to +alternate between LAMMPS and another code, allowing them both to run +on all the processors. Or it might allocate half the processors to +LAMMPS and half to the other code and run both codes simultaneously +before syncing them up periodically. + +Library.cpp also contains a lammps_command() function to which the +caller passes a single LAMMPS command (a string). Thus the calling +code can read or generate a series of LAMMPS commands (e.g. an input +script) one line at a time and pass it thru the library interface to +setup a problem and then run it. + +A few other sample routines are included in library.cpp, but the key +idea is that you can write any routines you wish to define an +interface for how your code talks to LAMMPS and add them to +library.cpp and library.h. The routines you add can access any LAMMPS +data. The umbrella.cpp code in examples/couple is a simple example of +how a stand-alone code can link LAMMPS as a library, run LAMMPS on a +subset of processors, grab data from LAMMPS, change it, and put it +back into LAMMPS. + +:line + +:link(Horn) +[(Horn)] Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon, +J Chem Phys, 120, 9665 (2004). + +:link(MacKerell) +[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). + +:link(Jorgensen) +[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983). diff --git a/doc/Section_intro.html b/doc/Section_intro.html new file mode 100644 index 0000000000..3e33b50266 --- /dev/null +++ b/doc/Section_intro.html @@ -0,0 +1,489 @@ + +
      Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
      + + + + + + +
      + +

      1. Introduction +

      +

      These sections provide an overview of what LAMMPS can and can't do, +describe what it means for LAMMPS to be an open-source code, and +acknowledge the funding and people who have contributed to LAMMPS over +the years. +

      +1.1 What is LAMMPS
      +1.2 LAMMPS features
      +1.3 LAMMPS non-features
      +1.4 Open source distribution
      +1.5 Acknowledgments and citations
      + +
      + +

      1.1 What is LAMMPS +

      +

      LAMMPS is a classical molecular dynamics code that models an ensemble +of particles in a liquid, solid, or gaseous state. It can model +atomic, polymeric, biological, metallic, or granular systems using a +variety of force fields and boundary conditions. +

      +

      For examples of LAMMPS simulations, see the Publications page of the +LAMMPS WWW Site. +

      +

      LAMMPS runs efficiently on single-processor desktop or laptop +machines, but is designed for parallel computers. It will run on any +parallel machine that compiles C++ and supports the MPI +message-passing library. This includes distributed- or shared-memory +parallel machines and Beowulf-style clusters. +

      + + +

      LAMMPS can model systems with only a few particles up to millions or +billions. See this section for information on LAMMPS +performance and scalability, or the Benchmarks section of the LAMMPS +WWW Site. +

      +

      LAMMPS is a freely-available open-source code, distributed under the +terms of the GNU Public License, which means you can use or +modify the code however you wish. See this section for a brief +discussion of the open-source philosophy. +

      + + +

      LAMMPS is designed to be easy to modify or extend with new +capabilities, such as new force fields, atom types, boundary +conditions, or diagnostics. See this section for +more details. +

      +

      The current version of LAMMPS is written in C++. Earlier versions +were written in F77 and F90. See this section +for more information on different versions. All versions can be +downloaded from the LAMMPS WWW Site. +

      +

      LAMMPS was originally developed under a US Department of Energy CRADA +(Cooperative Research and Development Agreement) between two DOE labs +and 3 companies. It is distributed by Sandia National Labs. +See this section for more information on LAMMPS funding and +individuals who have contributed to LAMMPS. +

      + + +

      In the most general sense, LAMMPS integrates Newton's equations of +motion for collections of atoms, molecules, or macroscopic particles +that interact via short- or long-range forces with a variety of +initial and/or boundary conditions. For computational efficiency +LAMMPS uses neighbor lists to keep track of nearby particles. The +lists are optimized for systems with particles that are repulsive at +short distances, so that the local density of particles never becomes +too large. On parallel machines, LAMMPS uses spatial-decomposition +techniques to partition the simulation domain into small 3d +sub-domains, one of which is assigned to each processor. Processors +communicate and store "ghost" atom information for atoms that border +their sub-domain. LAMMPS is most efficient (in a parallel sense) for +systems whose particles fill a 3d rectangular box with roughly uniform +density. Papers with technical details of the algorithms used in +LAMMPS are listed in this section. +

      +
      + +

      1.2 LAMMPS features +

      +

      This section highlights LAMMPS features, with pointers to specific +commands which give more details. If LAMMPS doesn't have your +favorite interatomic potential, boundary condition, or atom type, see +this section, which describes how you can add it to +LAMMPS. +

      +

      Kinds of systems LAMMPS can simulate: +

      +

      (atom style command) +

      +
      • atomic (e.g. box of Lennard-Jonesium) +
      • bead-spring polymers +
      • united-atom polymers or organic molecules +
      • all-atom polymers, organic molecules, proteins, DNA +
      • metals +
      • granular materials +
      • hybrid systems +
      +

      Force fields: +

      +

      (pair style, bond style, +angle style, dihedral style, +improper style, kspace style +commands) +

      +
      • pairwise potentials: Lennard-Jones, Coulombic, Buckingham, Morse, Yukawa, embedded atom method (EAM, Finnis/Sinclair), frictional granular, +
      • Debye, soft, DPD, class 2 (COMPASS), tabulated, hybrid +
      • bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable), hybrid +
      • angle potentials: harmonic, CHARMM, cosine, cosine/squared, class 2 (COMPASS), hybrid +
      • dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS, hybrid +
      • improper potentials: harmonic, cvff, class 2 (COMPASS), hybrid +
      • polymer potentials: all-atom, united-atom, bead-spring, breakable +
      • water potentials: TIP3P, TIP4P, SPC +
      • long-range Coulombics: Ewald, PPPM (similar to particle-mesh Ewald) +
      • CHARMM, AMBER, OPLS force-field compatability +
      +

      Creation of atoms: +

      +

      (read_data, lattice, +create_atoms, delete_atoms, +displace_atoms commands) +

      +
      • read in atom coords from files +
      • create atoms on one or more lattices (e.g. grain boundaries) +
      • delete geometric or logical groups of atoms (e.g. voids) +
      • displace atoms +
      +

      Ensembles, constraints, and boundary conditions: +

      +

      (fix command) +

      +
      • constant NVE, NVT, NPT, NPH integrators +
      • thermostatting options for groups and geometric regions of atoms +
      • pressure control via Nose/Hoover barostatting in 1 to 3 dimensions +
      • volume rescaling +
      • altered motion via velocity and force constraints +
      • harmonic (umbrella) constraint forces +
      • dragging of atoms to new positions +
      • independent or coupled rigid body integration +
      • SHAKE bond and angle constraints +
      • wall constraints of various kinds +
      • targeted molecular dynamics (TMD) constraints +
      • gravity +
      +

      Integrators: +

      +

      (run, run_style, temper commands) +

      +
      • velocity-Verlet integrator +
      • Brownian dynamics +
      • energy minimization via conjugate gradient relaxation +
      • rRESPA hierarchical timestepping +
      • parallel tempering (replica exchange) +
      • multiple independent simulations simultaneously +
      +

      Output: +

      +

      (dump, restart commands) +

      +
      • binary restart files +
      • text dump files of atom coords, velocities, other per-atom attributes +
      • atom snapshots in native, XYZ, XTC, DCD formats +
      • per-atom energy, stress, centro-symmetry parameter +
      +

      Pre- and post-processing: +

      +

      Our group has also written and released a separate toolkit called +Pizza.py which provides tools for doing setup, analysis, +plotting, and visualization for LAMMPS simulations. Pizza.py is +written in Python and is available for download from the +Pizza.py WWW site. +

      + + + + +
      + +

      1.3 LAMMPS non-features +

      +

      LAMMPS is designed to efficiently compute Newton's equations of motion +for a system of interacting particles. Many of the tools needed to +pre- and post-process the data for such simulations are not included +in the LAMMPS kernel for several reasons: +

      +
      • the desire to keep LAMMPS simple +
      • they are not parallel operations +
      • other codes already do them +
      • limited development resources +
      +

      Specifically, LAMMPS itself does not: +

      +
      • run thru a GUI +
      • build molecular systems +
      • assign force-field coefficients automagically +
      • perform sophisticated analyses of your MD simulation +
      • visualize your MD simulation +
      • plot your output data +
      +

      A few tools for pre- and post-processing tasks are provided as part of +the LAMMPS package; they are described in this +section. However, many people use other codes or +write their own tools for these tasks. +

      +

      As noted above, our group has also written and released a separate +toolkit called Pizza.py which addresses some of the listed +bullets. It provides tools for doing setup, analysis, plotting, and +visualization for LAMMPS simulations. Pizza.py is written in +Python and is available for download from the Pizza.py WWW +site. +

      +

      LAMMPS requires as input a list of initial atom coordinates and types, +molecular topology information, and force-field coefficients assigned +to all atoms and bonds. LAMMPS will not build molecular systems and +assign force-field parameters for you. +

      +

      For atomic systems LAMMPS provides a create_atoms +command which places atoms on solid-state lattices (fcc, bcc, etc). +Assigning small numbers of force field coefficients can be done via +the pair coeff, bond coeff, angle +coeff, etc commands. For molecular systems or more +complicated simulation geometries, users typically use another code as +a builder and convert its output to LAMMPS input format, or write +their own code to generate atom coordinate and molecular topology for +LAMMPS to read in. +

      +

      For complicated molecular systems (e.g. a protein), a multitude of +topology information and hundreds of force-field coefficients must +typically be specified. We suggest you use a program like +CHARMM or AMBER or other molecular builders to setup +such problems and dump its information to a file. You can then +reformat the file as LAMMPS input. Some of the tools in this +section can assist in this process. +

      +

      Similarly, LAMMPS creates output files in a simple format. Most users +post-process these files with their own analysis tools or re-format +them for input into other programs, including visualization packages. +If you are convinced you need to compute something on-the-fly as +LAMMPS runs, see this section for a discussion of how you +can use the dump and fix commands to print out +data of your choosing. Keep in mind that complicated computations can +slow down the molecular dynamics timestepping, particularly if the +computations are not parallel, so it is often better to leave such +analysis to post-processing codes. +

      +

      A very simple (yet fast) visualizer is provided with the LAMMPS +package - see the xmovie tool in this +section. It creates xyz projection views of +atomic coordinates and animates them. We find it very useful for +debugging purposes. For high-quality visualization we recommend the +following packages: +

      + +

      Other features that LAMMPS does not yet (and may never) support are +discussed in this section. +

      +

      Finally, these are freely-available molecular dynamics codes, most of +them parallel, which may be well-suited to the problems you want to +model. They can also be used in conjunction with LAMMPS to perform +complementary modeling tasks. +

      + + + + + + + + + + + + + +

      CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for +modeling biological molecules. CHARMM and AMBER use +atom-decomposition (replicated-data) strategies for parallelism; NAMD +and NWCHEM use spatial-decomposition approaches, similar to LAMMPS. +Tinker is a serial code. DL_POLY includes potentials for a variety of +biological and non-biological materials; both a replicated-data and +spatial-decomposition version exist. +

      +
      + +

      1.4 Open source distribution +

      +

      LAMMPS comes with no warranty of any kind. As each source file states +in its header, it is a copyrighted code that is distributed free-of- +charge, under the terms of the GNU Public License (GPL). This +is often referred to as open-source distribution - see +www.gnu.org or www.opensource.org for more +details. The legal text of the GPL is in the LICENSE file that is +included in the LAMMPS distribution. +

      + + + + +

      Here is a summary of what the GPL means for LAMMPS users: +

      +

      (1) Anyone is free to use, modify, or extend LAMMPS in any way they +choose, including for commercial purposes. +

      +

      (2) If you distribute a modified version of LAMMPS, it must remain +open-source, meaning you distribute it under the terms of the GPL. +You should clearly annotate such a code as a derivative version of +LAMMPS. +

      +

      (3) If you release any code that includes LAMMPS source code, then it +must also be open-sourced, meaning you distribute it under the terms +of the GPL. +

      +

      (4) If you give LAMMPS files to someone else, the GPL LICENSE file and +source file headers (including the copyright and GPL notices) should +remain part of the code. +

      +

      In the spirit of an open-source code, these are various ways you can +contribute to making LAMMPS better. You can send email on any +of these items. +

      + + +
      • Point prospective users to the LAMMPS WWW Site. Mention it in +talks or link to it from your WWW site. + +
      • If you find an error or omission in this manual or on the LAMMPS WWW +Site, or have a suggestion for something to clarify or include, +send an email. + +
      • If you find a bug, this section describes +how to report it. + +
      • If you publish a paper using LAMMPS results, send the citation (and +any cool pictures or movies if you like) to add to the Publications, +Pictures, and Movies pages of the LAMMPS WWW Site, with links +and attributions back to you. + +
      • Create a new Makefile.machine that can be added to the src/MAKE +directory. + +
      • The tools sub-directory of the LAMMPS distribution has various +stand-alone codes for pre- and post-processing of LAMMPS data. More +details are given in this section. If you write +a new tool that users will find useful, it can be added to the LAMMPS +distribution. + +
      • LAMMPS is designed to be easy to extend with new code for features +like potentials, boundary conditions, diagnostic computations, etc. +This section gives details. If you add a +feature of general interest, it can be added to the LAMMPS +distribution. + +
      • The Benchmark page of the LAMMPS WWW Site lists LAMMPS +performance on various platforms. The files needed to run the +benchmarks are part of the LAMMPS distribution. If your machine is +sufficiently different from those listed, your timing data can be +added to the page. + +
      • You can send feedback for the User Comments page of the LAMMPS WWW +Site. It might be added to the page. No promises. + +
      • Cash. Small denominations, unmarked bills preferred. Paper sack OK. +Leave on desk. VISA also accepted. Chocolate chip cookies +encouraged. +
      +
      + +

      1.5 Acknowledgments and citations +

      +

      LAMMPS development has been funded by the US Department of +Energy (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life +programs and its OASCR and OBER offices. +

      +

      Specifically, work on the latest version was funded in part by the US +Department of Energy's Genomics:GTL program +(www.doegenomestolife.org) under the project, "Carbon +Sequestration in Synechococcus Sp.: From Molecular Machines to +Hierarchical Modeling". +

      + + + + + + + + + + +

      The following papers describe the parallel algorithms used in LAMMPS. +

      +

      S. J. Plimpton, Fast Parallel Algorithms for Short-Range Molecular +Dynamics, J Comp Phys, 117, 1-19 (1995). +

      +

      S. J. Plimpton, R. Pollock, M. Stevens, Particle-Mesh Ewald and +rRESPA for Parallel Molecular Dynamics Simulations, in Proc of the +Eighth SIAM Conference on Parallel Processing for Scientific +Computing, Minneapolis, MN (March 1997). +

      +

      If you use LAMMPS results in your published work, please cite the J +Comp Phys reference and include a pointer to the LAMMPS WWW Site +(www.cs.sandia.gov/~sjplimp/lammps.html). A paper describing the +latest version of LAMMPS is in the works; when it appears in print, +you can check the LAMMPS WWW Site for a more current citation. +

      +

      If you send me information about your publication, I'll be pleased to +add it to the Publications page of the LAMMPS WWW Site. Ditto +for a picture or movie for the Pictures or Movies pages. +

      +

      The primary author of LAMMPS is Steve Plimpton at Sandia +National Labs. Others have made significant contributions to the +code: +

      + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Ewald and PPPM solvers Roy Pollock (LLNL)
      rRESPA Mark Stevens & Paul Crozier (Sandia)
      NVT/NPT integrators Mark Stevens (Sandia)
      class 2 force fields Eric Simon (Cray)
      HTFN energy minimizer Todd Plantenga (Sandia)
      msi2lmp tool Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray)
      CHARMM force fields Paul Crozier (Sandia)
      2d Ewald/PPPM Paul Crozier (Sandia)
      granular force fields and BC Leo Silbert & Gary Grest (Sandia)
      multi-harmonic dihedral potential Mathias Putz (Sandia)
      EAM potentials Stephen Foiles (Sandia)
      parallel tempering Mark Sears (Sandia)
      lmp2cfg and lmp2traj tools Ara Kooser, Jeff Greathouse, Andrey Kalinichev (Sandia)
      FFT support for SGI SCLS (Altix) Jim Shepherd (Ga Tech)
      targeted molecular dynamics (TMD) Paul Crozier (Sandia), Christian Burisch (Bochum Univeristy, Germany)
      force tables for long-range Coulombics Paul Crozier (Sandia)
      radial distribution functions Paul Crozier & Jeff Greathouse (Sandia)
      Morse bond potential Jeff Greathouse (Sandia)
      CHARMM <-> LAMMPS tool Pieter in't Veld and Paul Crozier (Sandia)
      AMBER <-> LAMMPS tool Keir Novik (Univ College London) and Vikas Varshney (U Akron)
      electric field fix Christina Payne (Vanderbilt U)
      cylindrical indenter fix Ravi Agrawal (Northwestern U)
      compressed dump files Erik Luijten (U Illinois)
      thermodynamics enhanced by fix quantities Aidan Thompson (Sandia)
      uniaxial strain fix Carsten Svaneborg (Max Planck Institute)
      TIP4P potential (4-site water) Ahmed Ismail and Amalie Frischknecht (Sandia)
      dissipative particle dynamics (DPD) potentials Kurt Smith (U Pitt) and Frank van Swol (Sandia)
      Finnis/Sinclair EAM Tim Lau (MIT)
      helix dihedral potential Naveen Michaud-Agrawal (Johns Hopkins U) and Mark Stevens (Sandia)
      cosine/squared angle potential Naveen Michaud-Agrawal (Johns Hopkins U)
      EAM CoAl and AlCu potentials Kwang-Reoul Lee (KIST, Korea)
      self spring fix Naveen Michaud-Agrawal (Johns Hopkins U)
      radius-of-gyration spring fix Naveen Michaud-Agrawal (Johns Hopkins U) and Paul Crozier (Sandia)
      lj/smooth pair potential Craig Maloney (UCSB)
      grain boundary orientation fix Koenraad Janssens and David Olmsted (SNL)
      DCD and XTC dump styles Naveen Michaud-Agrawal (Johns Hopkins U)
      breakable bond quartic potential Chris Lorenz and Mark Stevens (SNL)
      faster pair hybrid potential James Fischer (High Performance Technologies, Inc), Vincent Natoli and David Richie (Stone Ridge Technology)
      POEMS coupled rigid body integrator Rudranarayan Mukherjee (RPI) +
      + +

      Other CRADA partners involved in the design and testing of LAMMPS were +

      +
      • John Carpenter (Mayo Clinic, formerly at Cray Research) +
      • Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) +
      • Steve Lustig (Dupont) +
      • Jim Belak (LLNL) +
      + diff --git a/doc/Section_intro.txt b/doc/Section_intro.txt new file mode 100644 index 0000000000..5a480fe731 --- /dev/null +++ b/doc/Section_intro.txt @@ -0,0 +1,474 @@ +"Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_start.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +1. Introduction :h3 + +These sections provide an overview of what LAMMPS can and can't do, +describe what it means for LAMMPS to be an open-source code, and +acknowledge the funding and people who have contributed to LAMMPS over +the years. + +1.1 "What is LAMMPS"_#1_1 +1.2 "LAMMPS features"_#1_2 +1.3 "LAMMPS non-features"_#1_3 +1.4 "Open source distribution"_#1_4 +1.5 "Acknowledgments and citations"_#1_5 :all(b) + +:line + +1.1 What is LAMMPS :link(1_1),h4 + +LAMMPS is a classical molecular dynamics code that models an ensemble +of particles in a liquid, solid, or gaseous state. It can model +atomic, polymeric, biological, metallic, or granular systems using a +variety of force fields and boundary conditions. + +For examples of LAMMPS simulations, see the Publications page of the +"LAMMPS WWW Site"_lws. + +LAMMPS runs efficiently on single-processor desktop or laptop +machines, but is designed for parallel computers. It will run on any +parallel machine that compiles C++ and supports the "MPI"_mpi +message-passing library. This includes distributed- or shared-memory +parallel machines and Beowulf-style clusters. + +:link(mpi,http://www-unix.mcs.anl.gov/mpi) + +LAMMPS can model systems with only a few particles up to millions or +billions. See "this section"_Section_perf.html for information on LAMMPS +performance and scalability, or the Benchmarks section of the "LAMMPS +WWW Site"_lws. + +LAMMPS is a freely-available open-source code, distributed under the +terms of the "GNU Public License"_gnu, which means you can use or +modify the code however you wish. See "this section"_#1_4 for a brief +discussion of the open-source philosophy. + +:link(gnu,http://www.gnu.org/copyleft/gpl.html) + +LAMMPS is designed to be easy to modify or extend with new +capabilities, such as new force fields, atom types, boundary +conditions, or diagnostics. See "this section"_Section_modify.html for +more details. + +The current version of LAMMPS is written in C++. Earlier versions +were written in F77 and F90. See "this section"_Section_history.html +for more information on different versions. All versions can be +downloaded from the "LAMMPS WWW Site"_lws. + +LAMMPS was originally developed under a US Department of Energy CRADA +(Cooperative Research and Development Agreement) between two DOE labs +and 3 companies. It is distributed by "Sandia National Labs"_snl. +See "this section"_#1_5 for more information on LAMMPS funding and +individuals who have contributed to LAMMPS. + +:link(snl,http://www.sandia.gov) + +In the most general sense, LAMMPS integrates Newton's equations of +motion for collections of atoms, molecules, or macroscopic particles +that interact via short- or long-range forces with a variety of +initial and/or boundary conditions. For computational efficiency +LAMMPS uses neighbor lists to keep track of nearby particles. The +lists are optimized for systems with particles that are repulsive at +short distances, so that the local density of particles never becomes +too large. On parallel machines, LAMMPS uses spatial-decomposition +techniques to partition the simulation domain into small 3d +sub-domains, one of which is assigned to each processor. Processors +communicate and store "ghost" atom information for atoms that border +their sub-domain. LAMMPS is most efficient (in a parallel sense) for +systems whose particles fill a 3d rectangular box with roughly uniform +density. Papers with technical details of the algorithms used in +LAMMPS are listed in "this section"_#1_5. + +:line + +1.2 LAMMPS features :link(1_2),h4 + +This section highlights LAMMPS features, with pointers to specific +commands which give more details. If LAMMPS doesn't have your +favorite interatomic potential, boundary condition, or atom type, see +"this section"_Section_modify.html, which describes how you can add it to +LAMMPS. + +Kinds of systems LAMMPS can simulate: :h4 +("atom style"_atom_style.html command) + + atomic (e.g. box of Lennard-Jonesium) + bead-spring polymers + united-atom polymers or organic molecules + all-atom polymers, organic molecules, proteins, DNA + metals + granular materials + hybrid systems :ul + +Force fields: :h4 +("pair style"_pair_style.html, "bond style"_bond_style.html, +"angle style"_angle_style.html, "dihedral style"_dihedral_style.html, +"improper style"_improper_style.html, "kspace style"_kspace_style.html +commands) + + pairwise potentials: Lennard-Jones, Coulombic, Buckingham, Morse, \ + Yukawa, embedded atom method (EAM, Finnis/Sinclair), frictional granular, + Debye, soft, DPD, class 2 (COMPASS), tabulated, hybrid + bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \ + quartic (breakable), hybrid + angle potentials: harmonic, CHARMM, cosine, cosine/squared, \ + class 2 (COMPASS), hybrid + dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, \ + class 2 (COMPASS), OPLS, hybrid + improper potentials: harmonic, cvff, class 2 (COMPASS), hybrid + polymer potentials: all-atom, united-atom, bead-spring, breakable + water potentials: TIP3P, TIP4P, SPC + long-range Coulombics: Ewald, PPPM (similar to particle-mesh Ewald) + CHARMM, AMBER, OPLS force-field compatability :ul + +Creation of atoms: :h4 +("read_data"_read_data.html, "lattice"_lattice.html, +"create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html, +"displace_atoms"_displace_atoms.html commands) + + read in atom coords from files + create atoms on one or more lattices (e.g. grain boundaries) + delete geometric or logical groups of atoms (e.g. voids) + displace atoms :ul + +Ensembles, constraints, and boundary conditions: :h4 +("fix"_fix.html command) + + constant NVE, NVT, NPT, NPH integrators + thermostatting options for groups and geometric regions of atoms + pressure control via Nose/Hoover barostatting in 1 to 3 dimensions + volume rescaling + altered motion via velocity and force constraints + harmonic (umbrella) constraint forces + dragging of atoms to new positions + independent or coupled rigid body integration + SHAKE bond and angle constraints + wall constraints of various kinds + targeted molecular dynamics (TMD) constraints + gravity :ul + +Integrators: :h4 +("run"_run.html, "run_style"_run_style.html, "temper"_temper.html commands) + + velocity-Verlet integrator + Brownian dynamics + energy minimization via conjugate gradient relaxation + rRESPA hierarchical timestepping + parallel tempering (replica exchange) + multiple independent simulations simultaneously :ul + +Output: :h4 +("dump"_dump.html, "restart"_restart.html commands) + + binary restart files + text dump files of atom coords, velocities, other per-atom attributes + atom snapshots in native, XYZ, XTC, DCD formats + per-atom energy, stress, centro-symmetry parameter :ul + +Pre- and post-processing: :h4 + +Our group has also written and released a separate toolkit called +"Pizza.py"_pizza which provides tools for doing setup, analysis, +plotting, and visualization for LAMMPS simulations. Pizza.py is +written in "Python"_python and is available for download from "the +Pizza.py WWW site"_pizza. + +:link(pizza,http://www.cs.sandia.gov/~sjplimp/pizza.html) +:link(python,http://www.python.org) + +:line + +1.3 LAMMPS non-features :link(1_3),h4 + +LAMMPS is designed to efficiently compute Newton's equations of motion +for a system of interacting particles. Many of the tools needed to +pre- and post-process the data for such simulations are not included +in the LAMMPS kernel for several reasons: + +the desire to keep LAMMPS simple +they are not parallel operations +other codes already do them +limited development resources :ul + +Specifically, LAMMPS itself does not: + +run thru a GUI +build molecular systems +assign force-field coefficients automagically +perform sophisticated analyses of your MD simulation +visualize your MD simulation +plot your output data :ul + +A few tools for pre- and post-processing tasks are provided as part of +the LAMMPS package; they are described in "this +section"_Section_tools.html. However, many people use other codes or +write their own tools for these tasks. + +As noted above, our group has also written and released a separate +toolkit called "Pizza.py"_pizza which addresses some of the listed +bullets. It provides tools for doing setup, analysis, plotting, and +visualization for LAMMPS simulations. Pizza.py is written in +"Python"_python and is available for download from "the Pizza.py WWW +site"_pizza. + +LAMMPS requires as input a list of initial atom coordinates and types, +molecular topology information, and force-field coefficients assigned +to all atoms and bonds. LAMMPS will not build molecular systems and +assign force-field parameters for you. + +For atomic systems LAMMPS provides a "create_atoms"_create_atoms.html +command which places atoms on solid-state lattices (fcc, bcc, etc). +Assigning small numbers of force field coefficients can be done via +the "pair coeff"_pair_coeff.html, "bond coeff"_bond_coeff.html, "angle +coeff"_angle_coeff.html, etc commands. For molecular systems or more +complicated simulation geometries, users typically use another code as +a builder and convert its output to LAMMPS input format, or write +their own code to generate atom coordinate and molecular topology for +LAMMPS to read in. + +For complicated molecular systems (e.g. a protein), a multitude of +topology information and hundreds of force-field coefficients must +typically be specified. We suggest you use a program like +"CHARMM"_charmm or "AMBER"_amber or other molecular builders to setup +such problems and dump its information to a file. You can then +reformat the file as LAMMPS input. Some of the tools in "this +section"_Section_tools.html can assist in this process. + +Similarly, LAMMPS creates output files in a simple format. Most users +post-process these files with their own analysis tools or re-format +them for input into other programs, including visualization packages. +If you are convinced you need to compute something on-the-fly as +LAMMPS runs, see "this section"_Section_modify.html for a discussion of how you +can use the "dump"_dump.html and "fix"_fix.html commands to print out +data of your choosing. Keep in mind that complicated computations can +slow down the molecular dynamics timestepping, particularly if the +computations are not parallel, so it is often better to leave such +analysis to post-processing codes. + +A very simple (yet fast) visualizer is provided with the LAMMPS +package - see the "xmovie"_Section_tools.html#xmovie tool in "this +section"_Section_tools.html. It creates xyz projection views of +atomic coordinates and animates them. We find it very useful for +debugging purposes. For high-quality visualization we recommend the +following packages: + +"Raster3d"_http://www.bmsc.washington.edu/raster3d/raster3d.html +"RasMol"_http://www.openrasmol.org +"VMD"_http://www.ks.uiuc.edu/Research/vmd +"AtomEye"_http://164.107.79.177/Archive/Graphics/A :ul + +Other features that LAMMPS does not yet (and may never) support are +discussed in "this section"_Section_history.html. + +Finally, these are freely-available molecular dynamics codes, most of +them parallel, which may be well-suited to the problems you want to +model. They can also be used in conjunction with LAMMPS to perform +complementary modeling tasks. + +"CHARMM"_charmm +"AMBER"_amber +"NAMD"_namd +"NWCHEM"_nwchem +"DL_POLY"_dlpoly +"Tinker"_tinker :ul + +:link(charmm,http://www.scripps.edu/brooks) +:link(amber,http://amber.scripps.edu) +:link(namd,http://www.ks.uiuc.edu/Research/namd/) +:link(nwchem,http://www.emsl.pnl.gov/docs/nwchem/nwchem.html) +:link(dlpoly,http://www.cse.clrc.ac.uk/msi/software/DL_POLY) +:link(tinker,http://dasher.wustl.edu/tinker) + +CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for +modeling biological molecules. CHARMM and AMBER use +atom-decomposition (replicated-data) strategies for parallelism; NAMD +and NWCHEM use spatial-decomposition approaches, similar to LAMMPS. +Tinker is a serial code. DL_POLY includes potentials for a variety of +biological and non-biological materials; both a replicated-data and +spatial-decomposition version exist. + +:line + +1.4 Open source distribution :link(1_4),h4 + +LAMMPS comes with no warranty of any kind. As each source file states +in its header, it is a copyrighted code that is distributed free-of- +charge, under the terms of the "GNU Public License"_gnu (GPL). This +is often referred to as open-source distribution - see +"www.gnu.org"_gnuorg or "www.opensource.org"_opensource for more +details. The legal text of the GPL is in the LICENSE file that is +included in the LAMMPS distribution. + +:link(gnuorg,http://www.gnu.org) +:link(opensource,http://www.opensource.org) + +Here is a summary of what the GPL means for LAMMPS users: + +(1) Anyone is free to use, modify, or extend LAMMPS in any way they +choose, including for commercial purposes. + +(2) If you distribute a modified version of LAMMPS, it must remain +open-source, meaning you distribute it under the terms of the GPL. +You should clearly annotate such a code as a derivative version of +LAMMPS. + +(3) If you release any code that includes LAMMPS source code, then it +must also be open-sourced, meaning you distribute it under the terms +of the GPL. + +(4) If you give LAMMPS files to someone else, the GPL LICENSE file and +source file headers (including the copyright and GPL notices) should +remain part of the code. + +In the spirit of an open-source code, these are various ways you can +contribute to making LAMMPS better. You can send "email"_email on any +of these items. + +:link(email,mailto:sjplimp@sandia.gov) + +Point prospective users to the "LAMMPS WWW Site"_lws. Mention it in +talks or link to it from your WWW site. :ulb,l + +If you find an error or omission in this manual or on the "LAMMPS WWW +Site"_lws, or have a suggestion for something to clarify or include, +send an email. :l + +If you find a bug, "this section"_Section_errors.html#9_2 describes +how to report it. :l + +If you publish a paper using LAMMPS results, send the citation (and +any cool pictures or movies if you like) to add to the Publications, +Pictures, and Movies pages of the "LAMMPS WWW Site"_lws, with links +and attributions back to you. :l + +Create a new Makefile.machine that can be added to the src/MAKE +directory. :l + +The tools sub-directory of the LAMMPS distribution has various +stand-alone codes for pre- and post-processing of LAMMPS data. More +details are given in "this section"_Section_tools.html. If you write +a new tool that users will find useful, it can be added to the LAMMPS +distribution. :l + +LAMMPS is designed to be easy to extend with new code for features +like potentials, boundary conditions, diagnostic computations, etc. +"This section"_Section_modify.html gives details. If you add a +feature of general interest, it can be added to the LAMMPS +distribution. :l + +The Benchmark page of the "LAMMPS WWW Site"_lws lists LAMMPS +performance on various platforms. The files needed to run the +benchmarks are part of the LAMMPS distribution. If your machine is +sufficiently different from those listed, your timing data can be +added to the page. :l + +You can send feedback for the User Comments page of the "LAMMPS WWW +Site"_lws. It might be added to the page. No promises. :l + +Cash. Small denominations, unmarked bills preferred. Paper sack OK. +Leave on desk. "VISA"_email also accepted. Chocolate chip cookies +encouraged. :ule,l + +:line + +1.5 Acknowledgments and citations :h4,link(1_5) + +LAMMPS development has been funded by the "US Department of +Energy"_doe (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life +programs and its "OASCR"_oascr and "OBER"_ober offices. + +Specifically, work on the latest version was funded in part by the US +Department of Energy's Genomics:GTL program +("www.doegenomestolife.org"_gtl) under the "project"_ourgtl, "Carbon +Sequestration in Synechococcus Sp.: From Molecular Machines to +Hierarchical Modeling". + +:link(doe,http://www.doe.gov) +:link(gtl,http://www.doegenomestolife.org) +:link(ourgtl,http://www.genomes2life.org) +:link(oascr,http://www.sc.doe.gov/ascr/home.html) +:link(ober,http://www.er.doe.gov/production/ober/ober_top.html) + +The following papers describe the parallel algorithms used in LAMMPS. + +S. J. Plimpton, [Fast Parallel Algorithms for Short-Range Molecular +Dynamics], J Comp Phys, 117, 1-19 (1995). + +S. J. Plimpton, R. Pollock, M. Stevens, [Particle-Mesh Ewald and +rRESPA for Parallel Molecular Dynamics Simulations], in Proc of the +Eighth SIAM Conference on Parallel Processing for Scientific +Computing, Minneapolis, MN (March 1997). + +If you use LAMMPS results in your published work, please cite the J +Comp Phys reference and include a pointer to the "LAMMPS WWW Site"_lws +(www.cs.sandia.gov/~sjplimp/lammps.html). A paper describing the +latest version of LAMMPS is in the works; when it appears in print, +you can check the "LAMMPS WWW Site"_lws for a more current citation. + +If you send me information about your publication, I'll be pleased to +add it to the Publications page of the "LAMMPS WWW Site"_lws. Ditto +for a picture or movie for the Pictures or Movies pages. + +The primary author of LAMMPS is "Steve Plimpton"_sjp at Sandia +National Labs. Others have made significant contributions to the +code: + +:link(sjp,http://www.cs.sandia.gov/~sjplimp) + +Ewald and PPPM solvers: Roy Pollock (LLNL) +rRESPA: Mark Stevens & Paul Crozier (Sandia) +NVT/NPT integrators: Mark Stevens (Sandia) +class 2 force fields: Eric Simon (Cray) +HTFN energy minimizer: Todd Plantenga (Sandia) +msi2lmp tool: Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray) +CHARMM force fields: Paul Crozier (Sandia) +2d Ewald/PPPM: Paul Crozier (Sandia) +granular force fields and BC: Leo Silbert & Gary Grest (Sandia) +multi-harmonic dihedral potential: Mathias Putz (Sandia) +EAM potentials: Stephen Foiles (Sandia) +parallel tempering: Mark Sears (Sandia) +lmp2cfg and lmp2traj tools: Ara Kooser, Jeff Greathouse, Andrey Kalinichev (Sandia) +FFT support for SGI SCLS (Altix): Jim Shepherd (Ga Tech) +targeted molecular dynamics (TMD): Paul Crozier (Sandia), Christian Burisch (Bochum Univeristy, Germany) +force tables for long-range Coulombics: Paul Crozier (Sandia) +radial distribution functions: Paul Crozier & Jeff Greathouse (Sandia) +Morse bond potential: Jeff Greathouse (Sandia) +CHARMM <-> LAMMPS tool: Pieter in't Veld and Paul Crozier (Sandia) +AMBER <-> LAMMPS tool: Keir Novik (Univ College London) and Vikas Varshney (U Akron) +electric field fix: Christina Payne (Vanderbilt U) +cylindrical indenter fix: Ravi Agrawal (Northwestern U) +compressed dump files: Erik Luijten (U Illinois) +thermodynamics enhanced by fix quantities: Aidan Thompson (Sandia) +uniaxial strain fix: Carsten Svaneborg (Max Planck Institute) +TIP4P potential (4-site water): Ahmed Ismail and Amalie Frischknecht (Sandia) +dissipative particle dynamics (DPD) potentials: Kurt Smith (U Pitt) and \ + Frank van Swol (Sandia) +Finnis/Sinclair EAM: Tim Lau (MIT) +helix dihedral potential : Naveen Michaud-Agrawal (Johns Hopkins U) and \ + Mark Stevens (Sandia) +cosine/squared angle potential : Naveen Michaud-Agrawal (Johns Hopkins U) +EAM CoAl and AlCu potentials : Kwang-Reoul Lee (KIST, Korea) +self spring fix : Naveen Michaud-Agrawal (Johns Hopkins U) +radius-of-gyration spring fix : Naveen Michaud-Agrawal (Johns Hopkins U) and \ + Paul Crozier (Sandia) +lj/smooth pair potential : Craig Maloney (UCSB) +grain boundary orientation fix : Koenraad Janssens and David Olmsted (SNL) +DCD and XTC dump styles: Naveen Michaud-Agrawal (Johns Hopkins U) +breakable bond quartic potential: Chris Lorenz and Mark Stevens (SNL) +faster pair hybrid potential: James Fischer \ + (High Performance Technologies, Inc), Vincent Natoli and \ + David Richie (Stone Ridge Technology) +POEMS coupled rigid body integrator: Rudranarayan Mukherjee (RPI) :tb(s=:) + +Other CRADA partners involved in the design and testing of LAMMPS were + +John Carpenter (Mayo Clinic, formerly at Cray Research) +Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) +Steve Lustig (Dupont) +Jim Belak (LLNL) :ul diff --git a/doc/Section_modify.html b/doc/Section_modify.html new file mode 100644 index 0000000000..2f51185df2 --- /dev/null +++ b/doc/Section_modify.html @@ -0,0 +1,495 @@ + +
      Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands - Next +Section +
      + + + + + + +
      + +

      8. Modifying & extending LAMMPS +

      +

      LAMMPS is designed in a modular fashion so as to be easy to modify and +extend with new functionality. In this section, changes and additions +users can make are listed along with some minimal instructions. +Realistically, the best way to add a new feature is to find a similar +feature in LAMMPS and look at the corresponding source and header +files to figure out what it does. You will need some knowledge of C++ +to be able to understand the hi-level structure of LAMMPS and its +class organization, but functions (class methods) that do actual +computations are written in vanilla C-style code and operate on simple +C-style data structures (vectors and arrays). +

      +

      Most of the new features described in this section require you to +write a new C++ class (except for dump, thermo, and variable options, +described below, where you can make small edits to existing files). +Creating a new class requires 2 files, a source code file (*.cpp) and +a header file (*.h). Their contents are briefly discussed below. +Enabling LAMMPS to invoke the new class is as simple as adding two +definition lines to the style_user.h file, in the same syntax as the +existing LAMMPS classes are defined in the style.h file. +

      +

      The power of C++ and its object-orientation is that usually, all the +code and variables needed to define the new feature are contained in +the 2 files you write, and thus shouldn't make the rest of the code +more complex or cause side-effect bugs. +

      +

      Here is a concrete example. Suppose you write 2 files pair_foo.cpp +and pair_foo.h that define a new class PairFoo that computes pairwise +potentials described in the classic 1997 paper by Foo, et. al. +If you wish to invoke those potentials in a LAMMPS input script with a +command like +

      +
      pair_style foo 0.1 3.5 
      +
      +

      you simply need to put your 2 files in the LAMMPS src directory, add 2 +lines to the style_user.h file, and re-make the code. +

      +

      The first line added to style_user.h would be +

      +
      PairStyle(foo,PairFoo) 
      +
      +

      in the #ifdef PairClass section, where "foo" is the style keyword in +the pair_style command, and PairFoo is the class name in your C++ +files. +

      +

      The 2nd line added to style_user.h would be +

      +
      #include "pair_foo.h" 
      +
      +

      in the #ifdef PairInclude section, where pair_foo.h is the name of +your new include file. +

      +

      When you re-make LAMMPS, your new pairwise potential becomes part of +the executable and can be invoked with a pair_style command like the +example above. Arguments like 0.1 and 3.5 can be defined and +processed by your new class. +

      +

      Note that if you are using Makefile.list instead of Makefile to build +LAMMPS, you will need to explicitly add the names of your new .cpp and +.h file to Makefile.list. +

      +

      Here is a list of the kinds of new features that can be added in this +way. The dump and thermo options do not typically require new styles; +LAMMPS can simply be recompiled after new code is added to +dump_custom.cpp or thermo_custom.cpp. +

      + +

      As illustrated by the pairwise example, these options are +referred to in the LAMMPS documentation as the "style" of a particular +command. +

      +

      The instructions below for each category will list the header file for +the parent class that these styles are sub-classes of. Public +variables in that file are ones used and set by the sub-classes which +are also used by the parent class. Sometimes they are also used by +the rest of LAMMPS. Virtual functions in the header file which are +set = 0 are ones you must define in your new class to give it the +functionality LAMMPS expects. Virtual functions that are not set to 0 +are functions you can optionally define. +

      +

      Here are some additional guidelines for modifying LAMMPS and adding +new functionality: +

      +

      Think about whether what you want to do would be better as a pre- or +post-processing step. Many computations are more easily and more +quickly done that way. +

      +

      Don't do anything within the timestepping of a run that isn't +parallel. E.g. don't accumulate a bunch of data on a single processor +and analyze it. You run the risk of seriously degrading the parallel +efficiency. +

      +

      If your new feature reads arguments or writes output, make sure you +follow the unit conventions discussed by the units +command. +

      +

      If you add something you think is truly useful and doesn't impact +LAMMPS performance when it isn't used, send me an email. We +might be interested in adding it to the LAMMPS distribution. +

      + + +
      + +

      Pairwise potentials +

      +

      All classes that compute pairwise interactions are sub-classes of the +Pair class. See the pair.h file for a list of methods this class +defines. +

      +

      Pair_lj_cut.cpp and pair_lj_cut.h are the simplest example of a Pair +class. They implement the lj/cut style of the +pair_style command. +

      +

      Here is a brief description of the class methods in pair.h: +

      +
      + + + + + + + +
      compute the workhorse routine that computes the pairwise interactions
      settings reads the input script line with any arguments you define
      coeff set coefficients for one i,j type pair
      init_one perform initialization for one i,j type pair
      write & read_restart write/read i,j pair coeffs to restart files
      write & read_restart_settings write/read global settings to restart files
      single force and energy of a single pairwise interaction between 2 atoms
      compute_inner/middle/outer versions of compute used by rRESPA +
      + +

      The inner/middle/outer routines are optional. Only a few of the +pairwise potentials use these in conjunction with rRESPA as set by the +run_style command. +

      +
      + +

      Bond, angle, dihedral, improper potentials +

      +

      All classes that compute molecular interactions are sub-classes of the +Bond, Angle, Dihedral, and Improper classes. See the bond.h, angle.h, +dihedral.h, and improper.h file for a list of methods these classes +defines. +

      +

      Bond_harmonic.cpp and bond_harmonic.h are the simplest example of a +Bond class. Ditto for the harmonic forms of the angle, dihedral, and +improper style commands. The bond_harmonic files implement the +harmonic style of the bond_style command. +

      +

      Here is a brief description of the class methods in bond.h, angle.h, +etc: +

      +
      + + + + +
      compute the workhorse routine that computes the molecular interactions
      coeff set coefficients for one bond type
      equilibrium_distance length of bond, used by SHAKE
      write & read_restart writes/reads coeffs to restart files
      single force and energy of a single bond +
      + +
      + +

      Dump options +

      +

      There are several classes that print dump files (snapshots of atoms) +that are sub-classes of the Dump class. These include the +dump_atom.cpp, dump_bond.cpp, and dump_custom.cpp files. +

      +

      New dump classes can be added, but it is typically simpler to modify +the DumpCustom class contained in the dump_custom.cpp file. See the +dump command and its custom style for a list of what +atom information can already be dumped by DumpCustom. If the +attribute you want to dump is not in the list, or if you define a new +atom style with new attributes (e.g. atoms that store their own +magnetic moment), here is how to dump it out in a snapshot file: +

      +

      Search the dump_custom.cpp and dump_custom.h files for the word +"customize". It appears in roughly half a dozen locations. In each +of the locations you can add a bit of code that will extend the +DumpCustom class to enable it to dump a new quantity. E.g. you will +add a keyword, add an if test, add a new small method that packs the +requested data into a buffer, etc. For the latter, you can perform a +modest amount of computation in this method; see the pack_xs() +function for an example. +

      +

      If desired, a dump custom option can also compute more complicated +quantities by invoking a fix that computed quantities at the end of a +timestep (should be the same timestep the dump is invoked on). See +the ENERGY, CENTRO, and stress options (SXX, SYY, etc) in +dump_custom.cpp for examples. +

      +

      When you re-make LAMMPS, your new option should now be useable via the +dump custom command. +

      +
      + +

      Thermodynamic output options +

      +

      There is only one class that computes and prints thermodynamic +information to the screen and log file, although the +thermo_style command treats its options as styles. +

      +

      There are several styles defined in thermo.cpp: "one", "multi", and +"granular". There is also a flexible "custom" style which allows you +to specify what quantities will be printed each timestep where +thermodynamics is computed. See the thermo_style +command for a list of pre-defined quantities. +

      +

      Here is how you can extend the thermo output capabilities. Search the +thermo.cpp and thermo.h files for the word "customize" which will tell +you where to make these additions. Note that fixes can also print-out +thermodynamic quantities via the fix_modify command, +so you do not need to modify thermo.cpp to print fix information. +

      +

      If you want to create a new style (like "one" or "granular") that +prints a collection of pre-defined quantities, you add a few lines +that define the new style to thermo.cpp. First, add a #DEFINE line at +the top of the file which lists the quantities to print. Then add the +style name you have chosen to the if test in the constructor to copy +the defined string to the line variable. +

      +

      You can also add new quantities to the custom list. Add your new +keyword to the if test in the parse_fields() function where the call +to addfield() specifies the text string (8 character max) that will be +printed with the quantity, the function that will compute it, and the +data type (INT,FLOAT) of the quantity. Then at the bottom of the +file, add a function compute_*() which computes the quantity you wish +to print. The function assigns the quantity to the variable "dvalue" +if it is a floating-point quantity, or to "ivalue" if it is an +integer. See the other compute_*() functions for examples of how +various quantities can be accessed, computed, summed across +processors, normalized as per-atom values, etc. Also, if it makes +sense to allow the quantity to be stored in a variable in the input +script, add a couple of lines to the compute_value() function that is +called when a variable is evaluated. Finally, add a prototype for +your new compute method to thermo.h. +

      +
      + +

      Temperature computation options +

      +

      All classes that compute the temperature of the system are sub-classes +of the Temperature class. See the temperature.h file for a list of +methods these classes defines. Temperatures are computed by LAMMPS +when velocities are set, when thermodynamics are computed, and when +temperature is controlled by various thermostats like the fix +nvt of fix langevin commands. +

      +

      Temp_full.cpp and temp_full.h are the simplest example of a +Temperature class. They implement the full style of the +temperature command. +

      +

      Here is a brief description of the class methods in temperature.h: +

      +
      + +
      init setup the temperature computation
      compute compute and return temperature +
      + +
      + +

      Region geometry options +

      +

      All classes that define geometric regions are sub-classes of the +Region class. See the region.h file for a list of methods these +classes defines. Regions are used elsewhere in LAMMPS to group atoms, +delete atoms to create a void, insert atoms in a specified region, +etc. +

      +

      Region_sphere.cpp and region_sphere.h are the simplest example of a +Region class. They implement the sphere style of the +region command. +

      +

      Here is a brief description of the single class method required: +

      +
      +
      match determine whether a point is in the region +
      + +
      + +

      Fix options +

      +

      In LAMMPS, a "fix" is any operation that is computed during +timestepping that alters some property of the system. Essentially +everything that happens during a simulation besides force computation, +neighbor list manipulation, and output, is a "fix". This includes +time integration (update of velocity and coordinates), force +constraints (SHAKE or walls), and diagnostics (compute a diffusion +coefficient). See the fix.h file for a list of methods these classes +defines. +

      +

      There are dozens of fix options in LAMMPS; choose one as a template +that is similar to what you want to implement. They can be as simple +as zeroing out forces (see fix enforce2d which +corresponds to the enforce2d style) or as complicated as applying +SHAKE constraints on bonds and angles (see fix shake +which corresponds to the shake style) which involves many extra +computations. +

      +

      Here is a brief description of the class methods in fix.h: +

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      setmask determines when the fix is called during the timestep
      init initialization before a run
      setup called immediately before the 1st timestep
      initial_integrate called at very beginning of each timestep
      pre_exchange called before atom exchange on re-neighboring steps
      pre_neighbor called before neighbor list build
      post_force called after pair & molecular forces are computed
      final_integrate called at end of each timestep
      end_of_step called at very end of timestep
      write_restart dumps fix info to restart file
      restart uses info from restart file to re-initialize the fix
      grow_arrays allocate memory for atom-based arrays used by fix
      copy_arrays copy atom info when an atom migrates to a new processor
      memory_usage report memory used by fix
      pack_exchange store atom's data in a buffer
      unpack_exchange retrieve atom's data from a buffer
      pack_restart store atom's data for writing to restart file
      unpack_restart retrieve atom's data from a restart file buffer
      size_restart size of atom's data
      maxsize_restart max size of atom's data
      initial_integrate_respa same as initial_integrate, but for rRESPA
      post_force_respa same as post_force, but for rRESPA
      final_integrate_respa same as final_integrate, but for rRESPA
      pack_comm pack a buffer to communicate a per-atom quantity
      unpack_comm unpack a buffer to communicate a per-atom quantity
      pack_reverse_comm pack a buffer to reverse communicate a per-atom quantity
      unpack_reverse_comm unpack a buffer to reverse communicate a per-atom quantity
      thermo_fields define quantities for thermodynamic output
      thermo_compute compute thermodynamic quantities +
      + +

      Typically, only a small fraction of these methods are defined for a +particular fix. Setmask is mandatory, as it determines when the fix +will be invoked during the timestep. Fixes that perform time +integration (nve, nvt, npt) implement initial_integrate and +final_integrate to perform velocity Verlet updates. Fixes that +constrain forces implement post_force. Fixes that perform diagnostics +typically implement end_of_step. For an end_of_step fix, one of your +fix arguments must be the variable "nevery" which is used to determine +when to call the fix. By convention, this is the first argument the +fix defines (after the ID, group-ID, style). +

      +

      If the fix needs to store information for each atom that persists from +timestep to timestep, it can manage that memory and migrate it with +the atoms as they move from processors to processor by implementing +the grow_arrays, copy_arrays, pack_exchange, and unpack_exchange +methods. Similary, the pack_restart and unpack_restart methods can be +implemented to store information about the fix in restart files. If +you wish a integrator or force constraint fix to work with rRESPA (see +the run_style command), the initial_integrate, +post_force_integrate, and final_integrate_respa methods can be +implemented. The thermo_fields and thermo_compute methods enable a +fix to contribute values to thermodynamic output, as printed +quantities and/or to be summed to the potential energy of the system. +

      +
      + +

      Atom options +

      +

      All classes that define an atom style are sub-classes of the Atom +class. See the atom.h file for a list of methods these classes +defines. The atom style determines what quantities are associated +with an atom in a LAMMPS simulation. If one of the existing atom +styles does not define all the arrays you need to store with an atom, +then a new atom class can be created. +

      +

      Atom_atomic.cpp and atom_atomic.h are the simplest example of an Atom +class. They implement the atomic style of the +atom_style command. +

      +

      Here is a brief description of the class methods in atom.h: +

      +
      + + + + + + + + + +
      copy copy info for one atom to another atom's array location
      pack_comm store an atom's info in a buffer communicated every timestep
      unpack_comm retrieve an atom's info from the buffer
      pack_reverse store an atom's info in a buffer communicating partial forces
      unpack_reverse retrieve an atom's info from the buffer
      pack_border store an atom's info in a buffer communicated on neighbor re-builds
      unpack_border retrieve an atom's info from the buffer
      pack_exchange store all an atom's info to migrate to another processor
      unpack_exchange retrieve an atom's info from the buffer
      +
      + +

      There are also several methods in atom.cpp you will need to augment +with information about your new atom class, following the patterns of +the other atom styles. These routines are so similar for all classes, +that it was simpler to just have one master routine for all classes. +

      +
      + + + + + + + + + + + + +
      constructor create style variable and atom array ptrs to NULL
      destructor free memory for atom arrays
      set_style set style variable
      check_style check for pure style vs hybrid style
      style2arg convert style variables to keywords
      grow re-allocate atom arrays to longer lengths
      unpack_data parse atom lines from data file
      create_one create an individual atom of this style
      size_restart number of restart quantities associated with proc's atoms
      pack_restart pack atom quantities into a buffer
      unpack_restart unpack atom quantities from a buffer
      memory_usage memory allocated by atom arrays
      +
      + +
      + +

      Variable options +

      +

      The variable class stores and evaluates input script variables $a, $b, +... $z, as described in this section. +Equal-style variables are defined by an equation that is evaulated +each time the variable is used. The equation can include functions, +vectors, keywords, and numbers as described in the +variable command. The list of valid functions, +vectors, and keywords, can be extended by adding a few lines of code +to the evaluate() method at the end of the variable.cpp file. Search +for the word "customize" to find the correct locations for adding +code. +

      +

      A new function (e.g. foo(arg1,arg2,...)) can be added in the section +that starts with the comment +

      +
      // customize by adding function to this list and to if statement 
      +
      +

      A new vector (e.g. q) can be added in the section that starts with +the comment +

      +
      // customize by adding vector to this list and to if statement 
      +
      +

      A new keyword (e.g. mysum) can be added in the section that starts with +the comment +

      +
      // customize by adding keyword to this list and to if statement 
      +
      +

      Note that keywords supported by the thermo_style +custom command are evaluated by the thermo routines, +so do not need to be added to variable.cpp. +

      +
      + +

      New top-level commands +

      +

      It is possible to add a new command to a LAMMPS input script as +opposed to adding a new style to an existing command (atom_style, +pair_style, fix, etc). For example the create_atoms, read_data, +velocity, and run commands are all top-level LAMMPS commands that are +listed in the Command section of style.h. When such a command is +encountered in the LAMMPS input script, the topmost level of LAMMPS +(lammps.cpp) simply creates a class with the corresponding name, +invokes the "command" method of the class, and passes it the arguments +from the input script. The command method can perform whatever +operations it wishes on the LAMMPS data structures. +

      +

      Thus to add a new command, you simply need to add a *.cpp and *.h file +containing a single class: +

      +
      +
      command operations performed by the new command +
      + +

      Of course, the new class can define other methods and variables that +it uses internally. +

      +
      + + + +

      (Foo) Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997). +

      + diff --git a/doc/Section_modify.txt b/doc/Section_modify.txt new file mode 100644 index 0000000000..99b45f0111 --- /dev/null +++ b/doc/Section_modify.txt @@ -0,0 +1,475 @@ +"Previous Section"_Section_tools.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Section_errors.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +8. Modifying & extending LAMMPS :h3 + +LAMMPS is designed in a modular fashion so as to be easy to modify and +extend with new functionality. In this section, changes and additions +users can make are listed along with some minimal instructions. +Realistically, the best way to add a new feature is to find a similar +feature in LAMMPS and look at the corresponding source and header +files to figure out what it does. You will need some knowledge of C++ +to be able to understand the hi-level structure of LAMMPS and its +class organization, but functions (class methods) that do actual +computations are written in vanilla C-style code and operate on simple +C-style data structures (vectors and arrays). + +Most of the new features described in this section require you to +write a new C++ class (except for dump, thermo, and variable options, +described below, where you can make small edits to existing files). +Creating a new class requires 2 files, a source code file (*.cpp) and +a header file (*.h). Their contents are briefly discussed below. +Enabling LAMMPS to invoke the new class is as simple as adding two +definition lines to the style_user.h file, in the same syntax as the +existing LAMMPS classes are defined in the style.h file. + +The power of C++ and its object-orientation is that usually, all the +code and variables needed to define the new feature are contained in +the 2 files you write, and thus shouldn't make the rest of the code +more complex or cause side-effect bugs. + +Here is a concrete example. Suppose you write 2 files pair_foo.cpp +and pair_foo.h that define a new class PairFoo that computes pairwise +potentials described in the classic 1997 "paper"_#Foo by Foo, et. al. +If you wish to invoke those potentials in a LAMMPS input script with a +command like + +pair_style foo 0.1 3.5 :pre + +you simply need to put your 2 files in the LAMMPS src directory, add 2 +lines to the style_user.h file, and re-make the code. + +The first line added to style_user.h would be + +PairStyle(foo,PairFoo) :pre + +in the #ifdef PairClass section, where "foo" is the style keyword in +the pair_style command, and PairFoo is the class name in your C++ +files. + +The 2nd line added to style_user.h would be + +#include "pair_foo.h" :pre + +in the #ifdef PairInclude section, where pair_foo.h is the name of +your new include file. + +When you re-make LAMMPS, your new pairwise potential becomes part of +the executable and can be invoked with a pair_style command like the +example above. Arguments like 0.1 and 3.5 can be defined and +processed by your new class. + +Note that if you are using Makefile.list instead of Makefile to build +LAMMPS, you will need to explicitly add the names of your new .cpp and +.h file to Makefile.list. + +Here is a list of the kinds of new features that can be added in this +way. The dump and thermo options do not typically require new styles; +LAMMPS can simply be recompiled after new code is added to +dump_custom.cpp or thermo_custom.cpp. + +"Pairwise potentials"_#pair +"Bond, angle, dihedral, improper potentials"_#bond +"Dump options"_#dump +"Thermodynamic output options"_#thermo +"Temperature computation options"_#temp +"Region geometry options"_#region +"Fix options"_#fix which include integrators, \ + temperature and pressure control, force constraints, \ + boundary conditions, diagnostic output, etc +"Atom options"_#atom +"Variable options"_#variable +"New top-level commands"_#command :ul + +As illustrated by the pairwise example, these options are +referred to in the LAMMPS documentation as the "style" of a particular +command. + +The instructions below for each category will list the header file for +the parent class that these styles are sub-classes of. Public +variables in that file are ones used and set by the sub-classes which +are also used by the parent class. Sometimes they are also used by +the rest of LAMMPS. Virtual functions in the header file which are +set = 0 are ones you must define in your new class to give it the +functionality LAMMPS expects. Virtual functions that are not set to 0 +are functions you can optionally define. + +Here are some additional guidelines for modifying LAMMPS and adding +new functionality: + +Think about whether what you want to do would be better as a pre- or +post-processing step. Many computations are more easily and more +quickly done that way. + +Don't do anything within the timestepping of a run that isn't +parallel. E.g. don't accumulate a bunch of data on a single processor +and analyze it. You run the risk of seriously degrading the parallel +efficiency. + +If your new feature reads arguments or writes output, make sure you +follow the unit conventions discussed by the "units"_units.html +command. + +If you add something you think is truly useful and doesn't impact +LAMMPS performance when it isn't used, send me an "email"_mail. We +might be interested in adding it to the LAMMPS distribution. + +:link(mail,mailto:sjplimp@sandia.gov) + +:line + +Pairwise potentials :link(pair),h4 + +All classes that compute pairwise interactions are sub-classes of the +Pair class. See the pair.h file for a list of methods this class +defines. + +Pair_lj_cut.cpp and pair_lj_cut.h are the simplest example of a Pair +class. They implement the {lj/cut} style of the +"pair_style"_pair_style.html command. + +Here is a brief description of the class methods in pair.h: + +compute: the workhorse routine that computes the pairwise interactions +settings: reads the input script line with any arguments you define +coeff: set coefficients for one i,j type pair +init_one: perform initialization for one i,j type pair +write & read_restart: write/read i,j pair coeffs to restart files +write & read_restart_settings: write/read global settings to restart files +single: force and energy of a single pairwise interaction between 2 atoms +compute_inner/middle/outer: versions of compute used by rRESPA :tb(s=:) + +The inner/middle/outer routines are optional. Only a few of the +pairwise potentials use these in conjunction with rRESPA as set by the +"run_style"_run_style.html command. + +:line + +Bond, angle, dihedral, improper potentials :link(bond),h4 + +All classes that compute molecular interactions are sub-classes of the +Bond, Angle, Dihedral, and Improper classes. See the bond.h, angle.h, +dihedral.h, and improper.h file for a list of methods these classes +defines. + +Bond_harmonic.cpp and bond_harmonic.h are the simplest example of a +Bond class. Ditto for the harmonic forms of the angle, dihedral, and +improper style commands. The bond_harmonic files implement the +{harmonic} style of the "bond_style"_bond_style.html command. + +Here is a brief description of the class methods in bond.h, angle.h, +etc: + +compute: the workhorse routine that computes the molecular interactions +coeff: set coefficients for one bond type +equilibrium_distance: length of bond, used by SHAKE +write & read_restart: writes/reads coeffs to restart files +single: force and energy of a single bond :tb(s=:) + +:line + +Dump options :link(dump),h4 + +There are several classes that print dump files (snapshots of atoms) +that are sub-classes of the Dump class. These include the +dump_atom.cpp, dump_bond.cpp, and dump_custom.cpp files. + +New dump classes can be added, but it is typically simpler to modify +the DumpCustom class contained in the dump_custom.cpp file. See the +"dump"_dump.html command and its {custom} style for a list of what +atom information can already be dumped by DumpCustom. If the +attribute you want to dump is not in the list, or if you define a "new +atom style"_#atom with new attributes (e.g. atoms that store their own +magnetic moment), here is how to dump it out in a snapshot file: + +Search the dump_custom.cpp and dump_custom.h files for the word +"customize". It appears in roughly half a dozen locations. In each +of the locations you can add a bit of code that will extend the +DumpCustom class to enable it to dump a new quantity. E.g. you will +add a keyword, add an if test, add a new small method that packs the +requested data into a buffer, etc. For the latter, you can perform a +modest amount of computation in this method; see the pack_xs() +function for an example. + +If desired, a dump custom option can also compute more complicated +quantities by invoking a fix that computed quantities at the end of a +timestep (should be the same timestep the dump is invoked on). See +the ENERGY, CENTRO, and stress options (SXX, SYY, etc) in +dump_custom.cpp for examples. + +When you re-make LAMMPS, your new option should now be useable via the +dump custom command. + +:line + +Thermodynamic output options :link(thermo),h4 + +There is only one class that computes and prints thermodynamic +information to the screen and log file, although the +"thermo_style"_thermo_style.html command treats its options as styles. + +There are several styles defined in thermo.cpp: "one", "multi", and +"granular". There is also a flexible "custom" style which allows you +to specify what quantities will be printed each timestep where +thermodynamics is computed. See the "thermo_style"_thermo_style.html +command for a list of pre-defined quantities. + +Here is how you can extend the thermo output capabilities. Search the +thermo.cpp and thermo.h files for the word "customize" which will tell +you where to make these additions. Note that fixes can also print-out +thermodynamic quantities via the "fix_modify"_fix_modify.html command, +so you do not need to modify thermo.cpp to print fix information. + +If you want to create a new style (like "one" or "granular") that +prints a collection of pre-defined quantities, you add a few lines +that define the new style to thermo.cpp. First, add a #DEFINE line at +the top of the file which lists the quantities to print. Then add the +style name you have chosen to the if test in the constructor to copy +the defined string to the line[] variable. + +You can also add new quantities to the custom list. Add your new +keyword to the if test in the parse_fields() function where the call +to addfield() specifies the text string (8 character max) that will be +printed with the quantity, the function that will compute it, and the +data type (INT,FLOAT) of the quantity. Then at the bottom of the +file, add a function compute_*() which computes the quantity you wish +to print. The function assigns the quantity to the variable "dvalue" +if it is a floating-point quantity, or to "ivalue" if it is an +integer. See the other compute_*() functions for examples of how +various quantities can be accessed, computed, summed across +processors, normalized as per-atom values, etc. Also, if it makes +sense to allow the quantity to be stored in a variable in the input +script, add a couple of lines to the compute_value() function that is +called when a variable is evaluated. Finally, add a prototype for +your new compute method to thermo.h. + +:line + +Temperature computation options :link(temp),h4 + +All classes that compute the temperature of the system are sub-classes +of the Temperature class. See the temperature.h file for a list of +methods these classes defines. Temperatures are computed by LAMMPS +when velocities are set, when thermodynamics are computed, and when +temperature is controlled by various thermostats like the "fix +nvt"_fix_nvt.html of "fix langevin"_fix_langevin.html commands. + +Temp_full.cpp and temp_full.h are the simplest example of a +Temperature class. They implement the {full} style of the +"temperature"_temperature.html command. + +Here is a brief description of the class methods in temperature.h: + +init: setup the temperature computation +compute: compute and return temperature :tb(s=:) + +:line + +Region geometry options :link(region),h4 + +All classes that define geometric regions are sub-classes of the +Region class. See the region.h file for a list of methods these +classes defines. Regions are used elsewhere in LAMMPS to group atoms, +delete atoms to create a void, insert atoms in a specified region, +etc. + +Region_sphere.cpp and region_sphere.h are the simplest example of a +Region class. They implement the {sphere} style of the +"region"_region.html command. + +Here is a brief description of the single class method required: + +match: determine whether a point is in the region :tb(s=:) + +:line + +Fix options :link(fix),h4 + +In LAMMPS, a "fix" is any operation that is computed during +timestepping that alters some property of the system. Essentially +everything that happens during a simulation besides force computation, +neighbor list manipulation, and output, is a "fix". This includes +time integration (update of velocity and coordinates), force +constraints (SHAKE or walls), and diagnostics (compute a diffusion +coefficient). See the fix.h file for a list of methods these classes +defines. + +There are dozens of fix options in LAMMPS; choose one as a template +that is similar to what you want to implement. They can be as simple +as zeroing out forces (see "fix enforce2d"_fix_enforce2d.html which +corresponds to the {enforce2d} style) or as complicated as applying +SHAKE constraints on bonds and angles (see "fix shake"_fix_shake.html +which corresponds to the {shake} style) which involves many extra +computations. + +Here is a brief description of the class methods in fix.h: + +setmask: determines when the fix is called during the timestep +init: initialization before a run +setup: called immediately before the 1st timestep +initial_integrate: called at very beginning of each timestep +pre_exchange: called before atom exchange on re-neighboring steps +pre_neighbor: called before neighbor list build +post_force: called after pair & molecular forces are computed +final_integrate: called at end of each timestep +end_of_step: called at very end of timestep +write_restart: dumps fix info to restart file +restart: uses info from restart file to re-initialize the fix +grow_arrays: allocate memory for atom-based arrays used by fix +copy_arrays: copy atom info when an atom migrates to a new processor +memory_usage: report memory used by fix +pack_exchange: store atom's data in a buffer +unpack_exchange: retrieve atom's data from a buffer +pack_restart: store atom's data for writing to restart file +unpack_restart: retrieve atom's data from a restart file buffer +size_restart: size of atom's data +maxsize_restart: max size of atom's data +initial_integrate_respa: same as initial_integrate, but for rRESPA +post_force_respa: same as post_force, but for rRESPA +final_integrate_respa: same as final_integrate, but for rRESPA +pack_comm: pack a buffer to communicate a per-atom quantity +unpack_comm: unpack a buffer to communicate a per-atom quantity +pack_reverse_comm: pack a buffer to reverse communicate a per-atom quantity +unpack_reverse_comm: unpack a buffer to reverse communicate a per-atom quantity +thermo_fields: define quantities for thermodynamic output +thermo_compute: compute thermodynamic quantities :tb(s=:) + +Typically, only a small fraction of these methods are defined for a +particular fix. Setmask is mandatory, as it determines when the fix +will be invoked during the timestep. Fixes that perform time +integration ({nve}, {nvt}, {npt}) implement initial_integrate and +final_integrate to perform velocity Verlet updates. Fixes that +constrain forces implement post_force. Fixes that perform diagnostics +typically implement end_of_step. For an end_of_step fix, one of your +fix arguments must be the variable "nevery" which is used to determine +when to call the fix. By convention, this is the first argument the +fix defines (after the ID, group-ID, style). + +If the fix needs to store information for each atom that persists from +timestep to timestep, it can manage that memory and migrate it with +the atoms as they move from processors to processor by implementing +the grow_arrays, copy_arrays, pack_exchange, and unpack_exchange +methods. Similary, the pack_restart and unpack_restart methods can be +implemented to store information about the fix in restart files. If +you wish a integrator or force constraint fix to work with rRESPA (see +the "run_style"_run_style.html command), the initial_integrate, +post_force_integrate, and final_integrate_respa methods can be +implemented. The thermo_fields and thermo_compute methods enable a +fix to contribute values to thermodynamic output, as printed +quantities and/or to be summed to the potential energy of the system. + +:line + +Atom options :link(atom),h4 + +All classes that define an atom style are sub-classes of the Atom +class. See the atom.h file for a list of methods these classes +defines. The atom style determines what quantities are associated +with an atom in a LAMMPS simulation. If one of the existing atom +styles does not define all the arrays you need to store with an atom, +then a new atom class can be created. + +Atom_atomic.cpp and atom_atomic.h are the simplest example of an Atom +class. They implement the {atomic} style of the +"atom_style"_atom_style.html command. + +Here is a brief description of the class methods in atom.h: + +copy: copy info for one atom to another atom's array location +pack_comm: store an atom's info in a buffer communicated every timestep +unpack_comm: retrieve an atom's info from the buffer +pack_reverse: store an atom's info in a buffer communicating partial forces +unpack_reverse: retrieve an atom's info from the buffer +pack_border: store an atom's info in a buffer communicated on neighbor re-builds +unpack_border: retrieve an atom's info from the buffer +pack_exchange: store all an atom's info to migrate to another processor +unpack_exchange: retrieve an atom's info from the buffer +:tb(s=:) + +There are also several methods in atom.cpp you will need to augment +with information about your new atom class, following the patterns of +the other atom styles. These routines are so similar for all classes, +that it was simpler to just have one master routine for all classes. + +constructor: create style variable and atom array ptrs to NULL +destructor: free memory for atom arrays +set_style: set style variable +check_style: check for pure style vs hybrid style +style2arg: convert style variables to keywords +grow: re-allocate atom arrays to longer lengths +unpack_data: parse atom lines from data file +create_one: create an individual atom of this style +size_restart: number of restart quantities associated with proc's atoms +pack_restart: pack atom quantities into a buffer +unpack_restart: unpack atom quantities from a buffer +memory_usage: memory allocated by atom arrays +:tb(s=:) + +:line + +Variable options :link(variable),h4 + +The variable class stores and evaluates input script variables $a, $b, +... $z, as described in "this section"_Section_commands.html#3_2. +{Equal}-style variables are defined by an equation that is evaulated +each time the variable is used. The equation can include functions, +vectors, keywords, and numbers as described in the +"variable"_variable.html command. The list of valid functions, +vectors, and keywords, can be extended by adding a few lines of code +to the evaluate() method at the end of the variable.cpp file. Search +for the word "customize" to find the correct locations for adding +code. + +A new function (e.g. foo(arg1,arg2,...)) can be added in the section +that starts with the comment + +// customize by adding function to this list and to if statement :pre + +A new vector (e.g. q[]) can be added in the section that starts with +the comment + +// customize by adding vector to this list and to if statement :pre + +A new keyword (e.g. mysum) can be added in the section that starts with +the comment + +// customize by adding keyword to this list and to if statement :pre + +Note that keywords supported by the "thermo_style +custom"_themo_style.html command are evaluated by the thermo routines, +so do not need to be added to variable.cpp. + +:line + +New top-level commands :link(command),h4 + +It is possible to add a new command to a LAMMPS input script as +opposed to adding a new style to an existing command (atom_style, +pair_style, fix, etc). For example the create_atoms, read_data, +velocity, and run commands are all top-level LAMMPS commands that are +listed in the Command section of style.h. When such a command is +encountered in the LAMMPS input script, the topmost level of LAMMPS +(lammps.cpp) simply creates a class with the corresponding name, +invokes the "command" method of the class, and passes it the arguments +from the input script. The command method can perform whatever +operations it wishes on the LAMMPS data structures. + +Thus to add a new command, you simply need to add a *.cpp and *.h file +containing a single class: + +command: operations performed by the new command :tb(s=:) + +Of course, the new class can define other methods and variables that +it uses internally. + +:line + +:link(Foo) +[(Foo)] Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997). diff --git a/doc/Section_perf.html b/doc/Section_perf.html new file mode 100644 index 0000000000..4d135bc555 --- /dev/null +++ b/doc/Section_perf.html @@ -0,0 +1,84 @@ + +
      Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
      + + + + + + +
      + +

      6. Performance & scalability +

      +

      LAMMPS performance on several prototypical benchmarks and machines is +discussed on the Benchmarks page of the LAMMPS WWW Site where +CPU timings and parallel efficiencies are listed. Here, the +benchmarks are described briefly and some useful rules of thumb about +their performance are highlighted. +

      +

      These are the 5 benchmark problems: +

      +
      1. LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55 +neighbors per atom), NVE integration + +
      2. Chain = bead-spring polymer melt of 100-mer chains, FENE bonds and LJ +pairwise interactions with a 2^(1/6) sigma cutoff (5 neighbors per +atom), NVE integration + +
      3. EAM = metallic solid, Cu EAM potential with 4.95 Angstrom cutoff (45 +neighbors per atom), NVE integration + +
      4. Chute = granular chute flow, frictional history potential with 1.1 +sigma cutoff (7 neighbors per atom), NVE integration + +
      5. Rhodo = rhodopsin protein in solvated lipid bilayer, CHARMM force +field with a 10 Angstrom LJ cutoff (440 neighbors per atom), +particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT +integration +
      +

      The input files for running the benchmarks are included in the LAMMPS +distribution, as are sample output files. Each of the 5 problems has +32,000 atoms and runs for 100 timesteps. Each can be run as a serial +benchmarks (on one processor) or in parallel. In parallel, each +benchmark can be run as a fixed-size or scaled-size problem. For +fixed-size benchmarking, the same 32K atom problem is run on various +numbers of processors. For scaled-size benchmarking, the model size +is increased with the number of processors. E.g. on 8 processors, a +256K-atom problem is run; on 1024 processors, a 32-million atom +problem is run, etc. +

      +

      A useful metric from the benchmarks is the CPU cost per atom per +timestep. Since LAMMPS performance scales roughly linearly with +problem size and timesteps, the run time of any problem using the same +model (atom style, force field, cutoff, etc) can then be estimated. +For example, on a 1.7 GHz Pentium desktop machine (Intel icc compiler +under Red Hat Linux), the CPU run-time in seconds/atom/timestep for +the 5 problems is +

      +
      + + +
      Problem: LJ Chain EAM Chute Rhodopsin
      CPU/atom/step: 4.55E-6 2.18E-6 9.38E-6 2.18E-6 1.11E-4
      Ratio to LJ: 1.0 0.48 2.06 0.48 24.5 +
      + +

      The ratios mean that if the atomic LJ system has a normalized cost of +1.0, the bead-spring chains and granular systems run 2x faster, while +the EAM metal and solvated protein models run 2x and 25x slower +respectively. The bulk of these cost differences is due to the +expense of computing a particular pairwise force field for a given +number of neighbors per atom. +

      +

      Performance on a parallel machine can also be predicted from the +one-processor timings if the parallel efficiency can be estimated. +The communication bandwidth and latency of a particular parallel +machine affects the efficiency. On most machines LAMMPS will give +fixed-size parallel efficiencies on these benchmarks above 50% so long +as the atoms/processor count is a few 100 or greater - i.e. on 64 to +128 processors. Likewise, scaled-size parallel efficiencies will +typically be 80% or greater up to very large processor counts. The +benchmark data on the LAMMPS WWW Site gives specific examples on +some different machines, including a run of 3/4 of a billion LJ atoms +on 1500 processors that ran at 85% parallel efficiency. +

      + diff --git a/doc/Section_perf.txt b/doc/Section_perf.txt new file mode 100644 index 0000000000..8a20a8209b --- /dev/null +++ b/doc/Section_perf.txt @@ -0,0 +1,77 @@ +"Previous Section"_Section_example.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_tools.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +6. Performance & scalability :h3 + +LAMMPS performance on several prototypical benchmarks and machines is +discussed on the Benchmarks page of the "LAMMPS WWW Site"_lws where +CPU timings and parallel efficiencies are listed. Here, the +benchmarks are described briefly and some useful rules of thumb about +their performance are highlighted. + +These are the 5 benchmark problems: + +LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55 +neighbors per atom), NVE integration :olb,l + +Chain = bead-spring polymer melt of 100-mer chains, FENE bonds and LJ +pairwise interactions with a 2^(1/6) sigma cutoff (5 neighbors per +atom), NVE integration :l + +EAM = metallic solid, Cu EAM potential with 4.95 Angstrom cutoff (45 +neighbors per atom), NVE integration :l + +Chute = granular chute flow, frictional history potential with 1.1 +sigma cutoff (7 neighbors per atom), NVE integration :l + +Rhodo = rhodopsin protein in solvated lipid bilayer, CHARMM force +field with a 10 Angstrom LJ cutoff (440 neighbors per atom), +particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT +integration :ole,l + +The input files for running the benchmarks are included in the LAMMPS +distribution, as are sample output files. Each of the 5 problems has +32,000 atoms and runs for 100 timesteps. Each can be run as a serial +benchmarks (on one processor) or in parallel. In parallel, each +benchmark can be run as a fixed-size or scaled-size problem. For +fixed-size benchmarking, the same 32K atom problem is run on various +numbers of processors. For scaled-size benchmarking, the model size +is increased with the number of processors. E.g. on 8 processors, a +256K-atom problem is run; on 1024 processors, a 32-million atom +problem is run, etc. + +A useful metric from the benchmarks is the CPU cost per atom per +timestep. Since LAMMPS performance scales roughly linearly with +problem size and timesteps, the run time of any problem using the same +model (atom style, force field, cutoff, etc) can then be estimated. +For example, on a 1.7 GHz Pentium desktop machine (Intel icc compiler +under Red Hat Linux), the CPU run-time in seconds/atom/timestep for +the 5 problems is + +Problem:, LJ, Chain, EAM, Chute, Rhodopsin +CPU/atom/step:, 4.55E-6, 2.18E-6, 9.38E-6, 2.18E-6, 1.11E-4 +Ratio to LJ:, 1.0, 0.48, 2.06, 0.48, 24.5 :tb(ea=c,ca1=r) + +The ratios mean that if the atomic LJ system has a normalized cost of +1.0, the bead-spring chains and granular systems run 2x faster, while +the EAM metal and solvated protein models run 2x and 25x slower +respectively. The bulk of these cost differences is due to the +expense of computing a particular pairwise force field for a given +number of neighbors per atom. + +Performance on a parallel machine can also be predicted from the +one-processor timings if the parallel efficiency can be estimated. +The communication bandwidth and latency of a particular parallel +machine affects the efficiency. On most machines LAMMPS will give +fixed-size parallel efficiencies on these benchmarks above 50% so long +as the atoms/processor count is a few 100 or greater - i.e. on 64 to +128 processors. Likewise, scaled-size parallel efficiencies will +typically be 80% or greater up to very large processor counts. The +benchmark data on the "LAMMPS WWW Site"_lws gives specific examples on +some different machines, including a run of 3/4 of a billion LJ atoms +on 1500 processors that ran at 85% parallel efficiency. diff --git a/doc/Section_start.html b/doc/Section_start.html new file mode 100644 index 0000000000..f5e62aabbb --- /dev/null +++ b/doc/Section_start.html @@ -0,0 +1,614 @@ + +
      Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
      + + + + + + +
      + +

      2. Getting Started +

      +

      This section describes how to unpack, make, and run LAMMPS, for both +new and experienced users. +

      +2.1 What's in the LAMMPS distribution
      +2.2 Making LAMMPS
      +2.3 Running LAMMPS
      +2.4 Command-line options
      +2.5 Screen output
      +2.6 Tips for users of previous versions
      + +
      + +

      2.1 What's in the LAMMPS distribution +

      +

      When you download LAMMPS you will need to unzip and untar the +downloaded file with the following commands, after placing the file in +an appropriate directory. +

      +
      gunzip lammps*.tar.gz 
      +tar xvf lammps*.tar 
      +
      +

      This will create a LAMMPS directory containing two files and several +sub-directories: +

      +
      + + + + + + + +
      README text file
      LICENSE the GNU General Public License (GPL)
      bench benchmark problems
      doc documentation
      examples simple test problems
      potentials embedded atom method (EAM) potential files
      src source files
      tools pre- and post-processing tools +
      + +
      + +

      2.2 Making LAMMPS +

      +

      Read this first: +

      +

      Building LAMMPS can be non-trivial. You will likely need to edit a +makefile, there are compiler options, additional libraries can be used +(MPI, FFT), etc. Please read this section carefully. If you are not +comfortable with makefiles, or building codes on a Unix platform, or +running an MPI job on your machine, please find a local expert to help +you. Many of the emails I get about build and run problems are not +really about LAMMPS - they are peculiar to the user's system, +compilers, libraries, etc. Such questions are better answered by a +local expert. +

      +

      If you have a build problem that you are convinced is a LAMMPS issue +(e.g. the compiler complains about a line of LAMMPS source code), then +please send an email. Note that doesn't include linking +problems - that's a question for a local expert! +

      + + +

      Also, if you succeed in building LAMMPS on a new kind of machine +(which there isn't a similar Makefile for in the distribution), send +it to sjplimp@sandia.gov and we'll include it in future LAMMPS +releases. +

      +

      Building a LAMMPS executable: +

      +

      The src directory contains the C++ source and header files for LAMMPS. +It also contains a top-level Makefile and a MAKE directory with +low-level Makefile.* files for several machines. From within the src +directory, type "make" or "gmake". You should see a list of available +choices. If one of those is the machine and options you want, you can +type a command like: +

      +
      make linux
      +gmake mac 
      +
      +

      If you get no errors and an executable like lmp_linux or lmp_mac is +produced, you're done; it's your lucky day. The remainder of this +section addressed the following topics: errors that occur when making +LAMMPS, editing a new low-level Makefile.foo, how to make LAMMPS with +and without packages, and additional build tips. +

      +

      Errors that occur when making LAMMPS: +

      +

      (1) If the make command breaks immediately with errors that indicate +it can't find files with a "*" in their names, this can be because +your machine's make doesn't support wildcard expansion in a makefile. +Try gmake instead of make. If that doesn't work, try using a -f +switch with your make command to use Makefile.list which explicitly +lists all the needed files, e.g. +

      +
      make makelist
      +make -f Makefile.list linux
      +gmake -f Makefile.list mac 
      +
      +

      The first "make" command will create a current Makefile.list with all +the file names in your src dir. The 2nd "make" command (make or +gmake) will use it to build LAMMPS. +

      +

      (2) Other errors typically occur because the low-level Makefile isn't +setup correctly for your machine. If your platform is named "foo", +you need to create a Makefile.foo in the MAKE directory. Use whatever +existing file is closest to your platform as a starting point. See +the next section for more instructions. +

      +

      Editing a new low-level Makefile.foo: +

      +

      These are the issues you need to address when editing a low-level +Makefile for your machine. With a couple exceptions, the only portion +of the file you should need to edit is the "System-specific Settings" +section. +

      +

      (1) Change the first line of Makefile.foo to include the word "foo" +and whatever other options you set. This is the line you will see if +you just type "make". +

      +

      (2) Set the paths and flags for your C++ compiler, including +optimization flags. You can use g++, the open-source GNU compiler, +which is available on all Unix systems. Vendor compilers often +produce faster code. On boxes with Intel CPUs, I use the free Intel +icc compiler, which you can download from Intel's compiler +site. +

      + + +

      (3) If you want LAMMPS to run in parallel, you must have an MPI +library installed on your platform. Makefile.foo needs to specify +where the mpi.h file (-I switch) and the libmpi.a library (-L switch) +is found. On my Linux box, I use Argonne's MPICH 1.2 which can be +downloaded from the Argonne MPI +site. LAM MPI should also work. If +you are running on a big parallel platform, your system people or the +vendor should have already installed a version of MPI, which will be +faster than MPICH or LAM, so find out how to link against it. If you +use MPICH or LAM, you will have to configure and build it for your +platform. The MPI configure script should have compiler options to +enable you to use the same compiler you are using for the LAMMPS +build, which can avoid problems that may arise when linking LAMMPS to +the MPI library. +

      +

      (4) If you just want LAMMPS to run on a single processor, you can use +the STUBS library in place of MPI, since you don't need an MPI library +installed on your system. See the Makefile.serial file for how to +specify the -I and -L switches. You will also need to build the STUBS +library for your platform before making LAMMPS itself. From the STUBS +dir, type "make" and it will hopefully create a libmpi.a suitable for +linking to LAMMPS. If the build fails, you will need to edit the +STUBS/Makefile for your platform. +

      +

      The file STUBS/mpi.cpp has a CPU timer function MPI_Wtime() that calls +gettimeofday() . If your system doesn't support gettimeofday() , +you'll need to insert code to call another timer. Note that the +ANSI-standard function clock() rolls over after an hour or so, and is +therefore insufficient for timing long LAMMPS runs. +

      +

      (5) If you want to use the particle-particle particle-mesh (PPPM) +option in LAMMPS for long-range Coulombics, you must have a 1d FFT +library installed on your platform. This is specified by a switch of +the form -DFFT_XXX where XXX = INTEL, DEC, SGI, SCSL, or FFTW. All +but the last one are native vendor-provided libraries. FFTW is a +fast, portable library that should work on any platform. You can +download it from www.fftw.org. Use version +2.1.X, not the newer 3.0.X. Building FFTW for my box was as simple as +./configure; make. Whichever FFT library you have on your platform, +you'll need to set the appropriate -I and -L switches in Makefile.foo. +

      +

      If you examine fft3d.c and fft3d.h you'll see it's possible to add +other vendor FFT libraries via #ifdef statements in the appropriate +places. If you successfully add a new FFT option, like -DFFT_IBM, +please send me an email; I'd like to add it to LAMMPS. +

      +

      (6) If you don't plan to use PPPM, you don't need an FFT library. Use +a -DFFT_NONE switch in the CCFLAGS setting of Makefile.foo, or exclude +the KSPACE package (see below). +

      +

      (7) There are a few other -D compiler switches you can set as part of +CCFLAGS. The read_data and dump commands will read/write gzipped +files if you compile with -DGZIP. It requires that your Unix support +the "popen" command. Using one of the -DPACK_ARRAY, -DPACK_POINTER, +and -DPACK_MEMCPY options can make for faster parallel FFTs (in the +PPPM solver) on some platforms. The -DPACK_ARRAY setting is the +default. +

      +

      (8) The DEPFLAGS setting is how the C++ compiler creates a dependency +file for each source file. This speeds re-compilation when source +(*.cpp) or header (*.h) files are edited. Some compilers do not +support dependency file creation, or may use a different switch than +-D. GNU g++ works with -D. If your compiler can't create dependency +files (a long list of errors involving *.d files), then you'll need to +create a Makefile.foo patterned after Makefile.tflop, which uses +different rules that do not involve dependency files. +

      +

      That's it. Once you have a correct Makefile.foo and you have +pre-built the MPI and FFT libraries it will use, all you need to do +from the src directory is type one of these 2 commands: +

      +
      make foo
      +gmake foo 
      +
      +

      You should get the executable lmp_foo when the build is complete. +

      +

      How to make LAMMPS with and without packages: +

      +

      The source code for LAMMPS is structured as a large set of core files +that are always used plus additional packages, which are groups of +files that enable a specific set of features. For example, force +fields for molecular systems or granular systems are in packages. You +can see the list of packages by typing "make package". The current +list of packages is as follows: +

      +
      + + + + + + +
      class2 class 2 force fields
      dpd dissipative particle dynamics (DPD) force field
      granular force fields and boundary conditions for granular systems
      kspace long-range Ewald and particle-mesh (PPPM) solvers
      molecule force fields for molecular systems
      poems coupled rigid body motion
      xtc dump atom snapshots in XTC format +
      + +

      Any or all of these packages can be included or excluded when LAMMPS +is built. The default is to include only the kspace and molecule +packages. You may wish to exclude certain packages if you will never +run certain kinds of simulations. This will produce a smaller +executable which in some cases will also run a bit faster. +

      +

      Packages are included or excluded by typing "make yes-name" or "make +no-name", where "name" is the name of the package. You can also type +"make yes-all" or "make no-all" to include/exclude all optional +packages. These commands work by simply moving files back and forth +between the main src directory and sub-directories with the package +name, so that the files are not seen when LAMMPS is built. After you +have included or excluded a package, you must re-make LAMMPS. +

      +

      Additional make options exist to help manage LAMMPS files that exist +in both the src directory and in package sub-directories. Typing +"make package-update" will overwrite src files with files from the +package directories if the package has been included. Typing "make +package-overwrite" will overwrite files in the package directories +with src files. Typing "make package-check" will list differences +between src and package versions of the same files. +

      +

      To use the poems package you must build LAMMPS with the POEMS library, +which computes the constrained rigid-body motion of articulated +(jointed) multibody systems. POEMS was written and is distributed by +Prof Kurt Anderson's group at Rensselaer Polytechnic Institute (RPI). +It is included in the LAMMPS distribution. To build LAMMPS with +POEMS, you must use a low-level LAMMPS Makefile that includes the +POEMS directory in its paths. See Makefile.g++.poems as an example. +You must also build POEMS itself as a library before building LAMMPS, +so that LAMMPS can link against it. The POEMS library is built by +typing "make" from within the poems directory in the LAMMPS +distribution. By default this uses Makefile which uses the gcc +compiler. If you need to use another compiler (so that the POEMS +library and LAMMPS are consistent), use another poems/Makefile.* or +create your own and invoke it as "make -f Makefile.*". +

      +

      Building LAMMPS as a library: +

      +

      LAMMPS can be built as a library, which can then be called from +another application or a scripting language. See this +section for more info on coupling LAMMPS to +other codes. Building LAMMPS as a library is done by typing +

      +
      make makelib
      +make -f Makefile.lib foo 
      +
      +

      where foo is the machine name. The first "make" command will create a +current Makefile.lib with all the file names in your src dir. The 2nd +"make" command will use it to build LAMMPS as a library. This +requires that Makefile.foo have a library target (lib) and +system-specific settings for ARCHIVE and ARFLAGS. See Makefile.linux +for an example. The build will create the file liblmp_foo.a which +another application can link to. The callable functions in the +library are listed in library.h, but you can add as many functions as +you wish to library.h and library.cpp, which can access LAMMPS data +and return it to the caller or set LAMMPS data values as specified by +the caller. These 3 functions are included in the library: +

      +
      void lammps_open(int, char **, MPI_Comm);
      +void lammps_close();
      +int lammps_command(char *); 
      +
      +

      The lammps_open() function is used to initialize LAMMPS, passing in a +list of strings as if they were command-line arguments when +LAMMPS is run from the command line and a MPI communicator for LAMMPS +to run under. The lammps_close() function is used to shut down LAMMPS +and free all its memory. The lammps_command() function is used to +pass a string to LAMMPS as if it were an input command read from an +input script. See the library.h file for more information about the +arguments and return values for these 3 functions. +

      +

      Additional build tips: +

      +

      (1) Building LAMMPS for multiple platforms. +

      +

      You can make LAMMPS for multiple platforms from the same src +directory. Each target creates its own object sub-dir called Obj_name +where it stores the system-specific *.o files. +

      +

      (2) Cleaning up. +

      +

      Typing "make clean" will delete all *.o object files created when +LAMMPS is built. +

      +

      (3) On some 64-bit machines, compiling with -O3 appears to break the +Coulombic tabling option used by the pair_style +lj/cut/coul/long and lj/charmm/coul/long styles. By default, +tabling is used by these styles since it can offer a 2x speed-up. It +can be disabled via the pair_modify command. +Alternatively, the associated files (e.g. pair_lj_cut_coul_long.cpp) +can be compiled with -O2, or with the compiler flag +-fno-strict-aliasing. Either of those build changes seems to fix +the problem. +

      +

      (4) Building for a Macintosh. +

      +

      OS X is BSD Unix, so it already works. See the Makefile.mac file. +

      +

      (5) Building for MicroSoft Windows. +

      +

      I've never done this, but LAMMPS is just standard C++ with MPI and FFT +calls. You should be able to use cygwin to build LAMMPS with a Unix +make. Or you should be able to pull all the source files into Visual +C++ (ugh) or some similar development environment and build it. In +the src/MAKE/Windows directory are some notes from users on how they +built LAMMPS under Windows, so you can look at their instructions for +tips. Good luck - I can't help you on this one. +

      +
      + +

      2.3 Running LAMMPS +

      +

      By default, LAMMPS runs by reading commands from stdin; e.g. lmp_linux +< in.file. This means you first create an input script (e.g. in.file) +containing the desired commands. This section +describes how input scripts are structured and what commands they +contain. +

      +

      You can test LAMMPS on any of the sample inputs provided in the +examples directory. Input scripts are named in.* and sample outputs +are named log.*.name.P where name is a machine and P is the number of +processors it was run on. +

      +

      Here is how you might run one of the Lennard-Jones tests on a Linux +box, using mpirun to launch a parallel job: +

      +
      cd src
      +make linux
      +cp lmp_linux ../examples/lj
      +cd ../examples/lj
      +mpirun -np 4 lmp_linux < in.lj.nve 
      +
      +

      The screen output from LAMMPS is described in the next section. As it +runs, LAMMPS also writes a log.lammps file with the same information. +Note that this sequence of commands copied the LAMMPS executable +(lmp_linux) to the directory with the input files. If you don't do +this, LAMMPS may look for input files or create output files in the +directory where the executable is, rather than where you run it from. +

      +

      If LAMMPS encounters errors in the input script or while running a +simulation it will print an ERROR message and stop or a WARNING +message and continue. See this section for a +discussion of the various kinds of errors LAMMPS can or can't detect, +a list of all ERROR and WARNING messages, and what to do about them. +

      +

      LAMMPS can run a problem on any number of processors, including a +single processor. In theory you should get identical answers on any +number of processors and on any machine. In practice, numerical +round-off can cause slight differences and eventual divergence of +molecular dynamics phase space trajectories. +

      +

      LAMMPS can run as large a problem as will fit in the physical memory +of one or more processors. If you run out of memory, you must run on +more processors or setup a smaller problem. +

      +
      + +

      2.4 Command-line options +

      +

      At run time, LAMMPS recognizes several optional command-line switches +which may be used in any order. For example, lmp_ibm might be +launched as follows: +

      +
      mpirun -np 16 lmp_ibm -var f tmp.out -log my.log -screen none < in.alloy 
      +
      +

      These are the command-line options: +

      +
      -echo style 
      +
      +

      Set the style of command echoing. The style can be none or screen +or log or both. Depending on the style, each command read from +the input script will be echoed to the screen and/or logfile. This +can be useful to figure out which line of your script is causing an +input error. The default value is log. The echo style can also be +set by using the echo command in the input script itself. +

      +
      -partition 8x2 4 5 ... 
      +
      +

      Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P +processors and this switch is not used, LAMMPS runs in one partition, +i.e. all P processors run a single simulation. If this switch is +used, the P processors are split into separate partitions and each +partition runs its own simulation. The arguments to the switch +specify the number of processors in each partition. Arguments of the +form MxN mean M partitions, each with N processors. Arguments of the +form N mean a single partition with N processors. The sum of +processors in all partitions must equal P. Thus the command +"-partition 8x2 4 5" has 10 partitions and runs on a total of 25 +processors. +

      +

      The input script specifies what simulation is run on which partition; +see the variable and next commands. +Simulations running on different partitions can also communicate with +each other; see the temper command. +

      +
      -in file 
      +
      +

      Specify a file to use as an input script. This is an optional switch +when running LAMMPS in one-partition mode. If it is not specified, +LAMMPS reads its input script from stdin - e.g. lmp_linux < in.run. +This is a required switch when running LAMMPS in multi-partition mode, +since multiple processors cannot all read from stdin. +

      +
      -log file 
      +
      +

      Specify a log file for LAMMPS to write status information to. In +one-partition mode, if the switch is not used, LAMMPS writes to the +file log.lammps. If this switch is used, LAMMPS writes to the +specified file. In multi-partition mode, if the switch is not used, a +log.lammps file is created with hi-level status information. Each +partition also writes to a log.lammps.N file where N is the partition +ID. If the switch is specified in multi-partition mode, the hi-level +logfile is named "file" and each partition also logs information to a +file.N. For both one-partition and multi-partition mode, if the +specified file is "none", then no log files are created. Using a +log command in the input script will override this setting. +

      +
      -screen file 
      +
      +

      Specify a file for LAMMPS to write it's screen information to. In +one-partition mode, if the switch is not used, LAMMPS writes to the +screen. If this switch is used, LAMMPS writes to the specified file +instead and you will see no screen output. In multi-partition mode, +if the switch is not used, hi-level status information is written to +the screen. Each partition also writes to a screen.N file where N is +the partition ID. If the switch is specified in multi-partition mode, +the hi-level screen dump is named "file" and each partition also +writes screen information to a file.N. For both one-partition and +multi-partition mode, if the specified file is "none", then no screen +output is performed. +

      +
      -var name value 
      +
      +

      Specify a variable that will be defined for substitution purposes when +the input script is read. "Name" is the variable name which can be a +single character (referenced as $x in the input script) or a full +string (referenced as ${abc}). The value can be any string. Using +this command-line option is equivalent to putting the line "variable +name index value" at the beginning of the input script. See the +variable command for more info on defining variables +and this section for more info on using +variables in scripts. +

      +
      + +

      2.5 LAMMPS screen output +

      +

      As LAMMPS reads an input script, it prints information to both the +screen and a log file about significant actions it takes to setup a +simulation. When the simulation is ready to begin, LAMMPS performs +various initializations and prints the amount of memory (in MBytes per +processor) that the simulation requires. It also prints details of +the initial thermodynamic state of the system. During the run itself, +thermodynamic information is printed periodically, every few +timesteps. When the run concludes, LAMMPS prints the final +thermodynamic state and a total run time for the simulation. It then +appends statistics about the CPU time and storage requirements for the +simulation. An example set of statistics is shown here: +

      +
      Loop time of 49.002 on 2 procs for 2004 atoms 
      +
      +
      Pair   time (%) = 35.0495 (71.5267)
      +Bond   time (%) = 0.092046 (0.187841)
      +Kspce  time (%) = 6.42073 (13.103)
      +Neigh  time (%) = 2.73485 (5.5811)
      +Comm   time (%) = 1.50291 (3.06703)
      +Outpt  time (%) = 0.013799 (0.0281601)
      +Other  time (%) = 2.13669 (4.36041) 
      +
      +
      Nlocal:    1002 ave, 1015 max, 989 min
      +Histogram: 1 0 0 0 0 0 0 0 0 1 
      +Nghost:    8720 ave, 8724 max, 8716 min 
      +Histogram: 1 0 0 0 0 0 0 0 0 1
      +Neighs:    354141 ave, 361422 max, 346860 min 
      +Histogram: 1 0 0 0 0 0 0 0 0 1 
      +
      +
      Total # of neighbors = 708282
      +Ave neighs/atom = 353.434
      +Ave special neighs/atom = 2.34032
      +Number of reneighborings = 42
      +Dangerous reneighborings = 2 
      +
      +

      The first section gives the breakdown of the CPU run time (in seconds) +into major categories. The second section lists the number of owned +atoms (Nlocal), ghost atoms (Nghost), and pair-wise neighbors stored +per processor. The max and min values give the spread of these values +across processors with a 10-bin histogram showing the distribution. +The total number of histogram counts is equal to the number of +processors. +

      +

      The last section gives aggregate statistics for pair-wise neighbors +and special neighbors that LAMMPS keeps track of (see the +special_bonds command). The number of times +neighbor lists were rebuilt during the run is given as well as the +number of potentially "dangerous" rebuilds. If atom movement +triggered neighbor list rebuilding (see the +neigh_modify command), then dangerous +reneighborings are those that were triggered on the first timestep +atom movement was checked for. If this count is non-zero you may wish +to reduce the delay factor to insure no force interactions are missed +by atoms moving beyond the neighbor skin distance before a rebuild +takes place. +

      +

      If an energy minimization was performed via the +minimize command, additional information is printed, +e.g. +

      +
      Minimization stats:
      +  E initial, next-to-last, final = -0.895962 -2.94193 -2.94342
      +  Gradient 2-norm init/final= 1920.78 20.9992
      +  Gradient inf-norm init/final= 304.283 9.61216
      +  Iterations = 36
      +  Force evaluations = 177 
      +
      +

      The first line lists the initial and final energy, as well as the +energy on the next-to-last iteration. The next 2 lines give a measure +of the gradient of the energy (force on all atoms). The 2-norm is the +"length" of this force vector; the inf-norm is the largest component. +The last 2 lines are statistics on how many iterations and +force-evaluations the minimizer required. Multiple force evalulations +are typically done at each iteration to perform a 1d line minimization +in the search direction. +

      +

      If a kspace_style long-range Coulombics solve was +performed during the run (PPPM, Ewald), then additional information is +printed, e.g. +

      +
      FFT time (% of Kspce) = 0.200313 (8.34477)
      +FFT Gflps 3d 1d-only = 2.31074 9.19989 
      +
      +

      The first line gives the time spent doing 3d FFTs (4 per timestep) and +the fraction it represents of the total KSpace time (listed above). +Each 3d FFT requires computation (3 sets of 1d FFTs) and communication +(transposes). The total flops performed is 5Nlog_2(N), where N is the +number of points in the 3d grid. The FFTs are timed with and without +the communication and a Gflop rate is computed. The 3d rate is with +communication; the 1d rate is without (just the 1d FFTs). Thus you +can estimate what fraction of your FFT time was spent in +communication, roughly 75% in the example above. +

      +
      + +

      2.6 Tips for users of previous LAMMPS versions +

      +

      LAMMPS 2003 is a complete C++ rewrite of LAMMPS 2001, which was +written in F90. Features of earlier versions of LAMMPS are listed in +this section. The F90 and F77 versions (2001 +and 99) are also freely distributed as open-source codes; check the +LAMMPS WWW Site for distribution information if you prefer those +versions. The 99 and 2001 versions are no longer under active +development; they do not have all the features of LAMMPS 2003. +

      +

      If you are a previous user of LAMMPS 2001, these are the most +significant changes you will notice in LAMMPS 2003: +

      +

      (1) The names and arguments of many input script commands have +changed. All commands are now a single word (e.g. read_data instead +of read data). +

      +

      (2) All the functionality of LAMMPS 2001 is included in LAMMPS 2003, +but you may need to specify the relevant commands in different ways. +

      +

      (3) The format of the data file can be streamlined for some problems. +See the read_data command for details. The data file +section "Nonbond Coeff" has been renamed to "Pair Coeff" in LAMMPS +2003. +

      +

      (4) Binary restart files written by LAMMPS 2001 cannot be read by +LAMMPS 2003 with a read_restart command. This is +because they were output by F90 which writes in a different binary +format than C or C++ writes or reads. Use the restart2data tool +provided with LAMMPS 2001 to convert the 2001 restart file to a text +data file. Then edit the data file as necessary before using the +LAMMPS 2003 read_data command to read it in. +

      +

      (5) There are numerous small numerical changes in LAMMPS 2003 that +mean you will not get identical answers when comparing to a 2001 run. +However, your initial thermodynamic energy and MD trajectory should be +close if you have setup the problem for both codes the same. +

      + diff --git a/doc/Section_start.txt b/doc/Section_start.txt new file mode 100644 index 0000000000..e8cd0e29aa --- /dev/null +++ b/doc/Section_start.txt @@ -0,0 +1,605 @@ +"Previous Section"_Section_intro.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_commands.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +2. Getting Started :h3 + +This section describes how to unpack, make, and run LAMMPS, for both +new and experienced users. + +2.1 "What's in the LAMMPS distribution"_#2_1 +2.2 "Making LAMMPS"_#2_2 +2.3 "Running LAMMPS"_#2_3 +2.4 "Command-line options"_#2_4 +2.5 "Screen output"_#2_5 +2.6 "Tips for users of previous versions"_#2_6 :all(b) + +:line + +2.1 What's in the LAMMPS distribution :h4,link(2_1) + +When you download LAMMPS you will need to unzip and untar the +downloaded file with the following commands, after placing the file in +an appropriate directory. + +gunzip lammps*.tar.gz +tar xvf lammps*.tar :pre + +This will create a LAMMPS directory containing two files and several +sub-directories: + +README: text file +LICENSE: the GNU General Public License (GPL) +bench: benchmark problems +doc: documentation +examples: simple test problems +potentials: embedded atom method (EAM) potential files +src: source files +tools: pre- and post-processing tools :tb(s=:) + +:line + +2.2 Making LAMMPS :h4,link(2_2) + +[{Read this first:}] + +Building LAMMPS can be non-trivial. You will likely need to edit a +makefile, there are compiler options, additional libraries can be used +(MPI, FFT), etc. Please read this section carefully. If you are not +comfortable with makefiles, or building codes on a Unix platform, or +running an MPI job on your machine, please find a local expert to help +you. Many of the emails I get about build and run problems are not +really about LAMMPS - they are peculiar to the user's system, +compilers, libraries, etc. Such questions are better answered by a +local expert. + +If you have a build problem that you are convinced is a LAMMPS issue +(e.g. the compiler complains about a line of LAMMPS source code), then +please send an "email"_mail. Note that doesn't include linking +problems - that's a question for a local expert! + +:link(mail,mailto:sjplimp@sandia.gov) + +Also, if you succeed in building LAMMPS on a new kind of machine +(which there isn't a similar Makefile for in the distribution), send +it to sjplimp@sandia.gov and we'll include it in future LAMMPS +releases. + +[{Building a LAMMPS executable:}] + +The src directory contains the C++ source and header files for LAMMPS. +It also contains a top-level Makefile and a MAKE directory with +low-level Makefile.* files for several machines. From within the src +directory, type "make" or "gmake". You should see a list of available +choices. If one of those is the machine and options you want, you can +type a command like: + +make linux +gmake mac :pre + +If you get no errors and an executable like lmp_linux or lmp_mac is +produced, you're done; it's your lucky day. The remainder of this +section addressed the following topics: errors that occur when making +LAMMPS, editing a new low-level Makefile.foo, how to make LAMMPS with +and without packages, and additional build tips. + +[{Errors that occur when making LAMMPS:}] + +(1) If the make command breaks immediately with errors that indicate +it can't find files with a "*" in their names, this can be because +your machine's make doesn't support wildcard expansion in a makefile. +Try gmake instead of make. If that doesn't work, try using a -f +switch with your make command to use Makefile.list which explicitly +lists all the needed files, e.g. + +make makelist +make -f Makefile.list linux +gmake -f Makefile.list mac :pre + +The first "make" command will create a current Makefile.list with all +the file names in your src dir. The 2nd "make" command (make or +gmake) will use it to build LAMMPS. + +(2) Other errors typically occur because the low-level Makefile isn't +setup correctly for your machine. If your platform is named "foo", +you need to create a Makefile.foo in the MAKE directory. Use whatever +existing file is closest to your platform as a starting point. See +the next section for more instructions. + +[{Editing a new low-level Makefile.foo:}] + +These are the issues you need to address when editing a low-level +Makefile for your machine. With a couple exceptions, the only portion +of the file you should need to edit is the "System-specific Settings" +section. + +(1) Change the first line of Makefile.foo to include the word "foo" +and whatever other options you set. This is the line you will see if +you just type "make". + +(2) Set the paths and flags for your C++ compiler, including +optimization flags. You can use g++, the open-source GNU compiler, +which is available on all Unix systems. Vendor compilers often +produce faster code. On boxes with Intel CPUs, I use the free Intel +icc compiler, which you can download from "Intel's compiler +site"_intel. + +:link(intel,http://www.intel.com/software/products/noncom) + +(3) If you want LAMMPS to run in parallel, you must have an MPI +library installed on your platform. Makefile.foo needs to specify +where the mpi.h file (-I switch) and the libmpi.a library (-L switch) +is found. On my Linux box, I use Argonne's MPICH 1.2 which can be +downloaded from the "Argonne MPI +site"_http://www-unix.mcs.anl.gov/mpi. LAM MPI should also work. If +you are running on a big parallel platform, your system people or the +vendor should have already installed a version of MPI, which will be +faster than MPICH or LAM, so find out how to link against it. If you +use MPICH or LAM, you will have to configure and build it for your +platform. The MPI configure script should have compiler options to +enable you to use the same compiler you are using for the LAMMPS +build, which can avoid problems that may arise when linking LAMMPS to +the MPI library. + +(4) If you just want LAMMPS to run on a single processor, you can use +the STUBS library in place of MPI, since you don't need an MPI library +installed on your system. See the Makefile.serial file for how to +specify the -I and -L switches. You will also need to build the STUBS +library for your platform before making LAMMPS itself. From the STUBS +dir, type "make" and it will hopefully create a libmpi.a suitable for +linking to LAMMPS. If the build fails, you will need to edit the +STUBS/Makefile for your platform. + +The file STUBS/mpi.cpp has a CPU timer function MPI_Wtime() that calls +gettimeofday() . If your system doesn't support gettimeofday() , +you'll need to insert code to call another timer. Note that the +ANSI-standard function clock() rolls over after an hour or so, and is +therefore insufficient for timing long LAMMPS runs. + +(5) If you want to use the particle-particle particle-mesh (PPPM) +option in LAMMPS for long-range Coulombics, you must have a 1d FFT +library installed on your platform. This is specified by a switch of +the form -DFFT_XXX where XXX = INTEL, DEC, SGI, SCSL, or FFTW. All +but the last one are native vendor-provided libraries. FFTW is a +fast, portable library that should work on any platform. You can +download it from "www.fftw.org"_http://www.fftw.org. Use version +2.1.X, not the newer 3.0.X. Building FFTW for my box was as simple as +./configure; make. Whichever FFT library you have on your platform, +you'll need to set the appropriate -I and -L switches in Makefile.foo. + +If you examine fft3d.c and fft3d.h you'll see it's possible to add +other vendor FFT libraries via #ifdef statements in the appropriate +places. If you successfully add a new FFT option, like -DFFT_IBM, +please send me an email; I'd like to add it to LAMMPS. + +(6) If you don't plan to use PPPM, you don't need an FFT library. Use +a -DFFT_NONE switch in the CCFLAGS setting of Makefile.foo, or exclude +the KSPACE package (see below). + +(7) There are a few other -D compiler switches you can set as part of +CCFLAGS. The read_data and dump commands will read/write gzipped +files if you compile with -DGZIP. It requires that your Unix support +the "popen" command. Using one of the -DPACK_ARRAY, -DPACK_POINTER, +and -DPACK_MEMCPY options can make for faster parallel FFTs (in the +PPPM solver) on some platforms. The -DPACK_ARRAY setting is the +default. + +(8) The DEPFLAGS setting is how the C++ compiler creates a dependency +file for each source file. This speeds re-compilation when source +(*.cpp) or header (*.h) files are edited. Some compilers do not +support dependency file creation, or may use a different switch than +-D. GNU g++ works with -D. If your compiler can't create dependency +files (a long list of errors involving *.d files), then you'll need to +create a Makefile.foo patterned after Makefile.tflop, which uses +different rules that do not involve dependency files. + +That's it. Once you have a correct Makefile.foo and you have +pre-built the MPI and FFT libraries it will use, all you need to do +from the src directory is type one of these 2 commands: + +make foo +gmake foo :pre + +You should get the executable lmp_foo when the build is complete. + +[{How to make LAMMPS with and without packages:}] + +The source code for LAMMPS is structured as a large set of core files +that are always used plus additional packages, which are groups of +files that enable a specific set of features. For example, force +fields for molecular systems or granular systems are in packages. You +can see the list of packages by typing "make package". The current +list of packages is as follows: + +class2 : class 2 force fields +dpd : dissipative particle dynamics (DPD) force field +granular : force fields and boundary conditions for granular systems +kspace : long-range Ewald and particle-mesh (PPPM) solvers +molecule : force fields for molecular systems +poems : coupled rigid body motion +xtc : dump atom snapshots in XTC format :tb(s=:) + +Any or all of these packages can be included or excluded when LAMMPS +is built. The default is to include only the kspace and molecule +packages. You may wish to exclude certain packages if you will never +run certain kinds of simulations. This will produce a smaller +executable which in some cases will also run a bit faster. + +Packages are included or excluded by typing "make yes-name" or "make +no-name", where "name" is the name of the package. You can also type +"make yes-all" or "make no-all" to include/exclude all optional +packages. These commands work by simply moving files back and forth +between the main src directory and sub-directories with the package +name, so that the files are not seen when LAMMPS is built. After you +have included or excluded a package, you must re-make LAMMPS. + +Additional make options exist to help manage LAMMPS files that exist +in both the src directory and in package sub-directories. Typing +"make package-update" will overwrite src files with files from the +package directories if the package has been included. Typing "make +package-overwrite" will overwrite files in the package directories +with src files. Typing "make package-check" will list differences +between src and package versions of the same files. + +To use the poems package you must build LAMMPS with the POEMS library, +which computes the constrained rigid-body motion of articulated +(jointed) multibody systems. POEMS was written and is distributed by +Prof Kurt Anderson's group at Rensselaer Polytechnic Institute (RPI). +It is included in the LAMMPS distribution. To build LAMMPS with +POEMS, you must use a low-level LAMMPS Makefile that includes the +POEMS directory in its paths. See Makefile.g++.poems as an example. +You must also build POEMS itself as a library before building LAMMPS, +so that LAMMPS can link against it. The POEMS library is built by +typing "make" from within the poems directory in the LAMMPS +distribution. By default this uses Makefile which uses the gcc +compiler. If you need to use another compiler (so that the POEMS +library and LAMMPS are consistent), use another poems/Makefile.* or +create your own and invoke it as "make -f Makefile.*". + +[{Building LAMMPS as a library:}] + +LAMMPS can be built as a library, which can then be called from +another application or a scripting language. See "this +section"_Section_howto.html#4_10 for more info on coupling LAMMPS to +other codes. Building LAMMPS as a library is done by typing + +make makelib +make -f Makefile.lib foo :pre + +where foo is the machine name. The first "make" command will create a +current Makefile.lib with all the file names in your src dir. The 2nd +"make" command will use it to build LAMMPS as a library. This +requires that Makefile.foo have a library target (lib) and +system-specific settings for ARCHIVE and ARFLAGS. See Makefile.linux +for an example. The build will create the file liblmp_foo.a which +another application can link to. The callable functions in the +library are listed in library.h, but you can add as many functions as +you wish to library.h and library.cpp, which can access LAMMPS data +and return it to the caller or set LAMMPS data values as specified by +the caller. These 3 functions are included in the library: + +void lammps_open(int, char **, MPI_Comm); +void lammps_close(); +int lammps_command(char *); :pre + +The lammps_open() function is used to initialize LAMMPS, passing in a +list of strings as if they were "command-line arguments"_#2_4 when +LAMMPS is run from the command line and a MPI communicator for LAMMPS +to run under. The lammps_close() function is used to shut down LAMMPS +and free all its memory. The lammps_command() function is used to +pass a string to LAMMPS as if it were an input command read from an +input script. See the library.h file for more information about the +arguments and return values for these 3 functions. + +[{Additional build tips:}] + +(1) Building LAMMPS for multiple platforms. + +You can make LAMMPS for multiple platforms from the same src +directory. Each target creates its own object sub-dir called Obj_name +where it stores the system-specific *.o files. + +(2) Cleaning up. + +Typing "make clean" will delete all *.o object files created when +LAMMPS is built. + +(3) On some 64-bit machines, compiling with -O3 appears to break the +Coulombic tabling option used by the "pair_style"_pair_style.html +{lj/cut/coul/long} and {lj/charmm/coul/long} styles. By default, +tabling is used by these styles since it can offer a 2x speed-up. It +can be disabled via the "pair_modify"_pair_modify.html command. +Alternatively, the associated files (e.g. pair_lj_cut_coul_long.cpp) +can be compiled with -O2, or with the compiler flag +{-fno-strict-aliasing}. Either of those build changes seems to fix +the problem. + +(4) Building for a Macintosh. + +OS X is BSD Unix, so it already works. See the Makefile.mac file. + +(5) Building for MicroSoft Windows. + +I've never done this, but LAMMPS is just standard C++ with MPI and FFT +calls. You should be able to use cygwin to build LAMMPS with a Unix +make. Or you should be able to pull all the source files into Visual +C++ (ugh) or some similar development environment and build it. In +the src/MAKE/Windows directory are some notes from users on how they +built LAMMPS under Windows, so you can look at their instructions for +tips. Good luck - I can't help you on this one. + +:line + +2.3 Running LAMMPS :h4,link(2_3) + +By default, LAMMPS runs by reading commands from stdin; e.g. lmp_linux +< in.file. This means you first create an input script (e.g. in.file) +containing the desired commands. "This section"_Section_commands.html +describes how input scripts are structured and what commands they +contain. + +You can test LAMMPS on any of the sample inputs provided in the +examples directory. Input scripts are named in.* and sample outputs +are named log.*.name.P where name is a machine and P is the number of +processors it was run on. + +Here is how you might run one of the Lennard-Jones tests on a Linux +box, using mpirun to launch a parallel job: + +cd src +make linux +cp lmp_linux ../examples/lj +cd ../examples/lj +mpirun -np 4 lmp_linux < in.lj.nve :pre + +The screen output from LAMMPS is described in the next section. As it +runs, LAMMPS also writes a log.lammps file with the same information. +Note that this sequence of commands copied the LAMMPS executable +(lmp_linux) to the directory with the input files. If you don't do +this, LAMMPS may look for input files or create output files in the +directory where the executable is, rather than where you run it from. + +If LAMMPS encounters errors in the input script or while running a +simulation it will print an ERROR message and stop or a WARNING +message and continue. See "this section"_Section_errors.html for a +discussion of the various kinds of errors LAMMPS can or can't detect, +a list of all ERROR and WARNING messages, and what to do about them. + +LAMMPS can run a problem on any number of processors, including a +single processor. In theory you should get identical answers on any +number of processors and on any machine. In practice, numerical +round-off can cause slight differences and eventual divergence of +molecular dynamics phase space trajectories. + +LAMMPS can run as large a problem as will fit in the physical memory +of one or more processors. If you run out of memory, you must run on +more processors or setup a smaller problem. + +:line + +2.4 Command-line options :h4,link(2_4) + +At run time, LAMMPS recognizes several optional command-line switches +which may be used in any order. For example, lmp_ibm might be +launched as follows: + +mpirun -np 16 lmp_ibm -var f tmp.out -log my.log -screen none < in.alloy :pre + +These are the command-line options: + +-echo style :pre + +Set the style of command echoing. The style can be {none} or {screen} +or {log} or {both}. Depending on the style, each command read from +the input script will be echoed to the screen and/or logfile. This +can be useful to figure out which line of your script is causing an +input error. The default value is {log}. The echo style can also be +set by using the "echo"_echo.html command in the input script itself. + +-partition 8x2 4 5 ... :pre + +Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P +processors and this switch is not used, LAMMPS runs in one partition, +i.e. all P processors run a single simulation. If this switch is +used, the P processors are split into separate partitions and each +partition runs its own simulation. The arguments to the switch +specify the number of processors in each partition. Arguments of the +form MxN mean M partitions, each with N processors. Arguments of the +form N mean a single partition with N processors. The sum of +processors in all partitions must equal P. Thus the command +"-partition 8x2 4 5" has 10 partitions and runs on a total of 25 +processors. + +The input script specifies what simulation is run on which partition; +see the "variable"_variable.html and "next"_next.html commands. +Simulations running on different partitions can also communicate with +each other; see the "temper"_temper.html command. + +-in file :pre + +Specify a file to use as an input script. This is an optional switch +when running LAMMPS in one-partition mode. If it is not specified, +LAMMPS reads its input script from stdin - e.g. lmp_linux < in.run. +This is a required switch when running LAMMPS in multi-partition mode, +since multiple processors cannot all read from stdin. + +-log file :pre + +Specify a log file for LAMMPS to write status information to. In +one-partition mode, if the switch is not used, LAMMPS writes to the +file log.lammps. If this switch is used, LAMMPS writes to the +specified file. In multi-partition mode, if the switch is not used, a +log.lammps file is created with hi-level status information. Each +partition also writes to a log.lammps.N file where N is the partition +ID. If the switch is specified in multi-partition mode, the hi-level +logfile is named "file" and each partition also logs information to a +file.N. For both one-partition and multi-partition mode, if the +specified file is "none", then no log files are created. Using a +"log"_log.html command in the input script will override this setting. + +-screen file :pre + +Specify a file for LAMMPS to write it's screen information to. In +one-partition mode, if the switch is not used, LAMMPS writes to the +screen. If this switch is used, LAMMPS writes to the specified file +instead and you will see no screen output. In multi-partition mode, +if the switch is not used, hi-level status information is written to +the screen. Each partition also writes to a screen.N file where N is +the partition ID. If the switch is specified in multi-partition mode, +the hi-level screen dump is named "file" and each partition also +writes screen information to a file.N. For both one-partition and +multi-partition mode, if the specified file is "none", then no screen +output is performed. + +-var name value :pre + +Specify a variable that will be defined for substitution purposes when +the input script is read. "Name" is the variable name which can be a +single character (referenced as $x in the input script) or a full +string (referenced as $\{abc\}). The value can be any string. Using +this command-line option is equivalent to putting the line "variable +name index value" at the beginning of the input script. See the +"variable"_variable.html command for more info on defining variables +and "this section"_Section_commands.html#3_2 for more info on using +variables in scripts. + +:line + +2.5 LAMMPS screen output :h4,link(2_5) + +As LAMMPS reads an input script, it prints information to both the +screen and a log file about significant actions it takes to setup a +simulation. When the simulation is ready to begin, LAMMPS performs +various initializations and prints the amount of memory (in MBytes per +processor) that the simulation requires. It also prints details of +the initial thermodynamic state of the system. During the run itself, +thermodynamic information is printed periodically, every few +timesteps. When the run concludes, LAMMPS prints the final +thermodynamic state and a total run time for the simulation. It then +appends statistics about the CPU time and storage requirements for the +simulation. An example set of statistics is shown here: + +Loop time of 49.002 on 2 procs for 2004 atoms :pre + +Pair time (%) = 35.0495 (71.5267) +Bond time (%) = 0.092046 (0.187841) +Kspce time (%) = 6.42073 (13.103) +Neigh time (%) = 2.73485 (5.5811) +Comm time (%) = 1.50291 (3.06703) +Outpt time (%) = 0.013799 (0.0281601) +Other time (%) = 2.13669 (4.36041) :pre + +Nlocal: 1002 ave, 1015 max, 989 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 8720 ave, 8724 max, 8716 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 354141 ave, 361422 max, 346860 min +Histogram: 1 0 0 0 0 0 0 0 0 1 :pre + +Total # of neighbors = 708282 +Ave neighs/atom = 353.434 +Ave special neighs/atom = 2.34032 +Number of reneighborings = 42 +Dangerous reneighborings = 2 :pre + +The first section gives the breakdown of the CPU run time (in seconds) +into major categories. The second section lists the number of owned +atoms (Nlocal), ghost atoms (Nghost), and pair-wise neighbors stored +per processor. The max and min values give the spread of these values +across processors with a 10-bin histogram showing the distribution. +The total number of histogram counts is equal to the number of +processors. + +The last section gives aggregate statistics for pair-wise neighbors +and special neighbors that LAMMPS keeps track of (see the +"special_bonds"_special_bonds.html command). The number of times +neighbor lists were rebuilt during the run is given as well as the +number of potentially "dangerous" rebuilds. If atom movement +triggered neighbor list rebuilding (see the +"neigh_modify"_neigh_modify.html command), then dangerous +reneighborings are those that were triggered on the first timestep +atom movement was checked for. If this count is non-zero you may wish +to reduce the delay factor to insure no force interactions are missed +by atoms moving beyond the neighbor skin distance before a rebuild +takes place. + +If an energy minimization was performed via the +"minimize"_minimize.html command, additional information is printed, +e.g. + +Minimization stats: + E initial, next-to-last, final = -0.895962 -2.94193 -2.94342 + Gradient 2-norm init/final= 1920.78 20.9992 + Gradient inf-norm init/final= 304.283 9.61216 + Iterations = 36 + Force evaluations = 177 :pre + +The first line lists the initial and final energy, as well as the +energy on the next-to-last iteration. The next 2 lines give a measure +of the gradient of the energy (force on all atoms). The 2-norm is the +"length" of this force vector; the inf-norm is the largest component. +The last 2 lines are statistics on how many iterations and +force-evaluations the minimizer required. Multiple force evalulations +are typically done at each iteration to perform a 1d line minimization +in the search direction. + +If a "kspace_style"_kspace_style.html long-range Coulombics solve was +performed during the run (PPPM, Ewald), then additional information is +printed, e.g. + +FFT time (% of Kspce) = 0.200313 (8.34477) +FFT Gflps 3d 1d-only = 2.31074 9.19989 :pre + +The first line gives the time spent doing 3d FFTs (4 per timestep) and +the fraction it represents of the total KSpace time (listed above). +Each 3d FFT requires computation (3 sets of 1d FFTs) and communication +(transposes). The total flops performed is 5Nlog_2(N), where N is the +number of points in the 3d grid. The FFTs are timed with and without +the communication and a Gflop rate is computed. The 3d rate is with +communication; the 1d rate is without (just the 1d FFTs). Thus you +can estimate what fraction of your FFT time was spent in +communication, roughly 75% in the example above. + +:line + +2.6 Tips for users of previous LAMMPS versions :h4,link(2_6) + +LAMMPS 2003 is a complete C++ rewrite of LAMMPS 2001, which was +written in F90. Features of earlier versions of LAMMPS are listed in +"this section"_Section_history.html. The F90 and F77 versions (2001 +and 99) are also freely distributed as open-source codes; check the +"LAMMPS WWW Site"_lws for distribution information if you prefer those +versions. The 99 and 2001 versions are no longer under active +development; they do not have all the features of LAMMPS 2003. + +If you are a previous user of LAMMPS 2001, these are the most +significant changes you will notice in LAMMPS 2003: + +(1) The names and arguments of many input script commands have +changed. All commands are now a single word (e.g. read_data instead +of read data). + +(2) All the functionality of LAMMPS 2001 is included in LAMMPS 2003, +but you may need to specify the relevant commands in different ways. + +(3) The format of the data file can be streamlined for some problems. +See the "read_data"_read_data.html command for details. The data file +section "Nonbond Coeff" has been renamed to "Pair Coeff" in LAMMPS +2003. + +(4) Binary restart files written by LAMMPS 2001 cannot be read by +LAMMPS 2003 with a "read_restart"_read_restart.html command. This is +because they were output by F90 which writes in a different binary +format than C or C++ writes or reads. Use the {restart2data} tool +provided with LAMMPS 2001 to convert the 2001 restart file to a text +data file. Then edit the data file as necessary before using the +LAMMPS 2003 "read_data"_read_data.html command to read it in. + +(5) There are numerous small numerical changes in LAMMPS 2003 that +mean you will not get identical answers when comparing to a 2001 run. +However, your initial thermodynamic energy and MD trajectory should be +close if you have setup the problem for both codes the same. diff --git a/doc/Section_tools.html b/doc/Section_tools.html new file mode 100644 index 0000000000..d7bea431d9 --- /dev/null +++ b/doc/Section_tools.html @@ -0,0 +1,276 @@ + +
      Previous Section - LAMMPS WWW Site - LAMMPS +Documentation - LAMMPS Commands - Next +Section +
      + + + + + + +
      + +

      7. Additional tools +

      +

      LAMMPS is designed to be a computational kernel for performing +molecular dynamics computations. Additional pre- and post-processing +steps are often necessary to setup and analyze a simulation. A few +additional tools are provided with the LAMMPS distribution and are +described in this section. +

      +

      Our group has also written and released a separate toolkit called +Pizza.py which provides tools for doing setup, analysis, +plotting, and visualization for LAMMPS simulations. Pizza.py is +written in Python and is available for download from the +Pizza.py WWW site. +

      + + + + +

      Note that many users write their own setup or analysis tools or use +other existing codes and convert their output to a LAMMPS input format +or vice versa. The tools listed here are included in the LAMMPS +distribution as examples of auxiliary tools. Some of them are not +actively supported by Sandia, as they were contributed by LAMMPS +users. If you have problems using them, we can direct you to the +authors. +

      +

      The source code for each of these codes is in the tools sub-directory +of the LAMMPS distribution. There is a Makefile (which you may need +to edit for your platform) which will build several of the tools which +reside in that directory. Some of them are larger packages in their +own sub-directories with their own Makefiles. +

      + +
      + +

      replicate tool +

      +

      The file replicate.c takes a LAMMPS data file and replicates it into a +larger system. The syntax for running the tool is +

      +
      replicate options < infile > outfile 
      +
      +

      See the top of the replicate.c file for a discussion of the options. +This tool is used by some of the LAMMPS benchmarks +for creating larger systems to run scaled-size problems on multiple +processors. +

      +
      + +

      restart2data tool +

      +

      The file restart2data.cpp converts a binary LAMMPS restart file into +an ASCII data file. The syntax for running the tool is +

      +
      restart2data restart-file data-file 
      +
      +

      This tool must be compiled on a platform that can read the binary file +created by a LAMMPS run, since binary files are not compatible across +all platforms. +

      +

      Note that a text data file has less precision than a binary restart +file. Hence, continuing a run from a converted data file will +typically not conform as closely to a previous run as will restarting +from a binary restart file. +

      +

      If a "%" appears in the specified restart-file, the tool expects a set +of multiple files to exist. See the restart and +write_restart commands for info on how such sets +of files are written by LAMMPS, and how the files are named. +

      +
      + +

      binary2txt tool +

      +

      The file binary2txt.cpp converts one or more binary LAMMPS dump file +into ASCII text files. The syntax for running the tool is +

      +
      binary2txt file1 file2 ... 
      +
      +

      which creates file1.txt, file2.txt, etc. This tool must be compiled +on a platform that can read the binary file created by a LAMMPS run, +since binary files are not compatible across all platforms. +

      +
      + +

      data2xmovie tool +

      +

      The file data2xmovie.c converts a LAMMPS data file into a snapshot +suitable for visualizing with the xmovie tool, as it it had +been output with a dump command from LAMMPS itself. The syntax for +running the tool is +

      +
      data2xmovie options < infile > outfile 
      +
      +

      See the top of the data2xmovie.c file for a discussion of the options. +

      +
      + +

      chain tool +

      +

      The file chain.f creates a LAMMPS data file containing bead-spring +polymer chains and/or monomer solvent atoms. It uses a text file +containing chain definition parameters as an input. The created +chains and solvent atoms can strongly overlap, so LAMMPS needs to run +the system initially with a "soft" pair potential to un-overlap it. +The syntax for running the tool is +

      +
      chain < def.chain > data.file 
      +
      +

      See the def.chain or def.chain.ab files in the tools directory for +examples of definition files. This tool was used to create the +system for the chain benchmark. +

      +
      + +

      micelle2d tool +

      +

      The file micelle2d.f creates a LAMMPS data file containing short lipid +chains in a monomer solution. It uses a text file containing lipid +definition parameters as an input. The created molecules and solvent +atoms can strongly overlap, so LAMMPS needs to run the system +initially with a "soft" pair potential to un-overlap it. The syntax +for running the tool is +

      +
      micelle2d < def.micelle2d > data.file 
      +
      +

      See the def.micelle2d file in the tools directory for an example of a +definition file. This tool was used to create the system for the +micelle example. +

      +
      + +

      xmovie tool +

      +

      The xmovie tool is an X-based visualization package that can read +LAMMPS dump files and animate them. It is in its own sub-directory +with the tools directory. You may need to modify its Makefile so that +it can find the appropriate X libraries to link against. +

      +

      The syntax for running xmovie is +

      +
      xmovie options dump.file1 dump.file2 ... 
      +
      +

      If you just type "xmovie" you will see a list of options. Note that +by default, LAMMPS dump files are in scaled coordinates, so you +typically need to use the -scale option with xmovie. When xmovie runs +it opens a visualization window and a control window. The control +options are straightforward to use. +

      +

      Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he +spent a summer at Sandia. It displays 2d projections of a 3d domain. +While simple in design, it is an amazingly fast program that can +render large numbers of atoms very quickly. It's a useful tool for +debugging LAMMPS input and output and making sure your simulation is +doing what you think it should. The animations on the Examples page +of the LAMMPS WWW site were created with xmovie. +

      +

      I've lost contact with Mike, so I hope he's comfortable with us +distributing his great tool! +

      +
      + +

      ch2lmp tool +

      +

      The ch2lmp sub-directory contains tools for converting files +back-and-forth between the CHARMM MD code and LAMMPS. +

      +

      They are intended to make it easy to use CHARMM as a builder and as a +post-processor for LAMMPS. Using charmm2lammps.pl, you can convert an +ensemble built in CHARMM into its LAMMPS equivalent. Using +lammps2pdb.pl you can convert LAMMPS atom dumps into pdb files. +

      +

      See the README file in the ch2lmp sub-directory for more information. +

      +

      These tools were created by Pieter in't Veld (pjintve@sandia.gov) and +Paul Crozier (pscrozi@sandia.gov) at Sandia. +

      +
      + +

      msi2lmp tool +

      +

      The msi2lmp sub-directory contains a tool for creating LAMMPS input +data files from Accelrys's Insight MD code (formerly MSI/Biosysm and +its Discover MD code). See the README file for more information. +

      +

      This tool was written by John Carpenter (Cray), Michael Peachey +(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic +(jec@mayo.edu), but still fields questions about +the tool. +

      +

      This tool may be out-of-date with respect to the current LAMMPS and +Insight versions. Since we don't use it at Sandia, you'll need to +experiment with it yourself. +

      +
      + +

      amber2lmp tool +

      +

      The amber2lmp sub-directory contain two Python scripts for converting +files back-and-forth between the AMBER MD code and LAMMPS. See the +README file in amber2lmp for more information. +

      +

      These tools were written by Keir Novik while he was at Queen Mary +University of London. Keir is no longer there and cannot support +these tools which are out-of-date with respect to the current LAMMPS +version (and maybe with respect to AMBER as well). Since we don't use +these tools at Sandia, you'll need to experiment with them and make +necessary modifications yourself. +

      +
      + +

      lmp2arc tool +

      +

      The lmp2arc sub-directory contains a tool for converting LAMMPS output +files to the format for Accelrys's Insight MD code (formerly +MSI/Biosysm and its Discover MD code). See the README file for more +information. +

      +

      This tool was written by John Carpenter (Cray), Michael Peachey +(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic +(jec@mayo.edu), but still fields questions about +the tool. +

      +

      This tool was updated for the current LAMMPS C++ version by Jeff +Greathouse at Sandia (jagreat@sandia.gov). +

      +
      + +

      lmp2cfg tool +

      +

      The lmp2cfg sub-directory contains a tool for converting LAMMPS output +files into a series of *.cfg files which can be read into the +AtomEye visualizer. See +the README file for more information. +

      +

      This tool was written by Ara Kooser at Sandia (askoose@sandia.gov). +

      +
      + +

      lmp2traj tool +

      +

      The lmp2traj sub-directory contains a tool for converting LAMMPS output +files into 3 analysis files. One file can be used to create contour +maps of the atom positions over the course of the simulation. The +other two files provide density profiles and dipole moments. See the +README file for more information. +

      +

      This tool was written by Ara Kooser at Sandia (askoose@sandia.gov). +

      + diff --git a/doc/Section_tools.txt b/doc/Section_tools.txt new file mode 100644 index 0000000000..dd2812027f --- /dev/null +++ b/doc/Section_tools.txt @@ -0,0 +1,270 @@ +"Previous Section"_Section_perf.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Section_modify.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +7. Additional tools :h3 + +LAMMPS is designed to be a computational kernel for performing +molecular dynamics computations. Additional pre- and post-processing +steps are often necessary to setup and analyze a simulation. A few +additional tools are provided with the LAMMPS distribution and are +described in this section. + +Our group has also written and released a separate toolkit called +"Pizza.py"_pizza which provides tools for doing setup, analysis, +plotting, and visualization for LAMMPS simulations. Pizza.py is +written in "Python"_python and is available for download from "the +Pizza.py WWW site"_pizza. + +:link(pizza,http://www.cs.sandia.gov/~sjplimp/pizza.html) +:link(python,http://www.python.org) + +Note that many users write their own setup or analysis tools or use +other existing codes and convert their output to a LAMMPS input format +or vice versa. The tools listed here are included in the LAMMPS +distribution as examples of auxiliary tools. Some of them are not +actively supported by Sandia, as they were contributed by LAMMPS +users. If you have problems using them, we can direct you to the +authors. + +The source code for each of these codes is in the tools sub-directory +of the LAMMPS distribution. There is a Makefile (which you may need +to edit for your platform) which will build several of the tools which +reside in that directory. Some of them are larger packages in their +own sub-directories with their own Makefiles. + +"replicate"_#replicate +"restart2data"_#restart +"binary2txt"_#binary +"data2xmovie"_#data +"chain"_#chain +"micelle2d"_#micelle +"xmovie"_#xmovie +"ch2lmp"_#charmm +"msi2lmp"_#msi +"amber2lammps"_#amber +"lmp2arc"_#arc +"lmp2cfg"_#cfg +"lmp2traj"_#traj :ul + +:line + +replicate tool :h4,link(replicate) + +The file replicate.c takes a LAMMPS data file and replicates it into a +larger system. The syntax for running the tool is + +replicate [options] < infile > outfile :pre + +See the top of the replicate.c file for a discussion of the options. +This tool is used by some of the "LAMMPS benchmarks"_Section_perf.html +for creating larger systems to run scaled-size problems on multiple +processors. + +:line + +restart2data tool :h4,link(restart) + +The file restart2data.cpp converts a binary LAMMPS restart file into +an ASCII data file. The syntax for running the tool is + +restart2data restart-file data-file :pre + +This tool must be compiled on a platform that can read the binary file +created by a LAMMPS run, since binary files are not compatible across +all platforms. + +Note that a text data file has less precision than a binary restart +file. Hence, continuing a run from a converted data file will +typically not conform as closely to a previous run as will restarting +from a binary restart file. + +If a "%" appears in the specified restart-file, the tool expects a set +of multiple files to exist. See the "restart"_restart.html and +"write_restart"_write_restart.html commands for info on how such sets +of files are written by LAMMPS, and how the files are named. + +:line + +binary2txt tool :h4,link(binary) + +The file binary2txt.cpp converts one or more binary LAMMPS dump file +into ASCII text files. The syntax for running the tool is + +binary2txt file1 file2 ... :pre + +which creates file1.txt, file2.txt, etc. This tool must be compiled +on a platform that can read the binary file created by a LAMMPS run, +since binary files are not compatible across all platforms. + +:line + +data2xmovie tool :h4,link(data) + +The file data2xmovie.c converts a LAMMPS data file into a snapshot +suitable for visualizing with the "xmovie"_#xmovie tool, as it it had +been output with a dump command from LAMMPS itself. The syntax for +running the tool is + +data2xmovie [options] < infile > outfile :pre + +See the top of the data2xmovie.c file for a discussion of the options. + +:line + +chain tool :h4,link(chain) + +The file chain.f creates a LAMMPS data file containing bead-spring +polymer chains and/or monomer solvent atoms. It uses a text file +containing chain definition parameters as an input. The created +chains and solvent atoms can strongly overlap, so LAMMPS needs to run +the system initially with a "soft" pair potential to un-overlap it. +The syntax for running the tool is + +chain < def.chain > data.file :pre + +See the def.chain or def.chain.ab files in the tools directory for +examples of definition files. This tool was used to create the +system for the "chain benchmark"_Section_perf.html. + +:line + +micelle2d tool :h4,link(micelle) + +The file micelle2d.f creates a LAMMPS data file containing short lipid +chains in a monomer solution. It uses a text file containing lipid +definition parameters as an input. The created molecules and solvent +atoms can strongly overlap, so LAMMPS needs to run the system +initially with a "soft" pair potential to un-overlap it. The syntax +for running the tool is + +micelle2d < def.micelle2d > data.file :pre + +See the def.micelle2d file in the tools directory for an example of a +definition file. This tool was used to create the system for the +"micelle example"_Section_example.html. + +:line + +xmovie tool :h4,link(xmovie) + +The xmovie tool is an X-based visualization package that can read +LAMMPS dump files and animate them. It is in its own sub-directory +with the tools directory. You may need to modify its Makefile so that +it can find the appropriate X libraries to link against. + +The syntax for running xmovie is + +xmovie [options] dump.file1 dump.file2 ... :pre + +If you just type "xmovie" you will see a list of options. Note that +by default, LAMMPS dump files are in scaled coordinates, so you +typically need to use the -scale option with xmovie. When xmovie runs +it opens a visualization window and a control window. The control +options are straightforward to use. + +Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he +spent a summer at Sandia. It displays 2d projections of a 3d domain. +While simple in design, it is an amazingly fast program that can +render large numbers of atoms very quickly. It's a useful tool for +debugging LAMMPS input and output and making sure your simulation is +doing what you think it should. The animations on the Examples page +of the "LAMMPS WWW site"_lws were created with xmovie. + +I've lost contact with Mike, so I hope he's comfortable with us +distributing his great tool! + +:line + +ch2lmp tool :h4,link(charmm) + +The ch2lmp sub-directory contains tools for converting files +back-and-forth between the CHARMM MD code and LAMMPS. + +They are intended to make it easy to use CHARMM as a builder and as a +post-processor for LAMMPS. Using charmm2lammps.pl, you can convert an +ensemble built in CHARMM into its LAMMPS equivalent. Using +lammps2pdb.pl you can convert LAMMPS atom dumps into pdb files. + +See the README file in the ch2lmp sub-directory for more information. + +These tools were created by Pieter in't Veld (pjintve@sandia.gov) and +Paul Crozier (pscrozi@sandia.gov) at Sandia. + +:line + +msi2lmp tool :h4,link(msi) + +The msi2lmp sub-directory contains a tool for creating LAMMPS input +data files from Accelrys's Insight MD code (formerly MSI/Biosysm and +its Discover MD code). See the README file for more information. + +This tool was written by John Carpenter (Cray), Michael Peachey +(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic +("jec@mayo.edu"_mailto:jec@mayo.edu), but still fields questions about +the tool. + +This tool may be out-of-date with respect to the current LAMMPS and +Insight versions. Since we don't use it at Sandia, you'll need to +experiment with it yourself. + +:line + +amber2lmp tool :h4,link(amber) + +The amber2lmp sub-directory contain two Python scripts for converting +files back-and-forth between the AMBER MD code and LAMMPS. See the +README file in amber2lmp for more information. + +These tools were written by Keir Novik while he was at Queen Mary +University of London. Keir is no longer there and cannot support +these tools which are out-of-date with respect to the current LAMMPS +version (and maybe with respect to AMBER as well). Since we don't use +these tools at Sandia, you'll need to experiment with them and make +necessary modifications yourself. + +:line + +lmp2arc tool :h4,link(arc) + +The lmp2arc sub-directory contains a tool for converting LAMMPS output +files to the format for Accelrys's Insight MD code (formerly +MSI/Biosysm and its Discover MD code). See the README file for more +information. + +This tool was written by John Carpenter (Cray), Michael Peachey +(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic +("jec@mayo.edu"_mailto:jec@mayo.edu), but still fields questions about +the tool. + +This tool was updated for the current LAMMPS C++ version by Jeff +Greathouse at Sandia (jagreat@sandia.gov). + +:line + +lmp2cfg tool :h4,link(cfg) + +The lmp2cfg sub-directory contains a tool for converting LAMMPS output +files into a series of *.cfg files which can be read into the +"AtomEye"_http://164.107.79.177/Archive/Graphics/A visualizer. See +the README file for more information. + +This tool was written by Ara Kooser at Sandia (askoose@sandia.gov). + +:line + +lmp2traj tool :h4,link(traj) + +The lmp2traj sub-directory contains a tool for converting LAMMPS output +files into 3 analysis files. One file can be used to create contour +maps of the atom positions over the course of the simulation. The +other two files provide density profiles and dipole moments. See the +README file for more information. + +This tool was written by Ara Kooser at Sandia (askoose@sandia.gov). diff --git a/doc/angle_coeff.html b/doc/angle_coeff.html new file mode 100644 index 0000000000..17b9b75c58 --- /dev/null +++ b/doc/angle_coeff.html @@ -0,0 +1,91 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      angle_coeff command +

      +

      Syntax: +

      +
      angle_coeff N args 
      +
      +
      • N = angle type (see asterik form below) +
      • args = coefficients for one or more angle types +
      +

      Examples: +

      +
      angle_coeff 1 300.0 107.0
      +angle_coeff * 5.0
      +angle_coeff 2*10 5.0 
      +
      +

      Description: +

      +

      Specify the angle force field coefficients for one or more angle types. +The number and meaning of the coefficients depends on the angle style. +Angle coefficients can also be set in the data file read by the +read_data command or in a restart file. +

      +

      N can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the coefficients for multiple angle types. This takes the +form "*" or "*n" or "n*" or "m*n". If N = the number of angle types, +then an asterik with no numeric values means all types from 1 to N. A +leading asterik means all types from 1 to n (inclusive). A trailing +asterik means all types from n to N (inclusive). A middle asterik +means all types from m to n (inclusive). +

      +

      Note that using a angle_coeff command can override a previous setting +for the same angle type. For example, these commands set the coeffs +for all angle types, then overwrite the coeffs for just angle type 2: +

      +
      angle_coeff * 200.0 107.0 1.2
      +angle_coeff 2 50.0 107.0 
      +
      +

      A line in a data file that specifies angle coefficients uses the exact +same format as the arguments of the angle_coeff command in an input +script, except that wild-card asteriks should not be used since +coefficients for all N types must be listed in the file. For example, +under the "Angle Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as +

      +
      1 300.0 107.0 
      +
      +
      + +

      Here is an alphabetic list of angle styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated angle_coeff command: +

      + + +
      + +

      Restrictions: +

      +

      This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

      +

      An angle style must be defined before any angle coefficients are +set, either in the input script or in a data file. +

      +

      Related commands: +

      +

      angle_style +

      +

      Default: none +

      + diff --git a/doc/angle_coeff.txt b/doc/angle_coeff.txt new file mode 100644 index 0000000000..af4350d9c1 --- /dev/null +++ b/doc/angle_coeff.txt @@ -0,0 +1,86 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +angle_coeff command :h3 + +[Syntax:] + +angle_coeff N args :pre + +N = angle type (see asterik form below) +args = coefficients for one or more angle types :ul + +[Examples:] + +angle_coeff 1 300.0 107.0 +angle_coeff * 5.0 +angle_coeff 2*10 5.0 :pre + +[Description:] + +Specify the angle force field coefficients for one or more angle types. +The number and meaning of the coefficients depends on the angle style. +Angle coefficients can also be set in the data file read by the +"read_data"_read_data.html command or in a restart file. + +N can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the coefficients for multiple angle types. This takes the +form "*" or "*n" or "n*" or "m*n". If N = the number of angle types, +then an asterik with no numeric values means all types from 1 to N. A +leading asterik means all types from 1 to n (inclusive). A trailing +asterik means all types from n to N (inclusive). A middle asterik +means all types from m to n (inclusive). + +Note that using a angle_coeff command can override a previous setting +for the same angle type. For example, these commands set the coeffs +for all angle types, then overwrite the coeffs for just angle type 2: + +angle_coeff * 200.0 107.0 1.2 +angle_coeff 2 50.0 107.0 :pre + +A line in a data file that specifies angle coefficients uses the exact +same format as the arguments of the angle_coeff command in an input +script, except that wild-card asteriks should not be used since +coefficients for all N types must be listed in the file. For example, +under the "Angle Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as + +1 300.0 107.0 :pre + +:line + +Here is an alphabetic list of angle styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated "angle_coeff"_angle_coeff.html command: + +"angle_style none"_angle_style_none.html - turn off angle interactions +"angle_style hybrid"_angle_style_hybrid.html - define multiple styles of angle interactions :ul + +"angle_style charmm"_angle_style_charmm.html - CHARMM angle +"angle_style class2"_angle_style_class2.html - COMPASS (class 2) angle +"angle_style cosine"_angle_style_cosine.html - cosine angle potential +"angle_style cosine/squared"_angle_style_cosine_squared.html - cosine squared angle potential +"angle_style harmonic"_angle_style_harmonic.html - harmonic angle :ul + +:line + +[Restrictions:] + +This command must come after the simulation box is defined by a +"read_data"_read_data.html, "read_restart"_read_restart.html, or +"create_box"_create_box.html command. + +An angle style must be defined before any angle coefficients are +set, either in the input script or in a data file. + +[Related commands:] + +"angle_style"_angle_style.html + +[Default:] none diff --git a/doc/angle_style.html b/doc/angle_style.html new file mode 100644 index 0000000000..3e2edf80b3 --- /dev/null +++ b/doc/angle_style.html @@ -0,0 +1,82 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      angle_style command +

      +

      Syntax: +

      +
      angle_style style 
      +
      +
      • style = none or hybrid or charmm or class2 or cosine or cosine/squared or harmonic +
      +

      Examples: +

      +
      angle_style harmonic
      +angle_style charmm
      +angle_style hybrid harmonic cosine 
      +
      +

      Description: +

      +

      Set the formula(s) LAMMPS uses to compute angle interactions between +triplets of atoms, which remain in force for the duration of the +simulation. The list of angle triplets is read in by a +read_data or read_restart command +from a data or restart file. +

      +

      Hybrid models where angles are computed using different angle +potentials can be setup using the hybrid angle style. +

      +

      The coefficients associated with a angle style can be specified in a +data or restart file or via the angle_coeff command. +

      +

      In the formulas listed for each angle style, theta is the angle +between the 3 atoms in the angle. +

      +

      Note that when both an angle and pair style is defined, the +special_bond command often needs to be used to +turn off (or weight) the pairwise interactions that would otherwise +exist between the 3 bonded atoms. +

      +
      + +

      Here is an alphabetic list of angle styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated angle_coeff command: +

      + + +
      + +

      Restrictions: +

      +

      Angle styles can only be set for atom_styles that allow angles to be +defined. +

      +

      Angle styles are part of the "molecular" package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      angle_coeff +

      +

      Default: +

      +
      angle_style none 
      +
      + diff --git a/doc/angle_style.txt b/doc/angle_style.txt new file mode 100644 index 0000000000..beca2044bb --- /dev/null +++ b/doc/angle_style.txt @@ -0,0 +1,78 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +angle_style command :h3 + +[Syntax:] + +angle_style style :pre + +style = {none} or {hybrid} or {charmm} or {class2} or {cosine} or \ + {cosine/squared} or {harmonic} :ul + +[Examples:] + +angle_style harmonic +angle_style charmm +angle_style hybrid harmonic cosine :pre + +[Description:] + +Set the formula(s) LAMMPS uses to compute angle interactions between +triplets of atoms, which remain in force for the duration of the +simulation. The list of angle triplets is read in by a +"read_data"_read_data.html or "read_restart"_read_restart.html command +from a data or restart file. + +Hybrid models where angles are computed using different angle +potentials can be setup using the {hybrid} angle style. + +The coefficients associated with a angle style can be specified in a +data or restart file or via the "angle_coeff"_angle_coeff.html command. + +In the formulas listed for each angle style, {theta} is the angle +between the 3 atoms in the angle. + +Note that when both an angle and pair style is defined, the +"special_bond"_special_bond.html command often needs to be used to +turn off (or weight) the pairwise interactions that would otherwise +exist between the 3 bonded atoms. + +:line + +Here is an alphabetic list of angle styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated "angle_coeff"_angle_coeff.html command: + +"angle_style none"_angle_style_none.html - turn off angle interactions +"angle_style hybrid"_angle_style_hybrid.html - define multiple styles of angle interactions :ul + +"angle_style charmm"_angle_style_charmm.html - CHARMM angle +"angle_style class2"_angle_style_class2.html - COMPASS (class 2) angle +"angle_style cosine"_angle_style_cosine.html - cosine angle potential +"angle_style cosine/squared"_angle_style_cosine_squared.html - cosine squared angle potential +"angle_style harmonic"_angle_style_harmonic.html - harmonic angle :ul + +:line + +[Restrictions:] + +Angle styles can only be set for atom_styles that allow angles to be +defined. + +Angle styles are part of the "molecular" package. They are only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"angle_coeff"_angle_coeff.html + +[Default:] + +angle_style none :pre diff --git a/doc/angle_style_charmm.html b/doc/angle_style_charmm.html new file mode 100644 index 0000000000..94b63ae3bd --- /dev/null +++ b/doc/angle_style_charmm.html @@ -0,0 +1,61 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      angle_style charmm command +

      +

      Syntax: +

      +
      angle_style charmm 
      +
      +

      Examples: +

      +
      angle_style charmm
      +angle_coeff 1 300.0 107.0 50.0 3.0 
      +
      +

      Description: +

      +

      The charmm angle style uses the potential +

      +
      +
      +

      with an additional Urey_Bradley term based on the distance r between +the 1st and 3rd atoms in the angle. K, theta0, Kub, and Rub are +coefficients defined for each angle type. +

      +

      The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy/radian^2) +
      • theta0 (degrees) +
      • K_ub (energy/distance^2) +
      • r_ub (distance) +
      +

      Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

      +

      Restrictions: +

      +

      Angle styles can only be set for atom styles that allow angles to be +defined. +

      +

      This angle style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      angle_coeff +

      +

      Default: none +

      + diff --git a/doc/angle_style_charmm.txt b/doc/angle_style_charmm.txt new file mode 100644 index 0000000000..ef769720e4 --- /dev/null +++ b/doc/angle_style_charmm.txt @@ -0,0 +1,56 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +angle_style charmm command :h3 + +[Syntax:] + +angle_style charmm :pre + +[Examples:] + +angle_style charmm +angle_coeff 1 300.0 107.0 50.0 3.0 :pre + +[Description:] + +The {charmm} angle style uses the potential + +:c,image(Eqs/angle_charmm.jpg) + +with an additional Urey_Bradley term based on the distance {r} between +the 1st and 3rd atoms in the angle. K, theta0, Kub, and Rub are +coefficients defined for each angle type. + +The following coefficients must be defined for each angle type via the +"angle_coeff"_angle_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy/radian^2) +theta0 (degrees) +K_ub (energy/distance^2) +r_ub (distance) :ul + +Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. + +[Restrictions:] + +Angle styles can only be set for atom styles that allow angles to be +defined. + +This angle style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"angle_coeff"_angle_coeff.html + +[Default:] none diff --git a/doc/angle_style_class2.html b/doc/angle_style_class2.html new file mode 100644 index 0000000000..0649b37d8f --- /dev/null +++ b/doc/angle_style_class2.html @@ -0,0 +1,80 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      angle_style class2 command +

      +

      Syntax: +

      +
      angle_style class2 
      +
      +

      Examples: +

      +
      angle_style class2
      +angle_coeff * 75.0 
      +
      +

      Description: +

      +

      The class2 angle style uses the potential +

      +
      +
      +

      where Ea is the angle term, Ebb is a bond-bond term, and Eba is a +bond-angle term. Theta0 is the equilibrium angle and r1 and r2 are +the equilibrium bond lengths. +

      +

      For this style, only coefficients for the Ea formula can be specified +in the input script. These are the 4 coefficients: +

      +
      • theta0 (degrees) +
      • K2 (energy/radian^2) +
      • K3 (energy/radian^2) +
      • K4 (energy/radian^2) +
      +

      Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

      +

      Coefficients for the Ebb and Eba formulas must be specified in the +data file. +

      +

      For the Ebb formula, the coefficients are listed under a "BondBond +Coeffs" heading and each line lists 3 coefficients: +

      +
      • M (energy/distance^2) +
      • r1 (distance) +
      • r2 (distance) +
      +

      For the Eba formula, the coefficients are listed under a "BondAngle +Coeffs" heading and each line lists 4 coefficients: +

      +
      • N1 (energy/distance^2) +
      • N2 (energy/distance^2) +
      • r1 (distance) +
      • r2 (distance) +
      +

      The theta0 value in the Eba formula is not specified, since it is the +same value from the Ea formula. +

      +

      Restrictions: +

      +

      Angle styles can only be set for atom styles that allow angles to be +defined. +

      +

      This angle style is part of the "class2" package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      angle_coeff +

      +

      Default: none +

      + diff --git a/doc/angle_style_class2.txt b/doc/angle_style_class2.txt new file mode 100644 index 0000000000..adf5854ac3 --- /dev/null +++ b/doc/angle_style_class2.txt @@ -0,0 +1,75 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +angle_style class2 command :h3 + +[Syntax:] + +angle_style class2 :pre + +[Examples:] + +angle_style class2 +angle_coeff * 75.0 :pre + +[Description:] + +The {class2} angle style uses the potential + +:c,image(Eqs/angle_class2.jpg) + +where Ea is the angle term, Ebb is a bond-bond term, and Eba is a +bond-angle term. Theta0 is the equilibrium angle and r1 and r2 are +the equilibrium bond lengths. + +For this style, only coefficients for the Ea formula can be specified +in the input script. These are the 4 coefficients: + +theta0 (degrees) +K2 (energy/radian^2) +K3 (energy/radian^2) +K4 (energy/radian^2) :ul + +Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. + +Coefficients for the Ebb and Eba formulas must be specified in the +data file. + +For the Ebb formula, the coefficients are listed under a "BondBond +Coeffs" heading and each line lists 3 coefficients: + +M (energy/distance^2) +r1 (distance) +r2 (distance) :ul + +For the Eba formula, the coefficients are listed under a "BondAngle +Coeffs" heading and each line lists 4 coefficients: + +N1 (energy/distance^2) +N2 (energy/distance^2) +r1 (distance) +r2 (distance) :ul + +The theta0 value in the Eba formula is not specified, since it is the +same value from the Ea formula. + +[Restrictions:] + +Angle styles can only be set for atom styles that allow angles to be +defined. + +This angle style is part of the "class2" package. It is only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"angle_coeff"_angle_coeff.html + +[Default:] none diff --git a/doc/angle_style_cosine.html b/doc/angle_style_cosine.html new file mode 100644 index 0000000000..3f295764dd --- /dev/null +++ b/doc/angle_style_cosine.html @@ -0,0 +1,53 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      angle_style cosine command +

      +

      Syntax: +

      +
      angle_style cosine 
      +
      +

      Examples: +

      +
      angle_style cosine
      +angle_coeff * 75.0 
      +
      +

      Description: +

      +

      The cosine angle style uses the potential +

      +
      +
      +

      where K is defined for each angle type. +

      +

      The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy) +
      +

      Restrictions: +

      +

      Angle styles can only be set for atom styles that allow angles to be +defined. +

      +

      This angle style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      angle_coeff +

      +

      Default: none +

      + diff --git a/doc/angle_style_cosine.txt b/doc/angle_style_cosine.txt new file mode 100644 index 0000000000..b276e7ee14 --- /dev/null +++ b/doc/angle_style_cosine.txt @@ -0,0 +1,48 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +angle_style cosine command :h3 + +[Syntax:] + +angle_style cosine :pre + +[Examples:] + +angle_style cosine +angle_coeff * 75.0 :pre + +[Description:] + +The {cosine} angle style uses the potential + +:c,image(Eqs/angle_cosine.jpg) + +where K is defined for each angle type. + +The following coefficients must be defined for each angle type via the +"angle_coeff"_angle_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy) :ul + +[Restrictions:] + +Angle styles can only be set for atom styles that allow angles to be +defined. + +This angle style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"angle_coeff"_angle_coeff.html + +[Default:] none diff --git a/doc/angle_style_cosine_squared.html b/doc/angle_style_cosine_squared.html new file mode 100644 index 0000000000..77c5a0f44b --- /dev/null +++ b/doc/angle_style_cosine_squared.html @@ -0,0 +1,58 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      angle_style cosine/squared command +

      +

      Syntax: +

      +
      angle_style cosine/squared 
      +
      +

      Examples: +

      +
      angle_style cosine/squared
      +angle_coeff 2*4 75.0 100.0 
      +
      +

      Description: +

      +

      The cosine/squared angle style uses the potential +

      +
      +
      +

      where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K. +

      +

      The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy) +
      • theta0 (degrees) +
      +

      Theta0 is specified in degrees, but LAMMPS converts it to radians +internally. +

      +

      Restrictions: +

      +

      Angle styles can only be set for atom styles that allow angles to be +defined. +

      +

      This angle style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      angle_coeff +

      +

      Default: none +

      + diff --git a/doc/angle_style_cosine_squared.txt b/doc/angle_style_cosine_squared.txt new file mode 100644 index 0000000000..011b2f41af --- /dev/null +++ b/doc/angle_style_cosine_squared.txt @@ -0,0 +1,53 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +angle_style cosine/squared command :h3 + +[Syntax:] + +angle_style cosine/squared :pre + +[Examples:] + +angle_style cosine/squared +angle_coeff 2*4 75.0 100.0 :pre + +[Description:] + +The {cosine/squared} angle style uses the potential + +:c,image(Eqs/angle_cosine_squared.jpg) + +where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K. + +The following coefficients must be defined for each angle type via the +"angle_coeff"_angle_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy) +theta0 (degrees) :ul + +Theta0 is specified in degrees, but LAMMPS converts it to radians +internally. + +[Restrictions:] + +Angle styles can only be set for atom styles that allow angles to be +defined. + +This angle style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"angle_coeff"_angle_coeff.html + +[Default:] none diff --git a/doc/angle_style_harmonic.html b/doc/angle_style_harmonic.html new file mode 100644 index 0000000000..ebfcfd89f2 --- /dev/null +++ b/doc/angle_style_harmonic.html @@ -0,0 +1,58 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      angle_style harmonic command +

      +

      Syntax: +

      +
      angle_style harmonic 
      +
      +

      Examples: +

      +
      angle_style harmonic
      +angle_coeff 1 300.0 107.0 
      +
      +

      Description: +

      +

      The harmonic angle style uses the potential +

      +
      +
      +

      where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K. +

      +

      The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy/radian^2) +
      • theta0 (degrees) +
      +

      Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

      +

      Restrictions: +

      +

      Angle styles can only be set for atom styles that allow angles to be +defined. +

      +

      This angle style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      angle_coeff +

      +

      Default: none +

      + diff --git a/doc/angle_style_harmonic.txt b/doc/angle_style_harmonic.txt new file mode 100644 index 0000000000..a0fa85b6ff --- /dev/null +++ b/doc/angle_style_harmonic.txt @@ -0,0 +1,53 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +angle_style harmonic command :h3 + +[Syntax:] + +angle_style harmonic :pre + +[Examples:] + +angle_style harmonic +angle_coeff 1 300.0 107.0 :pre + +[Description:] + +The {harmonic} angle style uses the potential + +:c,image(Eqs/angle_harmonic.jpg) + +where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K. + +The following coefficients must be defined for each angle type via the +"angle_coeff"_angle_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy/radian^2) +theta0 (degrees) :ul + +Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. + +[Restrictions:] + +Angle styles can only be set for atom styles that allow angles to be +defined. + +This angle style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"angle_coeff"_angle_coeff.html + +[Default:] none diff --git a/doc/angle_style_hybrid.html b/doc/angle_style_hybrid.html new file mode 100644 index 0000000000..7133b2a8db --- /dev/null +++ b/doc/angle_style_hybrid.html @@ -0,0 +1,58 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      angle_style hybrid command +

      +

      Syntax: +

      +
      angle_style hybrid style1 style2 ... 
      +
      +
      • style1,style2 = list of one or more angle styles +
      +

      Examples: +

      +
      angle_style hybrid harmonic cosine
      +angle_coeff 1 harmonic 80.0 1.2
      +angle_coeff 2* cosine 50.0  
      +
      +

      Description: +

      +

      The hybrid style enables the use of multiple angle styles in one +simulation. An angle style is assigned to each angle type. For +example, angles in a polymer flow (of angle type 1) could be computed +with a harmonic potential and angles in the wall boundary (of angle +type 2) could be computed with a cosine potential. The assignment +of angle type to style is made via the angle_coeff +command or in the data file. +

      +

      In the angle_coeff command, the first coefficient sets the angle style +and the remaining coefficients are those appropriate to that style. +In the example above, the 2 angle_coeff commands would set angles of +angle type 1 to be computed with a harmonic potential with +coefficients 80.0, 1.2 for K, r0. All other angle types (2-N) would +be computed with a cosine potential with coefficient 50.0 for K. +

      +

      Restrictions: +

      +

      Angle styles can only be set for atom styles that allow angles to be +defined. +

      +

      This angle style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      angle_coeff +

      +

      Default: none +

      + diff --git a/doc/angle_style_hybrid.txt b/doc/angle_style_hybrid.txt new file mode 100644 index 0000000000..07e87ffa8d --- /dev/null +++ b/doc/angle_style_hybrid.txt @@ -0,0 +1,53 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +angle_style hybrid command :h3 + +[Syntax:] + +angle_style hybrid style1 style2 ... :pre + +style1,style2 = list of one or more angle styles :ul + +[Examples:] + +angle_style hybrid harmonic cosine +angle_coeff 1 harmonic 80.0 1.2 +angle_coeff 2* cosine 50.0 :pre + +[Description:] + +The {hybrid} style enables the use of multiple angle styles in one +simulation. An angle style is assigned to each angle type. For +example, angles in a polymer flow (of angle type 1) could be computed +with a {harmonic} potential and angles in the wall boundary (of angle +type 2) could be computed with a {cosine} potential. The assignment +of angle type to style is made via the "angle_coeff"_angle_coeff.html +command or in the data file. + +In the angle_coeff command, the first coefficient sets the angle style +and the remaining coefficients are those appropriate to that style. +In the example above, the 2 angle_coeff commands would set angles of +angle type 1 to be computed with a {harmonic} potential with +coefficients 80.0, 1.2 for K, r0. All other angle types (2-N) would +be computed with a {cosine} potential with coefficient 50.0 for K. + +[Restrictions:] + +Angle styles can only be set for atom styles that allow angles to be +defined. + +This angle style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"angle_coeff"_angle_coeff.html + +[Default:] none diff --git a/doc/angle_style_none.html b/doc/angle_style_none.html new file mode 100644 index 0000000000..559ad56b65 --- /dev/null +++ b/doc/angle_style_none.html @@ -0,0 +1,37 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      angle_style none command +

      +

      Syntax: +

      +
      angle_style none 
      +
      +

      Examples: +

      +
      angle_style none 
      +
      +

      Description: +

      +

      Using an angle style of none means angle forces are not computed, even +if triplets of angle atoms were listed in the data file read by the +read_data command. +

      +

      Restrictions: +

      +

      Angle styles can only be set for atom styles that allow angles to be +defined. +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/angle_style_none.txt b/doc/angle_style_none.txt new file mode 100644 index 0000000000..56a18bb39f --- /dev/null +++ b/doc/angle_style_none.txt @@ -0,0 +1,32 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +angle_style none command :h3 + +[Syntax:] + +angle_style none :pre + +[Examples:] + +angle_style none :pre + +[Description:] + +Using an angle style of none means angle forces are not computed, even +if triplets of angle atoms were listed in the data file read by the +"read_data"_read_data.html command. + +[Restrictions:] + +Angle styles can only be set for atom styles that allow angles to be +defined. + +[Related commands:] none + +[Default:] none diff --git a/doc/atom_modify.html b/doc/atom_modify.html new file mode 100644 index 0000000000..b577d19854 --- /dev/null +++ b/doc/atom_modify.html @@ -0,0 +1,58 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      atom_modify command +

      +

      Syntax: +

      +
      atom_modify keyword value ... 
      +
      +
      • one or more keyword/value pairs may be appended + +
      • keyword = map + +
          map value = array or hash 
        +
        + +
      +

      Examples: +

      +
      atom_modify map hash 
      +
      +

      Description: +

      +

      Modify properties of the atom style selected within LAMMPS. +

      +

      The map keyword determines how atom ID lookup is done for molecular +problems. Lookups are performed by bond (angle, etc) routines in +LAMMPS to find the local atom index associated with a global atom ID. +When the array value is used, each processor stores a lookup table +of length N, where N is the total # of atoms in the system. This is +the fastest method for most simulations, but a processor can run out +of memory to store the table for very large simulations. The hash +value uses a hash table to perform the lookups. This method can be +slightly slower than the array method, but its memory cost is +proportional to N/P on each processor, where P is the total number of +processors running the simulation. +

      +

      Restrictions: +

      +

      This command must be used before the simulation box is defined by a +read_data or create_box command. +

      +

      Related commands: none +

      +

      Default: +

      +

      By default, atomic (non-molecular) problems do not allocate maps. +For molecular problems, the option default is map = array. +

      + diff --git a/doc/atom_modify.txt b/doc/atom_modify.txt new file mode 100644 index 0000000000..85b311c755 --- /dev/null +++ b/doc/atom_modify.txt @@ -0,0 +1,50 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +atom_modify command :h3 + +[Syntax:] + +atom_modify keyword value ... :pre + +one or more keyword/value pairs may be appended :ulb,l +keyword = {map} :l + {map} value = {array} or {hash} :pre +:ule + +[Examples:] + +atom_modify map hash :pre + +[Description:] + +Modify properties of the atom style selected within LAMMPS. + +The {map} keyword determines how atom ID lookup is done for molecular +problems. Lookups are performed by bond (angle, etc) routines in +LAMMPS to find the local atom index associated with a global atom ID. +When the {array} value is used, each processor stores a lookup table +of length N, where N is the total # of atoms in the system. This is +the fastest method for most simulations, but a processor can run out +of memory to store the table for very large simulations. The {hash} +value uses a hash table to perform the lookups. This method can be +slightly slower than the {array} method, but its memory cost is +proportional to N/P on each processor, where P is the total number of +processors running the simulation. + +[Restrictions:] + +This command must be used before the simulation box is defined by a +"read_data"_read_data.html or "create_box"_create_box.html command. + +[Related commands:] none + +[Default:] + +By default, atomic (non-molecular) problems do not allocate maps. +For molecular problems, the option default is map = array. diff --git a/doc/atom_style.html b/doc/atom_style.html new file mode 100644 index 0000000000..cc39bf7369 --- /dev/null +++ b/doc/atom_style.html @@ -0,0 +1,89 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      atom_style command +

      +

      Syntax: +

      +
      atom_style style args 
      +
      +
      • style = angle or atomic or bond or charge or dipole or dpd or full or granular or molecular or hybrid +
      +
        args = none for any style except hybrid
      +  hybrid args = list of one or more styles 
      +
      +

      Examples: +

      +
      atom_style bond
      +atom_style full
      +atom_style hybrid charge bond 
      +
      +

      Description: +

      +

      Define what style of atoms to use in a simulation. This determines +what attributes are associated with the atoms. This command must be +used before a simulation is setup via a read_data, +read_restart, or create_box +command. +

      +

      Once a style is assigned, it cannot be changed, so use a style general +enough to encompass all attributes. E.g. with style bond, angular +terms cannot be used or added later to the model. It is OK to use a +style more general than needed, though it may be slightly inefficient. +

      +

      The choice of style affects what quantities are stored by each atom, +what quantities are communicated between processors to enable forces +to be computed, and what quantities are listed in the data file read +by the read_data command. +

      +

      These are the attributes of each style. All styles store coordinates, +velocities, atom IDs and types. +

      +
      • angle = bonds and angles - e.g. bead-spring polymers with stiffness +
      • atomic = only the default values +
      • bond = bonds - e.g. bead-spring polymers +
      • charge = charge +
      • dipole = charge + dipole moments +
      • dpd = default values, also communicates velocities +
      • molecular = bonds, angles, dihedrals, impropers - e.g. all-atom polymers +
      • full = molecular + charge - e.g. biomolecules, charged polymers +
      • granular = granular material with rotational properties +
      +

      Typical simulations with a single pair potential will use only one of +these styles. For cases where multiple pair potentials will be used +(see the pair_style hybrid command), it may be +necessary to use multiple atom styles. Another example is doing a DPD +simulations with bonds or angles. In these cases the hybrid style +can be used to list multiple atom styles. Atoms will then store and +communicate the union of all quantities implied by the individual +styles. +

      +

      LAMMPS can be extended with new atom styles; see this +section. +

      +

      Restrictions: +

      +

      This command cannot be used after the simulation box is defined by a +read_data or create_box command. +

      +

      The angle, bond, full, and molecular styles are part of the +"molecular" package. The granular style is part of the "granular" +package. The dpd style is part of the "dpd" package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      read_data, pair_style +

      +

      Default: none +

      + diff --git a/doc/atom_style.txt b/doc/atom_style.txt new file mode 100644 index 0000000000..3a39e152bf --- /dev/null +++ b/doc/atom_style.txt @@ -0,0 +1,84 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +atom_style command :h3 + +[Syntax:] + +atom_style style args :pre + +style = {angle} or {atomic} or {bond} or {charge} or {dipole} or {dpd} or \ + {full} or {granular} or {molecular} or {hybrid} :ul + args = none for any style except {hybrid} + {hybrid} args = list of one or more styles :pre + +[Examples:] + +atom_style bond +atom_style full +atom_style hybrid charge bond :pre + +[Description:] + +Define what style of atoms to use in a simulation. This determines +what attributes are associated with the atoms. This command must be +used before a simulation is setup via a "read_data"_read_data.html, +"read_restart"_read_restart.html, or "create_box"_create_box.html +command. + +Once a style is assigned, it cannot be changed, so use a style general +enough to encompass all attributes. E.g. with style {bond}, angular +terms cannot be used or added later to the model. It is OK to use a +style more general than needed, though it may be slightly inefficient. + +The choice of style affects what quantities are stored by each atom, +what quantities are communicated between processors to enable forces +to be computed, and what quantities are listed in the data file read +by the "read_data"_read_data.html command. + +These are the attributes of each style. All styles store coordinates, +velocities, atom IDs and types. + +{angle} = bonds and angles - e.g. bead-spring polymers with stiffness +{atomic} = only the default values +{bond} = bonds - e.g. bead-spring polymers +{charge} = charge +{dipole} = charge + dipole moments +{dpd} = default values, also communicates velocities +{molecular} = bonds, angles, dihedrals, impropers - e.g. all-atom polymers +{full} = molecular + charge - e.g. biomolecules, charged polymers +{granular} = granular material with rotational properties :ul + +Typical simulations with a single pair potential will use only one of +these styles. For cases where multiple pair potentials will be used +(see the "pair_style"_pair_style.html {hybrid} command), it may be +necessary to use multiple atom styles. Another example is doing a DPD +simulations with bonds or angles. In these cases the {hybrid} style +can be used to list multiple atom styles. Atoms will then store and +communicate the union of all quantities implied by the individual +styles. + +LAMMPS can be extended with new atom styles; see "this +section"_Section_modify.html. + +[Restrictions:] + +This command cannot be used after the simulation box is defined by a +"read_data"_read_data.html or "create_box"_create_box.html command. + +The {angle}, {bond}, {full}, and {molecular} styles are part of the +"molecular" package. The {granular} style is part of the "granular" +package. The {dpd} style is part of the "dpd" package. They are only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"read_data"_read_data.html, "pair_style"_pair_style.html + +[Default:] none diff --git a/doc/bond_coeff.html b/doc/bond_coeff.html new file mode 100644 index 0000000000..f6a4d17640 --- /dev/null +++ b/doc/bond_coeff.html @@ -0,0 +1,94 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_coeff command +

      +

      Syntax: +

      +
      bond_coeff N args 
      +
      +
      • N = bond type (see asterik form below) +
      • args = coefficients for one or more bond types +
      +

      Examples: +

      +
      bond_coeff 5 80.0 1.2
      +bond_coeff * 30.0 1.5 1.0 1.0
      +bond_coeff 1*4 30.0 1.5 1.0 1.0
      +bond_coeff 1 harmonic 200.0 1.0 
      +
      +

      Description: +

      +

      Specify the bond force field coefficients for one or more bond types. +The number and meaning of the coefficients depends on the bond style. +Bond coefficients can also be set in the data file read by the +read_data command or in a restart file. +

      +

      N can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the coefficients for multiple bond types. This takes the +form "*" or "*n" or "n*" or "m*n". If N = the number of bond types, +then an asterik with no numeric values means all types from 1 to N. A +leading asterik means all types from 1 to n (inclusive). A trailing +asterik means all types from n to N (inclusive). A middle asterik +means all types from m to n (inclusive). +

      +

      Note that using a bond_coeff command can override a previous setting +for the same bond type. For example, these commands set the coeffs +for all bond types, then overwrite the coeffs for just bond type 2: +

      +
      bond_coeff * 100.0 1.2
      +bond_coeff 2 200.0 1.2 
      +
      +

      A line in a data file that specifies bond coefficients uses the exact +same format as the arguments of the bond_coeff command in an input +script, except that wild-card asteriks should not be used since +coefficients for all N types must be listed in the file. For example, +under the "Bond Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as +

      +
      5 80.0 1.2 
      +
      +
      + +

      Here is an alphabetic list of bond styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated bond_coeff command: +

      + + +
      + +

      Restrictions: +

      +

      This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

      +

      A bond style must be defined before any bond coefficients are set, +either in the input script or in a data file. +

      +

      Related commands: +

      +

      bond_style +

      +

      Default: none +

      + diff --git a/doc/bond_coeff.txt b/doc/bond_coeff.txt new file mode 100644 index 0000000000..1fd4dc48b3 --- /dev/null +++ b/doc/bond_coeff.txt @@ -0,0 +1,89 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_coeff command :h3 + +[Syntax:] + +bond_coeff N args :pre + +N = bond type (see asterik form below) +args = coefficients for one or more bond types :ul + +[Examples:] + +bond_coeff 5 80.0 1.2 +bond_coeff * 30.0 1.5 1.0 1.0 +bond_coeff 1*4 30.0 1.5 1.0 1.0 +bond_coeff 1 harmonic 200.0 1.0 :pre + +[Description:] + +Specify the bond force field coefficients for one or more bond types. +The number and meaning of the coefficients depends on the bond style. +Bond coefficients can also be set in the data file read by the +"read_data"_read_data.html command or in a restart file. + +N can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the coefficients for multiple bond types. This takes the +form "*" or "*n" or "n*" or "m*n". If N = the number of bond types, +then an asterik with no numeric values means all types from 1 to N. A +leading asterik means all types from 1 to n (inclusive). A trailing +asterik means all types from n to N (inclusive). A middle asterik +means all types from m to n (inclusive). + +Note that using a bond_coeff command can override a previous setting +for the same bond type. For example, these commands set the coeffs +for all bond types, then overwrite the coeffs for just bond type 2: + +bond_coeff * 100.0 1.2 +bond_coeff 2 200.0 1.2 :pre + +A line in a data file that specifies bond coefficients uses the exact +same format as the arguments of the bond_coeff command in an input +script, except that wild-card asteriks should not be used since +coefficients for all N types must be listed in the file. For example, +under the "Bond Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as + +5 80.0 1.2 :pre + +:line + +Here is an alphabetic list of bond styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated "bond_coeff"_bond_coeff.html command: + +"bond_style none"_bond_style_none.html - turn off bonded interactions +"bond_style hybrid"_bond_style_hybrid.html - define multiple styles of bond interactions :ul + +"bond_style class2"_bond_style_class.html - COMPASS (class 2) bond +"bond_style fene"_bond_style_fene.html - FENE (finite-extensible non-linear elastic) bond +"bond_style fene/expand"_bond_style_fene_expand.html - FENE bonds with variable size particles +"bond_style harmonic"_bond_style_harmonic.html - harmonic bond +"bond_style morse"_bond_style_morse.html - Morse bond +"bond_style nonlinear"_bond_style_nonlinear.html - nonlinear bond +"bond_style quartic"_bond_style_quartic.html - breakable quartic bond :ul + +:line + +[Restrictions:] + +This command must come after the simulation box is defined by a +"read_data"_read_data.html, "read_restart"_read_restart.html, or +"create_box"_create_box.html command. + +A bond style must be defined before any bond coefficients are set, +either in the input script or in a data file. + +[Related commands:] + +"bond_style"_bond_style.html + +[Default:] none diff --git a/doc/bond_style.html b/doc/bond_style.html new file mode 100644 index 0000000000..c2a1214fc5 --- /dev/null +++ b/doc/bond_style.html @@ -0,0 +1,93 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_style command +

      +

      Syntax: +

      +
      bond_style style args 
      +
      +
      • style = none or hybrid or class2 or fene or fene/expand or harmonic or morse or nonlinear or quartic +
      +
        args = none for any style except hybrid
      +  hybrid args = list of one or more styles 
      +
      +

      Examples: +

      +
      bond_style harmonic
      +bond_style fene
      +bond_style hybrid harmonic fene 
      +
      +

      Description: +

      +

      Set the formula(s) LAMMPS uses to compute bond interactions between +pairs of atoms. In LAMMPS, a bond differs from a pairwise +interaction, which are set via the pair_style +command. Bonds are defined between specified pairs of atoms and +remain in force for the duration of the simulation (unless the bond +breaks which is possible in some bond potentials). The list of bonded +atoms is read in by a read_data or +read_restart command from a data or restart file. +By contrast, pair potentials are defined between pairs of atoms that +are within a cutoff distance and the set of active interactions +typically changes over time. +

      +

      Hybrid models where bonds are computed using different bond potentials +can be setup using the hybrid bond style. +

      +

      The coefficients associated with a bond style can be specified in a +data or restart file or via the bond_coeff command. +

      +

      In the formulas listed for each bond style, r is the distance +between the 2 atoms in the bond. +

      +

      Note that when both a bond and pair style is defined, the +special_bond command often needs to be used to +turn off (or weight) the pairwise interaction that would otherwise +exist between 2 bonded atoms. +

      +
      + +

      Here is an alphabetic list of bond styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated bond_coeff command: +

      + + +
      + +

      Restrictions: +

      +

      Bond styles can only be set for atom styles that allow bonds to be +defined. +

      +

      Bond styles are part of the "molecular" package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      bond_coeff, delete_bonds +

      +

      Default: +

      +

      bond_style none +

      + diff --git a/doc/bond_style.txt b/doc/bond_style.txt new file mode 100644 index 0000000000..dab6b0fc31 --- /dev/null +++ b/doc/bond_style.txt @@ -0,0 +1,88 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_style command :h3 + +[Syntax:] + +bond_style style args :pre + +style = {none} or {hybrid} or {class2} or {fene} or {fene/expand} or \ + {harmonic} or {morse} or {nonlinear} or {quartic} :ul + args = none for any style except {hybrid} + {hybrid} args = list of one or more styles :pre + +[Examples:] + +bond_style harmonic +bond_style fene +bond_style hybrid harmonic fene :pre + +[Description:] + +Set the formula(s) LAMMPS uses to compute bond interactions between +pairs of atoms. In LAMMPS, a bond differs from a pairwise +interaction, which are set via the "pair_style"_pair_style.html +command. Bonds are defined between specified pairs of atoms and +remain in force for the duration of the simulation (unless the bond +breaks which is possible in some bond potentials). The list of bonded +atoms is read in by a "read_data"_read_data.html or +"read_restart"_read_restart.html command from a data or restart file. +By contrast, pair potentials are defined between pairs of atoms that +are within a cutoff distance and the set of active interactions +typically changes over time. + +Hybrid models where bonds are computed using different bond potentials +can be setup using the {hybrid} bond style. + +The coefficients associated with a bond style can be specified in a +data or restart file or via the "bond_coeff"_bond_coeff.html command. + +In the formulas listed for each bond style, {r} is the distance +between the 2 atoms in the bond. + +Note that when both a bond and pair style is defined, the +"special_bond"_special_bond.html command often needs to be used to +turn off (or weight) the pairwise interaction that would otherwise +exist between 2 bonded atoms. + +:line + +Here is an alphabetic list of bond styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated "bond_coeff"_bond_coeff.html command: + +"bond_style none"_bond_style_none.html - turn off bonded interactions +"bond_style hybrid"_bond_style_hybrid.html - define multiple styles of bond interactions :ul + +"bond_style class2"_bond_style_class2.html - COMPASS (class 2) bond +"bond_style fene"_bond_style_fene.html - FENE (finite-extensible non-linear elastic) bond +"bond_style fene/expand"_bond_style_fene_expand.html - FENE bonds with variable size particles +"bond_style harmonic"_bond_style_harmonic.html - harmonic bond +"bond_style morse"_bond_style_morse.html - Morse bond +"bond_style nonlinear"_bond_style_nonlinear.html - nonlinear bond +"bond_style quartic"_bond_style_quartic.html - breakable quartic bond :ul + +:line + +[Restrictions:] + +Bond styles can only be set for atom styles that allow bonds to be +defined. + +Bond styles are part of the "molecular" package. They are only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html + +[Default:] + +bond_style none diff --git a/doc/bond_style_class2.html b/doc/bond_style_class2.html new file mode 100644 index 0000000000..5d2fe2db2f --- /dev/null +++ b/doc/bond_style_class2.html @@ -0,0 +1,56 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_style class2 command +

      +

      Syntax: +

      +
      bond_style class2 
      +
      +

      Examples: +

      +
      bond_style class2
      +bond_coeff 1 1.0 100.0 80.0 80.0 
      +
      +

      Description: +

      +

      The class2 bond style uses the potential +

      +
      +
      +

      where r0 is the equilibrium bond distance. +

      +

      The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • R0 (distance) +
      • K2 (energy/distance^2) +
      • K3 (energy/distance^2) +
      • K4 (energy/distance^2) +
      +

      Restrictions: +

      +

      Bond styles can only be set for atom styles that allow bonds to be +defined. +

      +

      This bond style is part of the "class2" package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      bond_coeff, delete_bonds +

      +

      Default: none +

      + diff --git a/doc/bond_style_class2.txt b/doc/bond_style_class2.txt new file mode 100644 index 0000000000..8237309901 --- /dev/null +++ b/doc/bond_style_class2.txt @@ -0,0 +1,51 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_style class2 command :h3 + +[Syntax:] + +bond_style class2 :pre + +[Examples:] + +bond_style class2 +bond_coeff 1 1.0 100.0 80.0 80.0 :pre + +[Description:] + +The {class2} bond style uses the potential + +:c,image(Eqs/bond_class2.jpg) + +where r0 is the equilibrium bond distance. + +The following coefficients must be defined for each bond type via the +"bond_coeff"_bond_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +R0 (distance) +K2 (energy/distance^2) +K3 (energy/distance^2) +K4 (energy/distance^2) :ul + +[Restrictions:] + +Bond styles can only be set for atom styles that allow bonds to be +defined. + +This bond style is part of the "class2" package. It is only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html + +[Default:] none diff --git a/doc/bond_style_fene.html b/doc/bond_style_fene.html new file mode 100644 index 0000000000..3df41496aa --- /dev/null +++ b/doc/bond_style_fene.html @@ -0,0 +1,66 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_style fene command +

      +

      Syntax: +

      +
      bond_style fene 
      +
      +

      Examples: +

      +
      bond_style fene
      +bond_coeff 1 30.0 1.5 1.0 1.0 
      +
      +

      Description: +

      +

      The fene bond style uses the potential +

      +
      +
      +

      to define a finite extensible nonlinear elastic (FENE) potential +(Kremer), used for bead-spring polymer models. The first +term is attractive, the 2nd Lennard-Jones term is repulsive. The +first term extends to R0, the maximum extent of the bond. The 2nd +term is cutoff at 2^(1/6) sigma, the minimum of the LJ potential. +

      +

      The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy/distance^2) +
      • R0 (distance) +
      • epsilon (energy) +
      • sigma (distance) +
      +

      Restrictions: +

      +

      Bond styles can only be set for atom styles that allow bonds to be +defined. +

      +

      This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      bond_coeff, delete_bonds +

      +

      Default: none +

      +
      + + + +

      (Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990). +

      + diff --git a/doc/bond_style_fene.txt b/doc/bond_style_fene.txt new file mode 100644 index 0000000000..7c288c84b0 --- /dev/null +++ b/doc/bond_style_fene.txt @@ -0,0 +1,60 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_style fene command :h3 + +[Syntax:] + +bond_style fene :pre + +[Examples:] + +bond_style fene +bond_coeff 1 30.0 1.5 1.0 1.0 :pre + +[Description:] + +The {fene} bond style uses the potential + +:c,image(Eqs/bond_fene.jpg) + +to define a finite extensible nonlinear elastic (FENE) potential +"(Kremer)"_#Kremer, used for bead-spring polymer models. The first +term is attractive, the 2nd Lennard-Jones term is repulsive. The +first term extends to R0, the maximum extent of the bond. The 2nd +term is cutoff at 2^(1/6) sigma, the minimum of the LJ potential. + +The following coefficients must be defined for each bond type via the +"bond_coeff"_bond_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy/distance^2) +R0 (distance) +epsilon (energy) +sigma (distance) :ul + +[Restrictions:] + +Bond styles can only be set for atom styles that allow bonds to be +defined. + +This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html + +[Default:] none + +:line + +:link(Kremer) +[(Kremer)] Kremer, Grest, J Chem Phys, 92, 5057 (1990). diff --git a/doc/bond_style_fene_expand.html b/doc/bond_style_fene_expand.html new file mode 100644 index 0000000000..3cb6694e3a --- /dev/null +++ b/doc/bond_style_fene_expand.html @@ -0,0 +1,71 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_style fene/expand command +

      +

      Syntax: +

      +
      bond_style fene/expand 
      +
      +

      Examples: +

      +
      bond_style fene/expand
      +bond_coeff 1 30.0 1.5 1.0 1.0 0.5 
      +
      +

      Description: +

      +

      The fene/expand bond style uses the potential +

      +
      +
      +

      to define a finite extensible nonlinear elastic (FENE) potential +(Kremer), used for bead-spring polymer models. The first +term is attractive, the 2nd Lennard-Jones term is repulsive. +

      +

      The fene/expand bond style is similar to fene except that an extra +shift factor of delta (positive or negative) is added to r to +effectively change the bead size of the bonded atoms. The first term +now extends to R0 + delta and the 2nd term is cutoff at 2^(1/6) sigma ++ delta. +

      +

      The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy/distance^2) +
      • R0 (distance) +
      • epsilon (energy) +
      • sigma (distance) +
      • delta (distance) +
      +

      Restrictions: +

      +

      Bond styles can only be set for atom styles that allow bonds to be +defined. +

      +

      This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      bond_coeff, delete_bonds +

      +

      Default: none +

      +
      + + + +

      (Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990). +

      + diff --git a/doc/bond_style_fene_expand.txt b/doc/bond_style_fene_expand.txt new file mode 100644 index 0000000000..65983c9ecd --- /dev/null +++ b/doc/bond_style_fene_expand.txt @@ -0,0 +1,65 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_style fene/expand command :h3 + +[Syntax:] + +bond_style fene/expand :pre + +[Examples:] + +bond_style fene/expand +bond_coeff 1 30.0 1.5 1.0 1.0 0.5 :pre + +[Description:] + +The {fene/expand} bond style uses the potential + +:c,image(Eqs/bond_fene_expand.jpg) + +to define a finite extensible nonlinear elastic (FENE) potential +"(Kremer)"_#Kremer, used for bead-spring polymer models. The first +term is attractive, the 2nd Lennard-Jones term is repulsive. + +The {fene/expand} bond style is similar to {fene} except that an extra +shift factor of delta (positive or negative) is added to {r} to +effectively change the bead size of the bonded atoms. The first term +now extends to R0 + delta and the 2nd term is cutoff at 2^(1/6) sigma ++ delta. + +The following coefficients must be defined for each bond type via the +"bond_coeff"_bond_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy/distance^2) +R0 (distance) +epsilon (energy) +sigma (distance) +delta (distance) :ul + +[Restrictions:] + +Bond styles can only be set for atom styles that allow bonds to be +defined. + +This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html + +[Default:] none + +:line + +:link(Kremer) +[(Kremer)] Kremer, Grest, J Chem Phys, 92, 5057 (1990). diff --git a/doc/bond_style_harmonic.html b/doc/bond_style_harmonic.html new file mode 100644 index 0000000000..25f2516090 --- /dev/null +++ b/doc/bond_style_harmonic.html @@ -0,0 +1,55 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_style harmonic command +

      +

      Syntax: +

      +
      bond_style harmonic 
      +
      +

      Examples: +

      +
      bond_style harmonic
      +bond_coeff 5 80.0 1.2 
      +
      +

      Description: +

      +

      The harmonic bond style uses the potential +

      +
      +
      +

      where r0 is the equilibrium bond distance. Note that the usual 1/2 +factor is included in K. +

      +

      The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy/distance^2) +
      • r0 (distance) +
      +

      Restrictions: +

      +

      Bond styles can only be set for atom styles that allow bonds to be +defined. +

      +

      This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      bond_coeff, delete_bonds +

      +

      Default: none +

      + diff --git a/doc/bond_style_harmonic.txt b/doc/bond_style_harmonic.txt new file mode 100644 index 0000000000..b84e9c1721 --- /dev/null +++ b/doc/bond_style_harmonic.txt @@ -0,0 +1,50 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_style harmonic command :h3 + +[Syntax:] + +bond_style harmonic :pre + +[Examples:] + +bond_style harmonic +bond_coeff 5 80.0 1.2 :pre + +[Description:] + +The {harmonic} bond style uses the potential + +:c,image(Eqs/bond_harmonic.jpg) + +where r0 is the equilibrium bond distance. Note that the usual 1/2 +factor is included in K. + +The following coefficients must be defined for each bond type via the +"bond_coeff"_bond_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy/distance^2) +r0 (distance) :ul + +[Restrictions:] + +Bond styles can only be set for atom styles that allow bonds to be +defined. + +This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html + +[Default:] none diff --git a/doc/bond_style_hybrid.html b/doc/bond_style_hybrid.html new file mode 100644 index 0000000000..a64b2f983e --- /dev/null +++ b/doc/bond_style_hybrid.html @@ -0,0 +1,59 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_style hybrid command +

      +

      Syntax: +

      +
      bond_style hybrid style1 style2 ... 
      +
      +
      • style1,style2 = list of one or more bond styles +
      +

      Examples: +

      +
      bond_style hybrid harmonic fene
      +bond_coeff 1 harmonic 80.0 1.2
      +bond_coeff 2* fene 30.0 1.5 1.0 1.0 
      +
      +

      Description: +

      +

      The hybrid style enables the use of multiple bond styles in one +simulation. A bond style is assigned to each bond type. For example, +bonds in a polymer flow (of bond type 1) could be computed with a +fene potential and bonds in the wall boundary (of bond type 2) could +be computed with a harmonic potential. The assignment of bond type +to style is made via the bond_coeff command or in +the data file. +

      +

      In the bond_coeff command, the first coefficient sets the bond style +and the remaining coefficients are those appropriate to that style. +In the example above, the 2 bond_coeff commands would set bonds of +bond type 1 to be computed with a harmonic potential with +coefficients 80.0, 1.2 for K, r0. All other bond types (2-N) would be +computed with a fene potential with coefficients 30.0, 1.5, 1.0, 1.0 +for K, R0, epsilon, sigma. +

      +

      Restrictions: +

      +

      Bond styles can only be set for atom styles that allow bonds to be +defined. +

      +

      This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      bond_coeff, delete_bonds +

      +

      Default: none +

      + diff --git a/doc/bond_style_hybrid.txt b/doc/bond_style_hybrid.txt new file mode 100644 index 0000000000..8d53e0e455 --- /dev/null +++ b/doc/bond_style_hybrid.txt @@ -0,0 +1,54 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_style hybrid command :h3 + +[Syntax:] + +bond_style hybrid style1 style2 ... :pre + +style1,style2 = list of one or more bond styles :ul + +[Examples:] + +bond_style hybrid harmonic fene +bond_coeff 1 harmonic 80.0 1.2 +bond_coeff 2* fene 30.0 1.5 1.0 1.0 :pre + +[Description:] + +The {hybrid} style enables the use of multiple bond styles in one +simulation. A bond style is assigned to each bond type. For example, +bonds in a polymer flow (of bond type 1) could be computed with a +{fene} potential and bonds in the wall boundary (of bond type 2) could +be computed with a {harmonic} potential. The assignment of bond type +to style is made via the "bond_coeff"_bond_coeff.html command or in +the data file. + +In the bond_coeff command, the first coefficient sets the bond style +and the remaining coefficients are those appropriate to that style. +In the example above, the 2 bond_coeff commands would set bonds of +bond type 1 to be computed with a {harmonic} potential with +coefficients 80.0, 1.2 for K, r0. All other bond types (2-N) would be +computed with a {fene} potential with coefficients 30.0, 1.5, 1.0, 1.0 +for K, R0, epsilon, sigma. + +[Restrictions:] + +Bond styles can only be set for atom styles that allow bonds to be +defined. + +This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html + +[Default:] none diff --git a/doc/bond_style_morse.html b/doc/bond_style_morse.html new file mode 100644 index 0000000000..8670a6b10a --- /dev/null +++ b/doc/bond_style_morse.html @@ -0,0 +1,56 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_style morse command +

      +

      Syntax: +

      +
      bond_style morse 
      +
      +

      Examples: +

      +
      bond_style morse
      +bond_coeff 5 1.0 2.0 1.2 
      +
      +

      Description: +

      +

      The morse bond style uses the potential +

      +
      +
      +

      where r0 is the equilibrium bond distance, alpha is a stiffness +parameter, and D determines the depth of the potential well. +

      +

      The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • D (energy) +
      • alpha (inverse distance) +
      • r0 (distance) +
      +

      Restrictions: +

      +

      Bond styles can only be set for atom styles that allow bonds to be +defined. +

      +

      This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      bond_coeff, delete_bonds +

      +

      Default: none +

      + diff --git a/doc/bond_style_morse.txt b/doc/bond_style_morse.txt new file mode 100644 index 0000000000..50428ba2ab --- /dev/null +++ b/doc/bond_style_morse.txt @@ -0,0 +1,51 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_style morse command :h3 + +[Syntax:] + +bond_style morse :pre + +[Examples:] + +bond_style morse +bond_coeff 5 1.0 2.0 1.2 :pre + +[Description:] + +The {morse} bond style uses the potential + +:c,image(Eqs/bond_morse.jpg) + +where r0 is the equilibrium bond distance, alpha is a stiffness +parameter, and D determines the depth of the potential well. + +The following coefficients must be defined for each bond type via the +"bond_coeff"_bond_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +D (energy) +alpha (inverse distance) +r0 (distance) :ul + +[Restrictions:] + +Bond styles can only be set for atom styles that allow bonds to be +defined. + +This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html + +[Default:] none diff --git a/doc/bond_style_none.html b/doc/bond_style_none.html new file mode 100644 index 0000000000..29650d9772 --- /dev/null +++ b/doc/bond_style_none.html @@ -0,0 +1,37 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_style none command +

      +

      Syntax: +

      +
      bond_style none 
      +
      +

      Examples: +

      +
      bond_style none 
      +
      +

      Description: +

      +

      Using a bond style of none means bond forces are not computed, even if +pairs of bonded atoms were listed in the data file read by the +read_data command. +

      +

      Restrictions: +

      +

      Bond styles can only be set for atom styles that allow bonds to be +defined. +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/bond_style_none.txt b/doc/bond_style_none.txt new file mode 100644 index 0000000000..939c346e0b --- /dev/null +++ b/doc/bond_style_none.txt @@ -0,0 +1,32 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_style none command :h3 + +[Syntax:] + +bond_style none :pre + +[Examples:] + +bond_style none :pre + +[Description:] + +Using a bond style of none means bond forces are not computed, even if +pairs of bonded atoms were listed in the data file read by the +"read_data"_read_data.html command. + +[Restrictions:] + +Bond styles can only be set for atom styles that allow bonds to be +defined. + +[Related commands:] none + +[Default:] none diff --git a/doc/bond_style_nonlinear.html b/doc/bond_style_nonlinear.html new file mode 100644 index 0000000000..50dbe00f0a --- /dev/null +++ b/doc/bond_style_nonlinear.html @@ -0,0 +1,62 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_style nonlinear command +

      +

      Syntax: +

      +
      bond_style nonlinear 
      +
      +

      Examples: +

      +
      bond_style nonlinear
      +bond_coeff 2 100.0 1.1 1.4 
      +
      +

      Description: +

      +

      The nonlinear bond style uses the potential +

      +
      +
      +

      to define an anharmonic spring (Rector) of equilibrium +length r0 and maximum extension lamda. +

      +

      The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • epsilon (energy) +
      • r0 (distance) +
      • lamda (distance) +
      +

      Restrictions: +

      +

      Bond styles can only be set for atom styles that allow bonds to be +defined. +

      +

      This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      bond_coeff, delete_bonds +

      +

      Default: none +

      +
      + + + +

      (Rector) Rector, Van Swol, Henderson, Molecular Physics, 82, 1009 (1994). +

      + diff --git a/doc/bond_style_nonlinear.txt b/doc/bond_style_nonlinear.txt new file mode 100644 index 0000000000..79e51393bf --- /dev/null +++ b/doc/bond_style_nonlinear.txt @@ -0,0 +1,56 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_style nonlinear command :h3 + +[Syntax:] + +bond_style nonlinear :pre + +[Examples:] + +bond_style nonlinear +bond_coeff 2 100.0 1.1 1.4 :pre + +[Description:] + +The {nonlinear} bond style uses the potential + +:c,image(Eqs/bond_nonlinear.jpg) + +to define an anharmonic spring "(Rector)"_#Rector of equilibrium +length r0 and maximum extension lamda. + +The following coefficients must be defined for each bond type via the +"bond_coeff"_bond_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +epsilon (energy) +r0 (distance) +lamda (distance) :ul + +[Restrictions:] + +Bond styles can only be set for atom styles that allow bonds to be +defined. + +This bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html + +[Default:] none + +:line + +:link(Rector) +[(Rector)] Rector, Van Swol, Henderson, Molecular Physics, 82, 1009 (1994). diff --git a/doc/bond_style_quartic.html b/doc/bond_style_quartic.html new file mode 100644 index 0000000000..25ff985263 --- /dev/null +++ b/doc/bond_style_quartic.html @@ -0,0 +1,95 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      bond_style quartic command +

      +

      Syntax: +

      +
      bond_style quartic 
      +
      +

      Examples: +

      +
      bond_style quartic
      +bond_coeff 2 1200 -0.55 0.25 1.3 34.6878 
      +
      +

      Description: +

      +

      The quartic bond style uses the potential +

      +
      +
      +

      to define a bond that can be broken as the simulation proceeds (e.g. +due to a polymer being stretched). The sigma and epsilon used in the +LJ portion of the formula are both set equal to 1.0 by LAMMPS. +

      +

      The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy/distance^2) +
      • B1 (distance) +
      • B2 (distance) +
      • Rc (distance) +
      • U0 (energy) +
      +

      This potential was constructed to mimic the FENE bond potential for +coarse-grained polymer chains. When monomers with sigma = epsilon = +1.0 are used, the following choice of parameters gives a quartic +potential that looks nearly like the FENE potential: K = 1200, B1 = +-0.55, B2 = 0.25, Rc = 1.3, and U0 = 34.6878. Different parameters +can be specified using the bond_coeff command, but +you will need to choose them carefully so they form a suitable bond +potential. +

      +

      Rc is the cutoff length at which the bond potential goes smoothly to a +local maximium. If a bond length ever becomes > Rc, LAMMPS "breaks" +the bond, which means two things. First, the bond potential is turned +off by setting its type to 0, and is no longer computed. Second, a +pairwise interaction between the two atoms is turned on, since they +are no longer bonded. +

      +

      LAMMPS does the second task via a computational sleight-of-hand. It +subtracts the pairwise interaction as part of the bond computation. +When the bond breaks, the subtraction stops. For this to work, the +pairwise interaction must always be computed by the +pair_style command, whether the bond is broken or +not. This means that special_bonds must be set +to 1,1,1, as indicated as a restriction below. +

      +

      Note that when bonds are dumped to a file via dump bond, +bonds with type 0 are not included. The +delete_bonds command can also be used to query the +status of broken bonds or permanently delete them, e.g.: +

      +
      delete_bonds all stats
      +delete_bonds all bond 0 remove 
      +
      +

      Restrictions: +

      +

      Bond styles can only be set for atom styles that allow bonds to be +defined. +

      +

      The quartic style requires that special_bonds +parameters be set to 1,1,1. Three- and four-body interactions (angle, +dihedral, etc) cannot be used with quartic bonds. +

      +

      This bond style is part of the "molecular" package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      bond_coeff, delete_bonds +

      +

      Default: none +

      + diff --git a/doc/bond_style_quartic.txt b/doc/bond_style_quartic.txt new file mode 100644 index 0000000000..15ac94b52d --- /dev/null +++ b/doc/bond_style_quartic.txt @@ -0,0 +1,90 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +bond_style quartic command :h3 + +[Syntax:] + +bond_style quartic :pre + +[Examples:] + +bond_style quartic +bond_coeff 2 1200 -0.55 0.25 1.3 34.6878 :pre + +[Description:] + +The {quartic} bond style uses the potential + +:c,image(Eqs/bond_quartic.jpg) + +to define a bond that can be broken as the simulation proceeds (e.g. +due to a polymer being stretched). The sigma and epsilon used in the +LJ portion of the formula are both set equal to 1.0 by LAMMPS. + +The following coefficients must be defined for each bond type via the +"bond_coeff"_bond_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy/distance^2) +B1 (distance) +B2 (distance) +Rc (distance) +U0 (energy) :ul + +This potential was constructed to mimic the FENE bond potential for +coarse-grained polymer chains. When monomers with sigma = epsilon = +1.0 are used, the following choice of parameters gives a quartic +potential that looks nearly like the FENE potential: K = 1200, B1 = +-0.55, B2 = 0.25, Rc = 1.3, and U0 = 34.6878. Different parameters +can be specified using the "bond_coeff"_bond_coeff.html command, but +you will need to choose them carefully so they form a suitable bond +potential. + +Rc is the cutoff length at which the bond potential goes smoothly to a +local maximium. If a bond length ever becomes > Rc, LAMMPS "breaks" +the bond, which means two things. First, the bond potential is turned +off by setting its type to 0, and is no longer computed. Second, a +pairwise interaction between the two atoms is turned on, since they +are no longer bonded. + +LAMMPS does the second task via a computational sleight-of-hand. It +subtracts the pairwise interaction as part of the bond computation. +When the bond breaks, the subtraction stops. For this to work, the +pairwise interaction must always be computed by the +"pair_style"_pair_style.html command, whether the bond is broken or +not. This means that "special_bonds"_special_bonds.html must be set +to 1,1,1, as indicated as a restriction below. + +Note that when bonds are dumped to a file via "dump bond"_dump.html, +bonds with type 0 are not included. The +"delete_bonds"_delete_bonds.html command can also be used to query the +status of broken bonds or permanently delete them, e.g.: + +delete_bonds all stats +delete_bonds all bond 0 remove :pre + +[Restrictions:] + +Bond styles can only be set for atom styles that allow bonds to be +defined. + +The {quartic} style requires that "special_bonds"_special_bonds.html +parameters be set to 1,1,1. Three- and four-body interactions (angle, +dihedral, etc) cannot be used with {quartic} bonds. + +This bond style is part of the "molecular" package. It is only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html + +[Default:] none diff --git a/doc/boundary.html b/doc/boundary.html new file mode 100644 index 0000000000..9fe99bb7d6 --- /dev/null +++ b/doc/boundary.html @@ -0,0 +1,78 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      boundary command +

      +

      Syntax: +

      +
      boundary x y z 
      +
      +
      • x,y,z = p or s or f or m, one or two letters + +
          p is periodic
        +  f is non-periodic and fixed
        +  s is non-periodic and shrink-wrapped
        +  m is non-periodic and shrink-wrapped with a minimum value 
        +
        + +
      +

      Examples: +

      +
      boundary p p f
      +boundary p fs p
      +boundary s f fm 
      +
      +

      Description: +

      +

      Set the style of boundaries for the global simulation box in each +dimension. A single letter assigns the same style to both the lower +and upper face of the box. Two letters assigns the first style to the +lower face and the second style to the upper face. The initial size +of the simulation box is set by the read_data, +read_restart, or create_box +commands. +

      +

      The style p means the box is periodic, so that particles interact +across the boundary, and they can exit one end of the box and re-enter +the other end. A periodic dimension can change in size due to +constant pressure boundary conditions or volume rescaling (see the +fix npt and fix volume/rescale +commands). The p style must be applied to both faces of a +dimension. +

      +

      The styles f, s, and m mean the box is non-periodic, so that +particles do not interact across the boundary and do not move from one +side of the box to the other. For style f, the position of the face +is fixed. If an atom moves outside the face it may be lost. For +style s, the position of the face is set so as to encompass the +atoms in that dimension (shrink-wrapping), no matter how far they +move. For style m, shrink-wrapping occurs, but is bounded by the +value specified in the data or restart file or set by the +create_box command. For example, if the upper z +face has a value of 50.0 in the data file, the face will always be +positioned at 50.0 or above, even if the maximum z-extent of all the +atoms becomes less than 50.0. +

      +

      Restrictions: +

      +

      This command cannot be used after the simulation box is defined by a +read_data or create_box command. +

      +

      Related commands: +

      +

      See the thermo_modify command for a discussion +of lost atoms. +

      +

      Default: +

      +
      boundary p p p 
      +
      + diff --git a/doc/boundary.txt b/doc/boundary.txt new file mode 100644 index 0000000000..05230ff99b --- /dev/null +++ b/doc/boundary.txt @@ -0,0 +1,71 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +boundary command :h3 + +[Syntax:] + +boundary x y z :pre + +x,y,z = {p} or {s} or {f} or {m}, one or two letters :ulb,l + {p} is periodic + {f} is non-periodic and fixed + {s} is non-periodic and shrink-wrapped + {m} is non-periodic and shrink-wrapped with a minimum value :pre +:ule + +[Examples:] + +boundary p p f +boundary p fs p +boundary s f fm :pre + +[Description:] + +Set the style of boundaries for the global simulation box in each +dimension. A single letter assigns the same style to both the lower +and upper face of the box. Two letters assigns the first style to the +lower face and the second style to the upper face. The initial size +of the simulation box is set by the "read_data"_read_data.html, +"read_restart"_read_restart.html, or "create_box"_create_box.html +commands. + +The style {p} means the box is periodic, so that particles interact +across the boundary, and they can exit one end of the box and re-enter +the other end. A periodic dimension can change in size due to +constant pressure boundary conditions or volume rescaling (see the +"fix npt"_fix_npt.html and "fix volume/rescale"_fix_volume_rescale.html +commands). The {p} style must be applied to both faces of a +dimension. + +The styles {f}, {s}, and {m} mean the box is non-periodic, so that +particles do not interact across the boundary and do not move from one +side of the box to the other. For style {f}, the position of the face +is fixed. If an atom moves outside the face it may be lost. For +style {s}, the position of the face is set so as to encompass the +atoms in that dimension (shrink-wrapping), no matter how far they +move. For style {m}, shrink-wrapping occurs, but is bounded by the +value specified in the data or restart file or set by the +"create_box"_create_box.html command. For example, if the upper z +face has a value of 50.0 in the data file, the face will always be +positioned at 50.0 or above, even if the maximum z-extent of all the +atoms becomes less than 50.0. + +[Restrictions:] + +This command cannot be used after the simulation box is defined by a +"read_data"_read_data.html or "create_box"_create_box.html command. + +[Related commands:] + +See the "thermo_modify"_thermo_modify.html command for a discussion +of lost atoms. + +[Default:] + +boundary p p p :pre diff --git a/doc/clear.html b/doc/clear.html new file mode 100644 index 0000000000..43e58c3e2b --- /dev/null +++ b/doc/clear.html @@ -0,0 +1,43 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      clear command +

      +

      Syntax: +

      +
      clear 
      +
      +

      Examples: +

      +
      (commands for 1st simulation)
      +clear
      +(commands for 2nd simulation) 
      +
      +

      Description: +

      +

      This command deletes all atoms, restores all settings to their default +values, and frees all memory allocated by LAMMPS. Once a clear +command has been executed, it is as if LAMMPS were starting over, with +only the exceptions noted below. This command enables multiple jobs +to be run sequentially from one input script. +

      +

      These settings are not affected by a clear command: the working +directory (shell command), log file status +(log command), echo status (echo command), and +input script variables (variable command). +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/clear.txt b/doc/clear.txt new file mode 100644 index 0000000000..0bb18454bc --- /dev/null +++ b/doc/clear.txt @@ -0,0 +1,39 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +clear command :h3 + +[Syntax:] + +clear :pre + +[Examples:] + +(commands for 1st simulation) +clear +(commands for 2nd simulation) :pre + +[Description:] + +This command deletes all atoms, restores all settings to their default +values, and frees all memory allocated by LAMMPS. Once a clear +command has been executed, it is as if LAMMPS were starting over, with +only the exceptions noted below. This command enables multiple jobs +to be run sequentially from one input script. + +These settings are not affected by a clear command: the working +directory ("shell"_shell.html command), log file status +("log"_log.html command), echo status ("echo"_echo.html command), and +input script variables ("variable"_variable.html command). + +[Restrictions:] none + +[Related commands:] none + +[Default:] none + diff --git a/doc/create_atoms.html b/doc/create_atoms.html new file mode 100644 index 0000000000..88ca3daff8 --- /dev/null +++ b/doc/create_atoms.html @@ -0,0 +1,65 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      create_atoms command +

      +

      Syntax: +

      +
      create_atoms type region-ID 
      +
      +
      • type = atom type (1-N) of atoms to create on a lattice +
      • region-ID = ID of region each atom will belong to (optional) +
      +

      Examples: +

      +
      create_atoms 1 regsphere
      +create_atoms 3 
      +
      +

      Description: +

      +

      This command creates atoms on a lattice as an alternative to reading +in their coordinates via a read_data or +read_restart command. A simulation box must +already exist, which is created with the create_box +command. +

      +

      Before using this command, a lattice must be defined using the +lattice command. If a region is not specified, the +create_atoms command fills the entire simulation box with atoms on the +lattice. If a region is specified, then the geometric volume is +filled that is inside the simulation box and is also consistent with +the region volume. +

      +

      The create_atoms command can be used multiple times with different +lattice orientations to create grain boundaries. Used in conjunction +with the delete_atoms command, reasonably complex +geometries can be created. The create_atoms command can also be +used to add atoms to a system previously read in from a data or +restart file. In all these cases, care should be taken to insure that +new atoms do not overlap existing atoms inappropriately. +

      +

      Created atoms are assigned the specified atom type and a velocity of +0.0. +

      +

      Restrictions: +

      +

      An atom_style and lattice must be +previously defined to use this command. +

      +

      Related commands: +

      +

      lattice, orient, origin, +region, create_box, +read_data, read_restart +

      +

      Default: none +

      + diff --git a/doc/create_atoms.txt b/doc/create_atoms.txt new file mode 100644 index 0000000000..541857730c --- /dev/null +++ b/doc/create_atoms.txt @@ -0,0 +1,60 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +create_atoms command :h3 + +[Syntax:] + +create_atoms type region-ID :pre + +type = atom type (1-N) of atoms to create on a lattice +region-ID = ID of region each atom will belong to (optional) :ul + +[Examples:] + +create_atoms 1 regsphere +create_atoms 3 :pre + +[Description:] + +This command creates atoms on a lattice as an alternative to reading +in their coordinates via a "read_data"_read_data.html or +"read_restart"_read_restart.html command. A simulation box must +already exist, which is created with the "create_box"_create_box.html +command. + +Before using this command, a lattice must be defined using the +"lattice"_lattice.html command. If a region is not specified, the +create_atoms command fills the entire simulation box with atoms on the +lattice. If a region is specified, then the geometric volume is +filled that is inside the simulation box and is also consistent with +the region volume. + +The {create_atoms} command can be used multiple times with different +lattice orientations to create grain boundaries. Used in conjunction +with the "delete_atoms"_delete_atoms.html command, reasonably complex +geometries can be created. The {create_atoms} command can also be +used to add atoms to a system previously read in from a data or +restart file. In all these cases, care should be taken to insure that +new atoms do not overlap existing atoms inappropriately. + +Created atoms are assigned the specified atom type and a velocity of +0.0. + +[Restrictions:] + +An "atom_style"_atom_style.html and "lattice"_lattice.html must be +previously defined to use this command. + +[Related commands:] + +"lattice"_lattice.html, "orient"_orient.html, "origin"_origin.html, +"region"_region.html, "create_box"_create_box.html, +"read_data"_read_data.html, "read_restart"_read_restart.html + +[Default:] none diff --git a/doc/create_box.html b/doc/create_box.html new file mode 100644 index 0000000000..fc7b159b41 --- /dev/null +++ b/doc/create_box.html @@ -0,0 +1,46 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      create_box command +

      +

      Syntax: +

      +
      create_box N region-ID 
      +
      +
      • N = # of atom types to use in this simulation +
      • region-ID = ID of region to use as simulation domain +
      +

      Examples: +

      +
      create_atoms 2 mybox 
      +
      +

      Description: +

      +

      This command creates a simulation box that encloses the specified +region. Thus a region command must first be used to +define a geometric domain. If the region is not of style block, +LAMMPS encloses it with a rectangular simulation box. +

      +

      The argument N is the number of atom types that will be used in the +simulation. +

      +

      Restrictions: +

      +

      An atom_style and region must have +been previously defined to use this command. +

      +

      Related commands: +

      +

      create_atoms, region +

      +

      Default: none +

      + diff --git a/doc/create_box.txt b/doc/create_box.txt new file mode 100644 index 0000000000..96e440a12b --- /dev/null +++ b/doc/create_box.txt @@ -0,0 +1,41 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +create_box command :h3 + +[Syntax:] + +create_box N region-ID :pre + +N = # of atom types to use in this simulation +region-ID = ID of region to use as simulation domain :ul + +[Examples:] + +create_atoms 2 mybox :pre + +[Description:] + +This command creates a simulation box that encloses the specified +region. Thus a "region"_region.html command must first be used to +define a geometric domain. If the region is not of style {block}, +LAMMPS encloses it with a rectangular simulation box. + +The argument N is the number of atom types that will be used in the +simulation. + +[Restrictions:] + +An "atom_style"_atom_style.html and "region"_region.html must have +been previously defined to use this command. + +[Related commands:] + +"create_atoms"_create_atoms.html, "region"_region.html + +[Default:] none diff --git a/doc/delete_atoms.html b/doc/delete_atoms.html new file mode 100644 index 0000000000..9debc6ff8a --- /dev/null +++ b/doc/delete_atoms.html @@ -0,0 +1,85 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      delete_atoms command +

      +

      Syntax: +

      +
      delete_atoms style args 
      +
      +
      • style = group or region or overlap + +
          group args = group-ID
        +  region args = region-ID
        +  overlap args = distance type1 type2
        +    distance = delete atoms with neighbors within this cutoff (distance units)
        +    type1 = type of first atom in pair (optional)
        +    type2 = type of other atom in pair (optional)
        +
        +
        + +
      +

      Examples: +

      +
      delete_atoms group edge
      +delete_atoms region sphere
      +delete_atoms overlap 0.3
      +delete_atoms overlap 0.3 1 1 
      +
      +

      Description: +

      +

      Delete the specfied atoms. This command can be used to carve out +voids from a block of material or to delete created atoms that are too +close to each other (e.g. at a grain boundary). +

      +

      For style group, all atoms belonging to the group are deleted. +

      +

      For style region, all atoms in the region volume are deleted. +

      +

      For style overlap, pairs of atoms within the specified cutoff +distance are searched for, and one of the 2 atoms is deleted. If no +atom types are specified, an atom will always be deleted if the cutoff +criterion is met. If a single atom type is specified, then one or +both of the atoms in the pair must be of the specified type for a +deletion to occur. If two atom types are specified, the two atoms in +the pair must be of the specified types for a deletion to occur. For +a given configuration of atoms, the only guarantee is that at the end +of the deletion operation, enough deletions will have occurred that no +atom pairs within the cutoff (and with the specified types) will +remain. There is no guarantee that the minimum number of atoms will +be deleted, or that the same atoms will be deleted when running on +different numbers of processors. +

      +

      After atoms are deleted, if the system is not molecular (no bonds), +then atom IDs are re-assigned so that they run from 1 to the number of +atoms in the system. This is not done for molecular systems, since it +would foul up the bond connectivity that has already been assigned. +

      +

      Restrictions: +

      +

      The overlap style requires inter-processor communication to acquire +ghost atoms and setup a neighbor list. This means that your system +must be ready to perform a simulation before using this command (force +fields setup, atom masses set, etc). +

      +

      If the special_bonds command is used with a +setting of 0, then a pair of bonded atoms (1-2, 1-3, or 1-4) will not +appear in the neighbor list, and thus will not be considered for +deltion by the overlap style. You probably don't want to be +deleting one atom in a bonded pair anyway. +

      +

      Related commands: +

      +

      create_atoms +

      +

      Default: none +

      + diff --git a/doc/delete_atoms.txt b/doc/delete_atoms.txt new file mode 100644 index 0000000000..c73584e652 --- /dev/null +++ b/doc/delete_atoms.txt @@ -0,0 +1,78 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +delete_atoms command :h3 + +[Syntax:] + +delete_atoms style args :pre + +style = {group} or {region} or {overlap} :ulb,l + {group} args = group-ID + {region} args = region-ID + {overlap} args = distance type1 type2 + distance = delete atoms with neighbors within this cutoff (distance units) + type1 = type of first atom in pair (optional) + type2 = type of other atom in pair (optional) +:pre +:ule + +[Examples:] + +delete_atoms group edge +delete_atoms region sphere +delete_atoms overlap 0.3 +delete_atoms overlap 0.3 1 1 :pre + +[Description:] + +Delete the specfied atoms. This command can be used to carve out +voids from a block of material or to delete created atoms that are too +close to each other (e.g. at a grain boundary). + +For style {group}, all atoms belonging to the group are deleted. + +For style {region}, all atoms in the region volume are deleted. + +For style {overlap}, pairs of atoms within the specified cutoff +distance are searched for, and one of the 2 atoms is deleted. If no +atom types are specified, an atom will always be deleted if the cutoff +criterion is met. If a single atom type is specified, then one or +both of the atoms in the pair must be of the specified type for a +deletion to occur. If two atom types are specified, the two atoms in +the pair must be of the specified types for a deletion to occur. For +a given configuration of atoms, the only guarantee is that at the end +of the deletion operation, enough deletions will have occurred that no +atom pairs within the cutoff (and with the specified types) will +remain. There is no guarantee that the minimum number of atoms will +be deleted, or that the same atoms will be deleted when running on +different numbers of processors. + +After atoms are deleted, if the system is not molecular (no bonds), +then atom IDs are re-assigned so that they run from 1 to the number of +atoms in the system. This is not done for molecular systems, since it +would foul up the bond connectivity that has already been assigned. + +[Restrictions:] + +The {overlap} style requires inter-processor communication to acquire +ghost atoms and setup a neighbor list. This means that your system +must be ready to perform a simulation before using this command (force +fields setup, atom masses set, etc). + +If the "special_bonds"_special_bonds.html command is used with a +setting of 0, then a pair of bonded atoms (1-2, 1-3, or 1-4) will not +appear in the neighbor list, and thus will not be considered for +deltion by the {overlap} style. You probably don't want to be +deleting one atom in a bonded pair anyway. + +[Related commands:] + +"create_atoms"_create_atoms.html + +[Default:] none diff --git a/doc/delete_bonds.html b/doc/delete_bonds.html new file mode 100644 index 0000000000..3a685c11a7 --- /dev/null +++ b/doc/delete_bonds.html @@ -0,0 +1,131 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      delete_bonds command +

      +

      Syntax: +

      +
      delete_bonds group-ID style args keyword ... 
      +
      +
      • group-ID = group ID + +
      • style = multi or atom or bond or angle or dihedral or + improper or stats + +
          multi args = none
        +  atom args = an atom type
        +  bond args = a bond type
        +  angle args = an angle type
        +  dihedral args = a dihedral type
        +  improper args = an improper type
        +  stats args = none 
        +
        +
      • zero or more keywords may be appended to the args + +
      • keyword = undo or remove or special + + +
      +

      Examples: +

      +
      delete_bonds frozen multi remove
      +delete_bonds all atom 4 special
      +delete_bonds all stats 
      +
      +

      Description: +

      +

      Turn off (or on) molecular topology interactions, i.e. bonds, angles, +dihedrals, impropers. This command is useful for deleting +interactions that have been previously turned off by bond-breaking +potentials. It is also useful for turning off topology interactions +between frozen or rigid atoms. Pairwise interactions can be turned +off via the neigh_modify exclude command. The +fix shake command also effectively turns off certain +bond and angle interactions. +

      +

      For all styles, an interaction is only turned off (or on) if all the +atoms involved are in the specified group. For style multi this is +the only criterion applied - all types of bonds, angles, dihedrals, +impropers in the group turned off. +

      +

      For style atom, one or more of the atoms involved must also be of +the specified type. For style bond, only bonds are candidates for +turn-off, and the bond must be of the specified type. Styles angle, +dihedral, and improper are treated similarly. +

      +

      For style bond, you can set the type to 0 to delete bonds that have +been previously broken; e.g. see the bond_style +quartic command. +

      +

      For style stats no interactions are turned off (or on); the status +of all interactions in the specified group is simply reported. This +is useful for diagnostic purposes if bonds have been turned off by a +bond-breaking potential during a previous run. +

      +

      The default behavior of the delete_bonds command is to turn off +interactions by toggling their type to a negative value. E.g. a +bond_type of 2 is set to -2. The neighbor list creation routines will +not include such an interaction in their interaction lists. The +default is also to not alter the list of 1-2, 1-3, 1-4 neighbors +computed by the special_bonds command and used to +weight pairwise force and energy calculations. This means that +pairwise computations will proceed as if the bond (or angle, etc) were +still turned on. +

      +

      The keywords listed above can be appended to the argument list to +alter the default behavior. +

      +

      The undo keyword inverts the delete_bonds command so that the +specified bonds, angles, etc are turned on if they are currently +turned off. This means any negative value is toggled to positive. +Note that the fix shake command also sets bond and +angle types negative, so this option should not be used on those +interactions. +

      +

      The remove keyword is invoked at the end of the delete_bonds +operation. It causes turned-off bonds (angles, etc) to be removed +from each atom's data structure and then adjusts the global bond +(angle, etc) counts accordingly. Removal is a permanent change; +removed bonds cannot be turned back on via the undo keyword. +Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list. +

      +

      The special keyword is invoked at the end of the delete_bonds +operation, after (optional) removal. It re-computes the pairwise 1-2, +1-3, 1-4 weighting list. The weighting list computation treats +turned-off bonds the same as turned-on. Thus, turned-off bonds must +be removed if you wish to change the weighting list. +

      +

      Note that the choice of remove and special options affects how +1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that +have been modified by the delete_bonds command. +

      +

      Restrictions: +

      +

      This command requires inter-processor communication to coordinate the +deleting of bonds. This means that your system must be ready to +perform a simulation before using this command (force fields setup, +atom masses set, etc). +

      +

      If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4 +weighting list is not recomputed, this can cause a later fix +shake command to fail due to an atom's bonds being +inconsistent with the weighting list. This should only happen if the +group used in the fix command includes both atoms in the bond, in +which case you probably should be recomputing the weighting list. +

      +

      Related commands: +

      +

      neigh_modify exclude, +special_bonds, fix shake +

      +

      Default: none +

      + diff --git a/doc/delete_bonds.txt b/doc/delete_bonds.txt new file mode 100644 index 0000000000..c116fb6a8e --- /dev/null +++ b/doc/delete_bonds.txt @@ -0,0 +1,121 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +delete_bonds command :h3 + +[Syntax:] + +delete_bonds group-ID style args keyword ... :pre + +group-ID = group ID :ulb,l +style = {multi} or {atom} or {bond} or {angle} or {dihedral} or + {improper} or {stats} :l + {multi} args = none + {atom} args = an atom type + {bond} args = a bond type + {angle} args = an angle type + {dihedral} args = a dihedral type + {improper} args = an improper type + {stats} args = none :pre +zero or more keywords may be appended to the args :l +keyword = {undo} or {remove} or {special} :l +:ule + +[Examples:] + +delete_bonds frozen multi remove +delete_bonds all atom 4 special +delete_bonds all stats :pre + +[Description:] + +Turn off (or on) molecular topology interactions, i.e. bonds, angles, +dihedrals, impropers. This command is useful for deleting +interactions that have been previously turned off by bond-breaking +potentials. It is also useful for turning off topology interactions +between frozen or rigid atoms. Pairwise interactions can be turned +off via the "neigh_modify exclude"_neigh_modify.html command. The +"fix shake"_fix_shake.html command also effectively turns off certain +bond and angle interactions. + +For all styles, an interaction is only turned off (or on) if all the +atoms involved are in the specified group. For style {multi} this is +the only criterion applied - all types of bonds, angles, dihedrals, +impropers in the group turned off. + +For style {atom}, one or more of the atoms involved must also be of +the specified type. For style {bond}, only bonds are candidates for +turn-off, and the bond must be of the specified type. Styles {angle}, +{dihedral}, and {improper} are treated similarly. + +For style {bond}, you can set the type to 0 to delete bonds that have +been previously broken; e.g. see the "bond_style +quartic"_bond_style.html command. + +For style {stats} no interactions are turned off (or on); the status +of all interactions in the specified group is simply reported. This +is useful for diagnostic purposes if bonds have been turned off by a +bond-breaking potential during a previous run. + +The default behavior of the delete_bonds command is to turn off +interactions by toggling their type to a negative value. E.g. a +bond_type of 2 is set to -2. The neighbor list creation routines will +not include such an interaction in their interaction lists. The +default is also to not alter the list of 1-2, 1-3, 1-4 neighbors +computed by the "special_bonds"_special_bonds.html command and used to +weight pairwise force and energy calculations. This means that +pairwise computations will proceed as if the bond (or angle, etc) were +still turned on. + +The keywords listed above can be appended to the argument list to +alter the default behavior. + +The {undo} keyword inverts the delete_bonds command so that the +specified bonds, angles, etc are turned on if they are currently +turned off. This means any negative value is toggled to positive. +Note that the "fix shake"_fix_shake.html command also sets bond and +angle types negative, so this option should not be used on those +interactions. + +The {remove} keyword is invoked at the end of the delete_bonds +operation. It causes turned-off bonds (angles, etc) to be removed +from each atom's data structure and then adjusts the global bond +(angle, etc) counts accordingly. Removal is a permanent change; +removed bonds cannot be turned back on via the {undo} keyword. +Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list. + +The {special} keyword is invoked at the end of the delete_bonds +operation, after (optional) removal. It re-computes the pairwise 1-2, +1-3, 1-4 weighting list. The weighting list computation treats +turned-off bonds the same as turned-on. Thus, turned-off bonds must +be removed if you wish to change the weighting list. + +Note that the choice of {remove} and {special} options affects how +1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that +have been modified by the delete_bonds command. + +[Restrictions:] + +This command requires inter-processor communication to coordinate the +deleting of bonds. This means that your system must be ready to +perform a simulation before using this command (force fields setup, +atom masses set, etc). + +If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4 +weighting list is not recomputed, this can cause a later "fix +shake"_fix_shake.html command to fail due to an atom's bonds being +inconsistent with the weighting list. This should only happen if the +group used in the fix command includes both atoms in the bond, in +which case you probably should be recomputing the weighting list. + +[Related commands:] + +"neigh_modify"_neigh_modify.html exclude, +"special_bonds"_special_bonds.html, "fix shake"_fix_shake.html + +[Default:] none diff --git a/doc/dielectric.html b/doc/dielectric.html new file mode 100644 index 0000000000..2ba40db334 --- /dev/null +++ b/doc/dielectric.html @@ -0,0 +1,44 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dielectric command +

      +

      Syntax: +

      +
      dielectric value 
      +
      +
      • value = dielectric constant +
      +

      Examples: +

      +
      dielectric 2.0 
      +
      +

      Description: +

      +

      Set the dielectric constant for Coulombic interactions (pairwise and +long-range) to this value. The constant is unitless, since it is used +to reduce the strength of the interactions. The value is used in the +denominator of the formulas for Coulombic interations - e.g. a value +of 4.0 reduces the Coulombic interactions to 25% of their default +strength. See the pair_style command for more +details. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      pair_style +

      +

      Default: +

      +
      dielectric 1.0 
      +
      + diff --git a/doc/dielectric.txt b/doc/dielectric.txt new file mode 100644 index 0000000000..dae126d393 --- /dev/null +++ b/doc/dielectric.txt @@ -0,0 +1,39 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dielectric command :h3 + +[Syntax:] + +dielectric value :pre + +value = dielectric constant :ul + +[Examples:] + +dielectric 2.0 :pre + +[Description:] + +Set the dielectric constant for Coulombic interactions (pairwise and +long-range) to this value. The constant is unitless, since it is used +to reduce the strength of the interactions. The value is used in the +denominator of the formulas for Coulombic interations - e.g. a value +of 4.0 reduces the Coulombic interactions to 25% of their default +strength. See the "pair_style"_pair_style.html command for more +details. + +[Restrictions:] none + +[Related commands:] + +"pair_style"_pair_style.html + +[Default:] + +dielectric 1.0 :pre diff --git a/doc/dihedral_coeff.html b/doc/dihedral_coeff.html new file mode 100644 index 0000000000..8ca4674e10 --- /dev/null +++ b/doc/dihedral_coeff.html @@ -0,0 +1,94 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dihedral_coeff command +

      +

      Syntax: +

      +
      dihedral_coeff N args 
      +
      +
      • N = dihedral type (see asterik form below) +
      • args = coefficients for one or more dihedral types +
      +

      Examples: +

      +
      dihedral_coeff 1 80.0 1 3
      +dihedral_coeff * 80.0 1 3 0.5
      +dihedral_coeff 2* 80.0 1 3 0.5 
      +
      +

      Description: +

      +
      + +

      Specify the dihedral force field coefficients for one or more dihedral types. +The number and meaning of the coefficients depends on the dihedral style. +Dihedral coefficients can also be set in the data file read by the +read_data command or in a restart file. +

      +

      N can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the coefficients for multiple dihedral types. This takes the +form "*" or "*n" or "n*" or "m*n". If N = the number of dihedral types, +then an asterik with no numeric values means all types from 1 to N. A +leading asterik means all types from 1 to n (inclusive). A trailing +asterik means all types from n to N (inclusive). A middle asterik +means all types from m to n (inclusive). +

      +

      Note that using a dihedral_coeff command can override a previous setting +for the same dihedral type. For example, these commands set the coeffs +for all dihedral types, then overwrite the coeffs for just dihedral type 2: +

      +
      dihedral_coeff * 80.0 1 3
      +dihedral_coeff 2 200.0 1 3 
      +
      +

      A line in a data file that specifies dihedral coefficients uses the exact +same format as the arguments of the dihedral_coeff command in an input +script, except that wild-card asteriks should not be used since +coefficients for all N types must be listed in the file. For example, +under the "Dihedral Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as +

      +
      1 80.0 1 3 
      +
      +
      + +

      Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated dihedral_coeff command: +

      + + +
      + +

      Restrictions: +

      +

      This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

      +

      An dihedral style must be defined before any dihedral coefficients are +set, either in the input script or in a data file. +

      +

      Related commands: +

      +

      dihedral_style +

      +

      Default: none +

      + diff --git a/doc/dihedral_coeff.txt b/doc/dihedral_coeff.txt new file mode 100644 index 0000000000..37e7cba99b --- /dev/null +++ b/doc/dihedral_coeff.txt @@ -0,0 +1,89 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dihedral_coeff command :h3 + +[Syntax:] + +dihedral_coeff N args :pre + +N = dihedral type (see asterik form below) +args = coefficients for one or more dihedral types :ul + +[Examples:] + +dihedral_coeff 1 80.0 1 3 +dihedral_coeff * 80.0 1 3 0.5 +dihedral_coeff 2* 80.0 1 3 0.5 :pre + +[Description:] + +:line + +Specify the dihedral force field coefficients for one or more dihedral types. +The number and meaning of the coefficients depends on the dihedral style. +Dihedral coefficients can also be set in the data file read by the +"read_data"_read_data.html command or in a restart file. + +N can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the coefficients for multiple dihedral types. This takes the +form "*" or "*n" or "n*" or "m*n". If N = the number of dihedral types, +then an asterik with no numeric values means all types from 1 to N. A +leading asterik means all types from 1 to n (inclusive). A trailing +asterik means all types from n to N (inclusive). A middle asterik +means all types from m to n (inclusive). + +Note that using a dihedral_coeff command can override a previous setting +for the same dihedral type. For example, these commands set the coeffs +for all dihedral types, then overwrite the coeffs for just dihedral type 2: + +dihedral_coeff * 80.0 1 3 +dihedral_coeff 2 200.0 1 3 :pre + +A line in a data file that specifies dihedral coefficients uses the exact +same format as the arguments of the dihedral_coeff command in an input +script, except that wild-card asteriks should not be used since +coefficients for all N types must be listed in the file. For example, +under the "Dihedral Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as + +1 80.0 1 3 :pre + +:line + +Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated "dihedral_coeff"_dihedral_coeff.html command: + +"dihedral_style none"_dihedral_style_none.html - turn off dihedral interactions +"dihedral_style hybrid"_dihedral_style_hybrid.html - define multiple styles of dihedral interactions :ul + +"dihedral_style charmm"_dihedral_style_charmm.html - CHARMM dihedral +"dihedral_style class2"_dihedral_style_class2.html - COMPASS (class 2) dihedral +"dihedral_style harmonic"_dihedral_style_harmonic.html - harmonic dihedral +"dihedral_style helix"_dihedral_style_helix.html - helix dihedral +"dihedral_style multi/harmonic"_dihedral_style_multi_harmonic.html - multi-harmonic dihedral +"dihedral_style opls"_dihedral_style_opls.html - OPLS dihedral :ul + +:line + +[Restrictions:] + +This command must come after the simulation box is defined by a +"read_data"_read_data.html, "read_restart"_read_restart.html, or +"create_box"_create_box.html command. + +An dihedral style must be defined before any dihedral coefficients are +set, either in the input script or in a data file. + +[Related commands:] + +"dihedral_style"_dihedral_style.html + +[Default:] none diff --git a/doc/dihedral_style.html b/doc/dihedral_style.html new file mode 100644 index 0000000000..0cf7b1d3db --- /dev/null +++ b/doc/dihedral_style.html @@ -0,0 +1,98 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dihedral_style command +

      +

      Syntax: +

      +
      dihedral_style style 
      +
      +
      • style = none or hybrid or charmm or class2 or harmonic or helix or multi/harmonic or opls +
      +

      Examples: +

      +
      dihedral_style harmonic
      +dihedral_style multi/harmonic
      +dihedral_style hybrid harmonic charmm 
      +
      +

      Description: +

      +

      Set the formula(s) LAMMPS uses to compute dihedral interactions +between quadruplets of atoms, which remain in force for the duration +of the simulation. The list of dihedral quadruplets is read in by a +read_data or read_restart command +from a data or restart file. +

      +

      Hybrid models where dihedrals are computed using different dihedral +potentials can be setup using the hybrid dihedral style. +

      +

      The coefficients associated with a dihedral style can be specified in a +data or restart file or via the dihedral_coeff command. +

      +

      In the formulas listed for each dihedral style, phi is the torsional +angle defined by the quadruplet of atoms. +

      +

      Note that when both an dihedral and pair style is defined, the +special_bond command often needs to be used to +turn off (or weight) the pairwise interactions that would otherwise +exist between the 4 bonded atoms. +

      +

      Here are some important points to take note of when defining the +LAMMPS dihedral coefficients in the formulas that follow so that they +are compatible with other force fields: +

      +
      • The LAMMPS convention is that the trans position = 180 degrees, while +in some force fields trans = 0 degrees. + +
      • Some force fields reverse the sign convention on d. + +
      • Some force fields divide/multiply K by the number of multiple +torsions that contain the j-k bond in an i-j-k-l torsion. + +
      • Some force fields let n be positive or negative which corresponds to +d = 1 or -1 for the harmonic style. +
      +
      + +

      Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated dihedral_coeff command: +

      + + +
      + +

      Restrictions: +

      +

      Dihedral styles can only be set for atom styles that allow dihedrals +to be defined. +

      +

      Dihedral styles are part of the "molecular" package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      dihedral_coeff +

      +

      Default: +

      +

      dihedral_style none +

      + diff --git a/doc/dihedral_style.txt b/doc/dihedral_style.txt new file mode 100644 index 0000000000..01d744b8fe --- /dev/null +++ b/doc/dihedral_style.txt @@ -0,0 +1,94 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dihedral_style command :h3 + +[Syntax:] + +dihedral_style style :pre + +style = {none} or {hybrid} or {charmm} or {class2} or {harmonic} or {helix} or \ + {multi/harmonic} or {opls} :ul + +[Examples:] + +dihedral_style harmonic +dihedral_style multi/harmonic +dihedral_style hybrid harmonic charmm :pre + +[Description:] + +Set the formula(s) LAMMPS uses to compute dihedral interactions +between quadruplets of atoms, which remain in force for the duration +of the simulation. The list of dihedral quadruplets is read in by a +"read_data"_read_data.html or "read_restart"_read_restart.html command +from a data or restart file. + +Hybrid models where dihedrals are computed using different dihedral +potentials can be setup using the {hybrid} dihedral style. + +The coefficients associated with a dihedral style can be specified in a +data or restart file or via the "dihedral_coeff"_dihedral_coeff.html command. + +In the formulas listed for each dihedral style, {phi} is the torsional +angle defined by the quadruplet of atoms. + +Note that when both an dihedral and pair style is defined, the +"special_bond"_special_bond.html command often needs to be used to +turn off (or weight) the pairwise interactions that would otherwise +exist between the 4 bonded atoms. + +Here are some important points to take note of when defining the +LAMMPS dihedral coefficients in the formulas that follow so that they +are compatible with other force fields: + +The LAMMPS convention is that the trans position = 180 degrees, while +in some force fields trans = 0 degrees. :ulb,l + +Some force fields reverse the sign convention on {d}. :l + +Some force fields divide/multiply {K} by the number of multiple +torsions that contain the j-k bond in an i-j-k-l torsion. :l + +Some force fields let {n} be positive or negative which corresponds to +{d} = 1 or -1 for the harmonic style. :ule,l + +:line + +Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated "dihedral_coeff"_dihedral_coeff.html command: + +"dihedral_style none"_dihedral_style_none.html - turn off dihedral interactions +"dihedral_style hybrid"_dihedral_style_hybrid.html - define multiple styles of dihedral interactions :ul + +"dihedral_style charmm"_dihedral_style_charmm.html - CHARMM dihedral +"dihedral_style class2"_dihedral_style_class2.html - COMPASS (class 2) dihedral +"dihedral_style harmonic"_dihedral_style_harmonic.html - harmonic dihedral +"dihedral_style helix"_dihedral_style_helix.html - helix dihedral +"dihedral_style multi/harmonic"_dihedral_style_multi_harmonic.html - multi-harmonic dihedral +"dihedral_style opls"_dihedral_style_opls.html - OPLS dihedral :ul + +:line + +[Restrictions:] + +Dihedral styles can only be set for atom styles that allow dihedrals +to be defined. + +Dihedral styles are part of the "molecular" package. They are only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"dihedral_coeff"_dihedral_coeff.html + +[Default:] + +dihedral_style none diff --git a/doc/dihedral_style_charmm.html b/doc/dihedral_style_charmm.html new file mode 100644 index 0000000000..9e60fbc648 --- /dev/null +++ b/doc/dihedral_style_charmm.html @@ -0,0 +1,63 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dihedral_style charmm command +

      +

      Syntax: +

      +
      dihedral_style charmm 
      +
      +

      Examples: +

      +
      dihedral_style charmm
      +dihedral_coeff 1 120.0 1 60 0.5 
      +
      +

      Description: +

      +

      The charmm dihedral style uses the potential +

      +
      +
      +

      The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy) +
      • n (integer >= 0) +
      • d (integer value of degrees) +
      • weighting factor (0.0 to 1.0) +
      +

      The weighting factor is applied to pairwise interaction between the +1st and 4th atoms in the dihedral. Note that this weighting factor is +unrelated to the weighting factor specified by the special +bonds command which applies to all 1-4 +interactions in the system. For CHARMM force fields, the latter +should typically be set to 0.0, else the 1-4 interactions in a +dihedral will be computed twice (once by the pair potential, and once +by the dihedral/charmm potential). +

      +

      Restrictions: +

      +

      Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. +

      +

      This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      dihedral_coeff +

      +

      Default: none +

      + diff --git a/doc/dihedral_style_charmm.txt b/doc/dihedral_style_charmm.txt new file mode 100644 index 0000000000..90a5e8bf70 --- /dev/null +++ b/doc/dihedral_style_charmm.txt @@ -0,0 +1,58 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dihedral_style charmm command :h3 + +[Syntax:] + +dihedral_style charmm :pre + +[Examples:] + +dihedral_style charmm +dihedral_coeff 1 120.0 1 60 0.5 :pre + +[Description:] + +The {charmm} dihedral style uses the potential + +:c,image(Eqs/dihedral_charmm.jpg) + +The following coefficients must be defined for each dihedral type via the +"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy) +n (integer >= 0) +d (integer value of degrees) +weighting factor (0.0 to 1.0) :ul + +The weighting factor is applied to pairwise interaction between the +1st and 4th atoms in the dihedral. Note that this weighting factor is +unrelated to the weighting factor specified by the "special +bonds"_doc/special_bonds.html command which applies to all 1-4 +interactions in the system. For CHARMM force fields, the latter +should typically be set to 0.0, else the 1-4 interactions in a +dihedral will be computed twice (once by the pair potential, and once +by the dihedral/charmm potential). + +[Restrictions:] + +Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. + +This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"dihedral_coeff"_dihedral_coeff.html + +[Default:] none diff --git a/doc/dihedral_style_class2.html b/doc/dihedral_style_class2.html new file mode 100644 index 0000000000..b6e90971cf --- /dev/null +++ b/doc/dihedral_style_class2.html @@ -0,0 +1,117 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dihedral_style class2 command +

      +

      Syntax: +

      +
      dihedral_style class2 
      +
      +

      Examples: +

      +
      dihedral_style class2
      +dihedral_coeff 1 100 75 100 70 80 60 
      +
      +

      Description: +

      +

      The class2 dihedral style uses the potential +

      +
      +
      +

      where Ed is the dihedral term, Embt is a middle-bond-torsion term, +Eebt is an end-bond-torsion term, Eat is an angle-torsion term, Eaat +is an angle-angle-torsion term, and Ebb13 is a bond-bond-13 term. +

      +

      Theta1 and theta2 are equilibrium angles and r1 r2 r3 are equilibrium +bond lengths. +

      +

      For this style, only coefficients for the Ed formula can be specified +in the input script. These are the 6 coefficients: +

      +
      • K1 (energy) +
      • phi1 (degrees) +
      • K2 (energy) +
      • phi2 (degrees) +
      • K3 (energy) +
      • phi3 (degrees) +
      +

      Coefficients for all the other formulas must be specified in the data +file. +

      +

      For the Embt formula, the coefficients are listed under a +"MiddleBondTorsion Coeffs" heading and each line lists 4 coefficients: +

      +
      • A1 (energy/distance) +
      • A2 (energy/distance) +
      • A3 (energy/distance) +
      • r2 (distance) +
      +

      For the Eebt formula, the coefficients are listed under a +"EndBondTorsion Coeffs" heading and each line lists 8 coefficients: +

      +
      • B1 (energy/distance) +
      • B2 (energy/distance) +
      • B3 (energy/distance) +
      • C1 (energy/distance) +
      • C2 (energy/distance) +
      • C3 (energy/distance) +
      • r1 (distance) +
      • r3 (distance) +
      +

      For the Eat formula, the coefficients are listed under a "AngleTorsion +Coeffs" heading and each line lists 8 coefficients: +

      +
      • D1 (energy/radian) +
      • D2 (energy/radian) +
      • D3 (energy/radian) +
      • E1 (energy/radian) +
      • E2 (energy/radian) +
      • E3 (energy/radian) +
      • theta1 (degrees) +
      • theta2 (degrees) +
      +

      Theta1 and theta2 are specified in degrees, but LAMMPS converts them +to radians internally; hence the units of D and E are in +energy/radian. +

      +

      For the Eaat formula, the coefficients are listed under a +"AngleAngleTorsion Coeffs" heading and each line lists 3 coefficients: +

      +
      • M (energy/radian^2) +
      • theta1 (degrees) +
      • theta2 (degrees) +
      +

      Theta1 and theta2 are specified in degrees, but LAMMPS converts them +to radians internally; hence the units of M are in energy/radian^2. +

      +

      For the Ebb13 formula, the coefficients are listed under a "BondBond13 +Coeffs" heading and each line lists 3 coefficients: +

      +
      • N (energy/distance^2) +
      • r1 (distance) +
      • r3 (distance) +
      +

      Restrictions: +

      +

      Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. +

      +

      This dihedral style is part of the "class2" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      dihedral_coeff +

      +

      Default: none +

      + diff --git a/doc/dihedral_style_class2.txt b/doc/dihedral_style_class2.txt new file mode 100644 index 0000000000..e220719342 --- /dev/null +++ b/doc/dihedral_style_class2.txt @@ -0,0 +1,112 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dihedral_style class2 command :h3 + +[Syntax:] + +dihedral_style class2 :pre + +[Examples:] + +dihedral_style class2 +dihedral_coeff 1 100 75 100 70 80 60 :pre + +[Description:] + +The {class2} dihedral style uses the potential + +:c,image(Eqs/dihedral_class2.jpg) + +where Ed is the dihedral term, Embt is a middle-bond-torsion term, +Eebt is an end-bond-torsion term, Eat is an angle-torsion term, Eaat +is an angle-angle-torsion term, and Ebb13 is a bond-bond-13 term. + +Theta1 and theta2 are equilibrium angles and r1 r2 r3 are equilibrium +bond lengths. + +For this style, only coefficients for the Ed formula can be specified +in the input script. These are the 6 coefficients: + +K1 (energy) +phi1 (degrees) +K2 (energy) +phi2 (degrees) +K3 (energy) +phi3 (degrees) :ul + +Coefficients for all the other formulas must be specified in the data +file. + +For the Embt formula, the coefficients are listed under a +"MiddleBondTorsion Coeffs" heading and each line lists 4 coefficients: + +A1 (energy/distance) +A2 (energy/distance) +A3 (energy/distance) +r2 (distance) :ul + +For the Eebt formula, the coefficients are listed under a +"EndBondTorsion Coeffs" heading and each line lists 8 coefficients: + +B1 (energy/distance) +B2 (energy/distance) +B3 (energy/distance) +C1 (energy/distance) +C2 (energy/distance) +C3 (energy/distance) +r1 (distance) +r3 (distance) :ul + +For the Eat formula, the coefficients are listed under a "AngleTorsion +Coeffs" heading and each line lists 8 coefficients: + +D1 (energy/radian) +D2 (energy/radian) +D3 (energy/radian) +E1 (energy/radian) +E2 (energy/radian) +E3 (energy/radian) +theta1 (degrees) +theta2 (degrees) :ul + +Theta1 and theta2 are specified in degrees, but LAMMPS converts them +to radians internally; hence the units of D and E are in +energy/radian. + +For the Eaat formula, the coefficients are listed under a +"AngleAngleTorsion Coeffs" heading and each line lists 3 coefficients: + +M (energy/radian^2) +theta1 (degrees) +theta2 (degrees) :ul + +Theta1 and theta2 are specified in degrees, but LAMMPS converts them +to radians internally; hence the units of M are in energy/radian^2. + +For the Ebb13 formula, the coefficients are listed under a "BondBond13 +Coeffs" heading and each line lists 3 coefficients: + +N (energy/distance^2) +r1 (distance) +r3 (distance) :ul + +[Restrictions:] + +Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. + +This dihedral style is part of the "class2" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"dihedral_coeff"_dihedral_coeff.html + +[Default:] none diff --git a/doc/dihedral_style_harmonic.html b/doc/dihedral_style_harmonic.html new file mode 100644 index 0000000000..c0be74e65b --- /dev/null +++ b/doc/dihedral_style_harmonic.html @@ -0,0 +1,53 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dihedral_style harmonic command +

      +

      Syntax: +

      +
      dihedral_style harmonic 
      +
      +

      Examples: +

      +
      dihedral_style harmonic
      +dihedral_coeff 1 80.0 1 2 
      +
      +

      Description: +

      +

      The harmonic dihedral style uses the potential +

      +
      +
      +

      The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy) +
      • d (+1 or -1) +
      • n (integer >= 0) +
      +

      Restrictions: +

      +

      Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. +

      +

      This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      dihedral_coeff +

      +

      Default: none +

      + diff --git a/doc/dihedral_style_harmonic.txt b/doc/dihedral_style_harmonic.txt new file mode 100644 index 0000000000..d576e0e938 --- /dev/null +++ b/doc/dihedral_style_harmonic.txt @@ -0,0 +1,48 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dihedral_style harmonic command :h3 + +[Syntax:] + +dihedral_style harmonic :pre + +[Examples:] + +dihedral_style harmonic +dihedral_coeff 1 80.0 1 2 :pre + +[Description:] + +The {harmonic} dihedral style uses the potential + +:c,image(Eqs/dihedral_harmonic.jpg) + +The following coefficients must be defined for each dihedral type via the +"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy) +d (+1 or -1) +n (integer >= 0) :ul + +[Restrictions:] + +Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. + +This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"dihedral_coeff"_dihedral_coeff.html + +[Default:] none diff --git a/doc/dihedral_style_helix.html b/doc/dihedral_style_helix.html new file mode 100644 index 0000000000..9005246b51 --- /dev/null +++ b/doc/dihedral_style_helix.html @@ -0,0 +1,67 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dihedral_style helix command +

      +

      Syntax: +

      +
      dihedral_style helix 
      +
      +

      Examples: +

      +
      dihedral_style helix
      +dihedral_coeff 1 80.0 100.0 40.0 
      +
      +

      Description: +

      +

      The helix dihedral style uses the potential +

      +
      +
      +

      This coarse-grain dihedral potential is described in (Guo). +For dihedral angles in the helical region, the energy function is +represented by a standard potential consisting of three minima, one +corresponding to the trans (t) state and the other to gauche states +(g+ and g-). The paper describes how the A,B,C parameters are chosen +so as to balance secondary (largely driven by local interactions) and +tertiary structure (driven by long-range interactions). +

      +

      The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • A (energy) +
      • B (energy) +
      • C (energy) +
      +

      Restrictions: +

      +

      Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. +

      +

      This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      dihedral_coeff +

      +

      Default: none +

      +
      + + + +

      (Guo) Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996). +

      + diff --git a/doc/dihedral_style_helix.txt b/doc/dihedral_style_helix.txt new file mode 100644 index 0000000000..91271cfcbc --- /dev/null +++ b/doc/dihedral_style_helix.txt @@ -0,0 +1,61 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dihedral_style helix command :h3 + +[Syntax:] + +dihedral_style helix :pre + +[Examples:] + +dihedral_style helix +dihedral_coeff 1 80.0 100.0 40.0 :pre + +[Description:] + +The {helix} dihedral style uses the potential + +:c,image(Eqs/dihedral_helix.jpg) + +This coarse-grain dihedral potential is described in "(Guo)"_#Guo. +For dihedral angles in the helical region, the energy function is +represented by a standard potential consisting of three minima, one +corresponding to the trans (t) state and the other to gauche states +(g+ and g-). The paper describes how the A,B,C parameters are chosen +so as to balance secondary (largely driven by local interactions) and +tertiary structure (driven by long-range interactions). + +The following coefficients must be defined for each dihedral type via the +"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +A (energy) +B (energy) +C (energy) :ul + +[Restrictions:] + +Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. + +This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"dihedral_coeff"_dihedral_coeff.html + +[Default:] none + +:line + +:link(Guo) +[(Guo)] Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996). diff --git a/doc/dihedral_style_hybrid.html b/doc/dihedral_style_hybrid.html new file mode 100644 index 0000000000..d3fab5b615 --- /dev/null +++ b/doc/dihedral_style_hybrid.html @@ -0,0 +1,59 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dihedral_style hybrid command +

      +

      Syntax: +

      +
      dihedral_style hybrid style1 style2 ... 
      +
      +
      • style1,style2 = list of one or more dihedral styles +
      +

      Examples: +

      +
      dihedral_style hybrid harmonic helix
      +dihedral_coeff 1 harmonic 6.0 1 3
      +dihedral_coeff 2 helix 10 10 10 
      +
      +

      Description: +

      +

      The hybrid style enables the use of multiple dihedral styles in one +simulation. An dihedral style is assigned to each dihedral type. For +example, dihedrals in a polymer flow (of dihedral type 1) could be +computed with a harmonic potential and dihedrals in the wall +boundary (of dihedral type 2) could be computed with a helix +potential. The assignment of dihedral type to style is made via the +dihedral_coeff command or in the data file. +

      +

      In the dihedral_coeff command, the first coefficient sets the dihedral +style and the remaining coefficients are those appropriate to that +style. In the example above, the 2 dihedral_coeff commands would set +dihedrals of dihedral type 1 to be computed with a harmonic +potential with coefficients 80.0, 1.2 for K, d, n. Dihedral type 2 +would be computed with a helix potential with coefficients 10.0, +10.0, 10.0 for A, B, C. +

      +

      Restrictions: +

      +

      Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. +

      +

      This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      dihedral_coeff +

      +

      Default: none +

      + diff --git a/doc/dihedral_style_hybrid.txt b/doc/dihedral_style_hybrid.txt new file mode 100644 index 0000000000..4260b749f5 --- /dev/null +++ b/doc/dihedral_style_hybrid.txt @@ -0,0 +1,54 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dihedral_style hybrid command :h3 + +[Syntax:] + +dihedral_style hybrid style1 style2 ... :pre + +style1,style2 = list of one or more dihedral styles :ul + +[Examples:] + +dihedral_style hybrid harmonic helix +dihedral_coeff 1 harmonic 6.0 1 3 +dihedral_coeff 2 helix 10 10 10 :pre + +[Description:] + +The {hybrid} style enables the use of multiple dihedral styles in one +simulation. An dihedral style is assigned to each dihedral type. For +example, dihedrals in a polymer flow (of dihedral type 1) could be +computed with a {harmonic} potential and dihedrals in the wall +boundary (of dihedral type 2) could be computed with a {helix} +potential. The assignment of dihedral type to style is made via the +"dihedral_coeff"_dihedral_coeff.html command or in the data file. + +In the dihedral_coeff command, the first coefficient sets the dihedral +style and the remaining coefficients are those appropriate to that +style. In the example above, the 2 dihedral_coeff commands would set +dihedrals of dihedral type 1 to be computed with a {harmonic} +potential with coefficients 80.0, 1.2 for K, d, n. Dihedral type 2 +would be computed with a {helix} potential with coefficients 10.0, +10.0, 10.0 for A, B, C. + +[Restrictions:] + +Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. + +This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"dihedral_coeff"_dihedral_coeff.html + +[Default:] none diff --git a/doc/dihedral_style_multi_harmonic.html b/doc/dihedral_style_multi_harmonic.html new file mode 100644 index 0000000000..5cdd2b6000 --- /dev/null +++ b/doc/dihedral_style_multi_harmonic.html @@ -0,0 +1,55 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dihedral_style multi/harmonic command +

      +

      Syntax: +

      +
      dihedral_style multi/harmonic 
      +
      +

      Examples: +

      +
      dihedral_style multi/harmonic
      +dihedral_coeff 1 20 20 20 20 20 
      +
      +

      Description: +

      +

      The multi/harmonic dihedral style uses the potential +

      +
      +
      +

      The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • A1 (energy) +
      • A2 (energy) +
      • A3 (energy) +
      • A4 (energy) +
      • A5 (energy) +
      +

      Restrictions: +

      +

      Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. +

      +

      This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      dihedral_coeff +

      +

      Default: none +

      + diff --git a/doc/dihedral_style_multi_harmonic.txt b/doc/dihedral_style_multi_harmonic.txt new file mode 100644 index 0000000000..7cb4819ed6 --- /dev/null +++ b/doc/dihedral_style_multi_harmonic.txt @@ -0,0 +1,50 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dihedral_style multi/harmonic command :h3 + +[Syntax:] + +dihedral_style multi/harmonic :pre + +[Examples:] + +dihedral_style multi/harmonic +dihedral_coeff 1 20 20 20 20 20 :pre + +[Description:] + +The {multi/harmonic} dihedral style uses the potential + +:c,image(Eqs/dihedral_multi_harmonic.jpg) + +The following coefficients must be defined for each dihedral type via the +"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +A1 (energy) +A2 (energy) +A3 (energy) +A4 (energy) +A5 (energy) :ul + +[Restrictions:] + +Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. + +This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"dihedral_coeff"_dihedral_coeff.html + +[Default:] none diff --git a/doc/dihedral_style_none.html b/doc/dihedral_style_none.html new file mode 100644 index 0000000000..fc0a01419b --- /dev/null +++ b/doc/dihedral_style_none.html @@ -0,0 +1,37 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dihedral_style none command +

      +

      Syntax: +

      +
      dihedral_style none 
      +
      +

      Examples: +

      +
      dihedral_style none 
      +
      +

      Description: +

      +

      Using an dihedral style of none means dihedral forces are not +computed, even if quadruplets of dihedral atoms were listed in the +data file read by the read_data command. +

      +

      Restrictions: +

      +

      Dihedral styles can only be set for atom styles that allow dihedrals +to be defined. +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/dihedral_style_none.txt b/doc/dihedral_style_none.txt new file mode 100644 index 0000000000..bf002923ea --- /dev/null +++ b/doc/dihedral_style_none.txt @@ -0,0 +1,32 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dihedral_style none command :h3 + +[Syntax:] + +dihedral_style none :pre + +[Examples:] + +dihedral_style none :pre + +[Description:] + +Using an dihedral style of none means dihedral forces are not +computed, even if quadruplets of dihedral atoms were listed in the +data file read by the "read_data"_read_data.html command. + +[Restrictions:] + +Dihedral styles can only be set for atom styles that allow dihedrals +to be defined. + +[Related commands:] none + +[Default:] none diff --git a/doc/dihedral_style_opls.html b/doc/dihedral_style_opls.html new file mode 100644 index 0000000000..6bfb3fed70 --- /dev/null +++ b/doc/dihedral_style_opls.html @@ -0,0 +1,65 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dihedral_style opls command +

      +

      Syntax: +

      +
      dihedral_style opls 
      +
      +

      Examples: +

      +
      dihedral_style opls
      +dihedral_coeff 1 90.0 90.0 90.0 70.0 
      +
      +

      Description: +

      +

      The opls dihedral style uses the potential +

      +
      +
      +

      Note that the usual 1/2 factor is not included in the K values. +

      +

      This dihedral potential is used in the OPLS force field and is +described in (Watkins). +

      +

      The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K1 (energy) +
      • K2 (energy) +
      • K3 (energy) +
      • K4 (energy) +
      +

      Restrictions: +

      +

      Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. +

      +

      This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      dihedral_coeff +

      +

      Default: none +

      +
      + + + +

      (Watkins) Watkins and Jorgensen, J Phys Chem A, 105, 4118-4125 (2001). +

      + diff --git a/doc/dihedral_style_opls.txt b/doc/dihedral_style_opls.txt new file mode 100644 index 0000000000..b0b5b9dea6 --- /dev/null +++ b/doc/dihedral_style_opls.txt @@ -0,0 +1,59 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dihedral_style opls command :h3 + +[Syntax:] + +dihedral_style opls :pre + +[Examples:] + +dihedral_style opls +dihedral_coeff 1 90.0 90.0 90.0 70.0 :pre + +[Description:] + +The {opls} dihedral style uses the potential + +:c,image(Eqs/dihedral_opls.jpg) + +Note that the usual 1/2 factor is not included in the K values. + +This dihedral potential is used in the OPLS force field and is +described in "(Watkins)"_#Watkins. + +The following coefficients must be defined for each dihedral type via the +"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K1 (energy) +K2 (energy) +K3 (energy) +K4 (energy) :ul + +[Restrictions:] + +Dihedral styles can only be set for atom styles that allow dihedrals to be +defined. + +This dihedral style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"dihedral_coeff"_dihedral_coeff.html + +[Default:] none + +:line + +:link(Watkins) +[(Watkins)] Watkins and Jorgensen, J Phys Chem A, 105, 4118-4125 (2001). diff --git a/doc/dimension.html b/doc/dimension.html new file mode 100644 index 0000000000..638e6b1e17 --- /dev/null +++ b/doc/dimension.html @@ -0,0 +1,48 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dimension command +

      +

      Syntax: +

      +
      dimension N 
      +
      +
      • N = 2 or 3 +
      +

      Examples: +

      +
      dimension 2 
      +
      +

      Description: +

      +

      Set the dimensionality of the simulation. By default LAMMPS runs 3d +simulations. To run a 2d simulation, this command should be used +prior to setting up a simulation box via the +create_box or read_data commands. +Restart files also store this setting. +

      +

      See the discussion in this section for additional +instructions on how to run 2d simulations. +

      +

      Restrictions: +

      +

      This command must be used before the simulation box is defined by a +read_data or create_box command. +

      +

      Related commands: +

      +

      fix enforce2d +

      +

      Default: +

      +
      dimension 3 
      +
      + diff --git a/doc/dimension.txt b/doc/dimension.txt new file mode 100644 index 0000000000..f09068d199 --- /dev/null +++ b/doc/dimension.txt @@ -0,0 +1,43 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dimension command :h3 + +[Syntax:] + +dimension N :pre + +N = 2 or 3 :ul + +[Examples:] + +dimension 2 :pre + +[Description:] + +Set the dimensionality of the simulation. By default LAMMPS runs 3d +simulations. To run a 2d simulation, this command should be used +prior to setting up a simulation box via the +"create_box"_create_box.html or "read_data"_read_data.html commands. +Restart files also store this setting. + +See the discussion in "this section"_Section_howto.html for additional +instructions on how to run 2d simulations. + +[Restrictions:] + +This command must be used before the simulation box is defined by a +"read_data"_read_data.html or "create_box"_create_box.html command. + +[Related commands:] + +"fix enforce2d"_fix_enforce2d.html + +[Default:] + +dimension 3 :pre diff --git a/doc/dipole.html b/doc/dipole.html new file mode 100644 index 0000000000..08f89c4acd --- /dev/null +++ b/doc/dipole.html @@ -0,0 +1,66 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dipole command +

      +

      Syntax: +

      +
      dipole I value 
      +
      +
      • I = atom type (see asterik form below) +
      • value = dipole +
      +

      Examples: +

      +
      dipole 1 1.0
      +dipole 3 2.0
      +dipole 3*5 0.0 
      +
      +

      Description: +

      +

      Set the dipole moment for all atoms of one or more atom types. This +command is only used for atom styles that require dipole moments +(atom_style dipole). A value of 0.0 should be used +if the atom type has no dipole moment. Dipole values can also be set +in the read_data data file. See the +units command for a discussion of dipole units. +

      +

      I can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the dipole moment for multiple atom types. This takes the +form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, +then an asterik with no numeric values means all types from 1 to N. A +leading asterik means all types from 1 to n (inclusive). A trailing +asterik means all types from n to N (inclusive). A middle asterik +means all types from m to n (inclusive). +

      +

      A line in a data file that specifies a dipole moement uses the exact +same format as the arguments of the dipole command in an input script, +except that no wild-card asterik can be used. For example, under the +"Dipoles" section of a data file, the line that corresponds to the 1st +example above would be listed as +

      +
      1 1.0 
      +
      +

      Restrictions: +

      +

      This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

      +

      All dipoles moments must be defined before a simulation is run (if the +atom style requires dipoles be set). +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/dipole.txt b/doc/dipole.txt new file mode 100644 index 0000000000..f618b2dee0 --- /dev/null +++ b/doc/dipole.txt @@ -0,0 +1,61 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dipole command :h3 + +[Syntax:] + +dipole I value :pre + +I = atom type (see asterik form below) +value = dipole :ul + +[Examples:] + +dipole 1 1.0 +dipole 3 2.0 +dipole 3*5 0.0 :pre + +[Description:] + +Set the dipole moment for all atoms of one or more atom types. This +command is only used for atom styles that require dipole moments +("atom_style"_atom_style.html dipole). A value of 0.0 should be used +if the atom type has no dipole moment. Dipole values can also be set +in the "read_data"_read_data.html data file. See the +"units"_units.html command for a discussion of dipole units. + +I can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the dipole moment for multiple atom types. This takes the +form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, +then an asterik with no numeric values means all types from 1 to N. A +leading asterik means all types from 1 to n (inclusive). A trailing +asterik means all types from n to N (inclusive). A middle asterik +means all types from m to n (inclusive). + +A line in a data file that specifies a dipole moement uses the exact +same format as the arguments of the dipole command in an input script, +except that no wild-card asterik can be used. For example, under the +"Dipoles" section of a data file, the line that corresponds to the 1st +example above would be listed as + +1 1.0 :pre + +[Restrictions:] + +This command must come after the simulation box is defined by a +"read_data"_read_data.html, "read_restart"_read_restart.html, or +"create_box"_create_box.html command. + +All dipoles moments must be defined before a simulation is run (if the +atom style requires dipoles be set). + +[Related commands:] none + +[Default:] none diff --git a/doc/displace_atoms.html b/doc/displace_atoms.html new file mode 100644 index 0000000000..d9c98529fa --- /dev/null +++ b/doc/displace_atoms.html @@ -0,0 +1,85 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      displace_atoms command +

      +

      Syntax: +

      +
      displace_atoms group-ID style args keyword value ... 
      +
      +
      • group-ID = ID of group of atoms to displace + +
      • style = move or ramp + +
          move args = delx dely delz
        +    delx,dely,delz = distance to displace in each dimension (distance units)
        +  ramp args = ddim dlo dhi dim clo chi
        +    ddim = x or y or z
        +    dlo,dhi = displacement distance between dlo and dhi (distance units)
        +    dim = x or y or z
        +    clo,chi = lower and upper bound of domain to displace (distance units) 
        +
        +
      • zero or more keyword/value pairs may be appended to the args + +
          keyword = units
        +    value = box or lattice 
        +
        + +
      +

      Examples: +

      +
      displace_atoms top move 0 -5 0 units box
      +displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5 
      +
      +

      Description: +

      +

      Displace a group of atoms. This can be useful to move atoms a large +distance before beginning a simulation. For example, in a shear +simulation, an initial strain can be imposed on the system. Or two +groups of atoms can be brought into closer proximity. +

      +

      The move style displaces the group of atoms by the specified 3d +distance. The ramp style displaces atoms a variable amount in one +dimension depending on the atom's coordinate in a (possibly) different +dimension. For example, the second example command displaces atoms in +the x-direction an amount between 0.0 and 5.0 distance units. Each +atom's displacement depends on the fractional distance its y +coordinate is between 2.0 and 20.5. Atoms with y-coordinates outside +those bounds will be moved the minimum (0.0) or maximum (5.0) amount. +

      +

      Distance units for the displacement are determined by the setting of +box or lattice for the units keyword. Box means distance +units as defined by the units command - e.g. Angstroms +for real units. Lattice means to use lattice spacings as defined +by the lattice command. The default is to use lattice +units. +

      +

      Care should be taken not to move atoms on top of other atoms. After +the move, atoms are remapped to the periodic simulation box. In +parallel, atoms should not be moved so far that they cross more than +one processor's sub-domain, else they may be lost. If this is a +problem, successive displace_atom commands can be used to move atoms a +large distance. +

      +

      Restrictions: +

      +

      This command requires inter-processor communication to migrate atoms +once they have been displaced. This means that your system must be +ready to perform a simulation before using this command (force fields +setup, atom masses set, etc). +

      +

      Related commands: none +

      +

      Default: +

      +

      The option defaults are units = lattice. +

      + diff --git a/doc/displace_atoms.txt b/doc/displace_atoms.txt new file mode 100644 index 0000000000..820949c022 --- /dev/null +++ b/doc/displace_atoms.txt @@ -0,0 +1,75 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +displace_atoms command :h3 + +[Syntax:] + +displace_atoms group-ID style args keyword value ... :pre + +group-ID = ID of group of atoms to displace :ulb,l +style = {move} or {ramp} :l + {move} args = delx dely delz + delx,dely,delz = distance to displace in each dimension (distance units) + {ramp} args = ddim dlo dhi dim clo chi + ddim = {x} or {y} or {z} + dlo,dhi = displacement distance between dlo and dhi (distance units) + dim = {x} or {y} or {z} + clo,chi = lower and upper bound of domain to displace (distance units) :pre +zero or more keyword/value pairs may be appended to the args :l + keyword = {units} + value = {box} or {lattice} :pre +:ule + +[Examples:] + +displace_atoms top move 0 -5 0 units box +displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5 :pre + +[Description:] + +Displace a group of atoms. This can be useful to move atoms a large +distance before beginning a simulation. For example, in a shear +simulation, an initial strain can be imposed on the system. Or two +groups of atoms can be brought into closer proximity. + +The {move} style displaces the group of atoms by the specified 3d +distance. The {ramp} style displaces atoms a variable amount in one +dimension depending on the atom's coordinate in a (possibly) different +dimension. For example, the second example command displaces atoms in +the x-direction an amount between 0.0 and 5.0 distance units. Each +atom's displacement depends on the fractional distance its y +coordinate is between 2.0 and 20.5. Atoms with y-coordinates outside +those bounds will be moved the minimum (0.0) or maximum (5.0) amount. + +Distance units for the displacement are determined by the setting of +{box} or {lattice} for the {units} keyword. {Box} means distance +units as defined by the "units"_units.html command - e.g. Angstroms +for {real} units. {Lattice} means to use lattice spacings as defined +by the "lattice"_lattice.html command. The default is to use lattice +units. + +Care should be taken not to move atoms on top of other atoms. After +the move, atoms are remapped to the periodic simulation box. In +parallel, atoms should not be moved so far that they cross more than +one processor's sub-domain, else they may be lost. If this is a +problem, successive displace_atom commands can be used to move atoms a +large distance. + +[Restrictions:] + +This command requires inter-processor communication to migrate atoms +once they have been displaced. This means that your system must be +ready to perform a simulation before using this command (force fields +setup, atom masses set, etc). + +[Related commands:] none + +[Default:] + +The option defaults are units = lattice. diff --git a/doc/doc b/doc/doc new file mode 120000 index 0000000000..325ab0db62 --- /dev/null +++ b/doc/doc @@ -0,0 +1 @@ +doc \ No newline at end of file diff --git a/doc/dump.html b/doc/dump.html new file mode 100644 index 0000000000..5841d44f96 --- /dev/null +++ b/doc/dump.html @@ -0,0 +1,322 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dump command +

      +

      Syntax: +

      +
      dump ID group-ID style N file args 
      +
      +
      • ID = user-assigned name for the dump + +
      • group-ID = ID of the group of atoms to be dumped + +
      • style = atom or bond or custom or dcd or xtc or xyz + +
      • N = dump every this many timesteps + +
      • file = name of file to write dump info to + +
      • args = list of arguments for a particular style + +
          atom args = none
        +  bond args = none
        +  custom args = list of atom attributes
        +    possible attributes = tag, mol, type, x, y, z, xs, ys, zs, xu, yu, zu,
        +                 ix, iy, iz, vx, vy, vz, fx, fy, fz,
        +                 q, mux, muy, muz, tqx, tqy, tqz,
        +		 centro, eng, sxx, syy, szz, sxy, sxz, syz 
        +      tag = atom ID
        +      mol = molecule ID
        +      type = atom type
        +      x,y,z = unscaled atom coordinates
        +      xs,ys,zs = scaled atom coordinates
        +      xu,yu,zu = unwrapped atom coordinates
        +      ix,iy,iz = box image that the atom is in in
        +      vx,vy,vz = atom velocities
        +      fx,fy,fz = forces on atoms
        +      q = atom charge
        +      mux,muy,muz = orientation of dipolar atom
        +      tqx,tqy,tqz = torque on dipolar atoms
        +      centro = per-atom centro-symmetry parameter
        +      eng = per-atom pairwise energy
        +      sxx, syy, szz, sxy, sxz, syz = per-atom stress tensor components
        +  dcd args = none
        +  xtc args = precision (optional)
        +    precision = power-of-10 value from 10 to 1000000 (default = 1000)
        +  xyz args = none 
        +
        + +
      +

      Examples: +

      +
      dump myDump all atom 100 dump.atom
      +dump 2 subgroup atom 50 dump.run.bin
      +dump 4a all custom 100 dump.myforce.* tag type x y vx fx
      +dump 4b flow custom 100 dump.%.myforce tag type eng sxx syy szz
      +dump 1 all xtc 1000 file.xtc 100.0 
      +
      +

      Description: +

      +

      Dump a snapshot of atom quantities to one or more files every N +timesteps in one of several styles. As described below, the filename +determines the kind of output (text or binary or gzipped, one big file +or one per timestep, one big file or one per processor). Only +information for atoms in the specified group is dumped. The +dump_modify command can also alter what atoms are +included. Not all styles support all these options; see details +below. +

      +

      Note that because periodic boundary conditions are enforced only on +timesteps when neighbor lists are rebuilt, the coordinates of an atom +written to a dump file may be slightly outside the simulation box. +

      +

      Also note that when LAMMPS is running in parallel, the atom +information written to dump files (typically one line per atom) may be +written in an indeterminate order. This is because data for a single +snapshot is collected from multiple processors. This is always the +case for the atom, bond, and custom styles. It is also the case +for the xyz style if the dump group is not all. It is not the +case for the dcd and xtc styles which always write atoms in sorted +order. So does the xyz style if the dump group is all. +

      +
      + +

      The style keyword determines what atom quantities are written to the +file and in what format. Settings made via the +dump_modify command can also alter the format of +individual values and the file itself. +

      +

      The atom, bond, and custom styles create files in a simple text +format that is self-explanatory. Many of the LAMMPS post-processing +tools, including +Pizza.py, work with +this format. +

      +

      For style atom, atom coordinates are written to the file, along with +the atom ID and atom type. By default, atom coords are written in a +scaled format (from 0 to 1). I.e. an x value of 0.25 means the atom +is at a location 1/4 of the distance from xlo to xhi of the box +boundaries. The format can be changed to unscaled coords via the +dump_modify settings. Image flags can also be +added for each atom via dump_modify. +

      +

      For style bond, the bond topology between atoms is written, in the +same format specified in data files read in by the +read_data command. Both atoms in the bond must be in +the dump group for the bond to be written. Any bonds that have been +broken (see the bond_style command) by setting their +bond type to 0 are not written. Bonds that have been turned off (see +the fix shake or delete_bonds +commands) by setting their bond type negative are written into the +file. +

      +

      Style custom allows you to specify a list of atom attributes to be +written to the dump file for each atom. Possible attributes are +listed above and will appear in the order specified. Be careful not +to specify a quantity that is not defined for a particular simulation +- such as q for atom style bond, since that atom style doesn't +assign charges. Dumps occur at the very end of a timestep, so atom +attributes will include effects due to fixes that are applied during +the timestep. An explanation of some of the dump custom quantities is +given below. +

      +

      The dcd style writes DCD files, a standard atomic trajectory format +used by the CHARMM, NAMD, and XPlor molecular dynamics packages. DCD +files are binary and thus may not be portable to different machines. +The dump group must be all for the dcd style. +

      +

      The xtc style writes XTC files, a compressed trajectory format used +by the Gromacs molecular dynamics package, and described +here. +The precision used in XTC files can be specified; for example, a value +of 100 means that coordinates are stored to 1/100 nanometer accuracy. +XTC files are portable binary files written in the NFS XDR data +format, so that any machine which supports XDR should be able to read +them. The dump group must be all for the xtc style. +

      +

      The xyz style writes XYZ files, which is a simple text-based +coordinate format that many codes can read. +

      +

      Note that DCD, XTC, and XYZ formatted files can be read directly by +VMD (a popular molecular viewing +program). VMD will also read LAMMPS atom style dump files since +someone added a LAMMPS plug-in to VMD. I am told it requires an +initial snapshot from an XYZ formatted file to get started. +

      +
      + +

      Dumps are performed on timesteps that are a multiple of N and on the +first step of a run or minimization, excluding duplicate timesteps. A +dump is not performed on the last timestep of a run unless it is a +multiple of N. A dump is performed on the last timestep of a +minimization if the minimization converges. N can be changed between +runs by using the dump_modify command (not allowed +for dcd style). +

      +

      The specified filename determines how the dump file(s) is written. +The default is to write one large text file, which is opened when the +dump command is invoked and closed when an undump +command is used or when LAMMPS exits. For the dcd and xtc styles, +this is a single large binary file. +

      +

      Dump filenames can contian two wild-card characters. If a "*" +character appears in the filename, then one file per snapshot is +written and the "*" character is replaced with the timestep value. +For example, tmp.dump.* becomes tmp.dump.0, tmp.dump.10000, +tmp.dump.20000, etc. This option is not available for the dcd and +xtc styles. +

      +

      If a "%" character appears in the filename, then one file is written +for each processor and the "%" character is replaced with the +processor ID from 0 to P-1. For example, tmp.dump.% becomes +tmp.dump.0, tmp.dump.1, ... tmp.dump.P-1, etc. This creates smaller +files and can be a fast mode of output on parallel machines that +support parallel I/O for output. This option is not available for the +dcd, xtc, and xyz styles. +

      +

      Note that the "*" and "%" characters can be used together to produce a +large number of small dump files! +

      +

      If the filename ends with ".bin", the dump file (or files, if "*" or +"%" is also used) is written in binary format. A binary dump file +will be about the same size as a text version, but will typically +write out much faster. Of course, when post-processing, you will need +to convert it back to text format (see the binary2txt +tool) or write your own code to read the +binary file. The format of the binary file can be understood by +looking at the tools/binary2txt.cpp file. This option is only +available for the atom and custom styles. +

      +

      If the filename ends with ".gz", the dump file (or files, if "*" or "%" +is also used) is written in gzipped format. A gzipped dump file will +be about 3x smaller than the text version, but will also take longer +to write. This option is not available for the dcd and xtc +styles. +

      +
      + +

      This section explains the atom quantities that can be specified as +part of the custom style. +

      +

      The tag, mol, type, x, y, z, vx, vy, vz, fx, fy, +fz, q attributes are self-explanatory. Tag is the atom ID. +Mol is the molecule ID, included in the data file for molecular +systems. The x, y, z attributes write atom coordinates +"unscaled", in the appropriate distance units (Angstroms, sigma, etc). +Use xs, ys, zs if you want the coordinates "scaled" to the box +size, so that each value is 0.0 to 1.0. Use xu, yu, zu if you +want the coordinates "unwrapped" by the image flags for each atom. +Unwrapped means that if the atom has passed thru a periodic boundary +one or more times, the value is printed for what the coordinate would +be if it had not been wrapped back into the periodic box. Note that +using xu, yu, zu means that the coordinate values may be far +outside the box size printed with the snapshot. The image flags can +be printed directly using the ix, iy, iz attributes. The +dump_modify documentation describes in more detail +what is meant by scaled vs unscaled coordinates and the image flags. +

      +

      The mux, muy, muz, tqy, tqx, tqy attributes are specific +to dipolar systems defined with an atom style of dipole. +

      +

      The centro attribute causes the centro-symmetry parameter to be +computed for each atom in the dump group using the following formula +from (Kelchner) +

      +
      +
      +

      where the 12 nearest neighbors are found and Ri and Ri+6 are the +vectors from the central atom to the opposite pair of nearest +neighbors. In solid state systems this is a useful measure of the +local lattice disorder around an atom and can be used to characterize +whether the atom is part of a perfect lattice, a local defect (e.g. a +dislocation or stacking fault), or at a surface. The neighbor list +needed to compute this quantity is constructed each time the dump is +performed. Thus it can be inefficient to dump this quantity too +frequently or to have multiple dump commands, each with a centro +attribute. +

      +

      The eng attribute computes the pairwise energy for each atom. This +is its pairwise interaction with all of its neighbors (divided by 2). +Summed over all atoms, this should equal the pairwise energy of the +entire system (Van der Waals + Coulombic). However, for force fields +that include a contribution to the pairwise energy that is computed as +part of dihedral terms (i.e. 1-4 interactions), this contribution is +not included in the per-atom pairwise energy. Computation of the +per-atom energy requires a loop thru the neighbor list and +inter-processor communication, so it can be inefficient to dump this +quantity too frequently or to have multiple dump commands, each with a +eng attribute. +

      +

      The sxx, syy, szz, sxy, sxz, syz attributes compute the +pairwise stress tensor for each atom where the ab component of the +stress on atom i is given by +

      +
      +
      +

      where the first term is a kinetic energy component for atom i, j +loops over the N neighbors of atom i, and Fb is one of 3 +components of force on atom i due to atom j. Both a and b can +take on values x,y,z to generate the 6 components of the symmetric +tensor. +

      +

      Note that this formula for stress does not include virial +contributions from intra-molecular interactions (e.g. bonds, angles, +torsions, etc). Also note that this quantity is the negative of the +per-atom pressure tensor. It is also really a stress-volume +formulation. It would need to be divided by a per-atom volume to have +units of stress, but an individual atom's volume is not easy to +compute in a deformed solid. Computation of stress tensor components +requires a loop thru the neighbor list and inter-processor +communication, so it can be inefficient to dump this quantity too +frequently or to have multiple dump commands, each with stress tensor +attributes. +

      +

      See this section for information on how to modify +LAMMPS to dump other kinds of per-atom quantities. +

      +
      + +

      Restrictions: +

      +

      To write gzipped dump files, you must compile LAMMPS with the -DGZIP +option - see the Making LAMMPS section of the +documentation. +

      +

      The bond style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      The xtc style is part of the "xtc" package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. This is because +some machines may not support the lo-level XDR data format that XTC +files are written with, which will result in a compile-time error when +a lo-level include file is not found. Putting this style in a package +makes it easy to exclude from a LAMMPS build for those machines. +

      +

      Granular systems and granular pair potentials cannot be used to +compute per-atom energy and stress. The fix +gran/diag command should be used instead. +

      +

      Related commands: +

      +

      dump_modify, undump +

      +

      Default: none +

      +
      + + + +

      (Kelchner) Kelchner, Plimpton, Hamilton, Phys Rev B, 58, 11085 (1998). +

      + diff --git a/doc/dump.txt b/doc/dump.txt new file mode 100644 index 0000000000..9ee439f032 --- /dev/null +++ b/doc/dump.txt @@ -0,0 +1,309 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dump command :h3 + +[Syntax:] + +dump ID group-ID style N file args :pre + +ID = user-assigned name for the dump :ulb,l +group-ID = ID of the group of atoms to be dumped :l +style = {atom} or {bond} or {custom} or {dcd} or {xtc} or {xyz} :l +N = dump every this many timesteps :l +file = name of file to write dump info to :l +args = list of arguments for a particular style :l + {atom} args = none + {bond} args = none + {custom} args = list of atom attributes + possible attributes = tag, mol, type, x, y, z, xs, ys, zs, xu, yu, zu, + ix, iy, iz, vx, vy, vz, fx, fy, fz, + q, mux, muy, muz, tqx, tqy, tqz, + centro, eng, sxx, syy, szz, sxy, sxz, syz + tag = atom ID + mol = molecule ID + type = atom type + x,y,z = unscaled atom coordinates + xs,ys,zs = scaled atom coordinates + xu,yu,zu = unwrapped atom coordinates + ix,iy,iz = box image that the atom is in in + vx,vy,vz = atom velocities + fx,fy,fz = forces on atoms + q = atom charge + mux,muy,muz = orientation of dipolar atom + tqx,tqy,tqz = torque on dipolar atoms + centro = per-atom centro-symmetry parameter + eng = per-atom pairwise energy + sxx, syy, szz, sxy, sxz, syz = per-atom stress tensor components + {dcd} args = none + {xtc} args = precision (optional) + precision = power-of-10 value from 10 to 1000000 (default = 1000) + {xyz} args = none :pre +:ule + +[Examples:] + +dump myDump all atom 100 dump.atom +dump 2 subgroup atom 50 dump.run.bin +dump 4a all custom 100 dump.myforce.* tag type x y vx fx +dump 4b flow custom 100 dump.%.myforce tag type eng sxx syy szz +dump 1 all xtc 1000 file.xtc 100.0 :pre + +[Description:] + +Dump a snapshot of atom quantities to one or more files every N +timesteps in one of several styles. As described below, the filename +determines the kind of output (text or binary or gzipped, one big file +or one per timestep, one big file or one per processor). Only +information for atoms in the specified group is dumped. The +"dump_modify"_dump_modify.html command can also alter what atoms are +included. Not all styles support all these options; see details +below. + +Note that because periodic boundary conditions are enforced only on +timesteps when neighbor lists are rebuilt, the coordinates of an atom +written to a dump file may be slightly outside the simulation box. + +Also note that when LAMMPS is running in parallel, the atom +information written to dump files (typically one line per atom) may be +written in an indeterminate order. This is because data for a single +snapshot is collected from multiple processors. This is always the +case for the {atom}, {bond}, and {custom} styles. It is also the case +for the {xyz} style if the dump group is not {all}. It is not the +case for the {dcd} and {xtc} styles which always write atoms in sorted +order. So does the {xyz} style if the dump group is {all}. + +:line + +The {style} keyword determines what atom quantities are written to the +file and in what format. Settings made via the +"dump_modify"_dump_modify.html command can also alter the format of +individual values and the file itself. + +The {atom}, {bond}, and {custom} styles create files in a simple text +format that is self-explanatory. Many of the LAMMPS "post-processing +tools"_Section_tools.html, including +"Pizza.py"_http://www.cs.sandia.gov/~sjplimp/pizza.html, work with +this format. + +For style {atom}, atom coordinates are written to the file, along with +the atom ID and atom type. By default, atom coords are written in a +scaled format (from 0 to 1). I.e. an x value of 0.25 means the atom +is at a location 1/4 of the distance from xlo to xhi of the box +boundaries. The format can be changed to unscaled coords via the +"dump_modify"_dump_modify.html settings. Image flags can also be +added for each atom via dump_modify. + +For style {bond}, the bond topology between atoms is written, in the +same format specified in data files read in by the +"read_data"_read_data.html command. Both atoms in the bond must be in +the dump group for the bond to be written. Any bonds that have been +broken (see the "bond_style"_bond_style.html command) by setting their +bond type to 0 are not written. Bonds that have been turned off (see +the "fix shake"_fix_shake.html or "delete_bonds"_delete_bonds.html +commands) by setting their bond type negative are written into the +file. + +Style {custom} allows you to specify a list of atom attributes to be +written to the dump file for each atom. Possible attributes are +listed above and will appear in the order specified. Be careful not +to specify a quantity that is not defined for a particular simulation +- such as {q} for atom style {bond}, since that atom style doesn't +assign charges. Dumps occur at the very end of a timestep, so atom +attributes will include effects due to fixes that are applied during +the timestep. An explanation of some of the dump custom quantities is +given below. + +The {dcd} style writes DCD files, a standard atomic trajectory format +used by the CHARMM, NAMD, and XPlor molecular dynamics packages. DCD +files are binary and thus may not be portable to different machines. +The dump group must be {all} for the {dcd} style. + +The {xtc} style writes XTC files, a compressed trajectory format used +by the Gromacs molecular dynamics package, and described +"here"_http://www.gromacs.org/documentation/reference_3.3/online/xtc.html. +The precision used in XTC files can be specified; for example, a value +of 100 means that coordinates are stored to 1/100 nanometer accuracy. +XTC files are portable binary files written in the NFS XDR data +format, so that any machine which supports XDR should be able to read +them. The dump group must be {all} for the {xtc} style. + +The {xyz} style writes XYZ files, which is a simple text-based +coordinate format that many codes can read. + +Note that DCD, XTC, and XYZ formatted files can be read directly by +"VMD"_http://www.ks.uiuc.edu/Research/vmd (a popular molecular viewing +program). VMD will also read LAMMPS {atom} style dump files since +someone added a LAMMPS plug-in to VMD. I am told it requires an +initial snapshot from an XYZ formatted file to get started. + +:line + +Dumps are performed on timesteps that are a multiple of N and on the +first step of a run or minimization, excluding duplicate timesteps. A +dump is not performed on the last timestep of a run unless it is a +multiple of N. A dump is performed on the last timestep of a +minimization if the minimization converges. N can be changed between +runs by using the "dump_modify"_dump_modify.html command (not allowed +for {dcd} style). + +The specified filename determines how the dump file(s) is written. +The default is to write one large text file, which is opened when the +dump command is invoked and closed when an "undump"_undump.html +command is used or when LAMMPS exits. For the {dcd} and {xtc} styles, +this is a single large binary file. + +Dump filenames can contian two wild-card characters. If a "*" +character appears in the filename, then one file per snapshot is +written and the "*" character is replaced with the timestep value. +For example, tmp.dump.* becomes tmp.dump.0, tmp.dump.10000, +tmp.dump.20000, etc. This option is not available for the {dcd} and +{xtc} styles. + +If a "%" character appears in the filename, then one file is written +for each processor and the "%" character is replaced with the +processor ID from 0 to P-1. For example, tmp.dump.% becomes +tmp.dump.0, tmp.dump.1, ... tmp.dump.P-1, etc. This creates smaller +files and can be a fast mode of output on parallel machines that +support parallel I/O for output. This option is not available for the +{dcd}, {xtc}, and {xyz} styles. + +Note that the "*" and "%" characters can be used together to produce a +large number of small dump files! + +If the filename ends with ".bin", the dump file (or files, if "*" or +"%" is also used) is written in binary format. A binary dump file +will be about the same size as a text version, but will typically +write out much faster. Of course, when post-processing, you will need +to convert it back to text format (see the "binary2txt +tool"_Section_tools.html#binary) or write your own code to read the +binary file. The format of the binary file can be understood by +looking at the tools/binary2txt.cpp file. This option is only +available for the {atom} and {custom} styles. + +If the filename ends with ".gz", the dump file (or files, if "*" or "%" +is also used) is written in gzipped format. A gzipped dump file will +be about 3x smaller than the text version, but will also take longer +to write. This option is not available for the {dcd} and {xtc} +styles. + +:line + +This section explains the atom quantities that can be specified as +part of the {custom} style. + +The {tag}, {mol}, {type}, {x}, {y}, {z}, {vx}, {vy}, {vz}, {fx}, {fy}, +{fz}, {q} attributes are self-explanatory. {Tag} is the atom ID. +{Mol} is the molecule ID, included in the data file for molecular +systems. The {x}, {y}, {z} attributes write atom coordinates +"unscaled", in the appropriate distance units (Angstroms, sigma, etc). +Use {xs}, {ys}, {zs} if you want the coordinates "scaled" to the box +size, so that each value is 0.0 to 1.0. Use {xu}, {yu}, {zu} if you +want the coordinates "unwrapped" by the image flags for each atom. +Unwrapped means that if the atom has passed thru a periodic boundary +one or more times, the value is printed for what the coordinate would +be if it had not been wrapped back into the periodic box. Note that +using {xu}, {yu}, {zu} means that the coordinate values may be far +outside the box size printed with the snapshot. The image flags can +be printed directly using the {ix}, {iy}, {iz} attributes. The +"dump_modify"_dump_modify.html documentation describes in more detail +what is meant by scaled vs unscaled coordinates and the image flags. + +The {mux}, {muy}, {muz}, {tqy}, {tqx}, {tqy} attributes are specific +to dipolar systems defined with an atom style of {dipole}. + +The {centro} attribute causes the centro-symmetry parameter to be +computed for each atom in the dump group using the following formula +from "(Kelchner)"_#Kelchner + +:c,image(Eqs/centro_symmetry.jpg) + +where the 12 nearest neighbors are found and Ri and Ri+6 are the +vectors from the central atom to the opposite pair of nearest +neighbors. In solid state systems this is a useful measure of the +local lattice disorder around an atom and can be used to characterize +whether the atom is part of a perfect lattice, a local defect (e.g. a +dislocation or stacking fault), or at a surface. The neighbor list +needed to compute this quantity is constructed each time the dump is +performed. Thus it can be inefficient to dump this quantity too +frequently or to have multiple dump commands, each with a {centro} +attribute. + +The {eng} attribute computes the pairwise energy for each atom. This +is its pairwise interaction with all of its neighbors (divided by 2). +Summed over all atoms, this should equal the pairwise energy of the +entire system (Van der Waals + Coulombic). However, for force fields +that include a contribution to the pairwise energy that is computed as +part of dihedral terms (i.e. 1-4 interactions), this contribution is +not included in the per-atom pairwise energy. Computation of the +per-atom energy requires a loop thru the neighbor list and +inter-processor communication, so it can be inefficient to dump this +quantity too frequently or to have multiple dump commands, each with a +{eng} attribute. + +The {sxx}, {syy}, {szz}, {sxy}, {sxz}, {syz} attributes compute the +pairwise stress tensor for each atom where the {ab} component of the +stress on atom {i} is given by + +:c,image(Eqs/stress_tensor.jpg) + +where the first term is a kinetic energy component for atom {i}, {j} +loops over the {N} neighbors of atom {i}, and {Fb} is one of 3 +components of force on atom {i} due to atom {j}. Both {a} and {b} can +take on values x,y,z to generate the 6 components of the symmetric +tensor. + +Note that this formula for stress does not include virial +contributions from intra-molecular interactions (e.g. bonds, angles, +torsions, etc). Also note that this quantity is the negative of the +per-atom pressure tensor. It is also really a stress-volume +formulation. It would need to be divided by a per-atom volume to have +units of stress, but an individual atom's volume is not easy to +compute in a deformed solid. Computation of stress tensor components +requires a loop thru the neighbor list and inter-processor +communication, so it can be inefficient to dump this quantity too +frequently or to have multiple dump commands, each with stress tensor +attributes. + +See "this section"_Section_modify.html for information on how to modify +LAMMPS to dump other kinds of per-atom quantities. + +:line + +[Restrictions:] + +To write gzipped dump files, you must compile LAMMPS with the -DGZIP +option - see the "Making LAMMPS"_Section_start.html#2_2 section of the +documentation. + +The {bond} style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +The {xtc} style is part of the "xtc" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. This is because +some machines may not support the lo-level XDR data format that XTC +files are written with, which will result in a compile-time error when +a lo-level include file is not found. Putting this style in a package +makes it easy to exclude from a LAMMPS build for those machines. + +Granular systems and granular pair potentials cannot be used to +compute per-atom energy and stress. The "fix +gran/diag"_fix_gran_diag.html command should be used instead. + +[Related commands:] + +"dump_modify"_dump_modify.html, "undump"_undump.html + +[Default:] none + +:line + +:link(Kelchner) +[(Kelchner)] Kelchner, Plimpton, Hamilton, Phys Rev B, 58, 11085 (1998). diff --git a/doc/dump_modify.html b/doc/dump_modify.html new file mode 100644 index 0000000000..9952bfc074 --- /dev/null +++ b/doc/dump_modify.html @@ -0,0 +1,114 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      dump_modify command +

      +

      Syntax: +

      +
      dump_modify dump-ID keyword args ... 
      +
      +
      • dump-ID = ID of dump to modify + +
      • one or more keyword/arg pairs may be appended + +
      • keyword = format or scale or image or header or flush or region or thresh + +
          format arg = C-style format string for one line of output
        +  scale arg = yes or no
        +  image arg = yes or no
        +  flush arg = yes or no
        +  every arg = N
        +    N = dump every this many timesteps
        +  region arg = region-ID or "none"
        +  thresh args = attribute operation value
        +    attribute = same attributes (x,fy,eng,sxx,etc) used by dump custom style
        +    operation = < or <= or > or >= or = or <>
        +    value = numeric value to compare to
        +    these 3 args can be replaced by the word "none" to turn off threshholding
        +
        +
        + +
      +

      Examples: +

      +
      dump_modify 1 format "%d %d %20.15g %g %g" scale yes
      +dump_modify myDump image yes scale no flush yes
      +dump_modify 1 region mySphere thresh x < 0.0 thresh energy >= 3.2 
      +
      +

      Description: +

      +

      Modify the parameters of a previously defined dump command. Not all +parameters are relevant to all dump styles. +

      +

      The text-based dump styles have a default C-style format string which +simply specifies %d for integers and %g for real values. The format +keyword can be used to override the default with a new C-style format +string. Do not include a trailing "\n" newline character in the +format string. This option has no effect on the dcd and xtc dump +styles since they write binary files. +

      +

      The scale and image keywords apply only to the dump atom style. +A scale value of yes means atom coords are written in normalized +units from 0.0 to 1.0 in each box dimension. A value of no means +they are written in absolute distance units (e.g. Angstroms or sigma). +If the image value is yes, 3 flags are appended to each atom's +coords which are the absolute box image of the atom in each dimension. +For example, an x image flag of -2 with a normalized coord of 0.5 +means the atom is in the center of the box, but has passed thru the +box boundary 2 times and is really 2 box lengths to the left of its +current coordinate. Note that for dump style custom these values +can be printed in the dump file by using the appropriate atom +attributes in the dump command itself. +

      + + +

      The flush option determines whether a flush operation in invoked +after a dump snapshot is written to the dump file. A flush insures +the output in that file is current (no buffering by the OS), even if +LAMMPS halts before the simulation completes. Flushes cannot be +performed with dump style xtc. +

      +

      The every option changes the dump frequency originally specified by +the dump command to a new value which must be > 0. The +dump frequency cannot be changed for the dump dcd style. +

      +

      The region keyword only applies to the dump custom style. If +specified, only atoms in the region will be written to the dump file. +Only one region can be applied as a filter (the last one specified). +See the region command for more details. Note that a +region can be defined as the "inside" or "outside" of a geometric +shape, and it can be the "union" or "intersection" of a series of +simpler regions. +

      +

      The thresh keyword only applies to the dump custom style. +Multiple threshholds can be specified. Specifying "none" turns off +all threshhold criteria. If theshholds are specified, only atoms +whose attributes meet all the threshhold criteria are written to the +dump file. The possible attributes that can be tested for are the +same as those that can be specified in the dump custom +command. Note that different attributes can be output by the dump +custom command than are used as threshhold criteria by the dump_modify +command. E.g. you can output the coordinates and stress of atoms +whose energy is above some thresshold. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      dump, undump +

      +

      Default: +

      +

      The option defaults are format = %d and %g for each integer or +floating point value, scale = yes, image = no, flush = yes (except for +dump xtc style), region = none, and thresh = none. +

      + diff --git a/doc/dump_modify.txt b/doc/dump_modify.txt new file mode 100644 index 0000000000..dea228e388 --- /dev/null +++ b/doc/dump_modify.txt @@ -0,0 +1,105 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +dump_modify command :h3 + +[Syntax:] + +dump_modify dump-ID keyword args ... :pre + +dump-ID = ID of dump to modify :ulb,l +one or more keyword/arg pairs may be appended :l +keyword = {format} or {scale} or {image} or {header} or {flush} or {region} or {thresh} :l + {format} arg = C-style format string for one line of output + {scale} arg = {yes} or {no} + {image} arg = {yes} or {no} + {flush} arg = {yes} or {no} + {every} arg = N + N = dump every this many timesteps + {region} arg = region-ID or "none" + {thresh} args = attribute operation value + attribute = same attributes (x,fy,eng,sxx,etc) used by dump custom style + operation = < or <= or > or >= or = or <> + value = numeric value to compare to + these 3 args can be replaced by the word "none" to turn off threshholding +:pre +:ule + +[Examples:] + +dump_modify 1 format "%d %d %20.15g %g %g" scale yes +dump_modify myDump image yes scale no flush yes +dump_modify 1 region mySphere thresh x < 0.0 thresh energy >= 3.2 :pre + +[Description:] + +Modify the parameters of a previously defined dump command. Not all +parameters are relevant to all dump styles. + +The text-based dump styles have a default C-style format string which +simply specifies %d for integers and %g for real values. The {format} +keyword can be used to override the default with a new C-style format +string. Do not include a trailing "\n" newline character in the +format string. This option has no effect on the {dcd} and {xtc} dump +styles since they write binary files. + +The {scale} and {image} keywords apply only to the dump {atom} style. +A scale value of {yes} means atom coords are written in normalized +units from 0.0 to 1.0 in each box dimension. A value of {no} means +they are written in absolute distance units (e.g. Angstroms or sigma). +If the image value is {yes}, 3 flags are appended to each atom's +coords which are the absolute box image of the atom in each dimension. +For example, an x image flag of -2 with a normalized coord of 0.5 +means the atom is in the center of the box, but has passed thru the +box boundary 2 times and is really 2 box lengths to the left of its +current coordinate. Note that for dump style {custom} these values +can be printed in the dump file by using the appropriate atom +attributes in the dump command itself. + +:link(pizza,http://www.cs.sandia.gov/~sjplimp/pizza.html) + +The {flush} option determines whether a flush operation in invoked +after a dump snapshot is written to the dump file. A flush insures +the output in that file is current (no buffering by the OS), even if +LAMMPS halts before the simulation completes. Flushes cannot be +performed with dump style {xtc}. + +The {every} option changes the dump frequency originally specified by +the "dump"_dump.html command to a new value which must be > 0. The +dump frequency cannot be changed for the dump {dcd} style. + +The {region} keyword only applies to the dump {custom} style. If +specified, only atoms in the region will be written to the dump file. +Only one region can be applied as a filter (the last one specified). +See the "region"_region.html command for more details. Note that a +region can be defined as the "inside" or "outside" of a geometric +shape, and it can be the "union" or "intersection" of a series of +simpler regions. + +The {thresh} keyword only applies to the dump {custom} style. +Multiple threshholds can be specified. Specifying "none" turns off +all threshhold criteria. If theshholds are specified, only atoms +whose attributes meet all the threshhold criteria are written to the +dump file. The possible attributes that can be tested for are the +same as those that can be specified in the "dump custom"_dump.html +command. Note that different attributes can be output by the dump +custom command than are used as threshhold criteria by the dump_modify +command. E.g. you can output the coordinates and stress of atoms +whose energy is above some thresshold. + +[Restrictions:] none + +[Related commands:] + +"dump"_dump.html, "undump"_undump.html + +[Default:] + +The option defaults are format = %d and %g for each integer or +floating point value, scale = yes, image = no, flush = yes (except for +dump {xtc} style), region = none, and thresh = none. diff --git a/doc/echo.html b/doc/echo.html new file mode 100644 index 0000000000..42a912e483 --- /dev/null +++ b/doc/echo.html @@ -0,0 +1,40 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      echo command +

      +

      Syntax: +

      +
      echo style 
      +
      +
      • style = none or screen or log or both +
      +

      Examples: +

      +
      echo both
      +echo log 
      +
      +

      Description: +

      +

      This command determines whether LAMMPS echoes each input script +command to the screen and/or log file as it is read and processed. If +an input script has errors, it can be useful to look at echoed output +to see the last command processed. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: +

      +
      echo log 
      +
      + diff --git a/doc/echo.txt b/doc/echo.txt new file mode 100644 index 0000000000..1486bba114 --- /dev/null +++ b/doc/echo.txt @@ -0,0 +1,35 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +echo command :h3 + +[Syntax:] + +echo style :pre + +style = {none} or {screen} or {log} or {both} :ul + +[Examples:] + +echo both +echo log :pre + +[Description:] + +This command determines whether LAMMPS echoes each input script +command to the screen and/or log file as it is read and processed. If +an input script has errors, it can be useful to look at echoed output +to see the last command processed. + +[Restrictions:] none + +[Related commands:] none + +[Default:] + +echo log :pre diff --git a/doc/fix.html b/doc/fix.html new file mode 100644 index 0000000000..7da38c6519 --- /dev/null +++ b/doc/fix.html @@ -0,0 +1,122 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix command +

      +

      Syntax: +

      +
      fix ID group-ID style args 
      +
      +
      • ID = user-assigned name for the fix +
      • group-ID = ID of the group of atoms to apply the fix to +
      • style = one of a long list of possible style names (see below) +
      • args = arguments used by a particular style +
      +

      Examples: +

      +
      fix 1 all nve
      +fix 3 all nvt 300.0 300.0 0.01
      +fix mine top setforce 0.0 NULL 0.0 
      +
      +

      Description: +

      +

      Set a fix that will be applied to a group of atoms. In LAMMPS, a +"fix" is any operation that is applied to the system during +timestepping or minimization. Examples include updating of atom +positions and velocities due to time integration, controlling +temperature, applying constraint forces to atoms, enforcing boundary +conditions, computing diagnostics, etc. There are dozens of fixes +defined in LAMMPS and new ones can be added - see this +section for a discussion. +

      +

      Each fix style has its own documentation page which describes its +arguments and what it does. For example, see the fix +setforce page for information on style setforce. +

      +

      Fixes perform their operations at different stages of the timestep. +If 2 or more fixes both operate at the same stage of the timestep, +they are invoked in the order they were specified in the input script. +

      +

      Specifying a new fix with the same ID as an existing fix effectively +replaces the old fix (and its parameters) with the new fix. This can +only be done if the new fix has the same style as the existing fix. +

      +

      Fixes can be deleted with the unfix command. Note that +this is the only way to turn off a fix; simply specifying a new fix +with a similar style will not turn off the first one. For example, +using a "fix nve" command for a second run after using a "fix nvt" +command for the first run, will not cancel out the NVT time +integration invoked by the "fix nvt" command. Thus two time +integrators would be in place! +

      +

      Here is an alphabetic list of fix styles defined in LAMMPS: +

      +
      • fix addforce - add a force to each atom +
      • fix aveforce - add an averaged force to each atom +
      • fix com - compute a center-of-mass +
      • fix drag - drag atoms towards a defined coordinate +
      • fix efield - impose electric field on system +
      • fix enforce2d - zero out z-dimension velocity and force +
      • fix freeze - freeze atoms in a granular simulation +
      • fix gran/diag - compute granular diagnostics +
      • fix gravity - add gravity to atoms in a granular simulation +
      • fix gyration - compute radius of gyration +
      • fix indent - impose force due to an indenter +
      • fix insert - add new atoms to a granular simulation +
      • fix langevin - Langevin temperature control +
      • fix lineforce - constrain atoms to move in a line +
      • fix msd - compute mean-squared displacement (i.e. diffusion coefficient) +
      • fix momentum - zero the linear and/or angular momentum of a group of atoms +
      • fix nph - constant NPH time integration via Nose/Hoover +
      • fix npt - constant NPT time integration via Nose/Hoover +
      • fix nve - constant NVE time integration +
      • fix nve/gran - NVE time integration for granular systems +
      • fix nvt - constant NVT time integration via Nose/Hoover +
      • fix orient/fcc - add grain boundary migration force +
      • fix planeforce - constrain atoms to move in a plane +
      • fix poems - constrain clusters of atoms to move as coupled rigid bodies +
      • fix print - print text and variables during a simulation +
      • fix rdf - compute radial distribution functions +
      • fix recenter - constrain the center-of-mass position of a group of atoms +
      • fix rigid - constrain one or more clusters of atoms to move as a rigid body +
      • fix setforce - set the force on each atom +
      • fix shake - SHAKE constraints on bonds and/or angles +
      • fix spring - apply harmonic spring force to group of atoms +
      • fix spring/rg - spring on radius of gyration of group of atoms +
      • fix spring/self - spring from each atom to its origin +
      • fix temp/rescale - temperature control by velocity rescaling +
      • fix tmd - guide a group of atoms to a new configuration +
      • fix uniaxial - uniaxial straining of system while preserving total volume +
      • fix viscous - viscous damping for granular simulations +
      • fix volume/rescale - density control by volume rescaling +
      • fix wall/gran - frictional wall(s) for granular simulations +
      • fix wall/lj93 - Lennard-Jones 9/3 wall +
      • fix wall/reflect - reflecting wall(s) +
      • fix wiggle - oscillate walls and frozen atoms +
      +

      Restrictions: +

      +

      Some fix styles are part of specific packages. They are only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      The freeze, gran/diag, gravity, insert, nve/gran, and +wall/gran styles are part of the "granular" package. +

      +

      The poems style is part of the "poems" package. +

      +

      Related commands: +

      +

      unfix, fix_modify +

      +

      Default: none +

      + diff --git a/doc/fix.txt b/doc/fix.txt new file mode 100644 index 0000000000..c63666efac --- /dev/null +++ b/doc/fix.txt @@ -0,0 +1,128 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix command :h3 + +[Syntax:] + +fix ID group-ID style args :pre + +ID = user-assigned name for the fix +group-ID = ID of the group of atoms to apply the fix to +style = one of a long list of possible style names (see below) +args = arguments used by a particular style :ul + +[Examples:] + +fix 1 all nve +fix 3 all nvt 300.0 300.0 0.01 +fix mine top setforce 0.0 NULL 0.0 :pre + +[Description:] + +Set a fix that will be applied to a group of atoms. In LAMMPS, a +"fix" is any operation that is applied to the system during +timestepping or minimization. Examples include updating of atom +positions and velocities due to time integration, controlling +temperature, applying constraint forces to atoms, enforcing boundary +conditions, computing diagnostics, etc. There are dozens of fixes +defined in LAMMPS and new ones can be added - see "this +section"_Section_modify.html for a discussion. + +Each fix style has its own documentation page which describes its +arguments and what it does. For example, see the "fix +setforce"_fix_setforce.html page for information on style {setforce}. + +Fixes perform their operations at different stages of the timestep. +If 2 or more fixes both operate at the same stage of the timestep, +they are invoked in the order they were specified in the input script. + +Specifying a new fix with the same ID as an existing fix effectively +replaces the old fix (and its parameters) with the new fix. This can +only be done if the new fix has the same style as the existing fix. + +Fixes can be deleted with the "unfix"_unfix.html command. Note that +this is the only way to turn off a fix; simply specifying a new fix +with a similar style will not turn off the first one. For example, +using a "fix nve" command for a second run after using a "fix nvt" +command for the first run, will not cancel out the NVT time +integration invoked by the "fix nvt" command. Thus two time +integrators would be in place! + +Here is an alphabetic list of fix styles defined in LAMMPS: + +"fix addforce"_fix_addforce.html - add a force to each atom +"fix aveforce"_fix_aveforce.html - add an averaged force to each atom +"fix com"_fix_com.html - compute a center-of-mass +"fix drag"_fix_drag.html - drag atoms towards a defined coordinate +"fix efield"_fix_efield.html - impose electric field on system +"fix enforce2d"_fix_enforce2d.html - zero out z-dimension velocity and force +"fix freeze"_fix_freeze.html - freeze atoms in a granular simulation +"fix gran/diag"_fix_gran_diag.html - compute granular diagnostics +"fix gravity"_fix_gravity.html - add gravity to atoms in a granular simulation +"fix gyration"_fix_gyration.html - compute radius of gyration +"fix indent"_fix_indent.html - impose force due to an indenter +"fix insert"_fix_insert.html - add new atoms to a granular simulation +"fix langevin"_fix_langevin.html - Langevin temperature control +"fix lineforce"_fix_lineforce.html - constrain atoms to move in a line +"fix msd"_fix_msd.html - compute mean-squared displacement \ + (i.e. diffusion coefficient) +"fix momentum"_fix_momentum.html - zero the linear and/or angular momentum \ + of a group of atoms +"fix nph"_fix_nph.html - constant NPH time integration via Nose/Hoover +"fix npt"_fix_npt.html - constant NPT time integration via Nose/Hoover +"fix nve"_fix_nve.html - constant NVE time integration +"fix nve/gran"_fix_nve_gran.html - NVE time integration for \ + granular systems +"fix nvt"_fix_nvt.html - constant NVT time integration via Nose/Hoover +"fix orient/fcc"_fix_orient_fcc.html - add grain boundary migration force +"fix planeforce"_fix_planeforce.html - constrain atoms to move in a plane +"fix poems"_fix_poems.html - constrain clusters of atoms to move \ + as coupled rigid bodies +"fix print"_fix_print.html - print text and variables during a simulation +"fix rdf"_fix_rdf.html - compute radial distribution functions +"fix recenter"_fix_recenter.html - constrain the center-of-mass position \ + of a group of atoms +"fix rigid"_fix_rigid.html - constrain one or more clusters of atoms to \ + move as a rigid body +"fix setforce"_fix_setforce.html - set the force on each atom +"fix shake"_fix_shake.html - SHAKE constraints on bonds and/or angles +"fix spring"_fix_spring.html - apply harmonic spring force to group of atoms +"fix spring/rg"_fix_spring_rg.html - spring on radius of gyration of \ + group of atoms +"fix spring/self"_fix_spring_self.html - spring from each atom to its origin +"fix temp/rescale"_fix_temp_rescale.html - temperature control by \ + velocity rescaling +"fix tmd"_fix_tmd.html - guide a group of atoms to a new configuration +"fix uniaxial"_fix_uniaxial.html - uniaxial straining of system while \ + preserving total volume +"fix viscous"_fix_viscous.html - viscous damping for granular simulations +"fix volume/rescale"_fix_volume_rescale.html - density control by \ + volume rescaling +"fix wall/gran"_fix_wall_gran.html - frictional wall(s) for \ + granular simulations +"fix wall/lj93"_fix_wall_lj93.html - Lennard-Jones 9/3 wall +"fix wall/reflect"_fix_wall_reflect.html - reflecting wall(s) +"fix wiggle"_fix_wiggle.html - oscillate walls and frozen atoms :ul + +[Restrictions:] + +Some fix styles are part of specific packages. They are only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +The {freeze}, {gran/diag}, {gravity}, {insert}, {nve/gran}, and +{wall/gran} styles are part of the "granular" package. + +The {poems} style is part of the "poems" package. + +[Related commands:] + +"unfix"_unfix.html, "fix_modify"_fix_modify.html + +[Default:] none diff --git a/doc/fix_addforce.html b/doc/fix_addforce.html new file mode 100644 index 0000000000..3a0039508e --- /dev/null +++ b/doc/fix_addforce.html @@ -0,0 +1,44 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix addforce command +

      +

      Syntax: +

      +
      fix ID group-ID addforce fx fy fz 
      +
      +
      • ID, group-ID are documented in fix command +
      • addforce = style name of this fix command +
      • fx,fy,fz = force component values (force units) +
      +

      Examples: +

      +
      fix kick flow addforce 1.0 0.0 0.0 
      +
      +

      Description: +

      +

      Add fx,fy,fz to the corresponding component of force for each atom in +the group. This command can be used to give an additional push to +atoms in a simulation, such as for a simulation of Poiseuille flow in +a channel. +

      +

      The forces due to this fix are also imposed during an energy +minimization, invoked by the minimize command. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix setforce, fix aveforce +

      +

      Default: none +

      + diff --git a/doc/fix_addforce.txt b/doc/fix_addforce.txt new file mode 100644 index 0000000000..85dc07926f --- /dev/null +++ b/doc/fix_addforce.txt @@ -0,0 +1,39 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix addforce command :h3 + +[Syntax:] + +fix ID group-ID addforce fx fy fz :pre + +ID, group-ID are documented in "fix"_fix.html command +addforce = style name of this fix command +fx,fy,fz = force component values (force units) :ul + +[Examples:] + +fix kick flow addforce 1.0 0.0 0.0 :pre + +[Description:] + +Add fx,fy,fz to the corresponding component of force for each atom in +the group. This command can be used to give an additional push to +atoms in a simulation, such as for a simulation of Poiseuille flow in +a channel. + +The forces due to this fix are also imposed during an energy +minimization, invoked by the "minimize"_minimize.html command. + +[Restrictions:] none + +[Related commands:] + +"fix setforce"_fix_setforce.html, "fix aveforce"_fix_aveforce.html + +[Default:] none diff --git a/doc/fix_aveforce.html b/doc/fix_aveforce.html new file mode 100644 index 0000000000..84efd0c528 --- /dev/null +++ b/doc/fix_aveforce.html @@ -0,0 +1,55 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix aveforce command +

      +

      Syntax: +

      +
      fix ID group-ID aveforce fx fy fz 
      +
      +
      • ID, group-ID are documented in fix command +
      • aveforce = style name of this fix command +
      • fx,fy,fz = force component values (force units) +
      +

      Examples: +

      +
      fix pressdown topwall aveforce 0.0 -1.0 0.0
      +fix 2 bottomwall aveforce NULL -1.0 0.0 
      +
      +

      Description: +

      +

      Apply an additional external force to a group of atoms in such a way +that every atom experiences the same force. This is useful for +pushing on wall or boundary atoms so that the structure of the wall +does not change over time. +

      +

      The existing force is averaged for the group of atoms, component by +component. The actual force on each atom is then set to the average +value plus the component specified in this command. This means each +atom in the group receives the same force. +

      +

      If any of the arguments is specified as NULL then the forces in that +dimension are not changed. Note that this is not the same as +specifying a 0.0 value, since that sets all forces to the same average +value without adding in any additional force. +

      +

      The forces due to this fix are also imposed during an energy +minimization, invoked by the minimize command. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix setforce, fix addforce +

      +

      Default: none +

      + diff --git a/doc/fix_aveforce.txt b/doc/fix_aveforce.txt new file mode 100644 index 0000000000..4968bb0c66 --- /dev/null +++ b/doc/fix_aveforce.txt @@ -0,0 +1,50 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix aveforce command :h3 + +[Syntax:] + +fix ID group-ID aveforce fx fy fz :pre + +ID, group-ID are documented in "fix"_fix.html command +aveforce = style name of this fix command +fx,fy,fz = force component values (force units) :ul + +[Examples:] + +fix pressdown topwall aveforce 0.0 -1.0 0.0 +fix 2 bottomwall aveforce NULL -1.0 0.0 :pre + +[Description:] + +Apply an additional external force to a group of atoms in such a way +that every atom experiences the same force. This is useful for +pushing on wall or boundary atoms so that the structure of the wall +does not change over time. + +The existing force is averaged for the group of atoms, component by +component. The actual force on each atom is then set to the average +value plus the component specified in this command. This means each +atom in the group receives the same force. + +If any of the arguments is specified as NULL then the forces in that +dimension are not changed. Note that this is not the same as +specifying a 0.0 value, since that sets all forces to the same average +value without adding in any additional force. + +The forces due to this fix are also imposed during an energy +minimization, invoked by the "minimize"_minimize.html command. + +[Restrictions:] none + +[Related commands:] + +"fix setforce"_fix_setforce.html, "fix addforce"_fix_addforce.html + +[Default:] none diff --git a/doc/fix_com.html b/doc/fix_com.html new file mode 100644 index 0000000000..ede1fefe45 --- /dev/null +++ b/doc/fix_com.html @@ -0,0 +1,39 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix com command +

      +

      Syntax: +

      +
      fix ID group-ID com N file 
      +
      +
      • ID, group-ID are documented in fix command +
      • com = style name of this fix command +
      • N = compute center-of-mass every this many timesteps +
      • file = filename to write center-of-mass info to +
      +

      Examples: +

      +
      fix 1 all com 100 com.out 
      +
      +

      Description: +

      +

      Compute the center-of-mass of the group of atoms every N steps, +including all effects due to atoms passing thru periodic boundaries. +Write the results to the specified file. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/fix_com.txt b/doc/fix_com.txt new file mode 100644 index 0000000000..c5b5a71f8b --- /dev/null +++ b/doc/fix_com.txt @@ -0,0 +1,38 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix com command :h3 + +[Syntax:] + +fix ID group-ID com N file :pre + +ID, group-ID are documented in "fix"_fix.html command +com = style name of this fix command +N = compute center-of-mass every this many timesteps +file = filename to write center-of-mass info to :ul + +[Examples:] + +fix 1 all com 100 com.out :pre + +[Description:] + +Compute the center-of-mass of the group of atoms every N steps, +including all effects due to atoms passing thru periodic boundaries. +Write the results to the specified file. + +[Restrictions:] none + +[Related commands:] none + +[Default:] none + + + + diff --git a/doc/fix_drag.html b/doc/fix_drag.html new file mode 100644 index 0000000000..48eebee2d8 --- /dev/null +++ b/doc/fix_drag.html @@ -0,0 +1,50 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix drag command +

      +

      Syntax: +

      +
      fix ID group-ID drag x y z fmag delta 
      +
      +
      • ID, group-ID are documented in fix command +
      • drag = style name of this fix command +
      • x,y,z = coord to drag atoms towards +
      • fmag = magnitude of force to apply to each atom (force units) +
      • delta = cutoff distance inside of which force is not applied (distance units) +
      +

      Examples: +

      +
      fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0 
      +
      +

      Description: +

      +

      Apply a force to each atom in a group to drag it towards the point +(x,y,z). The magnitude of the force is specified by fmag. If an atom +is closer than a distance delta to the point, then the force is not +applied. +

      +

      Any of the x,y,z values can be specified as NULL which means do not +include that dimension in the distance calculation or force +application. +

      +

      This command can be used to steer one or more atoms to a new location +in the simulation. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix spring +

      +

      Default: none +

      + diff --git a/doc/fix_drag.txt b/doc/fix_drag.txt new file mode 100644 index 0000000000..45eabd6695 --- /dev/null +++ b/doc/fix_drag.txt @@ -0,0 +1,46 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix drag command :h3 + +[Syntax:] + +fix ID group-ID drag x y z fmag delta :pre + +ID, group-ID are documented in "fix"_fix.html command +drag = style name of this fix command +x,y,z = coord to drag atoms towards +fmag = magnitude of force to apply to each atom (force units) +delta = cutoff distance inside of which force \ + is not applied (distance units) :ul + +[Examples:] + +fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0 :pre + +[Description:] + +Apply a force to each atom in a group to drag it towards the point +(x,y,z). The magnitude of the force is specified by fmag. If an atom +is closer than a distance delta to the point, then the force is not +applied. + +Any of the x,y,z values can be specified as NULL which means do not +include that dimension in the distance calculation or force +application. + +This command can be used to steer one or more atoms to a new location +in the simulation. + +[Restrictions:] none + +[Related commands:] + +"fix spring"_fix_spring.html + +[Default:] none diff --git a/doc/fix_efield.html b/doc/fix_efield.html new file mode 100644 index 0000000000..a74e9252ae --- /dev/null +++ b/doc/fix_efield.html @@ -0,0 +1,39 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix efield command +

      +

      Syntax: +

      +
      fix ID group-ID efield ex ey ez 
      +
      +
      • ID, group-ID are documented in fix command +
      • efield = style name of this fix command +
      • ex,ey,ez = E-field component values (electric field units) +
      +

      Examples: +

      +
      fix kick external-field efield 1.0 0.0 0.0 
      +
      +

      Description: +

      +

      Add a force F = qE to each charged atom in the group due to an +external electric field being applied to the system. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix addforce +

      +

      Default: none +

      + diff --git a/doc/fix_efield.txt b/doc/fix_efield.txt new file mode 100644 index 0000000000..f2c3b7fd2b --- /dev/null +++ b/doc/fix_efield.txt @@ -0,0 +1,34 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix efield command :h3 + +[Syntax:] + +fix ID group-ID efield ex ey ez :pre + +ID, group-ID are documented in "fix"_fix.html command +efield = style name of this fix command +ex,ey,ez = E-field component values (electric field units) :ul + +[Examples:] + +fix kick external-field efield 1.0 0.0 0.0 :pre + +[Description:] + +Add a force F = qE to each charged atom in the group due to an +external electric field being applied to the system. + +[Restrictions:] none + +[Related commands:] + +"fix addforce"_fix_addforce.html + +[Default:] none diff --git a/doc/fix_enforce2d.html b/doc/fix_enforce2d.html new file mode 100644 index 0000000000..e209a91794 --- /dev/null +++ b/doc/fix_enforce2d.html @@ -0,0 +1,40 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix enforce2d command +

      +

      Syntax: +

      +
      fix ID group-ID enforce2d 
      +
      +
      • ID, group-ID are documented in fix command +
      • enforce2d = style name of this fix command +
      +

      Examples: +

      +
      fix 5 all enforce2d 
      +
      +

      Description: +

      +

      Zero out the z-dimension velocity and force on each atom in the group. +This is useful when running a 2d simulation to insure that atoms do +not move from their initial z coordinate. +

      +

      The forces due to this fix are also imposed during an energy +minimization, invoked by the minimize command. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/fix_enforce2d.txt b/doc/fix_enforce2d.txt new file mode 100644 index 0000000000..070cc627cb --- /dev/null +++ b/doc/fix_enforce2d.txt @@ -0,0 +1,35 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix enforce2d command :h3 + +[Syntax:] + +fix ID group-ID enforce2d :pre + +ID, group-ID are documented in "fix"_fix.html command +enforce2d = style name of this fix command :ul + +[Examples:] + +fix 5 all enforce2d :pre + +[Description:] + +Zero out the z-dimension velocity and force on each atom in the group. +This is useful when running a 2d simulation to insure that atoms do +not move from their initial z coordinate. + +The forces due to this fix are also imposed during an energy +minimization, invoked by the "minimize"_minimize.html command. + +[Restrictions:] none + +[Related commands:] none + +[Default:] none diff --git a/doc/fix_freeze.html b/doc/fix_freeze.html new file mode 100644 index 0000000000..84c9bc9f5b --- /dev/null +++ b/doc/fix_freeze.html @@ -0,0 +1,46 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix freeze command +

      +

      Syntax: +

      +
      fix ID group-ID freeze 
      +
      +
      • ID, group-ID are documented in fix command +
      • freeze = style name of this fix command +
      +

      Examples: +

      +
      fix 2 bottom freeze 
      +
      +

      Description: +

      +

      Zero out the force and torque on a granular particle. This is useful +for preventing certain particles from moving in a simulation. +

      +

      Restrictions: +

      +

      Can only be used if LAMMPS was built with the "granular" package. Can +only be used with atom_style granular. +

      +

      There can only be a single freeze fix defined. This is because other +parts of the code (pair potentials, thermodynamics, etc) treat frozen +particles differently and need to be able to reference a single group +to which this fix is applied. +

      +

      Related commands: none +

      +

      atom_style granular +

      +

      Default: none +

      + diff --git a/doc/fix_freeze.txt b/doc/fix_freeze.txt new file mode 100644 index 0000000000..287858dcc2 --- /dev/null +++ b/doc/fix_freeze.txt @@ -0,0 +1,41 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix freeze command :h3 + +[Syntax:] + +fix ID group-ID freeze :pre + +ID, group-ID are documented in "fix"_fix.html command +freeze = style name of this fix command :ul + +[Examples:] + +fix 2 bottom freeze :pre + +[Description:] + +Zero out the force and torque on a granular particle. This is useful +for preventing certain particles from moving in a simulation. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "granular" package. Can +only be used with atom_style granular. + +There can only be a single freeze fix defined. This is because other +parts of the code (pair potentials, thermodynamics, etc) treat frozen +particles differently and need to be able to reference a single group +to which this fix is applied. + +[Related commands:] none + +"atom_style granular"_atom_style.html + +[Default:] none diff --git a/doc/fix_gran_diag.html b/doc/fix_gran_diag.html new file mode 100644 index 0000000000..bc321d39f2 --- /dev/null +++ b/doc/fix_gran_diag.html @@ -0,0 +1,48 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix gran/diag command +

      +

      Syntax: +

      +
      fix ID group-ID gran/diag nevery file zlayer 
      +
      +
      • ID, group-ID are documented in fix command +
      • gran/diag = style name of this fix command +
      • nevery = compute diagnostics every this many timesteps +
      • file = filename to store diagnostic info in +
      • zlayer = bin size in z dimension +
      +

      Examples: +

      +
      fix 1 all gran/diag 1000 tmp 0.9 
      +
      +

      Description: +

      +

      Compute aggregate density, velocity, and stress diagnostics for a +group of granular atoms as a function of z depth in the granular +system. The results are written to 3 files named file.den, file.vel, +and file.str. The z bins begin at the bottom of the system and extend +upward with a thickness of zlayer for each bin. The quantities +written to the file are averaged over all atoms in the bin. +

      +

      Restrictions: +

      +

      Can only be used if LAMMPS was built with the "granular" package. Can +only be used with atom_style granular. +

      +

      Related commands: +

      +

      atom_style granular +

      +

      Default: none +

      + diff --git a/doc/fix_gran_diag.txt b/doc/fix_gran_diag.txt new file mode 100644 index 0000000000..5d371a7004 --- /dev/null +++ b/doc/fix_gran_diag.txt @@ -0,0 +1,43 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix gran/diag command :h3 + +[Syntax:] + +fix ID group-ID gran/diag nevery file zlayer :pre + +ID, group-ID are documented in "fix"_fix.html command +gran/diag = style name of this fix command +nevery = compute diagnostics every this many timesteps +file = filename to store diagnostic info in +zlayer = bin size in z dimension :ul + +[Examples:] + +fix 1 all gran/diag 1000 tmp 0.9 :pre + +[Description:] + +Compute aggregate density, velocity, and stress diagnostics for a +group of granular atoms as a function of z depth in the granular +system. The results are written to 3 files named file.den, file.vel, +and file.str. The z bins begin at the bottom of the system and extend +upward with a thickness of zlayer for each bin. The quantities +written to the file are averaged over all atoms in the bin. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "granular" package. Can +only be used with atom_style granular. + +[Related commands:] + +"atom_style granular"_atom_style.html + +[Default:] none diff --git a/doc/fix_gravity.html b/doc/fix_gravity.html new file mode 100644 index 0000000000..b5d9783263 --- /dev/null +++ b/doc/fix_gravity.html @@ -0,0 +1,95 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix gravity command +

      +

      Syntax: +

      +
      fix ID group gravity style args 
      +
      +
      • ID, group are documented in fix command + +
      • gravity = style name of this fix command + +
      • style = chute or spherical or gradient or vector + +
          chute args = angle
        +    angle = angle in +x away from -z axis (in degrees)
        +  spherical args = phi theta
        +    phi = azimuthal angle from +x axis (in degrees)
        +    theta = angle from +z axis (in degrees)
        +  gradient args = phi theta phi_grad theta_grad
        +    phi = azimuthal angle from +x axis (in degrees)
        +    theta = angle from +z axis (in degrees)
        +    phi_grad = rate of change of angle phi (full rotations per time unit)
        +    theta_grad = rate of change of angle theta
        +      (full rotations per time unit)
        +  vector args = magnitude x y z
        +    magnitude = size of acceleration (force/mass units)
        +    x y z = vector direction to apply the acceleration 
        +
        + +
      +

      Examples: +

      +
      fix 1 all gravity chute 24.0
      +fix 1 all gravity spherical 0.0 -180.0
      +fix 1 all gravity gradient 0.0 -180.0 0.0 0.1
      +fix 1 all gravity vector 100.0 1 1 0 
      +
      +

      Description: +

      +

      Impose an additional acceleration on each particle in the group. For +granular systems the magnitude is chosen so as to be due to gravity. +For non-granular systems the magnitude of the acceleration is +specified, so it can be any kind of driving field desired (e.g. a +pressure gradient inducing a Poisselle flow). Note that this is +different from what the fix addforce command does, +since it adds the same force to each atom, independent of its mass. +This command adds the same acceleration to each atom (force/mass). +

      +

      The first 3 styles apply to granular systems. Style chute is +typically used for simulations of chute flow where the specified angle +is the chute angle, with flow occurring in the +x direction. Style +spherical allows an arbitrary 3d direction to be specified for the +gravity vector. Style gradient allows the direction of the gravity +vector to be time dependent. The units of the gradient arguments are +in full rotations per time unit. E.g. a timestep of 0.001 and a +gradient of 0.1 means the gravity vector would rotate thru 360 degrees +every 10,000 timesteps. For the time-dependent case, the initial +direction of the gravity vector is phi,theta at the time the fix is +specified. +

      +

      Phi and theta are defined in the usual spherical coordinates. Thus +for gravity acting in the -z direction, theta would be specified as +180.0 (or -180.0). Theta = 90.0 and phi = -90.0 would mean gravity +acts in the -y direction. +

      +

      Style vector is used for non-granular systems. An acceleration of +the specified magnitude is applied to each atom in the group in the +vector direction given by (x,y,z). +

      +

      The strength of the acceleration due to gravity is 1.0 in LJ units, +which are the only allowed units for granular systems. +

      +

      Restrictions: +

      +

      Styles chute, spherical, and gradient can only be used with +atom_style granular. Style vector can only be used with +non-granular systems. +

      +

      Related commands: +

      +

      atom_style granular, fix addforce +

      +

      Default: none +

      + diff --git a/doc/fix_gravity.txt b/doc/fix_gravity.txt new file mode 100644 index 0000000000..70cc50e172 --- /dev/null +++ b/doc/fix_gravity.txt @@ -0,0 +1,86 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix gravity command :h3 + +[Syntax:] + +fix ID group gravity style args :pre + +ID, group are documented in "fix"_fix.html command :ulb,l +gravity = style name of this fix command :l +style = {chute} or {spherical} or {gradient} or {vector} :l + {chute} args = angle + angle = angle in +x away from -z axis (in degrees) + {spherical} args = phi theta + phi = azimuthal angle from +x axis (in degrees) + theta = angle from +z axis (in degrees) + {gradient} args = phi theta phi_grad theta_grad + phi = azimuthal angle from +x axis (in degrees) + theta = angle from +z axis (in degrees) + phi_grad = rate of change of angle phi (full rotations per time unit) + theta_grad = rate of change of angle theta + (full rotations per time unit) + {vector} args = magnitude x y z + magnitude = size of acceleration (force/mass units) + x y z = vector direction to apply the acceleration :pre +:ule + +[Examples:] + +fix 1 all gravity chute 24.0 +fix 1 all gravity spherical 0.0 -180.0 +fix 1 all gravity gradient 0.0 -180.0 0.0 0.1 +fix 1 all gravity vector 100.0 1 1 0 :pre + +[Description:] + +Impose an additional acceleration on each particle in the group. For +granular systems the magnitude is chosen so as to be due to gravity. +For non-granular systems the magnitude of the acceleration is +specified, so it can be any kind of driving field desired (e.g. a +pressure gradient inducing a Poisselle flow). Note that this is +different from what the "fix addforce"_fix_addforce.html command does, +since it adds the same force to each atom, independent of its mass. +This command adds the same acceleration to each atom (force/mass). + +The first 3 styles apply to granular systems. Style {chute} is +typically used for simulations of chute flow where the specified angle +is the chute angle, with flow occurring in the +x direction. Style +{spherical} allows an arbitrary 3d direction to be specified for the +gravity vector. Style {gradient} allows the direction of the gravity +vector to be time dependent. The units of the gradient arguments are +in full rotations per time unit. E.g. a timestep of 0.001 and a +gradient of 0.1 means the gravity vector would rotate thru 360 degrees +every 10,000 timesteps. For the time-dependent case, the initial +direction of the gravity vector is phi,theta at the time the fix is +specified. + +Phi and theta are defined in the usual spherical coordinates. Thus +for gravity acting in the -z direction, theta would be specified as +180.0 (or -180.0). Theta = 90.0 and phi = -90.0 would mean gravity +acts in the -y direction. + +Style {vector} is used for non-granular systems. An acceleration of +the specified magnitude is applied to each atom in the group in the +vector direction given by (x,y,z). + +The strength of the acceleration due to gravity is 1.0 in LJ units, +which are the only allowed units for granular systems. + +[Restrictions:] + +Styles {chute}, {spherical}, and {gradient} can only be used with +atom_style granular. Style {vector} can only be used with +non-granular systems. + +[Related commands:] + +"atom_style granular"_atom_style.html, "fix addforce"_fix_addforce.html + +[Default:] none diff --git a/doc/fix_gyration.html b/doc/fix_gyration.html new file mode 100644 index 0000000000..1110a35368 --- /dev/null +++ b/doc/fix_gyration.html @@ -0,0 +1,47 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix gyration command +

      +

      Syntax: +

      +
      fix ID group-ID gyration N file 
      +
      +
      • ID, group-ID are documented in fix command +
      • gyration = style name of this fix command +
      • N = compute radius-of-gyration every this many timesteps +
      • file = filename to write gyration info to +
      +

      Examples: +

      +
      fix 1 all gyration 100 molecule.out 
      +
      +

      Description: +

      +

      Compute the radius-of-gyration of the group of atoms every N steps, +including all effects due to atoms passing thru periodic boundaries. +Write the results to the specified file. +

      +

      Rg is a measure of the size of the group of atoms, and is computed by +this formula +

      +
      +
      +

      where M is the total mass of the group and Rcm is the center-of-mass +position of the group. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/fix_gyration.txt b/doc/fix_gyration.txt new file mode 100644 index 0000000000..6f285842fe --- /dev/null +++ b/doc/fix_gyration.txt @@ -0,0 +1,42 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix gyration command :h3 + +[Syntax:] + +fix ID group-ID gyration N file :pre + +ID, group-ID are documented in "fix"_fix.html command +gyration = style name of this fix command +N = compute radius-of-gyration every this many timesteps +file = filename to write gyration info to :ul + +[Examples:] + +fix 1 all gyration 100 molecule.out :pre + +[Description:] + +Compute the radius-of-gyration of the group of atoms every N steps, +including all effects due to atoms passing thru periodic boundaries. +Write the results to the specified file. + +Rg is a measure of the size of the group of atoms, and is computed by +this formula + +:c,image(Eqs/fix_gyration.jpg) + +where M is the total mass of the group and Rcm is the center-of-mass +position of the group. + +[Restrictions:] none + +[Related commands:] none + +[Default:] none diff --git a/doc/fix_indent.html b/doc/fix_indent.html new file mode 100644 index 0000000000..05f6fe1975 --- /dev/null +++ b/doc/fix_indent.html @@ -0,0 +1,123 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix indent command +

      +

      Syntax: +

      +
      fix ID group-ID indent k keyword args ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • indent = style name of this fix command + +
      • k = force constant for indenter surface (force/distance^2 units) + +
      • one or more keyword/value pairs may be appended to the args + +
      • keyword = sphere or cylinder or vel or rstart or units + +
          sphere args = x y z R
        +    x,y,z = initial position of center of indenter
        +    R = sphere radius of indenter (distance units)
        +  cylinder args = dim c1 c2 R
        +    dim = x or y or z = axis of cylinder
        +    c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
        +    R = cylinder radius of indenter (distance units)
        +  vel args = vx vy vz
        +    vx,vy,vz = velocity of center of indenter (velocity units)
        +  rstart value = R0
        +    R0 = sphere or cylinder radius at start of run
        +    R is value at end of run, so indenter expands/contracts over time
        +  units value = lattice or box
        +    lattice = the geometry is defined in lattice units
        +    box = the geometry is defined in simulation box units 
        +
        + +
      +

      Examples: +

      +
      fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0 vel 0.0 0.0 -1.0
      +fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box 
      +
      +

      Description: +

      +

      Insert an indenter within a simulation box. The indenter repels all +atoms that touch it, so it can be used to push into a material or as +an obstacle in a flow. +

      +

      The indenter can either be spherical or cylindrical. You must set +one of those 2 keywords. +

      +

      A spherical indenter exerts a force of magnitude +

      +
      F(r) = - k (r - R)^2 
      +
      +

      on each atom where k is the specified force constant, r is the +distance from the atom to the center of the indenter, and R is the +radius of the indenter. The force is repulsive and F(r) = 0 for r > +R. +

      +

      A cylindrical indenter exerts the same force, except that r is the +distance from the atom to the center axis of the cylinder. The +cylinder extends infinitely along its axis. +

      +

      If the vel keyword is specified, the center (or axis) of the +spherical (or cylindrical) indenter will move during the simulation, +based on its initial position (x,y,z) and the specified (vx,vy,vz). +Note that if you do multiple runs, the initial position of the +indenter (x,y,z) does not change, so it will continue to move at the +specified velocity. +

      +

      If the rstart keyword is specified, then the radius of the indenter +is a time-dependent quantity. R0 is the value assigned at the start +of the run; R is the value at the end. At intermediate times, the +radius is linearly interpolated between these two values. The +run command documents how to make the interpolation take +place across multiple runs. This option can be used, for example, to +grow/shrink a void within the simulation box. This option is not +relevant during an energy minimization; the indenter always has radius +R in that case. Note that if you do multiple runs, you may need to +re-specify the fix so that the indenter radius has the appropriate +value. If you do nothing, it will be reset to R0 at the beginning of +each run. +

      +

      The units keyword determines the meaning of the distance units used +to define the indenter. A box value selects standard distance units +as defined by the units command, e.g. Angstroms for units += real or metal. A lattice value means the distance units are in +cubic lattice spacings. The lattice command must first +be used to define a lattice. Note that the units choice affects not +only the indenter's physical geometry, but also its velocity and force +constant since they are defined in terms of distance as well. +

      +

      This fix supports the fix_modify options for +thermo and energy. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed, +where the energy of each particle interacting with the indenter is K/3 +(r - R)^3. The latter will add this contribution to the total +potential energy (PotEng). +

      +

      The forces due to this fix are also imposed during an energy +minimization, invoked by the minimize command. If you +want that energy to be included in the total potential energy of the +system (the quantity being minimized), you must enable the +fix_modify energy option for this fix. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: +

      +

      The option defaults are vel = 0,0,0 and units = lattice. +

      + diff --git a/doc/fix_indent.txt b/doc/fix_indent.txt new file mode 100644 index 0000000000..51b9d3b644 --- /dev/null +++ b/doc/fix_indent.txt @@ -0,0 +1,112 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix indent command :h3 + +[Syntax:] + +fix ID group-ID indent k keyword args ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +indent = style name of this fix command :l +k = force constant for indenter surface (force/distance^2 units) :l +one or more keyword/value pairs may be appended to the args :l +keyword = {sphere} or {cylinder} or {vel} or {rstart} or {units} :l + {sphere} args = x y z R + x,y,z = initial position of center of indenter + R = sphere radius of indenter (distance units) + {cylinder} args = dim c1 c2 R + dim = x or y or z = axis of cylinder + c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) + R = cylinder radius of indenter (distance units) + {vel} args = vx vy vz + vx,vy,vz = velocity of center of indenter (velocity units) + {rstart} value = R0 + R0 = sphere or cylinder radius at start of run + R is value at end of run, so indenter expands/contracts over time + {units} value = {lattice} or {box} + lattice = the geometry is defined in lattice units + box = the geometry is defined in simulation box units :pre +:ule + +[Examples:] + +fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0 vel 0.0 0.0 -1.0 +fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box :pre + +[Description:] + +Insert an indenter within a simulation box. The indenter repels all +atoms that touch it, so it can be used to push into a material or as +an obstacle in a flow. + +The indenter can either be spherical or cylindrical. You must set +one of those 2 keywords. + +A spherical indenter exerts a force of magnitude + +F(r) = - k (r - R)^2 :pre + +on each atom where {k} is the specified force constant, {r} is the +distance from the atom to the center of the indenter, and {R} is the +radius of the indenter. The force is repulsive and F(r) = 0 for {r} > +{R}. + +A cylindrical indenter exerts the same force, except that {r} is the +distance from the atom to the center axis of the cylinder. The +cylinder extends infinitely along its axis. + +If the {vel} keyword is specified, the center (or axis) of the +spherical (or cylindrical) indenter will move during the simulation, +based on its initial position (x,y,z) and the specified (vx,vy,vz). +Note that if you do multiple runs, the initial position of the +indenter (x,y,z) does not change, so it will continue to move at the +specified velocity. + +If the {rstart} keyword is specified, then the radius of the indenter +is a time-dependent quantity. R0 is the value assigned at the start +of the run; R is the value at the end. At intermediate times, the +radius is linearly interpolated between these two values. The +"run"_run.html command documents how to make the interpolation take +place across multiple runs. This option can be used, for example, to +grow/shrink a void within the simulation box. This option is not +relevant during an energy minimization; the indenter always has radius +R in that case. Note that if you do multiple runs, you may need to +re-specify the fix so that the indenter radius has the appropriate +value. If you do nothing, it will be reset to R0 at the beginning of +each run. + +The {units} keyword determines the meaning of the distance units used +to define the indenter. A {box} value selects standard distance units +as defined by the "units"_units.html command, e.g. Angstroms for units += real or metal. A {lattice} value means the distance units are in +cubic lattice spacings. The "lattice"_lattice.html command must first +be used to define a lattice. Note that the units choice affects not +only the indenter's physical geometry, but also its velocity and force +constant since they are defined in terms of distance as well. + +This fix supports the "fix_modify"_fix_modify.html options for +{thermo} and {energy}. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed, +where the energy of each particle interacting with the indenter is K/3 +(r - R)^3. The latter will add this contribution to the total +potential energy (PotEng). + +The forces due to this fix are also imposed during an energy +minimization, invoked by the "minimize"_minimize.html command. If you +want that energy to be included in the total potential energy of the +system (the quantity being minimized), you must enable the +"fix_modify"_fix_modify.html {energy} option for this fix. + +[Restrictions:] none + +[Related commands:] none + +[Default:] + +The option defaults are vel = 0,0,0 and units = lattice. diff --git a/doc/fix_insert.html b/doc/fix_insert.html new file mode 100644 index 0000000000..492c6b8bf0 --- /dev/null +++ b/doc/fix_insert.html @@ -0,0 +1,121 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix insert command +

      +

      Syntax: +

      +
      fix ID group-ID insert N type seed keyword values ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • insert = style name of this fix command + +
      • N = # of atoms to insert + +
      • type = atom type to assign to inserted atoms + +
      • seed = random # seed + +
      • one or more keyword/value pairs may be appended to args + +
      • keyword = region or diam or dens or vol or rate or vel + +
          region value = region-ID
        +    region-ID = ID of region to use as insertion volume
        +  diam values = lo hi
        +    lo,hi = range of diameters for inserted particles (distance units)
        +  dens values = lo hi
        +    lo,hi = range of densities for inserted particles
        +  vol values = fraction Nattempt
        +    fraction = desired volume fraction for filling insertion volume
        +    Nattempt = max # of insertion attempts per atom
        +  rate value = V
        +    V = z velocity (3d) or y velocity (2d) at which
        +        insertion volume moves (velocity units)
        +  vel values (3d) = vxlo vxhi vylo vyhi vz
        +  vel values (2d) = vxlo vxhi vy
        +    vxlo,vxhi = range of x velocities for inserted particles (velocity units)
        +    vylo,vyhi = range of y velocities for inserted particles (velocity units)
        +    vz = z velocity (3d) assigned to inserted particles (velocity units)
        +    vy = y velocity (2d) assigned to inserted particles (velocity units) 
        +
        + +
      +

      Examples: +

      +
      fix 3 all insert 1000 2 29494 region myblock
      +fix 2 all insert 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam 0.9 1.1 
      +
      +

      Description: +

      +

      Insert particles into a granular run every few timesteps within a +specified region until N particles have been inserted. This is useful +for simulating the pouring of particles into a container. +

      +

      Inserted particles are assigned the specified atom type and are +assigned to two groups: the default group "all" and the group +specified in the fix insert command (which can also be "all"). +

      +

      This command must use the region keyword to define an insertion +volume. The specified region must have been previously defined with a +region command. It must be of type block or a z-axis +cylinder and must be defined with side = in. The cylinder style +of region can only be used with 3d simulations. +

      +

      Each timestep particles are inserted, they are placed randomly inside +the insertion volume so as to mimic a stream of poured particles. The +larger the volume, the more particles that can be inserted at any one +timestep. Particles are inserted again after enough time has elapsed +that the previously inserted particles fall out of the insertion +volume under the influence of gravity. Insertions continue every so +many timesteps until the desired # of particles has been inserted. +

      +

      All other keywords are optional with defaults as shown below. The +diam, dens, and vel options enable inserted particles to have a +range of diameters or densities or xy velocities. The specific values +for a particular inserted particle will be chosen randomly and +uniformly between the specified bounds. The vz or vy value for +option vel assigns a z-velocity (3d) or y-velocity (2d) to each +inserted particle. +

      +

      The vol option specifies what volume fraction of the insertion +volume will be filled with particles. The higher the value, the more +particles are inserted each timestep. Since inserted particles cannot +overlap, the maximum volume fraction should be no higher than about +0.6. Each timestep particles are inserted, LAMMPS will make up to a +total of M tries to insert the new particles without overlaps, where M += # of inserted particles * Nattempt. If LAMMPS is unsuccessful at +completing all insertions, it prints a warning. +

      +

      The rate option allows the insertion volume to move in the z +direction (3d) or y direction (2d). This enables pouring particles +from a successively higher height over time. +

      +

      Restrictions: +

      +

      Can only be used if LAMMPS was built with the "granular" package. Can +only be used with atom_style granular. +

      +

      For 3d simulations, a gravity fix in the -z direction must be defined +for use in conjunction with this fix. For 2d simulations, gravity +must be defined in the -y direction. +

      +

      Related commands: +

      +

      fix_gravity, region +

      +

      Default: +

      +

      The option defaults are diam = 1.0 1.0, dens = 1.0 1.0, vol = 0.25 50, +rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0. +

      + diff --git a/doc/fix_insert.txt b/doc/fix_insert.txt new file mode 100644 index 0000000000..c34675ce73 --- /dev/null +++ b/doc/fix_insert.txt @@ -0,0 +1,108 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix insert command :h3 + +[Syntax:] + +fix ID group-ID insert N type seed keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +insert = style name of this fix command :l +N = # of atoms to insert :l +type = atom type to assign to inserted atoms :l +seed = random # seed :l +one or more keyword/value pairs may be appended to args :l +keyword = {region} or {diam} or {dens} or {vol} or {rate} or {vel} :l + {region} value = region-ID + region-ID = ID of region to use as insertion volume + {diam} values = lo hi + lo,hi = range of diameters for inserted particles (distance units) + {dens} values = lo hi + lo,hi = range of densities for inserted particles + {vol} values = fraction Nattempt + fraction = desired volume fraction for filling insertion volume + Nattempt = max # of insertion attempts per atom + {rate} value = V + V = z velocity (3d) or y velocity (2d) at which + insertion volume moves (velocity units) + {vel} values (3d) = vxlo vxhi vylo vyhi vz + {vel} values (2d) = vxlo vxhi vy + vxlo,vxhi = range of x velocities for inserted particles (velocity units) + vylo,vyhi = range of y velocities for inserted particles (velocity units) + vz = z velocity (3d) assigned to inserted particles (velocity units) + vy = y velocity (2d) assigned to inserted particles (velocity units) :pre +:ule + +[Examples:] + +fix 3 all insert 1000 2 29494 region myblock +fix 2 all insert 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam 0.9 1.1 :pre + +[Description:] + +Insert particles into a granular run every few timesteps within a +specified region until N particles have been inserted. This is useful +for simulating the pouring of particles into a container. + +Inserted particles are assigned the specified atom type and are +assigned to two groups: the default group "all" and the group +specified in the fix insert command (which can also be "all"). + +This command must use the {region} keyword to define an insertion +volume. The specified region must have been previously defined with a +"region"_region.html command. It must be of type {block} or a z-axis +{cylinder} and must be defined with side = {in}. The cylinder style +of region can only be used with 3d simulations. + +Each timestep particles are inserted, they are placed randomly inside +the insertion volume so as to mimic a stream of poured particles. The +larger the volume, the more particles that can be inserted at any one +timestep. Particles are inserted again after enough time has elapsed +that the previously inserted particles fall out of the insertion +volume under the influence of gravity. Insertions continue every so +many timesteps until the desired # of particles has been inserted. + +All other keywords are optional with defaults as shown below. The +{diam}, {dens}, and {vel} options enable inserted particles to have a +range of diameters or densities or xy velocities. The specific values +for a particular inserted particle will be chosen randomly and +uniformly between the specified bounds. The {vz} or {vy} value for +option {vel} assigns a z-velocity (3d) or y-velocity (2d) to each +inserted particle. + +The {vol} option specifies what volume fraction of the insertion +volume will be filled with particles. The higher the value, the more +particles are inserted each timestep. Since inserted particles cannot +overlap, the maximum volume fraction should be no higher than about +0.6. Each timestep particles are inserted, LAMMPS will make up to a +total of M tries to insert the new particles without overlaps, where M += # of inserted particles * Nattempt. If LAMMPS is unsuccessful at +completing all insertions, it prints a warning. + +The {rate} option allows the insertion volume to move in the z +direction (3d) or y direction (2d). This enables pouring particles +from a successively higher height over time. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "granular" package. Can +only be used with atom_style granular. + +For 3d simulations, a gravity fix in the -z direction must be defined +for use in conjunction with this fix. For 2d simulations, gravity +must be defined in the -y direction. + +[Related commands:] + +"fix_gravity"_fix_gravity.html, "region"_region.html + +[Default:] + +The option defaults are diam = 1.0 1.0, dens = 1.0 1.0, vol = 0.25 50, +rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0. diff --git a/doc/fix_langevin.html b/doc/fix_langevin.html new file mode 100644 index 0000000000..2d6e2a9bca --- /dev/null +++ b/doc/fix_langevin.html @@ -0,0 +1,133 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix langevin command +

      +

      Syntax: +

      +
      fix ID group-ID langevin Tstart Tstop damp seed keyword values ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • langevin = style name of this fix command + +
      • Tstart,Tstop = desired temperature at start/end of run (temperature units) + +
      • damp = damping parameter (time units) + +
      • seed = random # seed to use for white noise (integer > 0 and < 900000000) + +
      • zero or more keyword/value pairs may be appended to the args + +
        keyword = axes or scale or region
        +  axes values = xflag yflag zflag
        +    xflag,yflag,zflag = 0/1 to exclude/include a dimension in the thermostat
        +  scale values = type ratio
        +    type = atom type (1-N)
        +    ratio = factor to scale the damping coefficient by
        +  region values = region-ID
        +    region-ID = ID of region to apply thermostat to 
        +
        + +
      +

      Examples: +

      +
      fix 3 boundary langevin 1.0 1.0 1000.0 699483
      +fix 1 all langevin 1.0 1.1 100.0 48279 axes 0 1 1
      +fix 3 boundary langevin 1.0 1.0 1000.0 699483 region boundary 
      +
      +

      Description: +

      +

      Apply a Langevin thermostat to a group of atoms which models an +interaction with a background implicit solvent. Used with fix +nve, this command performs Brownian dynamics (BD), since +the total force on each atom will have the form: +

      +
      F = Fc + Ff + Fr 
      +
      +

      Fc is the conservative force computed via the usual inter-particle +interactions (pair_style, +bond_style, etc). +

      +

      The Ff and Fr terms are added by this fix. Ff = - gamma v and is a +frictional drag or viscous damping term proportional to the particle's +velocity. Gamma for each atom is computed as m/damp, where m is the +mass of the particle and damp is the damping factor specified by the +user. +

      +

      Fr is a force due to solvent atoms at a temperature T randomly bumping +into the particle. As derived from the fluctuation/dissipation +theorum, its magnitude is proportional to sqrt(T m / dt damp), where T +is the desired temperature, m is the mass of the particle, dt is the +timestep size, and damp is the damping factor. Random numbers are +used to randomize the direction and magnitude of this force. +

      +

      The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. The run command documents +how to make the ramping take place across multiple runs. +

      +

      The damp parameter is specified in time units and determines how +rapidly the temperature is relaxed. For example, a value of 100.0 +means to relax the temperature in a timespan of (roughly) 100 time +units (tau or fmsec or psec - see the units command). +The damp factor can be thought of as inversely related to the +viscosity of the solvent. I.e. a small relaxation time implies a +hi-viscosity solvent and vice versa. See the discussion about gamma +and viscosity in the documentation for the fix +viscous command for more details. +

      +

      The random # seed should be a non-zero integer with 1 to 8 digits. +A Marsaglia random number generator is used. Each processor uses the +input seed to generate its own unique seed and its own stream of +random numbers. Thus the dynamics of the system will not be identical +on two runs on different numbers of processors. Also, the state of +the random number generator is not saved in a restart file. This +means you cannot do exact restarts when a fix langevin command is +used. +

      +

      The keyword axes can be used to specify which dimensions to add Ff +and Fr to. A flag of 0 means skip that dimension; a flag of 1 means +include that dimension. The default is 1 for all 3 dimensions. +

      +

      The keyword scale allows the damp factor to be scaled up or down by +the specified factor for atoms of that type. It can be used multiple +times to adjust damp for several atom types. Note that specifying a +ratio of 2 increase the relaxation time which is equivalent to the the +solvent's viscosity acting on particles with 1/2 the diameter. This +is the opposite effect of scale factors used by the fix +viscous command, since the damp factor in fix +langevin is inversely related to the gamma factor in fix viscous. +Also note that the damping factor in fix langevin includes the +particle mass in Ff, unlike fix viscous. Thus the mass and size of +different atom types should be accounted for in the choice of ratio +values. +

      +

      The keyword region applies the fix only to atoms that are in the +specified geometric region (and in the fix group). Since atoms can +enter/leave a region, this test is performed each timestep. +

      +

      As noted above, fix langevin does not update the coordinates or +velocities of its atoms, only the forces. It is normally used with a +fix nve that does the time integration. Fix langevin +should not normally be used on atoms that also have their temperature +controlled by another fix - e.g. a nvt or +temp/rescale fix. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix nvt, fix temp/rescale, fix +viscous +

      +

      Default: none +

      + diff --git a/doc/fix_langevin.txt b/doc/fix_langevin.txt new file mode 100644 index 0000000000..aa8644e2f1 --- /dev/null +++ b/doc/fix_langevin.txt @@ -0,0 +1,121 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix langevin command :h3 + +[Syntax:] + +fix ID group-ID langevin Tstart Tstop damp seed keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +langevin = style name of this fix command :l +Tstart,Tstop = desired temperature at start/end of run (temperature units) :l +damp = damping parameter (time units) :l +seed = random # seed to use for white noise (integer > 0 and < 900000000) :l +zero or more keyword/value pairs may be appended to the args :l +keyword = {axes} or {scale} or {region} + {axes} values = xflag yflag zflag + xflag,yflag,zflag = 0/1 to exclude/include a dimension in the thermostat + {scale} values = type ratio + type = atom type (1-N) + ratio = factor to scale the damping coefficient by + {region} values = region-ID + region-ID = ID of region to apply thermostat to :pre +:ule + +[Examples:] + +fix 3 boundary langevin 1.0 1.0 1000.0 699483 +fix 1 all langevin 1.0 1.1 100.0 48279 axes 0 1 1 +fix 3 boundary langevin 1.0 1.0 1000.0 699483 region boundary :pre + +[Description:] + +Apply a Langevin thermostat to a group of atoms which models an +interaction with a background implicit solvent. Used with "fix +nve"_fix_nve.html, this command performs Brownian dynamics (BD), since +the total force on each atom will have the form: + +F = Fc + Ff + Fr :pre + +Fc is the conservative force computed via the usual inter-particle +interactions ("pair_style"_pair_style.html, +"bond_style"_bond_style.html, etc). + +The Ff and Fr terms are added by this fix. Ff = - gamma v and is a +frictional drag or viscous damping term proportional to the particle's +velocity. Gamma for each atom is computed as m/damp, where m is the +mass of the particle and damp is the damping factor specified by the +user. + +Fr is a force due to solvent atoms at a temperature T randomly bumping +into the particle. As derived from the fluctuation/dissipation +theorum, its magnitude is proportional to sqrt(T m / dt damp), where T +is the desired temperature, m is the mass of the particle, dt is the +timestep size, and damp is the damping factor. Random numbers are +used to randomize the direction and magnitude of this force. + +The desired temperature at each timestep is a ramped value during the +run from {Tstart} to {Tstop}. The "run"_run.html command documents +how to make the ramping take place across multiple runs. + +The {damp} parameter is specified in time units and determines how +rapidly the temperature is relaxed. For example, a value of 100.0 +means to relax the temperature in a timespan of (roughly) 100 time +units (tau or fmsec or psec - see the "units"_units.html command). +The damp factor can be thought of as inversely related to the +viscosity of the solvent. I.e. a small relaxation time implies a +hi-viscosity solvent and vice versa. See the discussion about gamma +and viscosity in the documentation for the "fix +viscous"_fix_viscous.html command for more details. + +The random # {seed} should be a non-zero integer with 1 to 8 digits. +A Marsaglia random number generator is used. Each processor uses the +input seed to generate its own unique seed and its own stream of +random numbers. Thus the dynamics of the system will not be identical +on two runs on different numbers of processors. Also, the state of +the random number generator is not saved in a restart file. This +means you cannot do exact restarts when a fix {langevin} command is +used. + +The keyword {axes} can be used to specify which dimensions to add Ff +and Fr to. A flag of 0 means skip that dimension; a flag of 1 means +include that dimension. The default is 1 for all 3 dimensions. + +The keyword {scale} allows the damp factor to be scaled up or down by +the specified factor for atoms of that type. It can be used multiple +times to adjust damp for several atom types. Note that specifying a +ratio of 2 increase the relaxation time which is equivalent to the the +solvent's viscosity acting on particles with 1/2 the diameter. This +is the opposite effect of scale factors used by the "fix +viscous"_fix_viscous.html command, since the damp factor in fix +{langevin} is inversely related to the gamma factor in fix {viscous}. +Also note that the damping factor in fix {langevin} includes the +particle mass in Ff, unlike fix {viscous}. Thus the mass and size of +different atom types should be accounted for in the choice of ratio +values. + +The keyword {region} applies the fix only to atoms that are in the +specified geometric region (and in the fix group). Since atoms can +enter/leave a region, this test is performed each timestep. + +As noted above, fix {langevin} does not update the coordinates or +velocities of its atoms, only the forces. It is normally used with a +"fix nve"_fix_nve.html that does the time integration. Fix {langevin} +should not normally be used on atoms that also have their temperature +controlled by another fix - e.g. a "nvt"_fix_nvt.html or +"temp/rescale"_fix_temp_rescale.html fix. + +[Restrictions:] none + +[Related commands:] + +"fix nvt"_fix_nvt.html, "fix temp/rescale"_fix_temp_rescale.html, "fix +viscous"_fix_viscous.html + +[Default:] none diff --git a/doc/fix_lineforce.html b/doc/fix_lineforce.html new file mode 100644 index 0000000000..930dd66836 --- /dev/null +++ b/doc/fix_lineforce.html @@ -0,0 +1,47 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix lineforce command +

      +

      Syntax: +

      +
      fix ID group-ID lineforce x y z 
      +
      +
      • ID, group-ID are documented in fix command +
      • lineforce = style name of this fix command +
      • x y z = direction of line as a 3-vector +
      +

      Examples: +

      +
      fix hold boundary lineforce 0.0 1.0 1.0 
      +
      +

      Description: +

      +

      Adjust the forces on each atom in the group so that it's motion will +be along the linear direction specified by the vector (x,y,z). This +is done by subtracting out components of force perpendicular to the +line. +

      +

      If the initial velocity of the atom is 0.0 (or along the line), then +it should continue to move along the line thereafter. +

      +

      The forces due to this fix are also imposed during an energy +minimization, invoked by the minimize command. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix planeforce +

      +

      Default: none +

      + diff --git a/doc/fix_lineforce.txt b/doc/fix_lineforce.txt new file mode 100644 index 0000000000..c053f00855 --- /dev/null +++ b/doc/fix_lineforce.txt @@ -0,0 +1,42 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix lineforce command :h3 + +[Syntax:] + +fix ID group-ID lineforce x y z :pre + +ID, group-ID are documented in "fix"_fix.html command +lineforce = style name of this fix command +x y z = direction of line as a 3-vector :ul + +[Examples:] + +fix hold boundary lineforce 0.0 1.0 1.0 :pre + +[Description:] + +Adjust the forces on each atom in the group so that it's motion will +be along the linear direction specified by the vector (x,y,z). This +is done by subtracting out components of force perpendicular to the +line. + +If the initial velocity of the atom is 0.0 (or along the line), then +it should continue to move along the line thereafter. + +The forces due to this fix are also imposed during an energy +minimization, invoked by the "minimize"_minimize.html command. + +[Restrictions:] none + +[Related commands:] + +"fix planeforce"_fix_planeforce.html + +[Default:] none diff --git a/doc/fix_modify.html b/doc/fix_modify.html new file mode 100644 index 0000000000..f64a6b3a10 --- /dev/null +++ b/doc/fix_modify.html @@ -0,0 +1,77 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix_modify command +

      +

      Syntax: +

      +
      fix_modify fix-ID keyword value ... 
      +
      +
      • fix-ID = ID of the fix to modify + +
      • one or more keyword/value pairs may be appended + +
      • keyword = temp or energy or thermo + +
          temp value = temperature ID
        +  energy value = yes or no
        +  thermo value = yes or no 
        +
        + +
      +

      Examples: +

      +
      fix_modify 3 temp myTemp
      +fix_modify 1 thermo yes energy no 
      +
      +

      Description: +

      +

      Modify one or more parameters of a previously defined fix. Not all +fix styles support all parameters. +

      +

      The temp keyword is used to determine how a fix computes +temperature. The specified temperature ID must have been previously +defined by the user via the temperature command. +The default setting for temp is temperature ID = default. Fix +styles that use the temp setting are +temp/rescale, nvt, and +npt. +

      +

      The energy and thermo keywords enable a fix to compute and/or +print quantities as part of the thermodynamic output to the screen and +log file (if the fix defines such quantites). When the energy +keyword is set to yes, the fix computes a contribution to the total +potential energy that is printed as PotEng during thermodynamic +output. When the thermo keyword is set to yes, the fix prints one +or more values that are appended to the list of thermodynamic outputs. +See the thermo_style command for how this printing +is formatted. +

      +

      The fixes that support the energy and thermo options include: fix +indent, fix nvt, fix +nph, fix npt, fix +orient/fcc, fix +temp/rescale, and fix +wall/lj93. See the individual fix commands for +more info on what is computed and/or printed. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix, temperature, +thermo_style +

      +

      Default: +

      +

      The option defaults are temp = default, energy = no, thermo = no. +

      + diff --git a/doc/fix_modify.txt b/doc/fix_modify.txt new file mode 100644 index 0000000000..1377c67f39 --- /dev/null +++ b/doc/fix_modify.txt @@ -0,0 +1,68 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix_modify command :h3 + +[Syntax:] + +fix_modify fix-ID keyword value ... :pre + +fix-ID = ID of the fix to modify :ulb,l +one or more keyword/value pairs may be appended :l +keyword = {temp} or {energy} or {thermo} :l + {temp} value = temperature ID + {energy} value = {yes} or {no} + {thermo} value = {yes} or {no} :pre +:ule + +[Examples:] + +fix_modify 3 temp myTemp +fix_modify 1 thermo yes energy no :pre + +[Description:] + +Modify one or more parameters of a previously defined fix. Not all +fix styles support all parameters. + +The {temp} keyword is used to determine how a fix computes +temperature. The specified temperature ID must have been previously +defined by the user via the "temperature"_temperature.html command. +The default setting for {temp} is temperature ID = {default}. Fix +styles that use the {temp} setting are +"temp/rescale"_fix_temp_rescale.html, "nvt"_fix_nvt.html, and +"npt"_fix_npt.html. + +The {energy} and {thermo} keywords enable a fix to compute and/or +print quantities as part of the thermodynamic output to the screen and +log file (if the fix defines such quantites). When the {energy} +keyword is set to {yes}, the fix computes a contribution to the total +potential energy that is printed as PotEng during thermodynamic +output. When the {thermo} keyword is set to yes, the fix prints one +or more values that are appended to the list of thermodynamic outputs. +See the "thermo_style"_thermo_style.html command for how this printing +is formatted. + +The fixes that support the {energy} and {thermo} options include: "fix +indent"_fix_indent.html, "fix nvt"_fix_nvt.html, "fix +nph"_fix_nph.html, "fix npt"_fix_npt.html, "fix +orient/fcc"_fix_orient_fcc.html, "fix +temp/rescale"_fix_temp_rescale.html, and "fix +wall/lj93"_fix_wall_lj93.html. See the individual fix commands for +more info on what is computed and/or printed. + +[Restrictions:] none + +[Related commands:] + +"fix"_fix.html, "temperature"_temperature.html, +"thermo_style"_thermo_style.html + +[Default:] + +The option defaults are temp = default, energy = no, thermo = no. diff --git a/doc/fix_momentum.html b/doc/fix_momentum.html new file mode 100644 index 0000000000..6069793306 --- /dev/null +++ b/doc/fix_momentum.html @@ -0,0 +1,66 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix momentum command +

      +

      Syntax: +

      +
      fix ID group-ID momentum N keyword values ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • momentum = style name of this fix command + +
      • one or more keyword/value pairs may be appended to the args + +
      • keyword = linear or angular + +
          linear values = xflag yflag zflag
        +    xflag,yflag,zflag = 0/1 to exclude/include each dimension
        +  angular values = none 
        +
        + +
      +

      Examples: +

      +
      fix 1 all momentum 1 linear 1 1 0 angular 
      +
      +

      Description: +

      +

      Zero the linear and/or angular momentum of the group of atoms every N +timesteps by adjusting the velocities of the atoms. +

      +

      If the linear keyword is used, the linear momentum is zeroed by +subtracting the center-of-mass velocity of the group from each atom. +This does not change the relative velocity of any pair of atoms. One +or more dimensions can be excluded from this operation by setting the +corresponding flag to 0. +

      +

      If the angular keyword is used, the angular momentum is zeroed by +subtracting a rotational component from each atom. +

      +

      This command can be used to insure the entire collection of atoms (or +a subset of them) does not drift or rotate during the simulation due +to random perturbations (e.g. fix langevin +thermostatting). +

      +

      Note that the velocity command can be used to create +velocities with zero aggregate linear and/or angular momentum. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix recenter, velocity +

      +

      Default: none +

      + diff --git a/doc/fix_momentum.txt b/doc/fix_momentum.txt new file mode 100644 index 0000000000..a6a6cae957 --- /dev/null +++ b/doc/fix_momentum.txt @@ -0,0 +1,57 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix momentum command :h3 + +[Syntax:] + +fix ID group-ID momentum N keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +momentum = style name of this fix command :l + +one or more keyword/value pairs may be appended to the args :l +keyword = {linear} or {angular} :l + {linear} values = xflag yflag zflag + xflag,yflag,zflag = 0/1 to exclude/include each dimension + {angular} values = none :pre +:ule + +[Examples:] + +fix 1 all momentum 1 linear 1 1 0 angular :pre + +[Description:] + +Zero the linear and/or angular momentum of the group of atoms every N +timesteps by adjusting the velocities of the atoms. + +If the {linear} keyword is used, the linear momentum is zeroed by +subtracting the center-of-mass velocity of the group from each atom. +This does not change the relative velocity of any pair of atoms. One +or more dimensions can be excluded from this operation by setting the +corresponding flag to 0. + +If the {angular} keyword is used, the angular momentum is zeroed by +subtracting a rotational component from each atom. + +This command can be used to insure the entire collection of atoms (or +a subset of them) does not drift or rotate during the simulation due +to random perturbations (e.g. "fix langevin"_fix_langevin.html +thermostatting). + +Note that the "velocity"_velocity.html command can be used to create +velocities with zero aggregate linear and/or angular momentum. + +[Restrictions:] none + +[Related commands:] + +"fix recenter"_fix_recenter.html, "velocity"_velocity.html + +[Default:] none diff --git a/doc/fix_msd.html b/doc/fix_msd.html new file mode 100644 index 0000000000..f695940399 --- /dev/null +++ b/doc/fix_msd.html @@ -0,0 +1,42 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix msd command +

      +

      Syntax: +

      +
      fix ID group-ID msd N file 
      +
      +
      • ID, group-ID are documented in fix command +
      • msd = style name of this fix command +
      • N = compute mean-squared displacement every this many timesteps +
      • file = filename to write mean-squared displacement info to +
      +

      Examples: +

      +
      fix 1 all msd 100 diff.out 
      +
      +

      Description: +

      +

      Compute the mean-squared displacement of the group of atoms every N +steps, including all effects due to atoms passing thru periodic +boundaries. The slope of the mean-squared displacement versus time is +proportional to the diffusion coefficient of the diffusing atoms. The +"origin" of the displacement for each atom is its position at the time +the fix command was issued. Write the results to the specified file. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/fix_msd.txt b/doc/fix_msd.txt new file mode 100644 index 0000000000..f808f14901 --- /dev/null +++ b/doc/fix_msd.txt @@ -0,0 +1,43 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix msd command :h3 + +[Syntax:] + +fix ID group-ID msd N file :pre + +ID, group-ID are documented in "fix"_fix.html command +msd = style name of this fix command +N = compute mean-squared displacement every this many timesteps +file = filename to write mean-squared displacement info to :ul + +[Examples:] + +fix 1 all msd 100 diff.out :pre + +[Description:] + +Compute the mean-squared displacement of the group of atoms every N +steps, including all effects due to atoms passing thru periodic +boundaries. The slope of the mean-squared displacement versus time is +proportional to the diffusion coefficient of the diffusing atoms. The +"origin" of the displacement for each atom is its position at the time +the fix command was issued. Write the results to the specified file. + +[Restrictions:] none + +[Related commands:] none + +[Default:] none + + + + + + diff --git a/doc/fix_nph.html b/doc/fix_nph.html new file mode 100644 index 0000000000..84a2577382 --- /dev/null +++ b/doc/fix_nph.html @@ -0,0 +1,164 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix nph command +

      +

      Syntax: +

      +
      fix ID group-ID nph p-style args keyword value ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • nph = style name of this fix command + +
      • p-style = xyz or xy or yz or xz or aniso + +
          xyz args = Pstart Pstop Pdamp
        +    Pstart,Pstop = desired pressure at start/end of run (pressure units)
        +    Pdamp = pressure damping parameter (time units)
        +  xy or yz or xz args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp
        +    Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at 
        +      start/end (0/1) of run (pressure units)
        +    Pdamp = pressure damping parameter (time units)
        +  aniso args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp
        +    Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at
        +      start/end (0/1) of run (pressure units)
        +    Pdamp = pressure damping parameter (time units) 
        +
        +
      • zero or more keyword/value pairs may be appended to the args + +
      • keyword = drag or dilate + +
          drag value = drag factor added to barostat (0.0 = no drag)
        +  dilate value = all or partial 
        +
        + +
      +

      Examples: +

      +
      fix 1 all nph xyz 0.0 0.0 1000.0
      +fix 2 all nph xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 1.0
      +fix 2 all nph aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 
      +
      +

      Description: +

      +

      Perform constant NPH integration to update positions and velocities +each timestep for atoms in the group using a Nose/Hoover pressure +barostat. P is pressure. This creates a system trajectory consistent +with the isobaric ensemble. Unlike fix npt, +temperature will not be controlled if no other fix is used. +Temperature can be controlled independently by using "fix +langevin or fix +temp/rescale. +

      +

      The atoms in the fix group are the only ones whose velocities and +positions are updated by the velocity/position update portion of the +NPT integration. +

      +

      Regardless of what atoms are in the fix group, a global pressure is +computed for all atoms. Similarly, when the size of the simulation +box is changed, all atoms are re-scaled to new positions, unless the +keyword dilate is specified with a value of partial, in which case +only the atoms in the fix group are re-scaled. The latter can be +useful for leaving the coordinates of atoms in a solid substrate +unchanged and controlling the pressure of a surrounding fluid. +

      +

      This fix computes a temperature each timestep, to contribute to the +pressure. The fix creates its own method for computing T, as if it +had been defined by the command: +

      +
      temperature fix-ID all full 
      +
      +

      See the temperature command for details. Note that +this is NOT the temperature with ID = default. This means you can +change the attributes of this fix's temperature (e.g. its +degrees-of-freedom) via the temp_modify command or +print the temperature with thermodyanmic output via the thermo_style +custom command using the appropriate temp-ID = +fix-ID. It also means that changing attributes of the default +temperature will have no effect on this fix. Alternatively, you can +directly assign a new temperature to the fix via the +fix_modify command. If you do this, note that the +kinetic energy derived from T should be consistent with the virial +term computed using all atoms. LAMMPS will warn you if you choose to +compute temperature on a subset of atoms. +

      +

      The pressure can be controlled in one of several styles, as specified +by the p-style argument. In each case, the desired pressure at each +timestep is a ramped value during the run from the starting value to +the end value. The run command documents how to make the +ramping take place across multiple runs. +

      +

      Style xyz means couple all 3 dimensions together when pressure is +computed (isotropic pressure), and dilate/contract the 3 dimensions +together. +

      +

      Styles xy or yz or xz means that the 2 specified dimensions are +coupled together, both for pressure computation and for +dilation/contraction. The 3rd dimension dilates/contracts +independently, using its pressure component as the driving force. +

      +

      For style aniso, all 3 dimensions dilate/contract independently +using their individual pressure components as the 3 driving forces. +

      +

      For any of the styles except xyz, any of the independent pressure +components (e.g. z in xy, or any dimension in aniso) can have +their target pressures (both start and stop values) specified as NULL. +This means that no pressure control is applied to that dimension so +that the box dimension remains unchanged. +

      +

      In some cases (e.g. for solids) the pressure (volume) and/or +temperature of the system can oscillate undesirably when a Nose/Hoover +barostat is applied. The optional drag keyword will damp these +oscillations, although it alters the Nose/Hoover equations. A value +of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A +non-zero value adds a drag term; the larger the value specified, the +greater the damping effect. Performing a short run and monitoring the +pressure is the best way to determine if the drag term is working. +Typically a value between 0.2 to 2.0 is sufficient to damp +oscillations after a few periods. +

      +

      For all pressure styles, the simulation box stays rectangular in +shape. Parinello-Rahman boundary conditions (tilted box) are not +implemented in LAMMPS. +

      +

      For all styles, the Pdamp parameter is specified in time units and +determines how rapidly the pressure is relaxed. For example, a value +of 1000.0 means to relax the temperature in a timespan of (roughly) +1000 time units (tau or fmsec or psec - see the units +command). +

      +

      This fix supports the "fix_modify" options for thermo and energy. +The former will print the contribution the fix makes to the energy of +the system when thermodynamics is printed. The latter will add this +contribution to the total potential energy (PotEng) so that energy +conservation can be monitored. +

      +

      Restrictions: +

      +

      Any dimension being adjusted by this fix must be periodic. A +dimension whose target pressures are specified as NULL can be +non-periodic or periodic. +

      +

      You should not use fix nvt with this fix. Instead, use +fix npt if you want to control both temperature and +pressure via Nose/Hoover. +

      +

      Related commands: +

      +

      fix nve, fix npt, +fix_modify +

      +

      Default: +

      +

      The keyword defaults are drag = 0.0 and dilate = all. +

      + diff --git a/doc/fix_nph.txt b/doc/fix_nph.txt new file mode 100644 index 0000000000..9675b5b884 --- /dev/null +++ b/doc/fix_nph.txt @@ -0,0 +1,153 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix nph command :h3 + +[Syntax:] + +fix ID group-ID nph p-style args keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +nph = style name of this fix command :l +p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l + {xyz} args = Pstart Pstop Pdamp + Pstart,Pstop = desired pressure at start/end of run (pressure units) + Pdamp = pressure damping parameter (time units) + {xy} or {yz} or {xz} args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp + Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at + start/end (0/1) of run (pressure units) + Pdamp = pressure damping parameter (time units) + {aniso} args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp + Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at + start/end (0/1) of run (pressure units) + Pdamp = pressure damping parameter (time units) :pre + +zero or more keyword/value pairs may be appended to the args :l +keyword = {drag} or {dilate} :l + {drag} value = drag factor added to barostat (0.0 = no drag) + {dilate} value = {all} or {partial} :pre +:ule + +[Examples:] + +fix 1 all nph xyz 0.0 0.0 1000.0 +fix 2 all nph xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 1.0 +fix 2 all nph aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 :pre + +[Description:] + +Perform constant NPH integration to update positions and velocities +each timestep for atoms in the group using a Nose/Hoover pressure +barostat. P is pressure. This creates a system trajectory consistent +with the isobaric ensemble. Unlike "fix npt"_fix_npt.html, +temperature will not be controlled if no other fix is used. +Temperature can be controlled independently by using ""fix +langevin"_fix_langevin.html or "fix +temp/rescale"_fix_temp_rescale.html. + +The atoms in the fix group are the only ones whose velocities and +positions are updated by the velocity/position update portion of the +NPT integration. + +Regardless of what atoms are in the fix group, a global pressure is +computed for all atoms. Similarly, when the size of the simulation +box is changed, all atoms are re-scaled to new positions, unless the +keyword {dilate} is specified with a value of {partial}, in which case +only the atoms in the fix group are re-scaled. The latter can be +useful for leaving the coordinates of atoms in a solid substrate +unchanged and controlling the pressure of a surrounding fluid. + +This fix computes a temperature each timestep, to contribute to the +pressure. The fix creates its own method for computing T, as if it +had been defined by the command: + +temperature fix-ID all full :pre + +See the "temperature"_temperature.html command for details. Note that +this is NOT the temperature with ID = {default}. This means you can +change the attributes of this fix's temperature (e.g. its +degrees-of-freedom) via the "temp_modify"_temp_modify.html command or +print the temperature with thermodyanmic output via the "thermo_style +custom"_thermo_style.html command using the appropriate temp-ID = +fix-ID. It also means that changing attributes of the default +temperature will have no effect on this fix. Alternatively, you can +directly assign a new temperature to the fix via the +"fix_modify"_fix_modify.html command. If you do this, note that the +kinetic energy derived from T should be consistent with the virial +term computed using all atoms. LAMMPS will warn you if you choose to +compute temperature on a subset of atoms. + +The pressure can be controlled in one of several styles, as specified +by the {p-style} argument. In each case, the desired pressure at each +timestep is a ramped value during the run from the starting value to +the end value. The "run"_run.html command documents how to make the +ramping take place across multiple runs. + +Style {xyz} means couple all 3 dimensions together when pressure is +computed (isotropic pressure), and dilate/contract the 3 dimensions +together. + +Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are +coupled together, both for pressure computation and for +dilation/contraction. The 3rd dimension dilates/contracts +independently, using its pressure component as the driving force. + +For style {aniso}, all 3 dimensions dilate/contract independently +using their individual pressure components as the 3 driving forces. + +For any of the styles except {xyz}, any of the independent pressure +components (e.g. z in {xy}, or any dimension in {aniso}) can have +their target pressures (both start and stop values) specified as NULL. +This means that no pressure control is applied to that dimension so +that the box dimension remains unchanged. + +In some cases (e.g. for solids) the pressure (volume) and/or +temperature of the system can oscillate undesirably when a Nose/Hoover +barostat is applied. The optional {drag} keyword will damp these +oscillations, although it alters the Nose/Hoover equations. A value +of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A +non-zero value adds a drag term; the larger the value specified, the +greater the damping effect. Performing a short run and monitoring the +pressure is the best way to determine if the drag term is working. +Typically a value between 0.2 to 2.0 is sufficient to damp +oscillations after a few periods. + +For all pressure styles, the simulation box stays rectangular in +shape. Parinello-Rahman boundary conditions (tilted box) are not +implemented in LAMMPS. + +For all styles, the {Pdamp} parameter is specified in time units and +determines how rapidly the pressure is relaxed. For example, a value +of 1000.0 means to relax the temperature in a timespan of (roughly) +1000 time units (tau or fmsec or psec - see the "units"_units.html +command). + +This fix supports the "fix_modify" options for {thermo} and {energy}. +The former will print the contribution the fix makes to the energy of +the system when thermodynamics is printed. The latter will add this +contribution to the total potential energy (PotEng) so that energy +conservation can be monitored. + +[Restrictions:] + +Any dimension being adjusted by this fix must be periodic. A +dimension whose target pressures are specified as NULL can be +non-periodic or periodic. + +You should not use "fix nvt"_fix_nvt.html with this fix. Instead, use +"fix npt"_fix_npt.html if you want to control both temperature and +pressure via Nose/Hoover. + +[Related commands:] + +"fix nve"_fix_nve.html, "fix npt"_fix_npt.html, +"fix_modify"_fix_modify.html + +[Default:] + +The keyword defaults are drag = 0.0 and dilate = all. diff --git a/doc/fix_npt.html b/doc/fix_npt.html new file mode 100644 index 0000000000..82cecd9a28 --- /dev/null +++ b/doc/fix_npt.html @@ -0,0 +1,166 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix npt command +

      +

      Syntax: +

      +
      fix ID group-ID npt Tstart Tstop Tdamp p-style args keyword value ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • npt = style name of this fix command + +
      • Tstart,Tstop = desired temperature at start/end of run + +
      • Tdamp = temperature damping parameter (time units) + +
      • p-style = xyz or xy or yz or xz or aniso + +
          xyz args = Pstart Pstop Pdamp
        +    Pstart,Pstop = desired pressure at start/end of run (pressure units)
        +    Pdamp = pressure damping parameter (time units)
        +  xy or yz or xz or aniso args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp
        +    Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units)
        +    Pdamp = pressure damping parameter (time units) 
        +
        +
      • zero or more keyword/value pairs may be appended to the args + +
      • keyword = drag or dilate + +
          drag value = drag factor added to barostat/thermostat (0.0 = no drag)
        +  dilate value = all or partial 
        +
        + +
      +

      Examples: +

      +
      fix 1 all npt 300.0 300.0 100.0 xyz 0.0 0.0 1000.0
      +fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0
      +fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2
      +fix 2 water npt 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial 
      +
      +

      Description: +

      +

      Perform constant NPT integration to update positions and velocities +each timestep for atoms in the group using a Nose/Hoover temperature +thermostat and Nose/Hoover pressure barostat. P is pressure; T is +temperature. This creates a system trajectory consistent with the +isothermal-isobaric ensemble. +

      +

      The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. The run command documents +how to make the ramping take place across multiple runs. The Tdamp +parameter is specified in time units and determines how rapidly the +temperature is relaxed. For example, a value of 100.0 means to relax +the temperature in a timespan of (roughly) 100 time units (tau or +fmsec or psec - see the units command). +

      +

      The atoms in the fix group are the only ones whose velocities and +positions are updated by the velocity/position update portion of the +NPT integration. +

      +

      Regardless of what atoms are in the fix group, a global pressure is +computed for all atoms. Similarly, when the size of the simulation +box is changed, all atoms are re-scaled to new positions, unless the +keyword dilate is specified with a value of partial, in which case +only the atoms in the fix group are re-scaled. The latter can be +useful for leaving the coordinates of atoms in a solid substrate +unchanged and controlling the pressure of a surrounding fluid. +

      +

      This fix computes a temperature each timestep, to contribute to the +pressure. The fix creates its own method for computing T, as if it +had been defined by the command: +

      +
      temperature fix-ID all full 
      +
      +

      See the temperature command for details. Note that +this is NOT the temperature with ID = default. This means you can +change the attributes of this fix's temperature (e.g. its +degrees-of-freedom) via the temp_modify command or +print the temperature with thermodyanmic output via the thermo_style +custom command using the appropriate temp-ID = +fix-ID. It also means that changing attributes of the default +temperature will have no effect on this fix. Alternatively, you can +directly assign a new temperature to the fix via the +fix_modify command. If you do this, note that the +kinetic energy derived from T should be consistent with the virial +term computed using all atoms. LAMMPS will warn you if you choose to +compute temperature on a subset of atoms. +

      +

      The pressure can be controlled in one of several styles, as specified +by the p-style argument. In each case, the desired pressure at each +timestep is a ramped value during the run from the starting value to +the end value. The run command documents how to make the +ramping take place across multiple runs. +

      +

      Style xyz means couple all 3 dimensions together when pressure is +computed (isotropic pressure), and dilate/contract the 3 dimensions +together. +

      +

      Styles xy or yz or xz means that the 2 specified dimensions are +coupled together, both for pressure computation and for +dilation/contraction. The 3rd dimension dilates/contracts +independently, using its pressure component as the driving force. +

      +

      For style aniso, all 3 dimensions dilate/contract independently +using their individual pressure components as the 3 driving forces. +

      +

      For any of the styles except xyz, any of the independent pressure +components (e.g. z in xy, or any dimension in aniso) can have +their target pressures (both start and stop values) specified as NULL. +This means that no pressure control is applied to that dimension so +that the box dimension remains unchanged. +

      +

      In some cases (e.g. for solids) the pressure (volume) and/or +temperature of the system can oscillate undesirably when a Nose/Hoover +barostat and thermostat is applied. The optional drag keyword will +damp these oscillations, although it alters the Nose/Hoover equations. +A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. +A non-zero value adds a drag term; the larger the value specified, the +greater the damping effect. Performing a short run and monitoring the +pressure and temperature is the best way to determine if the drag term +is working. Typically a value between 0.2 to 2.0 is sufficient to +damp oscillations after a few periods. +

      +

      For all pressure styles, the simulation box stays rectangular in +shape. Parinello-Rahman boundary conditions (tilted box) are not +implemented in LAMMPS. +

      +

      For all styles, the Pdamp parameter operates like the Tdamp +parameter, determining the time scale on which pressure is relaxed. +

      +

      This fix supports the fix_modify options for +thermo and energy. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed. The +latter will add this contribution to the total potential energy +(PotEng) so that energy conservation can be monitored. +

      +

      Restrictions: +

      +

      Any dimension being adjusted by this fix must be periodic. A +dimension whose target pressures are specified as NULL can be +non-periodic or periodic. +

      +

      The final Tstop cannot be 0.0 since it would make the target T = 0.0 +at some timestep during the simulation which is not allowed in +the Nose/Hoover formulation. +

      +

      Related commands: +

      +

      fix nve, fix nvt, fix nph, +fix_modify +

      +

      Default: +

      +

      The keyword defaults are drag = 0.0 and dilate = all. +

      + diff --git a/doc/fix_npt.txt b/doc/fix_npt.txt new file mode 100644 index 0000000000..e2f00034e9 --- /dev/null +++ b/doc/fix_npt.txt @@ -0,0 +1,153 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix npt command :h3 + +[Syntax:] + +fix ID group-ID npt Tstart Tstop Tdamp p-style args keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +npt = style name of this fix command :l +Tstart,Tstop = desired temperature at start/end of run :l +Tdamp = temperature damping parameter (time units) :l +p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l + {xyz} args = Pstart Pstop Pdamp + Pstart,Pstop = desired pressure at start/end of run (pressure units) + Pdamp = pressure damping parameter (time units) + {xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp + Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) + Pdamp = pressure damping parameter (time units) :pre + +zero or more keyword/value pairs may be appended to the args :l +keyword = {drag} or {dilate} :l + {drag} value = drag factor added to barostat/thermostat (0.0 = no drag) + {dilate} value = {all} or {partial} :pre +:ule + +[Examples:] + +fix 1 all npt 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 +fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 +fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 +fix 2 water npt 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre + +[Description:] + +Perform constant NPT integration to update positions and velocities +each timestep for atoms in the group using a Nose/Hoover temperature +thermostat and Nose/Hoover pressure barostat. P is pressure; T is +temperature. This creates a system trajectory consistent with the +isothermal-isobaric ensemble. + +The desired temperature at each timestep is a ramped value during the +run from {Tstart} to {Tstop}. The "run"_run.html command documents +how to make the ramping take place across multiple runs. The {Tdamp} +parameter is specified in time units and determines how rapidly the +temperature is relaxed. For example, a value of 100.0 means to relax +the temperature in a timespan of (roughly) 100 time units (tau or +fmsec or psec - see the "units"_units.html command). + +The atoms in the fix group are the only ones whose velocities and +positions are updated by the velocity/position update portion of the +NPT integration. + +Regardless of what atoms are in the fix group, a global pressure is +computed for all atoms. Similarly, when the size of the simulation +box is changed, all atoms are re-scaled to new positions, unless the +keyword {dilate} is specified with a value of {partial}, in which case +only the atoms in the fix group are re-scaled. The latter can be +useful for leaving the coordinates of atoms in a solid substrate +unchanged and controlling the pressure of a surrounding fluid. + +This fix computes a temperature each timestep, to contribute to the +pressure. The fix creates its own method for computing T, as if it +had been defined by the command: + +temperature fix-ID all full :pre + +See the "temperature"_temperature.html command for details. Note that +this is NOT the temperature with ID = {default}. This means you can +change the attributes of this fix's temperature (e.g. its +degrees-of-freedom) via the "temp_modify"_temp_modify.html command or +print the temperature with thermodyanmic output via the "thermo_style +custom"_thermo_style.html command using the appropriate temp-ID = +fix-ID. It also means that changing attributes of the default +temperature will have no effect on this fix. Alternatively, you can +directly assign a new temperature to the fix via the +"fix_modify"_fix_modify.html command. If you do this, note that the +kinetic energy derived from T should be consistent with the virial +term computed using all atoms. LAMMPS will warn you if you choose to +compute temperature on a subset of atoms. + +The pressure can be controlled in one of several styles, as specified +by the {p-style} argument. In each case, the desired pressure at each +timestep is a ramped value during the run from the starting value to +the end value. The "run"_run.html command documents how to make the +ramping take place across multiple runs. + +Style {xyz} means couple all 3 dimensions together when pressure is +computed (isotropic pressure), and dilate/contract the 3 dimensions +together. + +Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are +coupled together, both for pressure computation and for +dilation/contraction. The 3rd dimension dilates/contracts +independently, using its pressure component as the driving force. + +For style {aniso}, all 3 dimensions dilate/contract independently +using their individual pressure components as the 3 driving forces. + +For any of the styles except {xyz}, any of the independent pressure +components (e.g. z in {xy}, or any dimension in {aniso}) can have +their target pressures (both start and stop values) specified as NULL. +This means that no pressure control is applied to that dimension so +that the box dimension remains unchanged. + +In some cases (e.g. for solids) the pressure (volume) and/or +temperature of the system can oscillate undesirably when a Nose/Hoover +barostat and thermostat is applied. The optional {drag} keyword will +damp these oscillations, although it alters the Nose/Hoover equations. +A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. +A non-zero value adds a drag term; the larger the value specified, the +greater the damping effect. Performing a short run and monitoring the +pressure and temperature is the best way to determine if the drag term +is working. Typically a value between 0.2 to 2.0 is sufficient to +damp oscillations after a few periods. + +For all pressure styles, the simulation box stays rectangular in +shape. Parinello-Rahman boundary conditions (tilted box) are not +implemented in LAMMPS. + +For all styles, the {Pdamp} parameter operates like the {Tdamp} +parameter, determining the time scale on which pressure is relaxed. + +This fix supports the "fix_modify"_fix_modify.html options for +{thermo} and {energy}. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed. The +latter will add this contribution to the total potential energy +(PotEng) so that energy conservation can be monitored. + +[Restrictions:] + +Any dimension being adjusted by this fix must be periodic. A +dimension whose target pressures are specified as NULL can be +non-periodic or periodic. + +The final Tstop cannot be 0.0 since it would make the target T = 0.0 +at some timestep during the simulation which is not allowed in +the Nose/Hoover formulation. + +[Related commands:] + +"fix nve"_fix_nve.html, "fix nvt"_fix_nvt.html, "fix nph"_fix_nph.html, +"fix_modify"_fix_modify.html + +[Default:] + +The keyword defaults are drag = 0.0 and dilate = all. diff --git a/doc/fix_nve.html b/doc/fix_nve.html new file mode 100644 index 0000000000..61b962a032 --- /dev/null +++ b/doc/fix_nve.html @@ -0,0 +1,39 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix nve command +

      +

      Syntax: +

      +
      fix ID group-ID nve 
      +
      +
      • ID, group-ID are documented in fix command +
      • nve = style name of this fix command +
      +

      Examples: +

      +
      fix 1 all nve 
      +
      +

      Description: +

      +

      Perform constant NVE updates of position and velocity for atoms in the +group each timestep. V is volume; E is energy. This creates a system +trajectory consistent with the microcanonical ensemble. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix nvt, fix npt +

      +

      Default: none +

      + diff --git a/doc/fix_nve.txt b/doc/fix_nve.txt new file mode 100644 index 0000000000..cd3f90937b --- /dev/null +++ b/doc/fix_nve.txt @@ -0,0 +1,34 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix nve command :h3 + +[Syntax:] + +fix ID group-ID nve :pre + +ID, group-ID are documented in "fix"_fix.html command +nve = style name of this fix command :ul + +[Examples:] + +fix 1 all nve :pre + +[Description:] + +Perform constant NVE updates of position and velocity for atoms in the +group each timestep. V is volume; E is energy. This creates a system +trajectory consistent with the microcanonical ensemble. + +[Restrictions:] none + +[Related commands:] + +"fix nvt"_fix_nvt.html, "fix npt"_fix_npt.html + +[Default:] none diff --git a/doc/fix_nve_gran.html b/doc/fix_nve_gran.html new file mode 100644 index 0000000000..7b9c41d547 --- /dev/null +++ b/doc/fix_nve_gran.html @@ -0,0 +1,44 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix nve/gran command +

      +

      Syntax: +

      +
      fix ID group-ID nve/gran 
      +
      +
      • ID, group-ID are documented in fix command +
      • nve/gran = style name of this fix command +
      +

      Examples: +

      +
      fix 1 all nve/gran 
      +
      +

      Description: +

      +

      Perform constant NVE updates each timestep on a group of atoms of atom +style granular. V is volume; E is energy. Granular atoms store +rotational information as well as position and velocity, so this +integrator updates translational and rotational degrees of freedom due +to forces and torques. +

      +

      Restrictions: none +

      +

      Can only be used if LAMMPS was built with the "granular" package. Can +only be used with atom_style granular. +

      +

      Related commands: +

      +

      atom_style granular +

      +

      Default: none +

      + diff --git a/doc/fix_nve_gran.txt b/doc/fix_nve_gran.txt new file mode 100644 index 0000000000..1e69d7cf1e --- /dev/null +++ b/doc/fix_nve_gran.txt @@ -0,0 +1,39 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix nve/gran command :h3 + +[Syntax:] + +fix ID group-ID nve/gran :pre + +ID, group-ID are documented in "fix"_fix.html command +nve/gran = style name of this fix command :ul + +[Examples:] + +fix 1 all nve/gran :pre + +[Description:] + +Perform constant NVE updates each timestep on a group of atoms of atom +style granular. V is volume; E is energy. Granular atoms store +rotational information as well as position and velocity, so this +integrator updates translational and rotational degrees of freedom due +to forces and torques. + +[Restrictions:] none + +Can only be used if LAMMPS was built with the "granular" package. Can +only be used with atom_style granular. + +[Related commands:] + +"atom_style granular"_atom_style.html + +[Default:] none diff --git a/doc/fix_nvt.html b/doc/fix_nvt.html new file mode 100644 index 0000000000..6414db75eb --- /dev/null +++ b/doc/fix_nvt.html @@ -0,0 +1,102 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix nvt command +

      +

      Syntax: +

      +
      fix ID group-ID nvt Tstart Tstop Tdamp keyword value ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • nvt = style name of this fix command + +
      • Tstart,Tstop = desired temperature at start/end of run + +
      • Tdamp = temperature damping parameter (time units) + +
      • zero or more keyword/value pairs may be appended to the args + +
      • keyword = drag + +
          drag value = drag factor added to thermostat (0.0 = no drag) 
        +
        + +
      +

      Examples: +

      +
      fix 1 all nvt 300.0 300.0 100.0
      +fix 1 all nvt 300.0 300.0 100.0 drag 0.2 
      +
      +

      Description: +

      +

      Perform constant NVT integration to update positions and velocities +each timestep for atoms in the group using a Nose/Hoover temperature +thermostat. V is volume; T is temperature. This creates a system +trajectory consistent with the canonical ensemble. +

      +

      The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. The run command documents +how to make the ramping take place across multiple runs. The Tdamp +parameter is specified in time units and determines how rapidly the +temperature is relaxed. For example, a value of 100.0 means to relax +the temperature in a timespan of (roughly) 100 time units (tau or +fmsec or psec - see the units command). +

      +

      In some cases (e.g. for solids) the temperature of the system can +oscillate undesirably when a Nose/Hoover thermostat is applied. The +optional drag keyword will damp these oscillations, although it +alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the +Nose/Hoover formalism unchanged. A non-zero value adds a drag term; +the larger the value specified, the greater the damping effect. +Performing a short run and monitoring the temperature is the best way +to determine if the drag term is working. Typically a value between +0.2 to 2.0 is sufficient to damp oscillations after a few periods. +

      +

      This fix computes a temperature each timestep. The fix creates its +own method for computing T, as if it had been defined by the command: +

      +
      temperature fix-ID group-ID full 
      +
      +

      See the temperature command for details. Note that +this is NOT the temperature with ID = default. This means you can +change the attributes of this fix's temperature (e.g. its +degrees-of-freedom) via the temp_modify command or +print the temperature with thermodyanmic output via the thermo_style +custom command using the appropriate temp-ID = +fix-ID. It also means that changing attributes of the default +temperature will have no effect on this fix. Alternatively, you can +directly assign a new temperature to the fix via the +fix_modify command. +

      +

      This fix supports the fix_modify options for +thermo and energy. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed. The +latter will add this contribution to the total potential energy +(PotEng) so that energy conservation can be monitored. +

      +

      Restrictions: +

      +

      The final Tstop cannot be 0.0 since it would make the target T = 0.0 +at some timestep during the simulation which is not allowed in +the Nose/Hoover formulation. +

      +

      Related commands: +

      +

      fix nve, fix npt, fix +temp/rescale, fix langevin, +fix_modify, temperature +

      +

      Default: +

      +

      The keyword defaults are drag = 0.0. +

      + diff --git a/doc/fix_nvt.txt b/doc/fix_nvt.txt new file mode 100644 index 0000000000..7ecc9d5bc7 --- /dev/null +++ b/doc/fix_nvt.txt @@ -0,0 +1,91 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix nvt command :h3 + +[Syntax:] + +fix ID group-ID nvt Tstart Tstop Tdamp keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +nvt = style name of this fix command :l +Tstart,Tstop = desired temperature at start/end of run :l +Tdamp = temperature damping parameter (time units) :l + +zero or more keyword/value pairs may be appended to the args :l +keyword = {drag} :l + {drag} value = drag factor added to thermostat (0.0 = no drag) :pre +:ule + +[Examples:] + +fix 1 all nvt 300.0 300.0 100.0 +fix 1 all nvt 300.0 300.0 100.0 drag 0.2 :pre + +[Description:] + +Perform constant NVT integration to update positions and velocities +each timestep for atoms in the group using a Nose/Hoover temperature +thermostat. V is volume; T is temperature. This creates a system +trajectory consistent with the canonical ensemble. + +The desired temperature at each timestep is a ramped value during the +run from {Tstart} to {Tstop}. The "run"_run.html command documents +how to make the ramping take place across multiple runs. The {Tdamp} +parameter is specified in time units and determines how rapidly the +temperature is relaxed. For example, a value of 100.0 means to relax +the temperature in a timespan of (roughly) 100 time units (tau or +fmsec or psec - see the "units"_units.html command). + +In some cases (e.g. for solids) the temperature of the system can +oscillate undesirably when a Nose/Hoover thermostat is applied. The +optional {drag} keyword will damp these oscillations, although it +alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the +Nose/Hoover formalism unchanged. A non-zero value adds a drag term; +the larger the value specified, the greater the damping effect. +Performing a short run and monitoring the temperature is the best way +to determine if the drag term is working. Typically a value between +0.2 to 2.0 is sufficient to damp oscillations after a few periods. + +This fix computes a temperature each timestep. The fix creates its +own method for computing T, as if it had been defined by the command: + +temperature fix-ID group-ID full :pre + +See the "temperature"_temperature.html command for details. Note that +this is NOT the temperature with ID = {default}. This means you can +change the attributes of this fix's temperature (e.g. its +degrees-of-freedom) via the "temp_modify"_temp_modify.html command or +print the temperature with thermodyanmic output via the "thermo_style +custom"_thermo_style.html command using the appropriate temp-ID = +fix-ID. It also means that changing attributes of the default +temperature will have no effect on this fix. Alternatively, you can +directly assign a new temperature to the fix via the +"fix_modify"_fix_modify.html command. + +This fix supports the "fix_modify"_fix_modify.html options for +{thermo} and {energy}. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed. The +latter will add this contribution to the total potential energy +(PotEng) so that energy conservation can be monitored. + +[Restrictions:] + +The final Tstop cannot be 0.0 since it would make the target T = 0.0 +at some timestep during the simulation which is not allowed in +the Nose/Hoover formulation. + +[Related commands:] + +"fix nve"_fix_nve.html, "fix npt"_fix_npt.html, "fix +temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html, +"fix_modify"_fix_modify.html, "temperature"_temperature.html + +[Default:] + +The keyword defaults are drag = 0.0. diff --git a/doc/fix_orient_fcc.html b/doc/fix_orient_fcc.html new file mode 100644 index 0000000000..0a1034b0db --- /dev/null +++ b/doc/fix_orient_fcc.html @@ -0,0 +1,166 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix orient/fcc command +

      +
      fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1 
      +
      +
      • ID, group-ID are documented in fix command +
      • nstats = print stats every this many steps, 0 = never +
      • dir = 0/1 for which crystal is used as reference +
      • alat = fcc cubic lattice constant (distance units) +
      • dE = energy added to each atom (energy units) +
      • cutlo,cuthi = values between 0.0 and 1.0, cutlo < cuthi +
      • file0,file1 = files that specify orientation of each grain +
      +

      Examples: +

      +
      fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec 
      +
      +

      Description: +

      +

      The fix applies an orientation-dependent force to atoms near a planar +grain boundary which can be used to induce grain boundary migration +(in the direction perpendicular to the grain boundary plane). The +motivation and explanation of this force and its application are +described in (Janssens). The force is only applied to +atoms in the fix group. +

      +

      The basic idea is that atoms in one grain (on one side of the +boundary) have a potential energy dE added to them. Atoms in the +other grain have 0.0 potential energy added. Atoms near the boundary +(whose neighbor environment is intermediate between the two grain +orientations) have an energy between 0.0 and dE added. This creates +an effective driving force to reduce the potential energy of atoms +near the boundary by pushing them towards one of the grain +orientations. For dir = 1 and dE > 0, the boundary will thus move so +that the grain described by file0 grows and the grain described by +file1 shrinks. Thus this fix is designed for simulations of two-grain +systems, either with one grain boundary and free surfaces parallel to +the boundary, or a system with periodic boundary conditions and two +equal and opposite grain boundaries. In either case, the entire +system can displace during the simulation, and such motion should be +accounted for in measuring the grain boundary velocity. +

      +

      The potential energy added to atom I is given by these formulas +

      +
      +
      +

      which are fully explained in (Janssens). The order +parameter Xi for atom I in equation (1) is a sum over the 12 nearest +neighbors of atom I. Rj is the vector from atom I to its neighbor J, +and RIj is a vector in the reference (perfect) crystal. That is, if +dir = 0/1, then RIj is a vector to an atom coord from file 0/1. +Equation (2) gives the expected value of the order parameter XiIJ in +the other grain. Hi and lo cutoffs are defined in equations (3) and +(4), using the input parameters cutlo and cuthi as threshholds to +avoid adding grain boundary energy when the deviation in the order +parameter from 0 or 1 is small (e.g. due to thermal fluctuations in a +perfect crystal). The added potential energy Ui for atom I is given +in equation (6) where it is interpolated between 0 and dE using the +two threshhold Xi values and the Wi value of equation (5). +

      +

      The derivative of this energy expression gives the force on each atom +which thus depends on the orientation of its neighbors relative to the +2 grain orientations. Only atoms near the grain boundary feel a net +force which tends to drive them to one of the two grain orientations. +

      +

      In equation (1), the reference vector used for each neigbbor is the +reference vector closest to the actual neighbor position. This means +it is possible two different neighbors will use the same reference +vector. In such cases, the atom in question is far from a perfect +orientation and will likely receive the full dE addition, so the +effect of duplicate reference vector usage is small. +

      +

      The dir parameter determines which grain wants to grow at the +expense of the other. A value of 0 means the first grain will shrink; +a value of 1 means it will grow. This assumes that dE is positive. +The reverse will be true if dE is negative. +

      +

      The alat parameter is the cubic lattice constant for the fcc +material and is only used to compute a cutoff distance of 1.57 * alat +/ sqrt(2) for finding the 12 nearest neighbors of each atom (which +should be valid for an fcc crystal). A longer/shorter cutoff can be +imposed by adjusting alat. If a particular atom has less than 12 +neighbors within the cutoff, the order parameter of equation (1) is +effectively multiplied by 12 divided by the actual number of neighbors +within the cutoff. +

      +

      The dE parameter is the maximum amount of additional energy added to +each atom in the grain which wants to shrink. +

      +

      The cutlo and cuthi parameters are used to reduce the force added +to bulk atoms in each grain far away from the boundary. An atom in +the bulk surrounded by neighbors at the ideal grain orientation would +compute an order parameter of 0 or 1 and have no force added. +However, thermal vibrations in the solid will cause the order +parameters to be greater than 0 or less than 1. The cutoff parameters +mask this effect, allowing forces to only be added to atoms with +order-parameters between the cutoff values. +

      +

      File0 and file1 are filenames for the two grains which each +contain 6 vectors (6 lines with 3 values per line) which specify the +grain orientations. Each vector is a displacement from a central atom +(0,0,0) to a nearest neighbor atom in an fcc lattice at the proper +orientation. The vector lengths should all be identical since an fcc +lattice has a coordination number of 12. Only 6 are listed due to +symmetry, so the list must include one from each pair of +equal-and-opposite neighbors. A pair of orientation files for a +Sigma=5 tilt boundary are show below. +

      +

      This fix supports the fix_modify options for +thermo and energy. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed. The +latter will add this contribution to the total potential energy +(PotEng). +

      +

      Restrictions: +

      +

      This fix should only be used with fcc lattices. +

      +

      Related commands: +

      +

      fix_modify +

      +

      Default: none +

      +
      + + + +

      (Janssens) Janssens, Olmsted, Holm, Foiles, Plimpton, Derlet, Nature +Materials, 5, 124-127 (2006). +

      +
      + +

      For illustration purposes, here are example files that specify a +Sigma=5 <100> tilt boundary. This is for a lattice constant of 3.5706 +Angs. +

      +

      file0: +

      +
           0.798410432046075    1.785300000000000    1.596820864092150
      +    -0.798410432046075    1.785300000000000   -1.596820864092150
      +     2.395231296138225    0.000000000000000    0.798410432046075
      +     0.798410432046075    0.000000000000000   -2.395231296138225
      +     1.596820864092150    1.785300000000000   -0.798410432046075
      +     1.596820864092150   -1.785300000000000   -0.798410432046075 
      +
      +

      file1: +

      +
          -0.798410432046075    1.785300000000000    1.596820864092150
      +     0.798410432046075    1.785300000000000   -1.596820864092150
      +     0.798410432046075    0.000000000000000    2.395231296138225
      +     2.395231296138225    0.000000000000000   -0.798410432046075
      +     1.596820864092150    1.785300000000000    0.798410432046075
      +     1.596820864092150   -1.785300000000000    0.798410432046075 
      +
      + diff --git a/doc/fix_orient_fcc.txt b/doc/fix_orient_fcc.txt new file mode 100644 index 0000000000..d966c58665 --- /dev/null +++ b/doc/fix_orient_fcc.txt @@ -0,0 +1,160 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix orient/fcc command :h3 + +fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1 :pre + +ID, group-ID are documented in "fix"_fix.html command +nstats = print stats every this many steps, 0 = never +dir = 0/1 for which crystal is used as reference +alat = fcc cubic lattice constant (distance units) +dE = energy added to each atom (energy units) +cutlo,cuthi = values between 0.0 and 1.0, cutlo < cuthi +file0,file1 = files that specify orientation of each grain :ul + +[Examples:] + +fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec :pre + +[Description:] + +The fix applies an orientation-dependent force to atoms near a planar +grain boundary which can be used to induce grain boundary migration +(in the direction perpendicular to the grain boundary plane). The +motivation and explanation of this force and its application are +described in "(Janssens)"_#Janssens. The force is only applied to +atoms in the fix group. + +The basic idea is that atoms in one grain (on one side of the +boundary) have a potential energy dE added to them. Atoms in the +other grain have 0.0 potential energy added. Atoms near the boundary +(whose neighbor environment is intermediate between the two grain +orientations) have an energy between 0.0 and dE added. This creates +an effective driving force to reduce the potential energy of atoms +near the boundary by pushing them towards one of the grain +orientations. For dir = 1 and dE > 0, the boundary will thus move so +that the grain described by file0 grows and the grain described by +file1 shrinks. Thus this fix is designed for simulations of two-grain +systems, either with one grain boundary and free surfaces parallel to +the boundary, or a system with periodic boundary conditions and two +equal and opposite grain boundaries. In either case, the entire +system can displace during the simulation, and such motion should be +accounted for in measuring the grain boundary velocity. + +The potential energy added to atom I is given by these formulas + +:c,image(Eqs/fix_orient_fcc.jpg) + +which are fully explained in "(Janssens)"_#Janssens. The order +parameter Xi for atom I in equation (1) is a sum over the 12 nearest +neighbors of atom I. Rj is the vector from atom I to its neighbor J, +and RIj is a vector in the reference (perfect) crystal. That is, if +dir = 0/1, then RIj is a vector to an atom coord from file 0/1. +Equation (2) gives the expected value of the order parameter XiIJ in +the other grain. Hi and lo cutoffs are defined in equations (3) and +(4), using the input parameters {cutlo} and {cuthi} as threshholds to +avoid adding grain boundary energy when the deviation in the order +parameter from 0 or 1 is small (e.g. due to thermal fluctuations in a +perfect crystal). The added potential energy Ui for atom I is given +in equation (6) where it is interpolated between 0 and dE using the +two threshhold Xi values and the Wi value of equation (5). + +The derivative of this energy expression gives the force on each atom +which thus depends on the orientation of its neighbors relative to the +2 grain orientations. Only atoms near the grain boundary feel a net +force which tends to drive them to one of the two grain orientations. + +In equation (1), the reference vector used for each neigbbor is the +reference vector closest to the actual neighbor position. This means +it is possible two different neighbors will use the same reference +vector. In such cases, the atom in question is far from a perfect +orientation and will likely receive the full dE addition, so the +effect of duplicate reference vector usage is small. + +The {dir} parameter determines which grain wants to grow at the +expense of the other. A value of 0 means the first grain will shrink; +a value of 1 means it will grow. This assumes that {dE} is positive. +The reverse will be true if {dE} is negative. + +The {alat} parameter is the cubic lattice constant for the fcc +material and is only used to compute a cutoff distance of 1.57 * alat +/ sqrt(2) for finding the 12 nearest neighbors of each atom (which +should be valid for an fcc crystal). A longer/shorter cutoff can be +imposed by adjusting {alat}. If a particular atom has less than 12 +neighbors within the cutoff, the order parameter of equation (1) is +effectively multiplied by 12 divided by the actual number of neighbors +within the cutoff. + +The {dE} parameter is the maximum amount of additional energy added to +each atom in the grain which wants to shrink. + +The {cutlo} and {cuthi} parameters are used to reduce the force added +to bulk atoms in each grain far away from the boundary. An atom in +the bulk surrounded by neighbors at the ideal grain orientation would +compute an order parameter of 0 or 1 and have no force added. +However, thermal vibrations in the solid will cause the order +parameters to be greater than 0 or less than 1. The cutoff parameters +mask this effect, allowing forces to only be added to atoms with +order-parameters between the cutoff values. + +{File0} and {file1} are filenames for the two grains which each +contain 6 vectors (6 lines with 3 values per line) which specify the +grain orientations. Each vector is a displacement from a central atom +(0,0,0) to a nearest neighbor atom in an fcc lattice at the proper +orientation. The vector lengths should all be identical since an fcc +lattice has a coordination number of 12. Only 6 are listed due to +symmetry, so the list must include one from each pair of +equal-and-opposite neighbors. A pair of orientation files for a +Sigma=5 tilt boundary are show below. + +This fix supports the "fix_modify"_fix_modify.html options for +{thermo} and {energy}. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed. The +latter will add this contribution to the total potential energy +(PotEng). + +[Restrictions:] + +This fix should only be used with fcc lattices. + +[Related commands:] + +"fix_modify"_fix_modify.html + +[Default:] none + +:line + +:link(Janssens) +[(Janssens)] Janssens, Olmsted, Holm, Foiles, Plimpton, Derlet, Nature +Materials, 5, 124-127 (2006). + +:line + +For illustration purposes, here are example files that specify a +Sigma=5 <100> tilt boundary. This is for a lattice constant of 3.5706 +Angs. + +file0: + + 0.798410432046075 1.785300000000000 1.596820864092150 + -0.798410432046075 1.785300000000000 -1.596820864092150 + 2.395231296138225 0.000000000000000 0.798410432046075 + 0.798410432046075 0.000000000000000 -2.395231296138225 + 1.596820864092150 1.785300000000000 -0.798410432046075 + 1.596820864092150 -1.785300000000000 -0.798410432046075 :pre + +file1: + + -0.798410432046075 1.785300000000000 1.596820864092150 + 0.798410432046075 1.785300000000000 -1.596820864092150 + 0.798410432046075 0.000000000000000 2.395231296138225 + 2.395231296138225 0.000000000000000 -0.798410432046075 + 1.596820864092150 1.785300000000000 0.798410432046075 + 1.596820864092150 -1.785300000000000 0.798410432046075 :pre diff --git a/doc/fix_planeforce.html b/doc/fix_planeforce.html new file mode 100644 index 0000000000..438f75572f --- /dev/null +++ b/doc/fix_planeforce.html @@ -0,0 +1,46 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix planeforce command +

      +

      Syntax: +

      +
      fix ID group-ID planeforce x y z 
      +
      +
      • ID, group-ID are documented in fix command +
      • lineforce = style name of this fix command +
      • x y z = 3-vector that is normal to the plane +
      +

      Examples: +

      +
      fix hold boundary planeforce 1.0 0.0 0.0 
      +
      +

      Description: +

      +

      Adjust the forces on each atom in the group so that it's motion will +be in the plane specified by the normal vector (x,y,z). This is done +by subtracting out components of force perpendicular to the plane. +

      +

      If the initial velocity of the atom is 0.0 (or in the plane), then it +should continue to move in the plane thereafter. +

      +

      The forces due to this fix are also imposed during an energy +minimization, invoked by the minimize command. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix lineforce +

      +

      Default: none +

      + diff --git a/doc/fix_planeforce.txt b/doc/fix_planeforce.txt new file mode 100644 index 0000000000..e584faec52 --- /dev/null +++ b/doc/fix_planeforce.txt @@ -0,0 +1,43 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix planeforce command :h3 + +[Syntax:] + +fix ID group-ID planeforce x y z :pre + +ID, group-ID are documented in "fix"_fix.html command +lineforce = style name of this fix command +x y z = 3-vector that is normal to the plane :ul + +[Examples:] + +fix hold boundary planeforce 1.0 0.0 0.0 :pre + +[Description:] + +Adjust the forces on each atom in the group so that it's motion will +be in the plane specified by the normal vector (x,y,z). This is done +by subtracting out components of force perpendicular to the plane. + +If the initial velocity of the atom is 0.0 (or in the plane), then it +should continue to move in the plane thereafter. + +The forces due to this fix are also imposed during an energy +minimization, invoked by the "minimize"_minimize.html command. + +[Restrictions:] none + +[Related commands:] + +"fix lineforce"_fix_lineforce.html + +[Default:] none + + diff --git a/doc/fix_poems.html b/doc/fix_poems.html new file mode 100644 index 0000000000..c6bc552108 --- /dev/null +++ b/doc/fix_poems.html @@ -0,0 +1,133 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix poems +

      +

      Syntax: +

      +
      fix ID group-ID poems keyword values 
      +
      +
      • ID, group-ID are documented in fix command + +
      • poems = style name of this fix command + +
      • keyword = group or file or molecule + +
          group values = list of group IDs
        +  molecule values = none
        +  file values = filename 
        +
        + +
      +

      Examples: +

      +
      fix 3 fluid poems group clump1 clump2 clump3
      +fix 3 fluid poems file cluster.list 
      +
      +

      Description: +

      +

      Treats one or more sets of atoms as coupled rigid bodies. This means +that each timestep the total force and torque on each rigid body is +computed and the coordinates and velocities of the atoms are updated +so that the collection of bodies move as a coupled set. This can be +useful for treating a large biomolecule as a collection of connected, +coarse-grained particles. +

      +

      The coupling, associated motion constraints, and time integration is +performed by the software package Parallelizable Open source +Efficient Multibody Software (POEMS) which computes the +constrained rigid-body motion of articulated (jointed) multibody +systems (Anderson). POEMS was written and is distributed +by Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, +and other members of his group at Rensselaer Polytechnic Institute +(RPI). Rudranarayan developed the LAMMPS/POEMS interface. For +copyright information on POEMS and other details, please refer to the +documents in the poems directory distributed with LAMMPS. +

      + + +

      This fix updates the positions and velocities of the rigid atoms with +a constant-energy time integration, so you should not update the same +atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). +

      +

      Each body must have a non-degenerate inertia tensor, which means if +must contain at least 3 non-colinear atoms. Which atoms are in which +bodies can be defined via several options. +

      +

      For option group, each of the listed groups is treated as a rigid +body. Note that only atoms that are also in the fix group are +included in each rigid body. +

      +

      For option molecule, each set of atoms in the group with a different +molecule ID is treated as a rigid body. +

      +

      For option file, sets of atoms are read from the specified file and +each set is treated as a rigid body. Each line of the file specifies +a rigid body in the following format: +

      +

      ID type atom1-ID atom2-ID atom3-ID ... +

      +

      ID as an integer from 1 to M (the number of rigid bodies). Type is +any integer; it is not used by the fix poems command. The remaining +arguments are IDs of atoms in the rigid body, each typically from 1 to +N (the number of atoms in the system). Only atoms that are also in +the fix group are included in each rigid body. Blank lines and lines +that begin with '#' are skipped. +

      +

      A connection between a pair of rigid bodies is inferred if one atom is +common to both bodies. The POEMS solver treats that atom as a +spherical joint with 3 degrees of freedom. Currently, a collection of +bodies can only be connected by joints as a linear chain. The entire +collection of rigid bodies can represent one or more chains. Other +connection topologies (tree, ring) are not allowed, but will be added +later. Note that if no joints exist, it is more efficient to use the +fix rigid command to simulate the system. +

      +

      When the poems fix is defined, it will print out statistics on the +total # of clusters, bodies, joints, atoms involved. A cluster in +this context means a set of rigid bodies connected by joints. +

      +

      For computational efficiency, you should turn off pairwise and bond +interactions within each rigid body, as they no longer contribute to +the motion. The "neigh_modify exclude" and "delete_bonds" commands +can be used to do this if each rigid body is a group. +

      +

      For computational efficiency, you should only define one fix poems +which includes all the desired rigid bodies. LAMMPS will allow +multiple poems fixes to be defined, but it is more expensive. +

      +

      The degrees-of-freedom removed by coupled rigid bodies are accounted +for in temperature and pressure computations. Similary, the rigid +body contribution to the pressure virial is also accounted for. The +latter is only correct if forces within the bodies have been turned +off, and there is only a single fix poems defined. +

      +

      Restrictions: +

      +

      Can only be used if LAMMPS was built with the "poems" package. +

      +

      Related commands: +

      +

      fix rigid, delete_bonds, +neigh_modify exclude +

      +

      Default: none +

      +
      + + + +

      (Anderson) Anderson, Mukherjee, Critchley, Ziegler, and Lipton +"POEMS: Parallelizable Open-source Efficient Multibody Software ", +Engineering With Computers (2006). (link to +paper) +

      + diff --git a/doc/fix_poems.txt b/doc/fix_poems.txt new file mode 100644 index 0000000000..a814985d1e --- /dev/null +++ b/doc/fix_poems.txt @@ -0,0 +1,123 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix poems :h3 + +Syntax: + +fix ID group-ID poems keyword values :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +poems = style name of this fix command :l +keyword = {group} or {file} or {molecule} :l + {group} values = list of group IDs + {molecule} values = none + {file} values = filename :pre +:ule + +[Examples:] + +fix 3 fluid poems group clump1 clump2 clump3 +fix 3 fluid poems file cluster.list :pre + +[Description:] + +Treats one or more sets of atoms as coupled rigid bodies. This means +that each timestep the total force and torque on each rigid body is +computed and the coordinates and velocities of the atoms are updated +so that the collection of bodies move as a coupled set. This can be +useful for treating a large biomolecule as a collection of connected, +coarse-grained particles. + +The coupling, associated motion constraints, and time integration is +performed by the software package "Parallelizable Open source +Efficient Multibody Software (POEMS)"_poems which computes the +constrained rigid-body motion of articulated (jointed) multibody +systems "(Anderson)"_#Anderson. POEMS was written and is distributed +by Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, +and other members of his group at Rensselaer Polytechnic Institute +(RPI). Rudranarayan developed the LAMMPS/POEMS interface. For +copyright information on POEMS and other details, please refer to the +documents in the poems directory distributed with LAMMPS. + +:link(poems,http://www.rpi.edu/~anderk5/lab) + +This fix updates the positions and velocities of the rigid atoms with +a constant-energy time integration, so you should not update the same +atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). + +Each body must have a non-degenerate inertia tensor, which means if +must contain at least 3 non-colinear atoms. Which atoms are in which +bodies can be defined via several options. + +For option {group}, each of the listed groups is treated as a rigid +body. Note that only atoms that are also in the fix group are +included in each rigid body. + +For option {molecule}, each set of atoms in the group with a different +molecule ID is treated as a rigid body. + +For option {file}, sets of atoms are read from the specified file and +each set is treated as a rigid body. Each line of the file specifies +a rigid body in the following format: + +ID type atom1-ID atom2-ID atom3-ID ... + +ID as an integer from 1 to M (the number of rigid bodies). Type is +any integer; it is not used by the fix poems command. The remaining +arguments are IDs of atoms in the rigid body, each typically from 1 to +N (the number of atoms in the system). Only atoms that are also in +the fix group are included in each rigid body. Blank lines and lines +that begin with '#' are skipped. + +A connection between a pair of rigid bodies is inferred if one atom is +common to both bodies. The POEMS solver treats that atom as a +spherical joint with 3 degrees of freedom. Currently, a collection of +bodies can only be connected by joints as a linear chain. The entire +collection of rigid bodies can represent one or more chains. Other +connection topologies (tree, ring) are not allowed, but will be added +later. Note that if no joints exist, it is more efficient to use the +"fix rigid"_fix_rigid.html command to simulate the system. + +When the poems fix is defined, it will print out statistics on the +total # of clusters, bodies, joints, atoms involved. A cluster in +this context means a set of rigid bodies connected by joints. + +For computational efficiency, you should turn off pairwise and bond +interactions within each rigid body, as they no longer contribute to +the motion. The "neigh_modify exclude" and "delete_bonds" commands +can be used to do this if each rigid body is a group. + +For computational efficiency, you should only define one fix poems +which includes all the desired rigid bodies. LAMMPS will allow +multiple poems fixes to be defined, but it is more expensive. + +The degrees-of-freedom removed by coupled rigid bodies are accounted +for in temperature and pressure computations. Similary, the rigid +body contribution to the pressure virial is also accounted for. The +latter is only correct if forces within the bodies have been turned +off, and there is only a single fix poems defined. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "poems" package. + +[Related commands:] + +"fix rigid"_fix_rigid.html, "delete_bonds"_delete_bonds.html, +"neigh_modify"_neigh_modify.html exclude + +[Default:] none + +:line + +:link(Anderson) +[(Anderson)] Anderson, Mukherjee, Critchley, Ziegler, and Lipton +"POEMS: Parallelizable Open-source Efficient Multibody Software ", +Engineering With Computers (2006). ("link to +paper"_http://dx.doi.org/10.1007/s00366-006-0026-x) diff --git a/doc/fix_print.html b/doc/fix_print.html new file mode 100644 index 0000000000..b9f2517fab --- /dev/null +++ b/doc/fix_print.html @@ -0,0 +1,62 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix print command +

      +

      Syntax: +

      +
      fix ID group-ID print N string 
      +
      +
      • ID, group-ID are documented in fix command +
      • print = style name of this fix command +
      • N = print every N steps +
      • string = text string to print with optional variable names +
      +

      Examples: +

      +
      fix extra all print 100 "Coords of marker atom = $x $y $z" 
      +
      +

      Description: +

      +

      Print a text string to the screen and logfile every N steps during a +simulation run. This can be used for diagnostic purposes or even as a +debugging tool to monitor some quantity during a run. The text string +must be a single argument, so it should be enclosed in double quotes +if it is more than one word. If it contains variables ($a thru $z) it +must be enclosed in double quotes to insure they are not evaluated +when the input script is read, but will instead be evaluated when the +string is printed. +

      +

      See the variable command for a description of equal +style variables which are the most useful ones to use with the fix +print command, since they are evaluated afresh each timestep that the +fix print line is output. +

      +

      Note that if equal-style variables are used in the print line which +contain thermo_style custom keywords for potential +energy such as pe, eng, evdwl, ebond, etc, they will only be +up-to-date on timesteps where thermodynamics are computed. Hence, if +you output thermodynamics every 100 steps, but issue a fix print +command with N = 2 that contains such a variable, the printed value +will only be current on timesteps that are a multiple of 100. This is +because the potential functions in LAMMPS (pairwise, bond, etc) only +compute energies on timesteps when thermodynamic output is being +performed. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      variable, print +

      +

      Default: none +

      + diff --git a/doc/fix_print.txt b/doc/fix_print.txt new file mode 100644 index 0000000000..a719ca58d5 --- /dev/null +++ b/doc/fix_print.txt @@ -0,0 +1,57 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix print command :h3 + +[Syntax:] + +fix ID group-ID print N string :pre + +ID, group-ID are documented in "fix"_fix.html command +print = style name of this fix command +N = print every N steps +string = text string to print with optional variable names :ul + +[Examples:] + +fix extra all print 100 "Coords of marker atom = $x $y $z" :pre + +[Description:] + +Print a text string to the screen and logfile every N steps during a +simulation run. This can be used for diagnostic purposes or even as a +debugging tool to monitor some quantity during a run. The text string +must be a single argument, so it should be enclosed in double quotes +if it is more than one word. If it contains variables ($a thru $z) it +must be enclosed in double quotes to insure they are not evaluated +when the input script is read, but will instead be evaluated when the +string is printed. + +See the "variable"_variable.html command for a description of {equal} +style variables which are the most useful ones to use with the fix +print command, since they are evaluated afresh each timestep that the +fix print line is output. + +Note that if {equal}-style variables are used in the print line which +contain "thermo_style custom"_thermo_style.html keywords for potential +energy such as pe, eng, evdwl, ebond, etc, they will only be +up-to-date on timesteps where thermodynamics are computed. Hence, if +you output thermodynamics every 100 steps, but issue a fix print +command with N = 2 that contains such a variable, the printed value +will only be current on timesteps that are a multiple of 100. This is +because the potential functions in LAMMPS (pairwise, bond, etc) only +compute energies on timesteps when thermodynamic output is being +performed. + +[Restrictions:] none + +[Related commands:] + +"variable"_variable.html, "print"_print.html + +[Default:] none diff --git a/doc/fix_rdf.html b/doc/fix_rdf.html new file mode 100644 index 0000000000..53897154f5 --- /dev/null +++ b/doc/fix_rdf.html @@ -0,0 +1,64 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix rdf command +

      +

      Syntax: +

      +
      fix ID group-ID rdf N file Nbin itype1 jtype1 itype2 jtype2 ... 
      +
      +
      • ID, group-ID are documented in fix command +
      • rdf = style name of this fix command +
      • N = compute radial distribution function (RDF) every this many timesteps +
      • file = filename to write radial distribution funtion info to +
      • Nbin = number of RDF bins +
      • itypeN = central atom type for RDF pair N +
      • jtypeN = distribution atom type for RDF pair N +
      +

      Examples: +

      +
      fix 1 all rdf 500 rdf.out 100 1 1
      +fix 1 fluid rdf 10000 rdf.out 100 1 1 1 2 2 1 2 2 
      +
      +

      Description: +

      +

      Compute the radial distribution function (RDF), also known as g(r), +and coordination number every N steps. The RDF for each specified +atom type pair is histogrammed in Nbin bins from distance 0 to Rc, +where Rc = the maximum force cutoff for any pair of atom types. An +atom pair only contributes to the RDF if +

      +
      • both atoms are in the fix group +
      • the distance between them is within the maximum force cutoff +
      • their interaction is stored in the neighbor list +
      +

      Bonded atoms (1-2, 1-3, 1-4 interactions within a molecular topology) +with a pairwise weighting factor of 0.0 are not included in the RDF; +pairs with a non-zero weighting factor are included. The weighting +factor is set by the special_bonds command. +

      +

      The RDF statistics for each timestep are written to the specified +file, as are the RDF values averaged over all timesteps. +

      +

      Restrictions: +

      +

      The RDF is not computed for distances longer than the force cutoff, +since processors (in parallel) don't know atom coordinates for atoms +further away than that distance. If you want an RDF for larger r, +you'll need to post-process a dump file. +

      +

      Related commands: +

      +

      pair_style +

      +

      Default: none +

      + diff --git a/doc/fix_rdf.txt b/doc/fix_rdf.txt new file mode 100644 index 0000000000..9716efadad --- /dev/null +++ b/doc/fix_rdf.txt @@ -0,0 +1,59 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix rdf command :h3 + +[Syntax:] + +fix ID group-ID rdf N file Nbin itype1 jtype1 itype2 jtype2 ... :pre + +ID, group-ID are documented in "fix"_fix.html command +rdf = style name of this fix command +N = compute radial distribution function (RDF) every this many timesteps +file = filename to write radial distribution funtion info to +Nbin = number of RDF bins +itypeN = central atom type for RDF pair N +jtypeN = distribution atom type for RDF pair N :ul + +[Examples:] + +fix 1 all rdf 500 rdf.out 100 1 1 +fix 1 fluid rdf 10000 rdf.out 100 1 1 1 2 2 1 2 2 :pre + +[Description:] + +Compute the radial distribution function (RDF), also known as g(r), +and coordination number every N steps. The RDF for each specified +atom type pair is histogrammed in Nbin bins from distance 0 to Rc, +where Rc = the maximum force cutoff for any pair of atom types. An +atom pair only contributes to the RDF if + +both atoms are in the fix group +the distance between them is within the maximum force cutoff +their interaction is stored in the neighbor list :ul + +Bonded atoms (1-2, 1-3, 1-4 interactions within a molecular topology) +with a pairwise weighting factor of 0.0 are not included in the RDF; +pairs with a non-zero weighting factor are included. The weighting +factor is set by the "special_bonds"_special_bonds.html command. + +The RDF statistics for each timestep are written to the specified +file, as are the RDF values averaged over all timesteps. + +[Restrictions:] + +The RDF is not computed for distances longer than the force cutoff, +since processors (in parallel) don't know atom coordinates for atoms +further away than that distance. If you want an RDF for larger {r}, +you'll need to post-process a dump file. + +[Related commands:] + +"pair_style"_pair_style.html + +[Default:] none diff --git a/doc/fix_recenter.html b/doc/fix_recenter.html new file mode 100644 index 0000000000..6ee87bcb06 --- /dev/null +++ b/doc/fix_recenter.html @@ -0,0 +1,97 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix recenter command +

      +

      Syntax: +

      +
      fix ID group-ID recenter x y z keyword value ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • recenter = style name of this fix command + +
      • x,y,z = constrain center-of-mass to these coords (distance units), any coord can also be NULL or INIT (see below) + +
      • zero or more keyword/value pairs may be appended to the args + +
      • keyword = shift or units + +
          shift value = group-ID
        +    group-ID = group of atoms whose coords are shifted
        +  units value = box or lattice or fraction 
        +
        + +
      +

      Examples: +

      +
      fix 1 all recenter 1 1 1 0 
      +
      +

      Description: +

      +

      Constrain the center-of-mass position of a group of atoms by adjusting +the coordinates of the atoms every timestep. This is simply a small +shift that does not alter the dynamics of the system or change the +relative coordinates of any pair of atoms in the group. This can be +used to insure the entire collection of atoms (or a portion of them) +do not drift during the simulation due to random perturbations +(e.g. fix langevin thermostatting). +

      +

      Distance units for the x,y,z values are determined by the setting of +the units keyword, as discussed below. One or more x,y,z values can +also be specified as NULL, which means exclude that dimension from +this operation. Or it can be specified as INIT which means to +constain the center-of-mass to its initial value at the beginning of +the run. +

      +

      The center-of-mass (COM) is computed for the group specified by the +fix. If the current COM is different than the specified x,y,z, then a +group of atoms has their coordinates shifted by the difference. By +default the shifted group is also the group specified by the fix. A +different group can be shifted by using the shift keyword. For +example, the COM could be computed on a protein to keep it in the +center of the simulation box. But the entire system (protein + water) +could be shifted. +

      +

      If the units keyword is set to box, then the distance units of +x,y,z are defined by the units command - e.g. Angstroms +for real units. Lattice means to use lattice spacings as defined +by the lattice command. Fraction means a fractional +distance between the lo/hi box boundaries, e.g. 0.5 = middle of the +box. The default is to use lattice units. +

      +

      Note that the velocity command can be used to create +velocities with zero aggregate linear and/or angular momentum. +

      +

      Restrictions: +

      +

      This fix should not be used with an x,y,z setting that causes a large +shift in the system on the 1st timestep, due to the requested COM +being very different from the initial COM. This could cause atoms to +be lost,especially in parallel. Instead, use the +displace_atoms command, which can be used +several times in succession to move atoms a large distance. +

      +

      This fix should be specified after integration fixes (fix +nve, fix_nvt, fix npt, +etc), because the adjustments it makes to atom coordinates should come +after atom coordinates are changed due to time integration. LAMMPS +will warn you if your fixes are not ordered this way. +

      +

      Related commands: +

      +

      fix momentum, velocity +

      +

      Default: +

      +

      The option defaults are adjust = fix group-ID, and units = lattice. +

      + diff --git a/doc/fix_recenter.txt b/doc/fix_recenter.txt new file mode 100644 index 0000000000..6518942033 --- /dev/null +++ b/doc/fix_recenter.txt @@ -0,0 +1,87 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix recenter command :h3 + +[Syntax:] + +fix ID group-ID recenter x y z keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +recenter = style name of this fix command :l +x,y,z = constrain center-of-mass to these coords (distance units), \ + any coord can also be NULL or INIT (see below) :l +zero or more keyword/value pairs may be appended to the args :l +keyword = {shift} or {units} :l + {shift} value = group-ID + group-ID = group of atoms whose coords are shifted + {units} value = {box} or {lattice} or {fraction} :pre +:ule + +[Examples:] + +fix 1 all recenter 1 1 1 0 :pre + +[Description:] + +Constrain the center-of-mass position of a group of atoms by adjusting +the coordinates of the atoms every timestep. This is simply a small +shift that does not alter the dynamics of the system or change the +relative coordinates of any pair of atoms in the group. This can be +used to insure the entire collection of atoms (or a portion of them) +do not drift during the simulation due to random perturbations +(e.g. "fix langevin"_fix_langevin.html thermostatting). + +Distance units for the x,y,z values are determined by the setting of +the {units} keyword, as discussed below. One or more x,y,z values can +also be specified as NULL, which means exclude that dimension from +this operation. Or it can be specified as INIT which means to +constain the center-of-mass to its initial value at the beginning of +the run. + +The center-of-mass (COM) is computed for the group specified by the +fix. If the current COM is different than the specified x,y,z, then a +group of atoms has their coordinates shifted by the difference. By +default the shifted group is also the group specified by the fix. A +different group can be shifted by using the {shift} keyword. For +example, the COM could be computed on a protein to keep it in the +center of the simulation box. But the entire system (protein + water) +could be shifted. + +If the {units} keyword is set to {box}, then the distance units of +x,y,z are defined by the "units"_units.html command - e.g. Angstroms +for {real} units. {Lattice} means to use lattice spacings as defined +by the "lattice"_lattice.html command. {Fraction} means a fractional +distance between the lo/hi box boundaries, e.g. 0.5 = middle of the +box. The default is to use lattice units. + +Note that the "velocity"_velocity.html command can be used to create +velocities with zero aggregate linear and/or angular momentum. + +[Restrictions:] + +This fix should not be used with an x,y,z setting that causes a large +shift in the system on the 1st timestep, due to the requested COM +being very different from the initial COM. This could cause atoms to +be lost,especially in parallel. Instead, use the +"displace_atoms"_displace_atoms.html command, which can be used +several times in succession to move atoms a large distance. + +This fix should be specified after integration fixes ("fix +nve"_fix_nve.html, "fix_nvt"_fix_nvt.html, "fix npt"_fix_npt.html, +etc), because the adjustments it makes to atom coordinates should come +after atom coordinates are changed due to time integration. LAMMPS +will warn you if your fixes are not ordered this way. + +[Related commands:] + +"fix momentum"_fix_momentum.html, "velocity"_velocity.html + +[Default:] + +The option defaults are adjust = fix group-ID, and units = lattice. diff --git a/doc/fix_rigid.html b/doc/fix_rigid.html new file mode 100644 index 0000000000..acf9fcedb3 --- /dev/null +++ b/doc/fix_rigid.html @@ -0,0 +1,103 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix rigid +

      +

      Syntax: +

      +
      fix ID group-ID rigid keyword values 
      +
      +
      • ID, group-ID are documented in fix command + +
      • rigid = style name of this fix command + +
      • keyword = single or molecule or group + +
          single values = none
        +  molecule values = none
        +  group values = list of group IDs 
        +
        + +
      +

      Examples: +

      +
      fix 1 clump rigid single
      +fix 1 polychains rigid molecule
      +fix 2 fluid rigid group clump1 clump2 clump3 
      +
      +

      Description: +

      +

      Treat one or more sets of atoms as an independent rigid body. This +means that each timestep the total force and torque on each rigid body +is computed and the coordinates and velocities of the atoms in each +body are updated so that they move as a rigid body. This can be +useful for freezing one or more portions of a large biomolecule, or +for simulating a system of colloidal particles. +

      +

      This fix updates the positions and velocities of the rigid atoms with +a constant-energy time integration, so you should not update the same +atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). +

      +

      Each body must have two or more atoms. Which atoms are in which +bodies can be defined via several options. +

      +

      For option single the entire group of atoms is treated as one rigid +body. +

      +

      For option molecule, each set of atoms in the group with a different +molecule ID is treated as a rigid body. +

      +

      For option group, each of the listed groups is treated as a separate +rigid body. Note that only atoms that are also in the fix group are +included in each rigid body. +

      +

      For computational efficiency, you should also turn off pairwise and +bond interactions within each rigid body, as they no longer contribute +to the motion. The neigh_modify exclude and +delete_bonds commands are used to do this. +

      +

      For computational efficiency, you should define one fix rigid which +includes all the desired rigid bodies. LAMMPS will allow multiple +rigid fixes to be defined, but it is more expensive. +

      +

      The degrees-of-freedom removed by rigid bodies are accounted for in +temperature and pressure computations. Similary, the rigid body +contribution to the pressure virial is also accounted for. The latter +is only correct if forces within the bodies have been turned off, and +there is only a single fix rigid defined. +

      +

      Note that this fix uses constant-energy integration, so you need to +impose additional constraints to control the temperature of an +ensemble of rigid bodies. You can use fix +langevin for this purpose to treat the system as +effectively immersed in an implicit solvent, i.e. a Brownian dynamics +model. Or you can thermostat the atoms of an explicit solvent +directly. +

      +

      Restrictions: +

      +

      This fix performs an MPI_Allreduce each timestep that is proportional +in length to the number of rigid bodies. Hence it will not scale well +in parallel if large numbers of rigid bodies are simulated. +

      +

      If the atoms in a single rigid body initially straddle a periodic +boundary, the input data file must define the image flags for each +atom correctly, so that LAMMPS can "unwrap" the atoms into a valid +rigid body. +

      +

      Related commands: +

      +

      delete_bonds, neigh_modify +exclude +

      +

      Default: none +

      + diff --git a/doc/fix_rigid.txt b/doc/fix_rigid.txt new file mode 100644 index 0000000000..8d8305a69c --- /dev/null +++ b/doc/fix_rigid.txt @@ -0,0 +1,94 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix rigid :h3 + +[Syntax:] + +fix ID group-ID rigid keyword values :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +rigid = style name of this fix command :l +keyword = {single} or {molecule} or {group} :l + {single} values = none + {molecule} values = none + {group} values = list of group IDs :pre +:ule + +[Examples:] + +fix 1 clump rigid single +fix 1 polychains rigid molecule +fix 2 fluid rigid group clump1 clump2 clump3 :pre + +[Description:] + +Treat one or more sets of atoms as an independent rigid body. This +means that each timestep the total force and torque on each rigid body +is computed and the coordinates and velocities of the atoms in each +body are updated so that they move as a rigid body. This can be +useful for freezing one or more portions of a large biomolecule, or +for simulating a system of colloidal particles. + +This fix updates the positions and velocities of the rigid atoms with +a constant-energy time integration, so you should not update the same +atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). + +Each body must have two or more atoms. Which atoms are in which +bodies can be defined via several options. + +For option {single} the entire group of atoms is treated as one rigid +body. + +For option {molecule}, each set of atoms in the group with a different +molecule ID is treated as a rigid body. + +For option {group}, each of the listed groups is treated as a separate +rigid body. Note that only atoms that are also in the fix group are +included in each rigid body. + +For computational efficiency, you should also turn off pairwise and +bond interactions within each rigid body, as they no longer contribute +to the motion. The "neigh_modify exclude"_neigh_modify.html and +"delete_bonds"_delete_bonds.html commands are used to do this. + +For computational efficiency, you should define one fix rigid which +includes all the desired rigid bodies. LAMMPS will allow multiple +rigid fixes to be defined, but it is more expensive. + +The degrees-of-freedom removed by rigid bodies are accounted for in +temperature and pressure computations. Similary, the rigid body +contribution to the pressure virial is also accounted for. The latter +is only correct if forces within the bodies have been turned off, and +there is only a single fix rigid defined. + +Note that this fix uses constant-energy integration, so you need to +impose additional constraints to control the temperature of an +ensemble of rigid bodies. You can use "fix +langevin"_fix_langevin.html for this purpose to treat the system as +effectively immersed in an implicit solvent, i.e. a Brownian dynamics +model. Or you can thermostat the atoms of an explicit solvent +directly. + +[Restrictions:] + +This fix performs an MPI_Allreduce each timestep that is proportional +in length to the number of rigid bodies. Hence it will not scale well +in parallel if large numbers of rigid bodies are simulated. + +If the atoms in a single rigid body initially straddle a periodic +boundary, the input data file must define the image flags for each +atom correctly, so that LAMMPS can "unwrap" the atoms into a valid +rigid body. + +[Related commands:] + +"delete_bonds"_delete_bonds.html, "neigh_modify"_neigh_modify.html +exclude + +[Default:] none diff --git a/doc/fix_setforce.html b/doc/fix_setforce.html new file mode 100644 index 0000000000..92bb13545e --- /dev/null +++ b/doc/fix_setforce.html @@ -0,0 +1,49 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix setforce command +

      +

      Syntax: +

      +
      fix ID group-ID setforce fx fy fz 
      +
      +
      • ID, group-ID are documented in fix command +
      • setforce = style name of this fix command +
      • fx,fy,fz = force component values +
      +

      Examples: +

      +
      fix freeze indenter setforce 0.0 0.0 0.0
      +fix 2 edge setforce NULL 0.0 0.0 
      +
      +

      Description: +

      +

      Set each component of force on each atom in the group to the specified +values fx,fy,fz. This erases all previously computed forces on the +atom, though additional fixes could add new forces. This command can +be used to freeze certain atoms in the simulation by zeroing their +force, assuming their initial velocity zero. +

      +

      Any of the fx,fy,fz values can be specified as NULL which means do not +alter the force component in that dimension. +

      +

      The forces due to this fix are also imposed during an energy +minimization, invoked by the minimize command. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix addforce, fix aveforce +

      +

      Default: none +

      + diff --git a/doc/fix_setforce.txt b/doc/fix_setforce.txt new file mode 100644 index 0000000000..8c0673cfbb --- /dev/null +++ b/doc/fix_setforce.txt @@ -0,0 +1,44 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix setforce command :h3 + +[Syntax:] + +fix ID group-ID setforce fx fy fz :pre + +ID, group-ID are documented in "fix"_fix.html command +setforce = style name of this fix command +fx,fy,fz = force component values :ul + +[Examples:] + +fix freeze indenter setforce 0.0 0.0 0.0 +fix 2 edge setforce NULL 0.0 0.0 :pre + +[Description:] + +Set each component of force on each atom in the group to the specified +values fx,fy,fz. This erases all previously computed forces on the +atom, though additional fixes could add new forces. This command can +be used to freeze certain atoms in the simulation by zeroing their +force, assuming their initial velocity zero. + +Any of the fx,fy,fz values can be specified as NULL which means do not +alter the force component in that dimension. + +The forces due to this fix are also imposed during an energy +minimization, invoked by the "minimize"_minimize.html command. + +[Restrictions:] none + +[Related commands:] + +"fix addforce"_fix_addforce.html, "fix aveforce"_fix_aveforce.html + +[Default:] none diff --git a/doc/fix_shake.html b/doc/fix_shake.html new file mode 100644 index 0000000000..493d81b991 --- /dev/null +++ b/doc/fix_shake.html @@ -0,0 +1,103 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix shake style +

      +

      Syntax: +

      +
      fix ID group-ID shake tol iter N keyword values ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • shake = style name of this fix command + +
      • tol = accuracy tolerance of SHAKE solution + +
      • iter = max # of iterations in each SHAKE solution + +
      • N = print SHAKE statistics every this many timesteps (0 = never) + +
      • one or more keyword/value pairs are appended + +
      • keyword = b or a or t or m + +
          b values = one or more bond types
        +  a values = one or more angle types
        +  t values = one or more atom types
        +  m value = one or more mass values 
        +
        + +
      +

      Examples: +

      +
      fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2
      +fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 
      +
      +

      Description: +

      +

      Apply bond and angle constraints to specified bonds and angles in the +simulation. This typically enables a longer timestep. +

      +

      Each timestep the specified bonds and angles are reset to their +equilibrium lengths and angular values via the well-known SHAKE +algorithm. This is done by applying an additional constraint force so +that the new positions preserve the desired atom separations. The +equations for the additional force are solved via an iterative method +that typically converges to an accurate solution in a few iterations. +The desired tolerance (e.g. 1.0e-4 = 1 part in 10000) and maximum # of +iterations are specified as arguments. Setting the N argument will +print statistics to the screen and log file about regarding the +lengths of bonds and angles that are being constrained. Small delta +values mean SHAKE is doing a good job. +

      +

      In LAMMPS, only small clusters of atoms can be constrained. This is +so the constraint calculation for a cluster can be performed by a +single processor, to enable good parallel performance. A cluster is +defined as a central atom connected to others in the cluster by +constrained bonds. LAMMPS allows for the following kinds of clusters +to be constrained: one central atom bonded to 1 or 2 or 3 atoms, or +one central atom bonded to 2 others and the angle between the 3 atoms +also constained. This means water molecules or CH2 or CH3 groups may +be constrained, but not all the C-C backbone bonds of a long polymer +chain. +

      +

      The b keyword lists bond types that will be constrained. The t +keyword lists atom types. All bonds connected to an atom of the +specified type will be constrained. The m keyword lists atom +masses. All bonds connected to atoms of the specified masses will be +constrained (within a fudge factor of MASSDELTA specified in +fix_shake.cpp). The a keyword lists angle types. If both bonds in +the angle are constrained then the angle will also be constrained if +its type is in the list. +

      +

      For all keywords, a particular bond is only constrained if both atoms +in the bond are in the group specified with the SHAKE fix. +

      +

      The degrees-of-freedom removed by SHAKE bonds and angles are accounted +for in temperature and pressure computations. Similarly, the SHAKE +contribution to the pressure virial is also accounted for. +

      +

      Restrictions: +

      +

      For computational efficiency, there can only be one shake fix defined +in a simulation. +

      +

      If you use a tolerance that is too large or a max-iteration count that +is too small, the constraints will not be enforced very strongly, +which can lead to poor energy conservation. You can test for this in +your system by running a constant NVE simulation with a particular set +of SHAKE parameters and monitoring the energy versus time. +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/fix_shake.txt b/doc/fix_shake.txt new file mode 100644 index 0000000000..4e63b235ed --- /dev/null +++ b/doc/fix_shake.txt @@ -0,0 +1,90 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix shake style :h3 + +[Syntax:] + +fix ID group-ID shake tol iter N keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +shake = style name of this fix command :l +tol = accuracy tolerance of SHAKE solution :l +iter = max # of iterations in each SHAKE solution :l +N = print SHAKE statistics every this many timesteps (0 = never) :l +one or more keyword/value pairs are appended :l +keyword = {b} or {a} or {t} or {m} :l + {b} values = one or more bond types + {a} values = one or more angle types + {t} values = one or more atom types + {m} value = one or more mass values :pre +:ule + +[Examples:] + +fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2 +fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 :pre + +[Description:] + +Apply bond and angle constraints to specified bonds and angles in the +simulation. This typically enables a longer timestep. + +Each timestep the specified bonds and angles are reset to their +equilibrium lengths and angular values via the well-known SHAKE +algorithm. This is done by applying an additional constraint force so +that the new positions preserve the desired atom separations. The +equations for the additional force are solved via an iterative method +that typically converges to an accurate solution in a few iterations. +The desired tolerance (e.g. 1.0e-4 = 1 part in 10000) and maximum # of +iterations are specified as arguments. Setting the N argument will +print statistics to the screen and log file about regarding the +lengths of bonds and angles that are being constrained. Small delta +values mean SHAKE is doing a good job. + +In LAMMPS, only small clusters of atoms can be constrained. This is +so the constraint calculation for a cluster can be performed by a +single processor, to enable good parallel performance. A cluster is +defined as a central atom connected to others in the cluster by +constrained bonds. LAMMPS allows for the following kinds of clusters +to be constrained: one central atom bonded to 1 or 2 or 3 atoms, or +one central atom bonded to 2 others and the angle between the 3 atoms +also constained. This means water molecules or CH2 or CH3 groups may +be constrained, but not all the C-C backbone bonds of a long polymer +chain. + +The {b} keyword lists bond types that will be constrained. The {t} +keyword lists atom types. All bonds connected to an atom of the +specified type will be constrained. The {m} keyword lists atom +masses. All bonds connected to atoms of the specified masses will be +constrained (within a fudge factor of MASSDELTA specified in +fix_shake.cpp). The {a} keyword lists angle types. If both bonds in +the angle are constrained then the angle will also be constrained if +its type is in the list. + +For all keywords, a particular bond is only constrained if both atoms +in the bond are in the group specified with the SHAKE fix. + +The degrees-of-freedom removed by SHAKE bonds and angles are accounted +for in temperature and pressure computations. Similarly, the SHAKE +contribution to the pressure virial is also accounted for. + +[Restrictions:] + +For computational efficiency, there can only be one shake fix defined +in a simulation. + +If you use a tolerance that is too large or a max-iteration count that +is too small, the constraints will not be enforced very strongly, +which can lead to poor energy conservation. You can test for this in +your system by running a constant NVE simulation with a particular set +of SHAKE parameters and monitoring the energy versus time. + +[Related commands:] none + +[Default:] none diff --git a/doc/fix_spring.html b/doc/fix_spring.html new file mode 100644 index 0000000000..1016420171 --- /dev/null +++ b/doc/fix_spring.html @@ -0,0 +1,103 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix spring command +

      +

      Syntax: +

      +
      fix ID group-ID spring keyword values 
      +
      +
      • ID, group-ID are documented in fix command + +
      • spring = style name of this fix command + +
      • keyword = tether or couple + +
          tether values = K x y z R0
        +    K = spring constant (force/distance units)
        +    x,y,z = point to which spring is tethered
        +    R0 = equilibrium distance from tether point (distance units)
        +  couple values = group-ID2 K x y z R0
        +    group-ID2 = 2nd group to couple to fix group with a spring
        +    K = spring constant (force/distance units)
        +    x,y,z = direction of spring
        +    R0 = equilibrium distance of spring (distance units) 
        +
        + +
      +

      Examples: +

      +
      fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0
      +fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0
      +fix pull ligand spring tether 50.0 NULL NULL 2.0 3.0
      +fix 5 bilayer1 spring couple bilayer2 100.0 NULL NULL 10.0 0.0
      +fix longitudinal pore spring couple ion 100.0 NULL NULL -20.0 0.0
      +fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0 
      +
      +

      Description: +

      +

      Apply a spring force to a group of atoms or between two groups of +atoms. This is useful for applying an umbrella force to a small +molecule or lightly tethering a large group of atoms (e.g. all the +solvent or a large molecule) to the center of the simulation box so +that it doesn't wander away over the course of a long simulation. It +can also be used to hold the centers of mass of two groups of atoms at +a given distance or orientation with respect to each other. +

      +

      The tether style attaches a spring between a fixed point x,y,z and +the center of mass of the fix group of atoms. The equilibrium +position of the spring is R0. At each timestep the distance R from +the center of mass of the group of atoms to the tethering point is +computed, taking account of wrap-around in a periodic simulation box. +A restoring force of magnitude K (R - R0) Mi / M is applied to each +atom in the group where K is the spring constant, Mi is the mass of +the atom, and M is the total mass of all atoms in the group. Note +that K thus represents the total force on the group of atoms, not a +per-atom force. +

      +

      The couple style links two groups of atoms together. The first +group is the fix group; the second is specified by group-ID2. The +groups are coupled together by a spring that is at equilibrium when +the two groups are displaced by a vector x,y,z with respect to each +other and at a distance R0 from that displacement. Note that x,y,z +is the equilibrium displacement of group-ID2 relative to the fix +group. Thus (1,1,0) is a different spring than (-1,-1,0). When the +relative positions and distance between the two groups are not in +equilibrium, the same spring force described above is applied to atoms +in each of the two groups. +

      +

      For both the tether and couple styles, any of the x,y,z values can +be specified as NULL which means do not include that dimension in the +distance calculation or force application. +

      +

      The first example above pulls the ligand towards the point (0,0,0). +The second example holds the ligand near the surface of a sphere of +radius 5 around the point (0,0,0). The third example holds the ligand +a distance 3 away from the z=2 plane (on either side). +

      +

      The fourth example holds 2 bilayers a distance 10 apart in z. For the +last two examples, imagine a pore (a slab of atoms with a cylindrical +hole cut out) oriented with the pore axis along z, and an ion moving +within the pore. The fifth example holds the ion a distance of -20 +below the z = 0 center plane of the pore (umbrella sampling). The +last example holds the ion a distance 5 away from the pore axis +(assuming the center-of-mass of the pore in x,y is the pore axis). +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix drag, fix spring/self, fix +spring/rg +

      +

      Default: none +

      + diff --git a/doc/fix_spring.txt b/doc/fix_spring.txt new file mode 100644 index 0000000000..e05af0e1fd --- /dev/null +++ b/doc/fix_spring.txt @@ -0,0 +1,94 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix spring command :h3 + +[Syntax:] + +fix ID group-ID spring keyword values :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +spring = style name of this fix command :l +keyword = {tether} or {couple} :l + {tether} values = K x y z R0 + K = spring constant (force/distance units) + x,y,z = point to which spring is tethered + R0 = equilibrium distance from tether point (distance units) + {couple} values = group-ID2 K x y z R0 + group-ID2 = 2nd group to couple to fix group with a spring + K = spring constant (force/distance units) + x,y,z = direction of spring + R0 = equilibrium distance of spring (distance units) :pre +:ule + +[Examples:] + +fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0 +fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0 +fix pull ligand spring tether 50.0 NULL NULL 2.0 3.0 +fix 5 bilayer1 spring couple bilayer2 100.0 NULL NULL 10.0 0.0 +fix longitudinal pore spring couple ion 100.0 NULL NULL -20.0 0.0 +fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0 :pre + +[Description:] + +Apply a spring force to a group of atoms or between two groups of +atoms. This is useful for applying an umbrella force to a small +molecule or lightly tethering a large group of atoms (e.g. all the +solvent or a large molecule) to the center of the simulation box so +that it doesn't wander away over the course of a long simulation. It +can also be used to hold the centers of mass of two groups of atoms at +a given distance or orientation with respect to each other. + +The {tether} style attaches a spring between a fixed point {x,y,z} and +the center of mass of the fix group of atoms. The equilibrium +position of the spring is R0. At each timestep the distance R from +the center of mass of the group of atoms to the tethering point is +computed, taking account of wrap-around in a periodic simulation box. +A restoring force of magnitude K (R - R0) Mi / M is applied to each +atom in the group where {K} is the spring constant, Mi is the mass of +the atom, and M is the total mass of all atoms in the group. Note +that {K} thus represents the total force on the group of atoms, not a +per-atom force. + +The {couple} style links two groups of atoms together. The first +group is the fix group; the second is specified by group-ID2. The +groups are coupled together by a spring that is at equilibrium when +the two groups are displaced by a vector {x,y,z} with respect to each +other and at a distance R0 from that displacement. Note that {x,y,z} +is the equilibrium displacement of group-ID2 relative to the fix +group. Thus (1,1,0) is a different spring than (-1,-1,0). When the +relative positions and distance between the two groups are not in +equilibrium, the same spring force described above is applied to atoms +in each of the two groups. + +For both the {tether} and {couple} styles, any of the x,y,z values can +be specified as NULL which means do not include that dimension in the +distance calculation or force application. + +The first example above pulls the ligand towards the point (0,0,0). +The second example holds the ligand near the surface of a sphere of +radius 5 around the point (0,0,0). The third example holds the ligand +a distance 3 away from the z=2 plane (on either side). + +The fourth example holds 2 bilayers a distance 10 apart in z. For the +last two examples, imagine a pore (a slab of atoms with a cylindrical +hole cut out) oriented with the pore axis along z, and an ion moving +within the pore. The fifth example holds the ion a distance of -20 +below the z = 0 center plane of the pore (umbrella sampling). The +last example holds the ion a distance 5 away from the pore axis +(assuming the center-of-mass of the pore in x,y is the pore axis). + +[Restrictions:] none + +[Related commands:] + +"fix drag"_fix_drag.html, "fix spring/self"_fix_spring_self.html, "fix +spring/rg"_fix_spring_rg.html + +[Default:] none diff --git a/doc/fix_spring_rg.html b/doc/fix_spring_rg.html new file mode 100644 index 0000000000..13f51832d3 --- /dev/null +++ b/doc/fix_spring_rg.html @@ -0,0 +1,61 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix spring/rg command +

      +

      Syntax: +

      +
      fix ID group-ID spring/rg K RG0 
      +
      +
      • ID, group-ID are documented in fix command +
      • spring/rg = style name of this fix command +
      • K = harmonic force constant (force/distance units) +
      • RG0 = target radius of gyration to constrain to (distance units) +
      +
        if RG0 = NULL, use the current RG as the target value 
      +
      +

      Examples: +

      +
      fix 1 protein spring/rg 5.0 10.0
      +fix 2 micelle spring/rg 5.0 NULL 
      +
      +

      Description: +

      +

      Apply a harmonic restraining force to atoms in the group to affect +their central moment about the center of mass (radius of gyration). +This fix is useful to encourage a protein or polymer to fold/unfold +and also when sampling along the radius of gyration as a reaction +coordinate (i.e. for protein folding). +

      +

      The radius of gyration is defined as RG in the first formula. The +energy of the constraint and associated force on each atom is given by +the second and third formulas, when the group is at a different RG +than the target value RG0. +

      +
      +
      +

      The (xi - center-of-mass) term is computed taking into account +periodic boundary conditions, m_i is the mass of the atom, and M is +the mass of the entire group. Note that K is thus a force constant +for the aggregate force on the group of atoms, not a per-atom force. +

      +

      If RG0 is specified as NULL, then the RG of the group is computed at +the time the fix is specified, and that value is used as the target. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix spring, fix spring/self +

      +

      Default: none +

      + diff --git a/doc/fix_spring_rg.txt b/doc/fix_spring_rg.txt new file mode 100644 index 0000000000..e8561b260c --- /dev/null +++ b/doc/fix_spring_rg.txt @@ -0,0 +1,55 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix spring/rg command :h3 + +[Syntax:] + +fix ID group-ID spring/rg K RG0 :pre + +ID, group-ID are documented in "fix"_fix.html command +spring/rg = style name of this fix command +K = harmonic force constant (force/distance units) +RG0 = target radius of gyration to constrain to (distance units) :ul + if RG0 = NULL, use the current RG as the target value :pre + +[Examples:] + +fix 1 protein spring/rg 5.0 10.0 +fix 2 micelle spring/rg 5.0 NULL :pre + +[Description:] + +Apply a harmonic restraining force to atoms in the group to affect +their central moment about the center of mass (radius of gyration). +This fix is useful to encourage a protein or polymer to fold/unfold +and also when sampling along the radius of gyration as a reaction +coordinate (i.e. for protein folding). + +The radius of gyration is defined as RG in the first formula. The +energy of the constraint and associated force on each atom is given by +the second and third formulas, when the group is at a different RG +than the target value RG0. + +:c,image(Eqs/fix_spring_rg.jpg) + +The (xi - center-of-mass) term is computed taking into account +periodic boundary conditions, m_i is the mass of the atom, and M is +the mass of the entire group. Note that K is thus a force constant +for the aggregate force on the group of atoms, not a per-atom force. + +If RG0 is specified as NULL, then the RG of the group is computed at +the time the fix is specified, and that value is used as the target. + +[Restrictions:] none + +[Related commands:] + +"fix spring"_fix_spring.html, "fix spring/self"_fix_spring_self.html + +[Default:] none diff --git a/doc/fix_spring_self.html b/doc/fix_spring_self.html new file mode 100644 index 0000000000..1028781c82 --- /dev/null +++ b/doc/fix_spring_self.html @@ -0,0 +1,43 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix spring/self command +

      +

      Syntax: +

      +
      fix ID group-ID spring/self K 
      +
      +
      • ID, group-ID are documented in fix command +
      • spring/self = style name of this fix command +
      • K = spring constant (force/distance units) +
      +

      Examples: +

      +
      fix tether boundary-atoms spring/self 10.0 
      +
      +

      Description: +

      +

      Apply a spring force independently to each atom in the group to tether +it to its initial position. The initial position for each atom is its +location at the time the fix command was issued. At each timestep, +the magnitude of the force on each atom is -Kr, where r is the +displacement of the atom from its current position to its initial +position. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix drag, fix spring +

      +

      Default: none +

      + diff --git a/doc/fix_spring_self.txt b/doc/fix_spring_self.txt new file mode 100644 index 0000000000..b221e7f81b --- /dev/null +++ b/doc/fix_spring_self.txt @@ -0,0 +1,38 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix spring/self command :h3 + +[Syntax:] + +fix ID group-ID spring/self K :pre + +ID, group-ID are documented in "fix"_fix.html command +spring/self = style name of this fix command +K = spring constant (force/distance units) :ul + +[Examples:] + +fix tether boundary-atoms spring/self 10.0 :pre + +[Description:] + +Apply a spring force independently to each atom in the group to tether +it to its initial position. The initial position for each atom is its +location at the time the fix command was issued. At each timestep, +the magnitude of the force on each atom is -Kr, where r is the +displacement of the atom from its current position to its initial +position. + +[Restrictions:] none + +[Related commands:] + +"fix drag"_fix_drag.html, "fix spring"_fix_spring.html + +[Default:] none diff --git a/doc/fix_temp_rescale.html b/doc/fix_temp_rescale.html new file mode 100644 index 0000000000..6d796f7e5a --- /dev/null +++ b/doc/fix_temp_rescale.html @@ -0,0 +1,111 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix temp/rescale command +

      +

      Syntax: +

      +
      fix ID group-ID temp/rescale N Tstart Tstop window fraction keyword values ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • temp/rescale = style name of this fix command + +
      • N = perform rescaling every N steps + +
      • Tstart,Tstop = desired temperature at start/end of run (temperature units) + +
      • window = only rescale if temperature is outside this window (temperature units) + +
      • fraction = rescale to target temperature by this fraction + +
      • zero or more keyword/value pairs may be appended to the args + +
        keyword = region
        +  region values = region-ID
        +    region-ID = ID of region to apply rescaling to 
        +
        + +
      +

      Examples: +

      +
      fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5
      +fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 region edge 
      +
      +

      Description: +

      +

      Reset the temperature of a group of atoms by explicitly rescaling +their velocities. +

      +

      Rescaling is performed every N timesteps. The target temperature is a +ramped value between the Tstart and Tstop temperatures at the +beginning and end of the run. The run command documents +how to make the ramping take place across multiple runs. +

      +

      Rescaling is only performed if the difference between the current and +desired temperatures is greater than the window value. The amount +of rescaling that is applied is a fraction (from 0.0 to 1.0) of the +difference between the actual and desired temperature. E.g. if +fraction = 1.0, the temperature is reset to exactly the desired +value. +

      +

      The keyword region applies the fix only to atoms that are in the +specified geometric region (and in the fix group). Since atoms can +enter/leave a region, this test is performed each timestep. +

      +

      This fix computes a temperature each timestep. The fix creates its +own method for computing T, as if it had been defined by one of these +commands: +

      +
      temperature fix-ID group-ID full
      +temperature fix-ID group-ID region region-ID 
      +
      +

      Which is used depends on whether a region was specified with the fix. +See the temperature command for details. Note that +this is NOT the temperature with ID = default. This means you can +change the attributes of this fix's temperature (e.g. its +degrees-of-freedom) via the temp_modify command or +print the temperature with thermodyanmic output via the thermo_style +custom command using the appropriate temp-ID = +fix-ID. It also means that changing attributes of the default +temperature will have no effect on this fix. Alternatively, you can +directly assign a new temperature to the fix via the +fix_modify command. For consistency, if using the +keyword region, the temperature you assign should also be of style +region. +

      +

      A temp/rescale fix does not update the coordinates of its atoms. It +is normally used with a fix of style nve that does that. A +temp/rescale fix should not normally be used on atoms that also have +their temperature controlled by another fix - e.g. a +nvt or langevin fix. +

      +

      This fix supports the fix_modify options for +thermo and energy. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed. The +latter will add this contribution to the total potential energy +(PotEng) so that energy conservation can be monitored. Note that the +energy value printed by thermo is not cummulative energy, but energy +added in the most recent rescaling. Also note that because this fix +is invoked every N steps and thermo may be printed every M steps, that +unless M is a multiple of N, the energy info printed by thermo will +not be for the current timestep. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix langevin, fix nvt, +fix_modify +

      +

      Default: none +

      + diff --git a/doc/fix_temp_rescale.txt b/doc/fix_temp_rescale.txt new file mode 100644 index 0000000000..5e7cc30297 --- /dev/null +++ b/doc/fix_temp_rescale.txt @@ -0,0 +1,98 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix temp/rescale command :h3 + +[Syntax:] + +fix ID group-ID temp/rescale N Tstart Tstop window fraction keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +temp/rescale = style name of this fix command :l +N = perform rescaling every N steps :l +Tstart,Tstop = desired temperature at start/end of run (temperature units) :l +window = only rescale if temperature is outside this window (temperature units) :l +fraction = rescale to target temperature by this fraction :l +zero or more keyword/value pairs may be appended to the args :l +keyword = {region} + {region} values = region-ID + region-ID = ID of region to apply rescaling to :pre +:ule + +[Examples:] + +fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5 +fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 region edge :pre + +[Description:] + +Reset the temperature of a group of atoms by explicitly rescaling +their velocities. + +Rescaling is performed every N timesteps. The target temperature is a +ramped value between the {Tstart} and {Tstop} temperatures at the +beginning and end of the run. The "run"_run.html command documents +how to make the ramping take place across multiple runs. + +Rescaling is only performed if the difference between the current and +desired temperatures is greater than the {window} value. The amount +of rescaling that is applied is a {fraction} (from 0.0 to 1.0) of the +difference between the actual and desired temperature. E.g. if +{fraction} = 1.0, the temperature is reset to exactly the desired +value. + +The keyword {region} applies the fix only to atoms that are in the +specified geometric region (and in the fix group). Since atoms can +enter/leave a region, this test is performed each timestep. + +This fix computes a temperature each timestep. The fix creates its +own method for computing T, as if it had been defined by one of these +commands: + +temperature fix-ID group-ID full +temperature fix-ID group-ID region region-ID :pre + +Which is used depends on whether a region was specified with the fix. +See the "temperature"_temperature.html command for details. Note that +this is NOT the temperature with ID = {default}. This means you can +change the attributes of this fix's temperature (e.g. its +degrees-of-freedom) via the "temp_modify"_temp_modify.html command or +print the temperature with thermodyanmic output via the "thermo_style +custom"_thermo_style.html command using the appropriate temp-ID = +fix-ID. It also means that changing attributes of the default +temperature will have no effect on this fix. Alternatively, you can +directly assign a new temperature to the fix via the +"fix_modify"_fix_modify.html command. For consistency, if using the +keyword {region}, the temperature you assign should also be of style +{region}. + +A temp/rescale fix does not update the coordinates of its atoms. It +is normally used with a fix of style {nve} that does that. A +temp/rescale fix should not normally be used on atoms that also have +their temperature controlled by another fix - e.g. a +"nvt"_fix_nvt.html or "langevin"_fix_langevin.html fix. + +This fix supports the "fix_modify"_fix_modify.html options for +{thermo} and {energy}. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed. The +latter will add this contribution to the total potential energy +(PotEng) so that energy conservation can be monitored. Note that the +energy value printed by thermo is not cummulative energy, but energy +added in the most recent rescaling. Also note that because this fix +is invoked every N steps and thermo may be printed every M steps, that +unless M is a multiple of N, the energy info printed by thermo will +not be for the current timestep. + +[Restrictions:] none + +[Related commands:] + +"fix langevin"_fix_langevin.html, "fix nvt"_fix_nvt.html, +"fix_modify"_fix_modify.html + +[Default:] none diff --git a/doc/fix_tmd.html b/doc/fix_tmd.html new file mode 100644 index 0000000000..7df6e41b6f --- /dev/null +++ b/doc/fix_tmd.html @@ -0,0 +1,120 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix tmd command +

      +

      Syntax: +

      +
      fix ID group-ID tmd rho_final file1 N file2 
      +
      +
      • ID, group-ID are documented in fix command +
      • tmd = style name of this fix command +
      • rho_final = desired value of rho at the end of the run (distance units) +
      • file1 = filename to read target structure from +
      • N = dump TMD statistics every this many timesteps, 0 = no dump +
      • file2 = filename to write TMD statistics to (only needed if N > 0) +
      +

      Examples: +

      +
      fix 1 all nve
      +fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file 
      +
      +

      Description: +

      +

      Perform targeted molecular dynamics (TMD) on a group of atoms. A +holonomic constraint is used to force the atoms to move towards (or +away from) the target configuration. The parameter "rho" is +monotonically decreased (or increased) from its initial value to +rho_final at the end of the run. The run command documents +how to make the ramping take place across multiple runs. +

      +

      Rho has distance units and is a measure of the root-mean-squared +distance (RMSD) between the current configuration of the atoms in the +group and the target coordinates listed in file1. Thus a value of +rho_final = 0.0 means move the atoms all the way to the final +structure during the course of the run. +

      +

      The format of the target file1 is as follows: +

      +
      0.0 25.0 xlo xhi
      +0.0 25.0 ylo yhi
      +0.0 25.0 zlo zhi
      +125     24.97311   1.69005     23.46956 0 0 -1
      +126     1.94691    2.79640     1.92799  1 0 0
      +127     0.15906    3.46099     0.79121  1 0 0
      +... 
      +
      +

      The first 3 lines may or may not be needed, depending on the format of +the atoms to follow. If image flags are included with the atoms, the +1st 3 lo/hi lines must appear in the file. If image flags are not +included, the 1st 3 lines should not appear. The 3 lines contain the +simulation box dimensions for the atom coordinates, in the same format +as in a LAMMPS data file (see the read_data command). +

      +

      The remaining lines each contain an atom ID and its target x,y,z +coordinates. The atom lines (all or none of them) can optionally be +followed by 3 integer values: nx,ny,nz. For periodic dimensions, they +specify which image of the box the atom is considered to be in, i.e. a +value of N (positive or negative) means add N times the box length to +the coordinate to get the true value. +

      +

      The atom lines can be listed in any order, but every atom in the group +must be listed in the file. Atoms not in the fix group may also be +listed; they will be ignored. +

      +

      TMD statistics are written to file2 every N timesteps, unless N is +specified as 0, which means no statistics. +

      +

      The atoms in the fix tmd group should be integrated (via a fix nve, +nvt, npt) along with other atoms in the system. +

      +

      Restarts can be used with a fix tmd command. For example, imagine a +10000 timestep run with a rho_initial = 11 and a rho_final = 1. If a +restart file was written after 2000 time steps, then the configuration +in the file would have a rho value of 9. A new 8000 time step run +could be performed with the same rho_final = 1 to complete the +conformational change at the same transition rate. Note that for +restarted runs, the name of the TMD statistics file should be changed +to prevent it being overwritten. +

      +

      For more information about TMD, see (Schlitter1) and +(Schlitter2). +

      +

      Restrictions: +

      +

      All TMD fixes must be listed in the input script after all integrator +fixes (nve, nvt, npt) are applied. This ensures that atoms are moved +before their positions are corrected to comply with the constraint. +

      +

      Atoms that have a TMD fix applied should not be part of a group to +which a SHAKE fix is applied. This is because LAMMPS assumes there +are not multiple competing holonomic constraints applied to the same +atoms. +

      +

      Related commands: none +

      +

      Default: none +

      +
      + + + +

      (Schlitter1) Schlitter, Swegat, Mulders, "Distance-type reaction +coordinates for modelling activated processes", J Molecular Modeling, +7, 171-177 (2001). +

      + + +

      (Schlitter2) Schlitter and Klahn, "The free energy of a reaction +coordinate at multiple constraints: a concise formulation", Molecular +Physics, 101, 3439-3443 (2003). +

      + diff --git a/doc/fix_tmd.txt b/doc/fix_tmd.txt new file mode 100644 index 0000000000..6f51d792dc --- /dev/null +++ b/doc/fix_tmd.txt @@ -0,0 +1,113 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix tmd command :h3 + +[Syntax:] + +fix ID group-ID tmd rho_final file1 N file2 :pre + +ID, group-ID are documented in "fix"_fix.html command +tmd = style name of this fix command +rho_final = desired value of rho at the end of the run (distance units) +file1 = filename to read target structure from +N = dump TMD statistics every this many timesteps, 0 = no dump +file2 = filename to write TMD statistics to (only needed if N > 0) :ul + +[Examples:] + +fix 1 all nve +fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file :pre + +[Description:] + +Perform targeted molecular dynamics (TMD) on a group of atoms. A +holonomic constraint is used to force the atoms to move towards (or +away from) the target configuration. The parameter "rho" is +monotonically decreased (or increased) from its initial value to +rho_final at the end of the run. The "run"_run.html command documents +how to make the ramping take place across multiple runs. + +Rho has distance units and is a measure of the root-mean-squared +distance (RMSD) between the current configuration of the atoms in the +group and the target coordinates listed in file1. Thus a value of +rho_final = 0.0 means move the atoms all the way to the final +structure during the course of the run. + +The format of the target file1 is as follows: + +0.0 25.0 xlo xhi +0.0 25.0 ylo yhi +0.0 25.0 zlo zhi +125 24.97311 1.69005 23.46956 0 0 -1 +126 1.94691 2.79640 1.92799 1 0 0 +127 0.15906 3.46099 0.79121 1 0 0 +... :pre + +The first 3 lines may or may not be needed, depending on the format of +the atoms to follow. If image flags are included with the atoms, the +1st 3 lo/hi lines must appear in the file. If image flags are not +included, the 1st 3 lines should not appear. The 3 lines contain the +simulation box dimensions for the atom coordinates, in the same format +as in a LAMMPS data file (see the "read_data"_read_data.html command). + +The remaining lines each contain an atom ID and its target x,y,z +coordinates. The atom lines (all or none of them) can optionally be +followed by 3 integer values: nx,ny,nz. For periodic dimensions, they +specify which image of the box the atom is considered to be in, i.e. a +value of N (positive or negative) means add N times the box length to +the coordinate to get the true value. + +The atom lines can be listed in any order, but every atom in the group +must be listed in the file. Atoms not in the fix group may also be +listed; they will be ignored. + +TMD statistics are written to file2 every N timesteps, unless N is +specified as 0, which means no statistics. + +The atoms in the fix tmd group should be integrated (via a fix nve, +nvt, npt) along with other atoms in the system. + +Restarts can be used with a fix tmd command. For example, imagine a +10000 timestep run with a rho_initial = 11 and a rho_final = 1. If a +restart file was written after 2000 time steps, then the configuration +in the file would have a rho value of 9. A new 8000 time step run +could be performed with the same rho_final = 1 to complete the +conformational change at the same transition rate. Note that for +restarted runs, the name of the TMD statistics file should be changed +to prevent it being overwritten. + +For more information about TMD, see "(Schlitter1)"_#Schlitter1 and +"(Schlitter2)"_#Schlitter2. + +[Restrictions:] + +All TMD fixes must be listed in the input script after all integrator +fixes (nve, nvt, npt) are applied. This ensures that atoms are moved +before their positions are corrected to comply with the constraint. + +Atoms that have a TMD fix applied should not be part of a group to +which a SHAKE fix is applied. This is because LAMMPS assumes there +are not multiple competing holonomic constraints applied to the same +atoms. + +[Related commands:] none + +[Default:] none + +:line + +:link(Schlitter1) +[(Schlitter1)] Schlitter, Swegat, Mulders, "Distance-type reaction +coordinates for modelling activated processes", J Molecular Modeling, +7, 171-177 (2001). + +:link(Schlitter2) +[(Schlitter2)] Schlitter and Klahn, "The free energy of a reaction +coordinate at multiple constraints: a concise formulation", Molecular +Physics, 101, 3439-3443 (2003). diff --git a/doc/fix_uniaxial.html b/doc/fix_uniaxial.html new file mode 100644 index 0000000000..7cf8b5bfa2 --- /dev/null +++ b/doc/fix_uniaxial.html @@ -0,0 +1,128 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix uniaxial command +

      +

      Syntax: +

      +
      fix ID group-ID uniaxial N keyword dim amount 
      +
      +
      • ID, group-ID are documented in fix command +
      • uniaxial = style name of this fix command +
      • N = perform uniaxial rescaling every this many timesteps +
      • dim = x or y or z +
      • strain = uniaxial strain in dim (2.0 = 2x larger) +
      +

      Examples: +

      +
      fix 1 all uniaxial 100 x 2.0 
      +
      +

      Description: +

      +

      Enable a uniaxial dilation/contraction of the simulation box during a +simulation. For example if the direction is X and the strain is 2, +then the final box size is 2L, L/sqrt(2), L/sqrt(2), where L**3 is a +cube with the same volume as the initial box, which need not be cubic. +

      +

      The chosen direction is ramped linearly during the course of the run +to its final value. The run command documents how to make +the ramping take place across multiple runs. +

      +

      If the two perpendicular box sizes are equal then the deformation +pathway is uniaxial at each timestep. If the two perpendicular box +length sizes differ, then their aspect ratio will be linearily ramped +down to 1. Irregardless of the initial box shape the total volume is +constant during the deformation. Additional details provided by +Carsten Svaneborg (Max Planck Institute for Complex Systems, Dresden, +Germany) who authored this fix, are at the bottom of this page. +

      +

      The initial simulation box boundaries at the beginning of a run are +specified by the create_box or +read_data or read_restart command +used to setup the simulation, or they are the values at the end of the +previous run. Every Nth timestep during the run, the various +dimensions are expanded or contracted. The coordinates of all atoms +in the group are also scaled to the new box size. +

      +

      Restrictions: +

      +

      To use this fix, all dimensions of the system must be periodic. +

      +

      Related commands: none +

      +

      Default: none +

      +

      Extra Notes: +

      +

      The uniaxial deformation is performed as follows: +

      +

      For notational simplicity the deformation is assumed to be in +the X direction with final strain lambda. alpha denotes an +arbitrary Cartesian direction. +

      +

      The initial strain is obtained from box dimensions: +

      +
      lambdai_alpha = Box(alpha)/power(Box(0)*Box(1)*Box(2),1/3) 
      +
      +

      The final strain lambda in dir is specified: +

      +
      lambdaf_x = lambda
      +lambda_y = lambda_z = 1/sqrt(lambda) 
      +
      +

      Volume conservation implies lambda_x(t)*lambda_y(t)lambda_z(t) = 1.0 +for all times. Rather than time, let delta is denotes reduced time in +the interval from 0 to 1. +

      +

      We want a linear ramp in the specified strain component, such that MD +time steps and uniaxial strain are linearly related: +

      +
      lambda_x(delta) = lambdai_x (1-delta) + lambdaf_x 
      +
      +

      The problem that remains is to choose a deformation pathway for +lambda_y(delta) and lambda_z(delta) that agrees with the initial and +final strains, and at all times conserves volume. Secondly the pathway +should be symmetric if the box has y<->z symmetry. +

      +

      In the case where the initial box is symmetric in yz, this follows +from volume conservation: +

      +
      lambda_y(d) = lambda_z(d) = 1/sqrt(lambda_x(d)) 
      +
      +

      However, in general the initial box dimensions in the y and z directions +need not be the same so assume a relation: +

      +
      lambda_y(d) = alpha(d)lambda_z(d) 
      +
      +

      From volume conservation it follows that +

      +
      lambda_y(d) = sqrt(alpha(d)/lambda_x(d))
      +lambda_z(d) = 1/sqrt(alpha(d)*lambda_x(d)) 
      +
      +

      The asymmetry parameter has to fulfill the following boundary +conditions: +

      +
      initial alpha(d=0) = lambdai_y/lambdai_z
      +final alpha(d=1) = 1 
      +
      +

      Any interpolation that does this will by define a continuous volume +conserving deformation from the initial to the desired final state. +The freedom of choice here is e.g. to relax the asymetry of the box +very fast, and then slowly elongate along x, or to do this more +slowly. +

      +

      The choice used in the code is: +

      +
      alpha(d) = lambdai_y/lambdai_z (1-d) + d 
      +
      +

      Note in some cases like strain <1 2 0.5> -> strain <2 0.707107 +0.707107> the perpendicular strains do not follow a monotonic curve. +

      + diff --git a/doc/fix_uniaxial.txt b/doc/fix_uniaxial.txt new file mode 100644 index 0000000000..5a718c7466 --- /dev/null +++ b/doc/fix_uniaxial.txt @@ -0,0 +1,123 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix uniaxial command :h3 + +[Syntax:] + +fix ID group-ID uniaxial N keyword dim amount :pre + +ID, group-ID are documented in "fix"_fix.html command +uniaxial = style name of this fix command +N = perform uniaxial rescaling every this many timesteps +dim = {x} or {y} or {z} +strain = uniaxial strain in dim (2.0 = 2x larger) :ul + +[Examples:] + +fix 1 all uniaxial 100 x 2.0 :pre + +[Description:] + +Enable a uniaxial dilation/contraction of the simulation box during a +simulation. For example if the direction is X and the strain is 2, +then the final box size is 2L, L/sqrt(2), L/sqrt(2), where L**3 is a +cube with the same volume as the initial box, which need not be cubic. + +The chosen direction is ramped linearly during the course of the run +to its final value. The "run"_run.html command documents how to make +the ramping take place across multiple runs. + +If the two perpendicular box sizes are equal then the deformation +pathway is uniaxial at each timestep. If the two perpendicular box +length sizes differ, then their aspect ratio will be linearily ramped +down to 1. Irregardless of the initial box shape the total volume is +constant during the deformation. Additional details provided by +Carsten Svaneborg (Max Planck Institute for Complex Systems, Dresden, +Germany) who authored this fix, are at the bottom of this page. + +The initial simulation box boundaries at the beginning of a run are +specified by the "create_box"_create_box.html or +"read_data"_read_data.html or "read_restart"_read_restart.html command +used to setup the simulation, or they are the values at the end of the +previous run. Every Nth timestep during the run, the various +dimensions are expanded or contracted. The coordinates of all atoms +in the group are also scaled to the new box size. + +[Restrictions:] + +To use this fix, all dimensions of the system must be periodic. + +[Related commands:] none + +[Default:] none + +[Extra Notes:] + +The uniaxial deformation is performed as follows: + +For notational simplicity the deformation is assumed to be in +the X direction with final strain lambda. alpha denotes an +arbitrary Cartesian direction. + +The initial strain is obtained from box dimensions: + +lambdai_alpha = Box(alpha)/power(Box(0)*Box(1)*Box(2),1/3) :pre + +The final strain lambda in dir is specified: + +lambdaf_x = lambda +lambda_y = lambda_z = 1/sqrt(lambda) :pre + +Volume conservation implies lambda_x(t)*lambda_y(t)lambda_z(t) = 1.0 +for all times. Rather than time, let delta is denotes reduced time in +the interval from 0 to 1. + +We want a linear ramp in the specified strain component, such that MD +time steps and uniaxial strain are linearly related: + +lambda_x(delta) = lambdai_x (1-delta) + lambdaf_x :pre + +The problem that remains is to choose a deformation pathway for +lambda_y(delta) and lambda_z(delta) that agrees with the initial and +final strains, and at all times conserves volume. Secondly the pathway +should be symmetric if the box has y<->z symmetry. + +In the case where the initial box is symmetric in yz, this follows +from volume conservation: + +lambda_y(d) = lambda_z(d) = 1/sqrt(lambda_x(d)) :pre + +However, in general the initial box dimensions in the y and z directions +need not be the same so assume a relation: + +lambda_y(d) = alpha(d)lambda_z(d) :pre + +From volume conservation it follows that + +lambda_y(d) = sqrt(alpha(d)/lambda_x(d)) +lambda_z(d) = 1/sqrt(alpha(d)*lambda_x(d)) :pre + +The asymmetry parameter has to fulfill the following boundary +conditions: + +initial alpha(d=0) = lambdai_y/lambdai_z +final alpha(d=1) = 1 :pre + +Any interpolation that does this will by define a continuous volume +conserving deformation from the initial to the desired final state. +The freedom of choice here is e.g. to relax the asymetry of the box +very fast, and then slowly elongate along x, or to do this more +slowly. + +The choice used in the code is: + +alpha(d) = lambdai_y/lambdai_z (1-d) + d :pre + +Note in some cases like strain <1 2 0.5> -> strain <2 0.707107 +0.707107> the perpendicular strains do not follow a monotonic curve. diff --git a/doc/fix_viscous.html b/doc/fix_viscous.html new file mode 100644 index 0000000000..81efb9797d --- /dev/null +++ b/doc/fix_viscous.html @@ -0,0 +1,86 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix viscous command +

      +

      Syntax: +

      +
      fix ID group-ID viscous gamma keyword values ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • viscous = style name of this fix command + +
      • gamma = damping coefficient (force/velocity units) + +
      • zero or more keyword/value pairs can be appended + +
      • keyword = b or a or t or m + +
      • zero or more keyword/value pairs may be appended to the args + +
        keyword = scale
        +  scale values = type ratio
        +    type = atom type (1-N)
        +    ratio = factor to scale the damping coefficient by 
        +
        + +
      +

      Examples: +

      +
      fix 1 flow viscous 0.1
      +fix 1 damp viscous 0.5 scale 3 2.5 
      +
      +

      Description: +

      +

      Add a viscous damping force to atoms in the group that is proportional +to the velocity of the atom. The added force can be thought of as a +frictional interaction with implicit solvent. In granular simulations +this can be useful for draining the kinetic energy from the system in +a controlled fashion. If used without additional thermostatting (to +add kinetic energy to the system), it has the effect of slowly (or +rapidly) freezing the system; hence it is a simple energy minimization +technique. +

      +

      The damping force F is given by F = - gamma * velocity. The larger +the coefficient, the faster the kinetic energy is reduced. If the +optional keyword scale is used, gamma can scaled up or down by the +specified factor for atoms of that type. It can be used multiple +times to adjust gamma for several atom types. +

      +

      In a Brownian dynamics context, gamma = kT / mD, where k = Bolztmann's +constant, T = temperature, m = particle mass, and D = particle +diffusion coefficient. D can be written as kT / (6 pi eta d), where +eta = viscosity of the frictional fluid and d = diameter of particle. +This means gamma = 6 pi eta d, and thus is proportional to the +viscosity of the fluid and the particle diameter. +

      +

      In the current implementation, rather than have the user specify a +viscosity (in centiPoise or some other units), gamma is specified +directly in force/velocity units. If needed, gamma can be adjusted +for atoms of different sizes (i.e. sigma) by using the scale +keyword. +

      +

      Note that Brownian dynamics models also typically include a randomized +force term to thermostat the system at a chosen temperature. The fix +langevin command adds both a viscous damping term +and this random force to each atom; hence if using fix langevin you +do not typically need to use fix viscous. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix langevin +

      +

      Default: none +

      + diff --git a/doc/fix_viscous.txt b/doc/fix_viscous.txt new file mode 100644 index 0000000000..f9b96826cd --- /dev/null +++ b/doc/fix_viscous.txt @@ -0,0 +1,74 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix viscous command :h3 + +[Syntax:] + +fix ID group-ID viscous gamma keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +viscous = style name of this fix command :l +gamma = damping coefficient (force/velocity units) :l +zero or more keyword/value pairs can be appended :l +keyword = {b} or {a} or {t} or {m} :l +zero or more keyword/value pairs may be appended to the args :l +keyword = {scale} + {scale} values = type ratio + type = atom type (1-N) + ratio = factor to scale the damping coefficient by :pre +:ule + +[Examples:] + +fix 1 flow viscous 0.1 +fix 1 damp viscous 0.5 scale 3 2.5 :pre + +[Description:] + +Add a viscous damping force to atoms in the group that is proportional +to the velocity of the atom. The added force can be thought of as a +frictional interaction with implicit solvent. In granular simulations +this can be useful for draining the kinetic energy from the system in +a controlled fashion. If used without additional thermostatting (to +add kinetic energy to the system), it has the effect of slowly (or +rapidly) freezing the system; hence it is a simple energy minimization +technique. + +The damping force F is given by F = - gamma * velocity. The larger +the coefficient, the faster the kinetic energy is reduced. If the +optional keyword {scale} is used, gamma can scaled up or down by the +specified factor for atoms of that type. It can be used multiple +times to adjust gamma for several atom types. + +In a Brownian dynamics context, gamma = kT / mD, where k = Bolztmann's +constant, T = temperature, m = particle mass, and D = particle +diffusion coefficient. D can be written as kT / (6 pi eta d), where +eta = viscosity of the frictional fluid and d = diameter of particle. +This means gamma = 6 pi eta d, and thus is proportional to the +viscosity of the fluid and the particle diameter. + +In the current implementation, rather than have the user specify a +viscosity (in centiPoise or some other units), gamma is specified +directly in force/velocity units. If needed, gamma can be adjusted +for atoms of different sizes (i.e. sigma) by using the {scale} +keyword. + +Note that Brownian dynamics models also typically include a randomized +force term to thermostat the system at a chosen temperature. The "fix +langevin"_fix_langevin.html command adds both a viscous damping term +and this random force to each atom; hence if using fix {langevin} you +do not typically need to use fix {viscous}. + +[Restrictions:] none + +[Related commands:] + +"fix langevin"_fix_langevin.html + +[Default:] none diff --git a/doc/fix_volume_rescale.html b/doc/fix_volume_rescale.html new file mode 100644 index 0000000000..00987d5645 --- /dev/null +++ b/doc/fix_volume_rescale.html @@ -0,0 +1,68 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix volume/rescale command +

      +

      Syntax: +

      +
      fix ID group-ID volume/rescale N keyword args ... 
      +
      +
      • ID, group-ID are documented in fix command +
      +
    1. volume/rescale = style name of this fix command + +
    2. N = perform volume rescaling every this many timesteps + +
    3. one or more keyword/value pairs may be appended to the args + +
    4. keyword = x or y or z + +
        x, y, z args = lo,hi = desired simulation box boundaries
      +    at end of run (distance units) 
      +
      + + +

      Examples: +

      +
      fix 1 all volume/rescale 100 x -9.0 9.0 z -5.0 5.0 
      +
      +

      Description: +

      +

      Enable a volume (density) change during a simulation. Each of the 3 +box dimensions is controlled separately. Any dimension being varied +by this command must be periodic - see the boundary +command. Dimensions not varied by this command can be periodic or +non-periodic. The volume associated with an unspecified dimension can +also be controlled by a fix npt command. +

      +

      The initial simulation box boundaries at the beginning of a run are +specified by the create_box or +read_data or read_restart command +used to setup the simulation, or they are the values at the end of the +previous run. The desired simulation box boundaries at the end of the +run are given by the lo and hi arguments. See the +units command for a discussion of distance units. +

      +

      Every Nth timestep during the run, the simulation box is expanded or +contracted to a ramped value between the initial and final values. +The run command documents how to make the ramping take +place across multiple runs. The coordinates of all atoms in the group +are also scaled to the new box size. +

      +

      Restrictions: +

      +

      Any dimension being varied by this fix must be periodic. +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/fix_volume_rescale.txt b/doc/fix_volume_rescale.txt new file mode 100644 index 0000000000..b1327a6f2e --- /dev/null +++ b/doc/fix_volume_rescale.txt @@ -0,0 +1,61 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix volume/rescale command :h3 + +[Syntax:] + +fix ID group-ID volume/rescale N keyword args ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ul +volume/rescale = style name of this fix command :l +N = perform volume rescaling every this many timesteps :l +one or more keyword/value pairs may be appended to the args :l +keyword = {x} or {y} or {z} :l + {x}, {y}, {z} args = lo,hi = desired simulation box boundaries + at end of run (distance units) :pre +:ule + +[Examples:] + +fix 1 all volume/rescale 100 x -9.0 9.0 z -5.0 5.0 :pre + +[Description:] + +Enable a volume (density) change during a simulation. Each of the 3 +box dimensions is controlled separately. Any dimension being varied +by this command must be periodic - see the "boundary"_boundary.html +command. Dimensions not varied by this command can be periodic or +non-periodic. The volume associated with an unspecified dimension can +also be controlled by a "fix npt"_fix_npt.html command. + +The initial simulation box boundaries at the beginning of a run are +specified by the "create_box"_create_box.html or +"read_data"_read_data.html or "read_restart"_read_restart.html command +used to setup the simulation, or they are the values at the end of the +previous run. The desired simulation box boundaries at the end of the +run are given by the {lo} and {hi} arguments. See the +"units"_units.html command for a discussion of distance units. + +Every Nth timestep during the run, the simulation box is expanded or +contracted to a ramped value between the initial and final values. +The "run"_run.html command documents how to make the ramping take +place across multiple runs. The coordinates of all atoms in the group +are also scaled to the new box size. + +[Restrictions:] + +Any dimension being varied by this fix must be periodic. + +[Related commands:] none + +[Default:] none + + + + diff --git a/doc/fix_wall_gran.html b/doc/fix_wall_gran.html new file mode 100644 index 0000000000..f496996778 --- /dev/null +++ b/doc/fix_wall_gran.html @@ -0,0 +1,92 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix wall/gran command +

      +

      Syntax: +

      +
      fix ID group-ID wall/gran wallstyle args keyword values ... 
      +
      +
      • ID, group-ID are documented in fix command + +
      • wall/gran = style name of this fix command + +
      • style = xplane or yplane or zplane or zcylinder + +
      • args = list of arguments for a particular style + +
          xplane or yplane or zplane args = lo hi gamma xmu
        +    lo, hi = position of lower and upper plane (either can be NULL)
        +    gamman = damping coeff for normal direction collisions with wall
        +    xmu = friction coeff for the wall
        +  zcylinder args = radius gamma xmu
        +    radius = cylinder radius (distance units)
        +    gamman = damping coeff for normal direction collisions with wall
        +    xmu = friction coeff for the wall 
        +
        +
      • zero or more keyword/value pairs may be appended to args + +
          keyword = wiggle
        +    values = dim amplitude period
        +      dim = x or y or z
        +      amplitude = size of oscillation (distance units)
        +      period = time of oscillation (time units) 
        +
        + +
      +

      Examples: +

      +
      fix 1 all wall/gran xplane -10.0 10.0 50.0 0.5
      +fix 2 all wall/gran zcylinder 15.0 50.0 0.5 wiggle z 3.0 2.0
      +fix 1 all wall/gran zplane 0.0 NULL 100.0 0.5 
      +
      +

      Description: +

      +

      Bound the simulation domain of a granular system with a frictional +wall. All particles in the group interact with the wall when they are +close enough to touch it. +

      +

      The wallstyle can be planar or cylindrical. The 3 planar options +specify a pair of walls in a dimension. Wall positions are given by +lo and hi. Either of the values can be specified as NULL if a +single wall is desired. For a zcylinder wallstyle, the cylinder's +axis is at x = y = 0.0, and the radius of the cylinder is specified. +For all wallstyles, a damping and friction coefficient for +particle-wall interactions are also specified. +

      +

      Optionally, a wall can be oscillated, similar to the oscillations of +frozen particles specified by the fix_wiggle +command. This is useful in packing simulations of granular particles. +If the keyword wiggle is appended to the argument list, then a +dimension for the motion, as well as it's amplitude and period is +specified. Each timestep, the position of the wall in the appropriate +dim is set according to this equation: +

      +
      position = pos0 + A - A cos (omega * delta) 
      +
      +

      where pos0 is the position at the time the fix was specified, A is +the amplitude, omega is 2 PI / period, and delta is the +elapsed time since the fix was specified. The velocity of the wall is +also set to the derivative of this expression. +

      +

      Restrictions: +

      +

      Can only be used if LAMMPS was built with the "granular" package. A +zcylinder wall can only be oscillated in the z dimension. This fix +can only be used with atom_style granular. +

      +

      Related commands: +

      +

      fix_wiggle +

      +

      Default: none +

      + diff --git a/doc/fix_wall_gran.txt b/doc/fix_wall_gran.txt new file mode 100644 index 0000000000..82d6a33200 --- /dev/null +++ b/doc/fix_wall_gran.txt @@ -0,0 +1,80 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix wall/gran command :h3 + +[Syntax:] + +fix ID group-ID wall/gran wallstyle args keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +wall/gran = style name of this fix command :l +style = {xplane} or {yplane} or {zplane} or {zcylinder} :l +args = list of arguments for a particular style :l + {xplane} or {yplane} or {zplane} args = lo hi gamma xmu + lo, hi = position of lower and upper plane (either can be NULL) + gamman = damping coeff for normal direction collisions with wall + xmu = friction coeff for the wall + {zcylinder} args = radius gamma xmu + radius = cylinder radius (distance units) + gamman = damping coeff for normal direction collisions with wall + xmu = friction coeff for the wall :pre +zero or more keyword/value pairs may be appended to args :l + keyword = {wiggle} + values = dim amplitude period + dim = {x} or {y} or {z} + amplitude = size of oscillation (distance units) + period = time of oscillation (time units) :pre +:ule + +[Examples:] + +fix 1 all wall/gran xplane -10.0 10.0 50.0 0.5 +fix 2 all wall/gran zcylinder 15.0 50.0 0.5 wiggle z 3.0 2.0 +fix 1 all wall/gran zplane 0.0 NULL 100.0 0.5 :pre + +[Description:] + +Bound the simulation domain of a granular system with a frictional +wall. All particles in the group interact with the wall when they are +close enough to touch it. + +The {wallstyle} can be planar or cylindrical. The 3 planar options +specify a pair of walls in a dimension. Wall positions are given by +{lo} and {hi}. Either of the values can be specified as NULL if a +single wall is desired. For a {zcylinder} wallstyle, the cylinder's +axis is at x = y = 0.0, and the radius of the cylinder is specified. +For all wallstyles, a damping and friction coefficient for +particle-wall interactions are also specified. + +Optionally, a wall can be oscillated, similar to the oscillations of +frozen particles specified by the "fix_wiggle"_fix_wiggle.html +command. This is useful in packing simulations of granular particles. +If the keyword {wiggle} is appended to the argument list, then a +dimension for the motion, as well as it's {amplitude} and {period} is +specified. Each timestep, the position of the wall in the appropriate +{dim} is set according to this equation: + +position = pos0 + A - A cos (omega * delta) :pre + +where {pos0} is the position at the time the fix was specified, {A} is +the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the +elapsed time since the fix was specified. The velocity of the wall is +also set to the derivative of this expression. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "granular" package. A +zcylinder wall can only be oscillated in the z dimension. This fix +can only be used with atom_style granular. + +[Related commands:] + +"fix_wiggle"_fix_wiggle.html + +[Default:] none diff --git a/doc/fix_wall_lj93.html b/doc/fix_wall_lj93.html new file mode 100644 index 0000000000..691b5e554d --- /dev/null +++ b/doc/fix_wall_lj93.html @@ -0,0 +1,64 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix wall/lj93 command +

      +

      Syntax: +

      +
      fix ID group-ID wall/lj93 style coord epsilon sigma cutoff 
      +
      +
      • ID, group-ID are documented in fix command +
      • wall/lj93 = style name of this fix command +
      • style = xlo or xhi or ylo or yhi or zlo or zhi +
      • coord = position of wall +
      • epsilon = Lennard-Jones epsilon for wall-particle interaction +
      • sigma = Lennard-Jones sigma for wall-particle interaction +
      • cutoff = distance from wall at which wall-particle interaction is cut off +
      +

      Examples: +

      +
      fix wallhi all wall/lj93 xhi 10.0 1.0 1.0 1.12 
      +
      +

      Description: +

      +

      Bound the simulation domain with a Lennard-Jones wall that encloses +the atoms. The energy E of a wall-particle interactions is given by +the 9-3 potential +

      +
      +
      +

      where r is the distance from the particle to the wall coord, and +epsilon and sigma are the usual LJ parameters. Rc is the cutoff value +specified in the command. This interaction is derived by integrating +over a 3d half-lattice of Lennard-Jones 12-6 particles. +

      +

      This fix supports the fix_modify options for +thermo and energy. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed, +where the energy of each particle comes from the integrated form of +the equation above. The latter will add this contribution to the +total potential energy (PotEng). +

      +

      The forces due to this fix are also imposed during an energy +minimization, invoked by the minimize command. If you +want that energy to be included in the total potential energy of the +system (the quantity being minimized), you must enable the +fix_modify energy option for this fix. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix wall/reflect command +

      +

      Default: none +

      + diff --git a/doc/fix_wall_lj93.txt b/doc/fix_wall_lj93.txt new file mode 100644 index 0000000000..8fc92c74fa --- /dev/null +++ b/doc/fix_wall_lj93.txt @@ -0,0 +1,59 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix wall/lj93 command :h3 + +[Syntax:] + +fix ID group-ID wall/lj93 style coord epsilon sigma cutoff :pre + +ID, group-ID are documented in "fix"_fix.html command +wall/lj93 = style name of this fix command +style = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} +coord = position of wall +epsilon = Lennard-Jones epsilon for wall-particle interaction +sigma = Lennard-Jones sigma for wall-particle interaction +cutoff = distance from wall at which wall-particle interaction is cut off :ul + +[Examples:] + +fix wallhi all wall/lj93 xhi 10.0 1.0 1.0 1.12 :pre + +[Description:] + +Bound the simulation domain with a Lennard-Jones wall that encloses +the atoms. The energy E of a wall-particle interactions is given by +the 9-3 potential + +:c,image(Eqs/fix_wall_lj93.jpg) + +where {r} is the distance from the particle to the wall {coord}, and +epsilon and sigma are the usual LJ parameters. Rc is the cutoff value +specified in the command. This interaction is derived by integrating +over a 3d half-lattice of Lennard-Jones 12-6 particles. + +This fix supports the "fix_modify"_fix_modify.html options for +{thermo} and {energy}. The former will print the contribution the fix +makes to the energy of the system when thermodynamics is printed, +where the energy of each particle comes from the integrated form of +the equation above. The latter will add this contribution to the +total potential energy (PotEng). + +The forces due to this fix are also imposed during an energy +minimization, invoked by the "minimize"_minimize.html command. If you +want that energy to be included in the total potential energy of the +system (the quantity being minimized), you must enable the +"fix_modify"_fix_modify.html {energy} option for this fix. + +[Restrictions:] none + +[Related commands:] + +"fix wall/reflect"_fix_wall_reflect.html command + +[Default:] none diff --git a/doc/fix_wall_reflect.html b/doc/fix_wall_reflect.html new file mode 100644 index 0000000000..2e63414a82 --- /dev/null +++ b/doc/fix_wall_reflect.html @@ -0,0 +1,49 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix wall/reflect command +

      +

      Syntax: +

      +
      fix ID group-ID wall/reflect keyword ... 
      +
      +
      • ID, group-ID are documented in fix command +
      • wall/reflect = style name of this fix command +
      • one or more keyword/value pairs may be appended to the args +
      • keyword = xlo or xhi or ylo or yhi or zlo or zhi +
      +

      Examples: +

      +
      fix xwalls all wall/reflect xlo xhi
      +fix walls all wall/reflect xlo ylo zlo xhi yhi zhi 
      +
      +

      Description: +

      +

      Bound the simulation with one or more walls which reflect particles +when they attempt to move thru them. Normally, the simulation domain +should be set non-periodic via the boundary command in +any dimension that has such a wall, but LAMMPS does not check for this +condition. +

      +

      Reflection means that if an atom moves outside the box on a timestep +by a distance delta (e.g. due to fix nve), then it is +put back inside the box by the same delta and the sign of the +corresponding component of its velocity is flipped. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix wall/lj93 command +

      +

      Default: none +

      + diff --git a/doc/fix_wall_reflect.txt b/doc/fix_wall_reflect.txt new file mode 100644 index 0000000000..9df061e889 --- /dev/null +++ b/doc/fix_wall_reflect.txt @@ -0,0 +1,44 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix wall/reflect command :h3 + +[Syntax:] + +fix ID group-ID wall/reflect keyword ... :pre + +ID, group-ID are documented in "fix"_fix.html command +wall/reflect = style name of this fix command +one or more keyword/value pairs may be appended to the args +keyword = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} :ul + +[Examples:] + +fix xwalls all wall/reflect xlo xhi +fix walls all wall/reflect xlo ylo zlo xhi yhi zhi :pre + +[Description:] + +Bound the simulation with one or more walls which reflect particles +when they attempt to move thru them. Normally, the simulation domain +should be set non-periodic via the "boundary"_boundary.html command in +any dimension that has such a wall, but LAMMPS does not check for this +condition. + +Reflection means that if an atom moves outside the box on a timestep +by a distance delta (e.g. due to "fix nve"_fix_nve.html), then it is +put back inside the box by the same delta and the sign of the +corresponding component of its velocity is flipped. + +[Restrictions:] none + +[Related commands:] + +"fix wall/lj93"_fix_wall_lj93.html command + +[Default:] none diff --git a/doc/fix_wiggle.html b/doc/fix_wiggle.html new file mode 100644 index 0000000000..aefff2ec10 --- /dev/null +++ b/doc/fix_wiggle.html @@ -0,0 +1,49 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      fix wiggle command +

      +

      Syntax: +

      +

      fix ID group-ID wiggle dim amplitude period +

      +
      • ID, group-ID are documented in fix command +
      • wiggle = style name of this fix command +
      • dim = x or y or z +
      • amplitude = size of oscillation (distance units) +
      • period = time of oscillation (time units) +
      +

      Examples: +

      +
      fix 1 frozen wiggle 3.0 0.5 
      +
      +

      Description: +

      +

      Move a group of atoms in a sinusoidal oscillation. This is useful in +granular simulations when boundary atoms are wiggled to induce packing +of the dynamic atoms. The dimension dim of movement is specified as +is the amplitude and period of the oscillations. Each timestep +the dim coordinate of each atom is set to +

      +
      coord = coord0 + A - A cos (omega * delta) 
      +
      +

      where coord0 is the coordinate at the time the fix was specified, +A is the amplitude, omega is 2 PI / period, and delta is the +elapsed time since the fix was specified. The velocity of the atom is +set to the derivative of this expression. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/fix_wiggle.txt b/doc/fix_wiggle.txt new file mode 100644 index 0000000000..6f82cd7b22 --- /dev/null +++ b/doc/fix_wiggle.txt @@ -0,0 +1,44 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix wiggle command :h3 + +[Syntax:] + +fix ID group-ID wiggle dim amplitude period + +ID, group-ID are documented in "fix"_fix.html command +wiggle = style name of this fix command +dim = {x} or {y} or {z} +amplitude = size of oscillation (distance units) +period = time of oscillation (time units) :ul + +[Examples:] + +fix 1 frozen wiggle 3.0 0.5 :pre + +[Description:] + +Move a group of atoms in a sinusoidal oscillation. This is useful in +granular simulations when boundary atoms are wiggled to induce packing +of the dynamic atoms. The dimension {dim} of movement is specified as +is the {amplitude} and {period} of the oscillations. Each timestep +the {dim} coordinate of each atom is set to + +coord = coord0 + A - A cos (omega * delta) :pre + +where {coord0} is the coordinate at the time the fix was specified, +{A} is the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the +elapsed time since the fix was specified. The velocity of the atom is +set to the derivative of this expression. + +[Restrictions:] none + +[Related commands:] none + +[Default:] none diff --git a/doc/group.html b/doc/group.html new file mode 100644 index 0000000000..b8886c3e6a --- /dev/null +++ b/doc/group.html @@ -0,0 +1,102 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      group command +

      +

      Syntax: +

      +
      group ID style args 
      +
      +
      • ID = user-defined name of the group + +
      • style = region or type or id or molecule or subtract or union or intersect + +
          region args = region-ID
        +  type or id or molecule
        +    args = one or more atom types, atom IDs, or molecule IDs
        +    args = logical value
        +      logical = "<" or "<=" or ">" or ">="
        +      value = an atom type or atom ID or molecule ID (depending on style)
        +    args = logical value1 value2
        +      logical = "<>"
        +      value1,value2 = atom types or atom IDs or molecule IDs
        +      	(depending on style)
        +  subtract args = two or more group IDs
        +  union args = one or more group IDs
        +  intersect args = two or more group IDs 
        +
        + +
      +

      Examples: +

      +
      group edge region regstrip
      +group water type 3 4
      +group sub id <= 150
      +group polyA molecule <> 50 250
      +group boundary subtract all a2 a3
      +group boundary union lower upper
      +group boundary intersect upper flow 
      +
      +

      Description: +

      +

      Identify a collection of atoms as belonging to a group. The group ID +can then be used in other commands such as fix, velocity, dump, or +temperature to act on the atoms together. +

      +

      If the group ID already exists, the group command adds the specified +atoms to the group. +

      +

      The region style puts all atoms in the region volume into the group. +Note that this is a static one-time assignment. The atoms remain +assigned (or not assigned) to the group even in they later move out of +the region volume. +

      +

      The type, id, and molecule styles put all atoms with the +specified atom types, atom IDs, or molecule IDs into the group. These +3 styles can have their arguments specified in one of two formats. +The 1st format is a list of values (types or IDs). For example, the +2nd command in the examples above, puts all atoms of type 3 or 4 into +the group named water. The 2nd format is a logical followed by +one or two values (type or ID). The 5 valid logicals are listed +above. All the logicals except <> take a single argument. The 3rd +example above adds all atoms with IDs from 1 to 150 to the group named +sub. The logical <> means "between" and takes 2 arguments. The 4th +example above adds all atoms belonging to molecules with IDs from 50 +to 250 (inclusive) to the group named polyA. +

      +

      The subtract style takes a list of two or more existing group names +as arguments. All atoms that belong to the 1st group, but not to any +of the other groups are added to the specified group. +

      +

      The union style takes a list of one or more existing group names as +arguments. All atoms that belong to any of the listed groups are +added to the specified group. +

      +

      The intersect style takes a list of two or more existing group names +as arguments. Atoms that belong to every one of the listed groups are +added to the specified group. +

      +

      A group with the ID all is predefined. All atoms belong to this +group. +

      +

      Restrictions: +

      +

      There can be no more than 32 defined groups, including "all". +

      +

      Related commands: +

      +

      region, fix, velocity, dump, temperature +

      +

      Default: +

      +

      All atoms belong to the "all" group. +

      + diff --git a/doc/group.txt b/doc/group.txt new file mode 100644 index 0000000000..34a6fe8170 --- /dev/null +++ b/doc/group.txt @@ -0,0 +1,95 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +group command :h3 + +[Syntax:] + +group ID style args :pre + +ID = user-defined name of the group :ulb,l +style = {region} or {type} or {id} or {molecule} or {subtract} or \ + {union} or {intersect} :l + {region} args = region-ID + {type} or {id} or {molecule} + args = one or more atom types, atom IDs, or molecule IDs + args = logical value + logical = "<" or "<=" or ">" or ">=" + value = an atom type or atom ID or molecule ID (depending on {style}) + args = logical value1 value2 + logical = "<>" + value1,value2 = atom types or atom IDs or molecule IDs + (depending on {style}) + {subtract} args = two or more group IDs + {union} args = one or more group IDs + {intersect} args = two or more group IDs :pre +:ule + +[Examples:] + +group edge region regstrip +group water type 3 4 +group sub id <= 150 +group polyA molecule <> 50 250 +group boundary subtract all a2 a3 +group boundary union lower upper +group boundary intersect upper flow :pre + +[Description:] + +Identify a collection of atoms as belonging to a group. The group ID +can then be used in other commands such as fix, velocity, dump, or +temperature to act on the atoms together. + +If the group ID already exists, the group command adds the specified +atoms to the group. + +The {region} style puts all atoms in the region volume into the group. +Note that this is a static one-time assignment. The atoms remain +assigned (or not assigned) to the group even in they later move out of +the region volume. + +The {type}, {id}, and {molecule} styles put all atoms with the +specified atom types, atom IDs, or molecule IDs into the group. These +3 styles can have their arguments specified in one of two formats. +The 1st format is a list of values (types or IDs). For example, the +2nd command in the examples above, puts all atoms of type 3 or 4 into +the group named {water}. The 2nd format is a {logical} followed by +one or two values (type or ID). The 5 valid logicals are listed +above. All the logicals except <> take a single argument. The 3rd +example above adds all atoms with IDs from 1 to 150 to the group named +{sub}. The logical <> means "between" and takes 2 arguments. The 4th +example above adds all atoms belonging to molecules with IDs from 50 +to 250 (inclusive) to the group named polyA. + +The {subtract} style takes a list of two or more existing group names +as arguments. All atoms that belong to the 1st group, but not to any +of the other groups are added to the specified group. + +The {union} style takes a list of one or more existing group names as +arguments. All atoms that belong to any of the listed groups are +added to the specified group. + +The {intersect} style takes a list of two or more existing group names +as arguments. Atoms that belong to every one of the listed groups are +added to the specified group. + +A group with the ID {all} is predefined. All atoms belong to this +group. + +[Restrictions:] + +There can be no more than 32 defined groups, including "all". + +[Related commands:] + +region, fix, velocity, dump, temperature + +[Default:] + +All atoms belong to the "all" group. diff --git a/doc/improper_coeff.html b/doc/improper_coeff.html new file mode 100644 index 0000000000..78daa7a805 --- /dev/null +++ b/doc/improper_coeff.html @@ -0,0 +1,91 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      improper_coeff command +

      +

      Syntax: +

      +
      improper_coeff N args 
      +
      +
      • N = improper type (see asterik form below) +
      • args = coefficients for one or more improper types +
      +

      Examples: +

      +
      improper_coeff 1 300.0 0.0
      +improper_coeff * 80.2 -1 2
      +improper_coeff *4 80.2 -1 2 
      +
      +

      Description: +

      +

      Specify the improper force field coefficients for one or more improper +types. The number and meaning of the coefficients depends on the +improper style. Improper coefficients can also be set in the data +file read by the read_data command or in a restart +file. +

      +

      N can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the coefficients for multiple improper types. This takes +the form "*" or "*n" or "n*" or "m*n". If N = the number of improper +types, then an asterik with no numeric values means all types from 1 +to N. A leading asterik means all types from 1 to n (inclusive). A +trailing asterik means all types from n to N (inclusive). A middle +asterik means all types from m to n (inclusive). +

      +

      Note that using a improper_coeff command can override a previous +setting for the same improper type. For example, these commands set +the coeffs for all improper types, then overwrite the coeffs for just +improper type 2: +

      +
      improper_coeff * 300.0 0.0
      +improper_coeff 2 50.0 0.0 
      +
      +

      A line in a data file that specifies improper coefficients uses the +exact same format as the arguments of the improper_coeff command in an +input script, except that wild-card asteriks should not be used since +coefficients for all N types must be listed in the file. For example, +under the "Improper Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as +

      +
      1 300.0 0.0 
      +
      +
      + +

      Here is an alphabetic list of improper styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated improper_coeff command: +

      + + +
      + +

      Restrictions: +

      +

      This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

      +

      An improper style must be defined before any improper coefficients are +set, either in the input script or in a data file. +

      +

      Related commands: +

      +

      improper_style +

      +

      Default: none +

      + diff --git a/doc/improper_coeff.txt b/doc/improper_coeff.txt new file mode 100644 index 0000000000..9026923187 --- /dev/null +++ b/doc/improper_coeff.txt @@ -0,0 +1,86 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +improper_coeff command :h3 + +[Syntax:] + +improper_coeff N args :pre + +N = improper type (see asterik form below) +args = coefficients for one or more improper types :ul + +[Examples:] + +improper_coeff 1 300.0 0.0 +improper_coeff * 80.2 -1 2 +improper_coeff *4 80.2 -1 2 :pre + +[Description:] + +Specify the improper force field coefficients for one or more improper +types. The number and meaning of the coefficients depends on the +improper style. Improper coefficients can also be set in the data +file read by the "read_data"_read_data.html command or in a restart +file. + +N can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the coefficients for multiple improper types. This takes +the form "*" or "*n" or "n*" or "m*n". If N = the number of improper +types, then an asterik with no numeric values means all types from 1 +to N. A leading asterik means all types from 1 to n (inclusive). A +trailing asterik means all types from n to N (inclusive). A middle +asterik means all types from m to n (inclusive). + +Note that using a improper_coeff command can override a previous +setting for the same improper type. For example, these commands set +the coeffs for all improper types, then overwrite the coeffs for just +improper type 2: + +improper_coeff * 300.0 0.0 +improper_coeff 2 50.0 0.0 :pre + +A line in a data file that specifies improper coefficients uses the +exact same format as the arguments of the improper_coeff command in an +input script, except that wild-card asteriks should not be used since +coefficients for all N types must be listed in the file. For example, +under the "Improper Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as + +1 300.0 0.0 :pre + +:line + +Here is an alphabetic list of improper styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated "improper_coeff"_improper_coeff.html command: + +"improper_style none"_improper_style_none.html - turn off improper interactions +"improper_style hybrid"_improper_style_hybrid.html - define multiple styles of improper interactions :ul + +"improper_style class2"_improper_style_class2.html - COMPASS (class 2) improper +"improper_style cvff"_improper_style_cvff.html - CVFF improper +"improper_style harmonic"_improper_style_harmonic.html - harmonic improper :ul + +:line + +[Restrictions:] + +This command must come after the simulation box is defined by a +"read_data"_read_data.html, "read_restart"_read_restart.html, or +"create_box"_create_box.html command. + +An improper style must be defined before any improper coefficients are +set, either in the input script or in a data file. + +[Related commands:] + +"improper_style"_improper_style.html + +[Default:] none diff --git a/doc/improper_style.html b/doc/improper_style.html new file mode 100644 index 0000000000..892a902451 --- /dev/null +++ b/doc/improper_style.html @@ -0,0 +1,77 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      improper_style command +

      +

      Syntax: +

      +
      improper_style style 
      +
      +
      • style = none or hybrid or class2 or cvff or harmonic +
      +

      Examples: +

      +
      improper_style harmonic
      +improper_style cvff
      +improper_style hybrid cvff harmonic 
      +
      +

      Description: +

      +

      Set the formula(s) LAMMPS uses to compute improper interactions +between quadruplets of atoms, which remain in force for the duration +of the simulation. The list of improper quadruplets is read in by a +read_data or read_restart command +from a data or restart file. +

      +

      Hybrid models where impropers are computed using different improper +potentials can be setup using the hybrid improper style. +

      +

      The coefficients associated with a improper style can be specified in a +data or restart file or via the improper_coeff command. +

      +

      Note that when both an improper and pair style is defined, the +special_bond command often needs to be used to +turn off (or weight) the pairwise interactions that would otherwise +exist between the 4 bonded atoms. +

      +
      + +

      Here is an alphabetic list of improper styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated improper_coeff command: +

      + + +
      + +

      Restrictions: +

      +

      Improper styles can only be set for atom_style choices that allow +impropers to be defined. +

      +

      Improper styles are part of the "molecular" package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      improper_coeff +

      +

      Default: +

      +
      improper_style none 
      +
      + diff --git a/doc/improper_style.txt b/doc/improper_style.txt new file mode 100644 index 0000000000..746cf40c89 --- /dev/null +++ b/doc/improper_style.txt @@ -0,0 +1,72 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +improper_style command :h3 + +[Syntax:] + +improper_style style :pre + +style = {none} or {hybrid} or {class2} or {cvff} or {harmonic} :ul + +[Examples:] + +improper_style harmonic +improper_style cvff +improper_style hybrid cvff harmonic :pre + +[Description:] + +Set the formula(s) LAMMPS uses to compute improper interactions +between quadruplets of atoms, which remain in force for the duration +of the simulation. The list of improper quadruplets is read in by a +"read_data"_read_data.html or "read_restart"_read_restart.html command +from a data or restart file. + +Hybrid models where impropers are computed using different improper +potentials can be setup using the {hybrid} improper style. + +The coefficients associated with a improper style can be specified in a +data or restart file or via the "improper_coeff"_improper_coeff.html command. + +Note that when both an improper and pair style is defined, the +"special_bond"_special_bond.html command often needs to be used to +turn off (or weight) the pairwise interactions that would otherwise +exist between the 4 bonded atoms. + +:line + +Here is an alphabetic list of improper styles defined in LAMMPS. Click on +the style to display the formula it computes and coefficients +specified by the associated "improper_coeff"_improper_coeff.html command: + +"improper_style none"_improper_style_none.html - turn off improper interactions +"improper_style hybrid"_improper_style_hybrid.html - define multiple styles of improper interactions :ul + +"improper_style class2"_improper_style_class2.html - COMPASS (class 2) improper +"improper_style cvff"_improper_style_cvff.html - CVFF improper +"improper_style harmonic"_improper_style_harmonic.html - harmonic improper :ul + +:line + +[Restrictions:] + +Improper styles can only be set for atom_style choices that allow +impropers to be defined. + +Improper styles are part of the "molecular" package. They are only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"improper_coeff"_improper_coeff.html + +[Default:] + +improper_style none :pre diff --git a/doc/improper_style_class2.html b/doc/improper_style_class2.html new file mode 100644 index 0000000000..3d4afed28c --- /dev/null +++ b/doc/improper_style_class2.html @@ -0,0 +1,78 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      improper_style class2 command +

      +

      Syntax: +

      +
      improper_style class2 
      +
      +

      Examples: +

      +
      improper_style class2
      +improper_coeff 1 100.0 0 
      +
      +

      Description: +

      +

      The class2 improper style uses the potential +

      +
      +
      +

      where Ei is the improper term and Eaa is an angle-angle term. The chi +used in Ei is an average over 3 possible chi orientations. The +subscripts on the various theta's refer to different combinations of +atoms i,j,k,l used to form the angle; theta1, theta2, theta3 are the +equilibrium positions of those angles. +

      +

      The following coefficients must be defined for each improper type via the +improper_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +

      For this style, only coefficients for the Ei formula can be specified +in the input script. These are the 2 coefficients: +

      +
      • K (energy/radian^2) +
      • X0 (degrees) +
      +

      X0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

      +

      Coefficients for the Eaa formula must be specified in the data file. +For the Eaa formula, the coefficients are listed under a +"AngleAngle Coeffs" heading and each line lists 6 coefficients: +

      +
      • M1 (energy/distance) +
      • M2 (energy/distance) +
      • M3 (energy/distance) +
      • theta1 (degrees) +
      • theta2 (degrees) +
      • theta3 (degrees) +
      +

      The theta values are specified in degrees, but LAMMPS converts them to +radians internally; hence the units of M are in energy/radian^2. +

      +

      Restrictions: +

      +

      Improper styles can only be set for atom styles that allow impropers to be +defined. +

      +

      This improper style is part of the "class2" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      improper_coeff +

      +

      Default: none +

      + diff --git a/doc/improper_style_class2.txt b/doc/improper_style_class2.txt new file mode 100644 index 0000000000..fc8207a64f --- /dev/null +++ b/doc/improper_style_class2.txt @@ -0,0 +1,73 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +improper_style class2 command :h3 + +[Syntax:] + +improper_style class2 :pre + +[Examples:] + +improper_style class2 +improper_coeff 1 100.0 0 :pre + +[Description:] + +The {class2} improper style uses the potential + +:c,image(Eqs/improper_class2.jpg) + +where Ei is the improper term and Eaa is an angle-angle term. The chi +used in Ei is an average over 3 possible chi orientations. The +subscripts on the various theta's refer to different combinations of +atoms i,j,k,l used to form the angle; theta1, theta2, theta3 are the +equilibrium positions of those angles. + +The following coefficients must be defined for each improper type via the +"improper_coeff"_improper_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +For this style, only coefficients for the Ei formula can be specified +in the input script. These are the 2 coefficients: + +K (energy/radian^2) +X0 (degrees) :ul + +X0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. + +Coefficients for the Eaa formula must be specified in the data file. +For the Eaa formula, the coefficients are listed under a +"AngleAngle Coeffs" heading and each line lists 6 coefficients: + +M1 (energy/distance) +M2 (energy/distance) +M3 (energy/distance) +theta1 (degrees) +theta2 (degrees) +theta3 (degrees) :ul + +The theta values are specified in degrees, but LAMMPS converts them to +radians internally; hence the units of M are in energy/radian^2. + +[Restrictions:] + +Improper styles can only be set for atom styles that allow impropers to be +defined. + +This improper style is part of the "class2" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"improper_coeff"_improper_coeff.html + +[Default:] none diff --git a/doc/improper_style_cvff.html b/doc/improper_style_cvff.html new file mode 100644 index 0000000000..9dc1762170 --- /dev/null +++ b/doc/improper_style_cvff.html @@ -0,0 +1,55 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      improper_style cvff command +

      +

      Syntax: +

      +
      improper_style cvff 
      +
      +

      Examples: +

      +
      improper_style cvff
      +improper_coeff 1 80.0 -1 4 
      +
      +

      Description: +

      +

      The cvff improper style uses the potential +

      +
      +
      +

      where phi is the Wilson out-of-plane angle. +

      +

      The following coefficients must be defined for each improper type via the +improper_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy) +
      • d (+1 or -1) +
      • n (0,1,2,3,4,6) +
      +

      Restrictions: +

      +

      Improper styles can only be set for atom styles that allow impropers to be +defined. +

      +

      This improper style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      improper_coeff +

      +

      Default: none +

      + diff --git a/doc/improper_style_cvff.txt b/doc/improper_style_cvff.txt new file mode 100644 index 0000000000..98b08502b6 --- /dev/null +++ b/doc/improper_style_cvff.txt @@ -0,0 +1,50 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +improper_style cvff command :h3 + +[Syntax:] + +improper_style cvff :pre + +[Examples:] + +improper_style cvff +improper_coeff 1 80.0 -1 4 :pre + +[Description:] + +The {cvff} improper style uses the potential + +:c,image(Eqs/improper_cvff.jpg) + +where phi is the Wilson out-of-plane angle. + +The following coefficients must be defined for each improper type via the +"improper_coeff"_improper_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy) +d (+1 or -1) +n (0,1,2,3,4,6) :ul + +[Restrictions:] + +Improper styles can only be set for atom styles that allow impropers to be +defined. + +This improper style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"improper_coeff"_improper_coeff.html + +[Default:] none diff --git a/doc/improper_style_harmonic.html b/doc/improper_style_harmonic.html new file mode 100644 index 0000000000..683a31601f --- /dev/null +++ b/doc/improper_style_harmonic.html @@ -0,0 +1,58 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      improper_style harmonic command +

      +

      Syntax: +

      +
      improper_style harmonic 
      +
      +

      Examples: +

      +
      improper_style harmonic
      +improper_coeff 1 100.0 0 
      +
      +

      Description: +

      +

      The harmonic improper style uses the potential +

      +
      +
      +

      where X is the improper angle, X0 is its equilibrium value, and K is a +prefactor. Note that the usual 1/2 factor is included in K. +

      +

      The following coefficients must be defined for each improper type via the +improper_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

      +
      • K (energy/radian^2) +
      • X0 (degrees) +
      +

      X0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

      +

      Restrictions: +

      +

      Improper styles can only be set for atom styles that allow impropers to be +defined. +

      +

      This improper style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      improper_coeff +

      +

      Default: none +

      + diff --git a/doc/improper_style_harmonic.txt b/doc/improper_style_harmonic.txt new file mode 100644 index 0000000000..c32fff67dc --- /dev/null +++ b/doc/improper_style_harmonic.txt @@ -0,0 +1,53 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +improper_style harmonic command :h3 + +[Syntax:] + +improper_style harmonic :pre + +[Examples:] + +improper_style harmonic +improper_coeff 1 100.0 0 :pre + +[Description:] + +The {harmonic} improper style uses the potential + +:c,image(Eqs/improper_harmonic.jpg) + +where X is the improper angle, X0 is its equilibrium value, and K is a +prefactor. Note that the usual 1/2 factor is included in K. + +The following coefficients must be defined for each improper type via the +"improper_coeff"_improper_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands: + +K (energy/radian^2) +X0 (degrees) :ul + +X0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. + +[Restrictions:] + +Improper styles can only be set for atom styles that allow impropers to be +defined. + +This improper style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"improper_coeff"_improper_coeff.html + +[Default:] none diff --git a/doc/improper_style_hybrid.html b/doc/improper_style_hybrid.html new file mode 100644 index 0000000000..51987990ba --- /dev/null +++ b/doc/improper_style_hybrid.html @@ -0,0 +1,59 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      improper_style hybrid command +

      +

      Syntax: +

      +
      improper_style hybrid style1 style2 ... 
      +
      +
      • style1,style2 = list of one or more improper styles +
      +

      Examples: +

      +
      improper_style hybrid harmonic helix
      +improper_coeff 1 harmonic 120.0 30
      +improper_coeff 2 cvff 20.0 -1 2 
      +
      +

      Description: +

      +

      The hybrid style enables the use of multiple improper styles in one +simulation. An improper style is assigned to each improper type. For +example, impropers in a polymer flow (of improper type 1) could be +computed with a harmonic potential and impropers in the wall +boundary (of improper type 2) could be computed with a cvff +potential. The assignment of improper type to style is made via the +improper_coeff command or in the data file. +

      +

      In the improper_coeff command, the first coefficient sets the improper +style and the remaining coefficients are those appropriate to that +style. In the example above, the 2 improper_coeff commands would set +impropers of improper type 1 to be computed with a harmonic +potential with coefficients 120.0, 30 for K, X0. Improper type 2 +would be computed with a cvff potential with coefficients 20.0, -1, +2 for K, d, n. +

      +

      Restrictions: +

      +

      Improper styles can only be set for atom styles that allow impropers to be +defined. +

      +

      This improper style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      improper_coeff +

      +

      Default: none +

      + diff --git a/doc/improper_style_hybrid.txt b/doc/improper_style_hybrid.txt new file mode 100644 index 0000000000..8d84147428 --- /dev/null +++ b/doc/improper_style_hybrid.txt @@ -0,0 +1,54 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +improper_style hybrid command :h3 + +[Syntax:] + +improper_style hybrid style1 style2 ... :pre + +style1,style2 = list of one or more improper styles :ul + +[Examples:] + +improper_style hybrid harmonic helix +improper_coeff 1 harmonic 120.0 30 +improper_coeff 2 cvff 20.0 -1 2 :pre + +[Description:] + +The {hybrid} style enables the use of multiple improper styles in one +simulation. An improper style is assigned to each improper type. For +example, impropers in a polymer flow (of improper type 1) could be +computed with a {harmonic} potential and impropers in the wall +boundary (of improper type 2) could be computed with a {cvff} +potential. The assignment of improper type to style is made via the +"improper_coeff"_improper_coeff.html command or in the data file. + +In the improper_coeff command, the first coefficient sets the improper +style and the remaining coefficients are those appropriate to that +style. In the example above, the 2 improper_coeff commands would set +impropers of improper type 1 to be computed with a {harmonic} +potential with coefficients 120.0, 30 for K, X0. Improper type 2 +would be computed with a {cvff} potential with coefficients 20.0, -1, +2 for K, d, n. + +[Restrictions:] + +Improper styles can only be set for atom styles that allow impropers to be +defined. + +This improper style is part of the "molecular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"improper_coeff"_improper_coeff.html + +[Default:] none diff --git a/doc/improper_style_none.html b/doc/improper_style_none.html new file mode 100644 index 0000000000..f1afc52f61 --- /dev/null +++ b/doc/improper_style_none.html @@ -0,0 +1,37 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      improper_style none command +

      +

      Syntax: +

      +
      improper_style none 
      +
      +

      Examples: +

      +
      improper_style none 
      +
      +

      Description: +

      +

      Using an improper style of none means improper forces are not +computed, even if quadruplets of improper atoms were listed in the +data file read by the read_data command. +

      +

      Restrictions: +

      +

      Improper styles can only be set for atom styles that allow impropers +to be defined. +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/improper_style_none.txt b/doc/improper_style_none.txt new file mode 100644 index 0000000000..5b8ced32ac --- /dev/null +++ b/doc/improper_style_none.txt @@ -0,0 +1,32 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +improper_style none command :h3 + +[Syntax:] + +improper_style none :pre + +[Examples:] + +improper_style none :pre + +[Description:] + +Using an improper style of none means improper forces are not +computed, even if quadruplets of improper atoms were listed in the +data file read by the "read_data"_read_data.html command. + +[Restrictions:] + +Improper styles can only be set for atom styles that allow impropers +to be defined. + +[Related commands:] none + +[Default:] none diff --git a/doc/include.html b/doc/include.html new file mode 100644 index 0000000000..f7ba914eac --- /dev/null +++ b/doc/include.html @@ -0,0 +1,45 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      include command +

      +

      Syntax: +

      +
      include file 
      +
      +
      • file = filename of new input script to switch to +
      +

      Examples: +

      +
      include newfile
      +include in.run2 
      +
      +

      Description: +

      +

      This command opens a new input script file and begins reading LAMMPS +commands from that file. When the new file is finished, the original +file is returned to. Include files can be nested as deeply as +desired. If input script A includes script B, and B includes A, then +LAMMPS could run for a long time. +

      +

      If the filename is a variable (see the variable +command), different processor partitions can run different input +scripts. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      variable, jump +

      +

      Default: none +

      + diff --git a/doc/include.txt b/doc/include.txt new file mode 100644 index 0000000000..95d08db352 --- /dev/null +++ b/doc/include.txt @@ -0,0 +1,40 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +include command :h3 + +[Syntax:] + +include file :pre + +file = filename of new input script to switch to :ul + +[Examples:] + +include newfile +include in.run2 :pre + +[Description:] + +This command opens a new input script file and begins reading LAMMPS +commands from that file. When the new file is finished, the original +file is returned to. Include files can be nested as deeply as +desired. If input script A includes script B, and B includes A, then +LAMMPS could run for a long time. + +If the filename is a variable (see the "variable"_variable.html +command), different processor partitions can run different input +scripts. + +[Restrictions:] none + +[Related commands:] + +"variable"_variable.html, "jump"_jump.html + +[Default:] none diff --git a/doc/jump.html b/doc/jump.html new file mode 100644 index 0000000000..f7a11ec664 --- /dev/null +++ b/doc/jump.html @@ -0,0 +1,76 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      jump command +

      +

      Syntax: +

      +
      jump file label 
      +
      +
      • file = filename of new input script to switch to +
      • label = optional label within file to jump to +
      +

      Examples: +

      +
      jump newfile
      +jump in.run2 runloop 
      +
      +

      Description: +

      +

      This command closes the current input script file, opens the file with +the specified name, and begins reading LAMMPS commands from that file. +The original file is not returned to, although by using multiple jump +commands it is possible to chain from file to file or back to the +original file. +

      +

      Optionally, if a 2nd argument is used, it is treated as a label and +the new file is scanned (without executing commands) until the label +is found, and commands are executed from that point forward. This can +be used to loop over a portion of the input script, as in this +example. These commands perform 10 runs, each of 10000 steps, and +create 10 dump files named file.1, file.2, etc. The next +command is used to exit the loop after 10 iterations. When the "a" +variable has been incremented for the 10th time, it will cause the +next jump command to be skipped. +

      +
      variable a loop 10
      +label loop
      +dump 1 all atom 100 file.$a
      +run 10000
      +undump 1
      +next a
      +jump in.lj loop 
      +
      +

      If the jump file argument is a variable, the jump command can be +used to cause different processor partitions to run different input +scripts. In this example, LAMMPS is run on 40 processors, with 4 +partions of 10 procs each. An in.file containing the example variable +and jump command will cause each partition to run a different +simulation. +

      +
      mpirun -np 40 lmp_ibm -partition 4x10 -in in.file 
      +
      +
      variable f world script.1 script.2 script.3 script.4
      +jump $f 
      +
      +

      Restrictions: +

      +

      If you jump to a file and it does not contain the specified label, +LAMMPS will come to the end of the file and exit. +

      +

      Related commands: +

      +

      variable, include, label, +next +

      +

      Default: none +

      + diff --git a/doc/jump.txt b/doc/jump.txt new file mode 100644 index 0000000000..981b6685bc --- /dev/null +++ b/doc/jump.txt @@ -0,0 +1,71 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +jump command :h3 + +[Syntax:] + +jump file label :pre + +file = filename of new input script to switch to +label = optional label within file to jump to :ul + +[Examples:] + +jump newfile +jump in.run2 runloop :pre + +[Description:] + +This command closes the current input script file, opens the file with +the specified name, and begins reading LAMMPS commands from that file. +The original file is not returned to, although by using multiple jump +commands it is possible to chain from file to file or back to the +original file. + +Optionally, if a 2nd argument is used, it is treated as a label and +the new file is scanned (without executing commands) until the label +is found, and commands are executed from that point forward. This can +be used to loop over a portion of the input script, as in this +example. These commands perform 10 runs, each of 10000 steps, and +create 10 dump files named file.1, file.2, etc. The "next"_next.html +command is used to exit the loop after 10 iterations. When the "a" +variable has been incremented for the 10th time, it will cause the +next jump command to be skipped. + +variable a loop 10 +label loop +dump 1 all atom 100 file.$a +run 10000 +undump 1 +next a +jump in.lj loop :pre + +If the jump {file} argument is a variable, the jump command can be +used to cause different processor partitions to run different input +scripts. In this example, LAMMPS is run on 40 processors, with 4 +partions of 10 procs each. An in.file containing the example variable +and jump command will cause each partition to run a different +simulation. + +mpirun -np 40 lmp_ibm -partition 4x10 -in in.file :pre + +variable f world script.1 script.2 script.3 script.4 +jump $f :pre + +[Restrictions:] + +If you jump to a file and it does not contain the specified label, +LAMMPS will come to the end of the file and exit. + +[Related commands:] + +"variable"_variable.html, "include"_include.html, "label"_label.html, +"next"_next.html + +[Default:] none diff --git a/doc/kspace_modify.html b/doc/kspace_modify.html new file mode 100644 index 0000000000..71d2c54176 --- /dev/null +++ b/doc/kspace_modify.html @@ -0,0 +1,89 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      kspace_modify command +

      +

      Syntax: +

      +
      kspace_modify keyword value ... 
      +
      +
      • one or more keyword/value pairs may be listed + +
      • keyword = mesh or order or gewald or slab + +
          mesh value = x y z
        +    x,y,z = PPPM FFT grid size in each dimension
        +  order value = N
        +    N = grid extent of Gaussian for PPPM mapping of each charge
        +  gewald value = r
        +    r = PPPM G-ewald parameter
        +  slab value = volfactor
        +    volfactor = ratio of the total extended volume used in the
        +      2d approximation compared with the volume of the simulation domain 
        +
        + +
      +

      Examples: +

      +
      kspace_modify mesh 24 24 30 order 6
      +kspace_modify slab 3.0 
      +
      +

      Description: +

      +

      Set parameters used by the kspace solvers defined by the +kspace_style command. Not all parameters are +relevant to all kspace styles. +

      +

      The mesh keyword sets the 3d FFT grid size for kspace style pppm. +Each dimension must be factorizable into powers of 2, 3, and 5. When +this option is not set, the PPPM solver chooses its own grid size, +consistent with the user-specified accuracy and pairwise cutoff. +Values for x,y,z of 0,0,0 unset the option. +

      +

      The order keyword determines how many grid spacings an atom's charge +extends when it is mapped to the FFT grid in kspace style pppm. The +default for this parameter is 5, which means each charge spans 5 grid +cells in each dimension. +

      +

      The gewald keyword sets the value of the PPPM G-ewald parameter. +Without this setting, LAMMPS chooses the parameter automatically as a +function of cutoff, precision, grid spacing, etc. This means it can +vary from one simulation to the next which may not be desirable for +matching a KSpace solver to a pre-tabulated pairwise potential. This +setting can also be useful if PPPM fails to choose a good grid spacing +and G-ewald parameter automatically. If the value is set to 0.0, +LAMMPS will choose the G-ewald parameter automatically. +

      +

      The slab keyword allows an Ewald or PPPM solver to be used for a +systems that are periodic in x,y but non-periodic in z - a +boundary setting of "boundary p p f". This is done by +treating the system as if it were periodic in z, but inserting empty +volume between atom slabs and removing dipole inter-slab interactions +so that slab-slab interactions are effectively turned off. The +volfactor value sets the ratio of the extended dimension in z divided +by the actual dimension in z. The recommended value is 3.0. A larger +value is inefficient; a smaller value introduces unwanted slab-slab +interactions. The use of fixed boundaries in z means that the user +must prevent particle migration beyond the initial z-bounds, typically +by providing a wall-style fix. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      kspace_style, boundary +

      +

      Default: +

      +

      The option defaults are mesh = 0 0 0, order = 5, gewald = 0.0, and +slab = 1.0. +

      + diff --git a/doc/kspace_modify.txt b/doc/kspace_modify.txt new file mode 100644 index 0000000000..e5a29cc5af --- /dev/null +++ b/doc/kspace_modify.txt @@ -0,0 +1,81 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +kspace_modify command :h3 + +[Syntax:] + +kspace_modify keyword value ... :pre + +one or more keyword/value pairs may be listed :ulb,l +keyword = {mesh} or {order} or {gewald} or {slab} :l + {mesh} value = x y z + x,y,z = PPPM FFT grid size in each dimension + {order} value = N + N = grid extent of Gaussian for PPPM mapping of each charge + {gewald} value = r + r = PPPM G-ewald parameter + {slab} value = volfactor + volfactor = ratio of the total extended volume used in the + 2d approximation compared with the volume of the simulation domain :pre +:ule + +[Examples:] + +kspace_modify mesh 24 24 30 order 6 +kspace_modify slab 3.0 :pre + +[Description:] + +Set parameters used by the kspace solvers defined by the +"kspace_style"_kspace_style.html command. Not all parameters are +relevant to all kspace styles. + +The {mesh} keyword sets the 3d FFT grid size for kspace style pppm. +Each dimension must be factorizable into powers of 2, 3, and 5. When +this option is not set, the PPPM solver chooses its own grid size, +consistent with the user-specified accuracy and pairwise cutoff. +Values for x,y,z of 0,0,0 unset the option. + +The {order} keyword determines how many grid spacings an atom's charge +extends when it is mapped to the FFT grid in kspace style pppm. The +default for this parameter is 5, which means each charge spans 5 grid +cells in each dimension. + +The {gewald} keyword sets the value of the PPPM G-ewald parameter. +Without this setting, LAMMPS chooses the parameter automatically as a +function of cutoff, precision, grid spacing, etc. This means it can +vary from one simulation to the next which may not be desirable for +matching a KSpace solver to a pre-tabulated pairwise potential. This +setting can also be useful if PPPM fails to choose a good grid spacing +and G-ewald parameter automatically. If the value is set to 0.0, +LAMMPS will choose the G-ewald parameter automatically. + +The {slab} keyword allows an Ewald or PPPM solver to be used for a +systems that are periodic in x,y but non-periodic in z - a +"boundary"_boundary.html setting of "boundary p p f". This is done by +treating the system as if it were periodic in z, but inserting empty +volume between atom slabs and removing dipole inter-slab interactions +so that slab-slab interactions are effectively turned off. The +volfactor value sets the ratio of the extended dimension in z divided +by the actual dimension in z. The recommended value is 3.0. A larger +value is inefficient; a smaller value introduces unwanted slab-slab +interactions. The use of fixed boundaries in z means that the user +must prevent particle migration beyond the initial z-bounds, typically +by providing a wall-style fix. + +[Restrictions:] none + +[Related commands:] + +"kspace_style"_kspace_style.html, "boundary"_boundary.html + +[Default:] + +The option defaults are mesh = 0 0 0, order = 5, gewald = 0.0, and +slab = 1.0. diff --git a/doc/kspace_style.html b/doc/kspace_style.html new file mode 100644 index 0000000000..c21e49bdea --- /dev/null +++ b/doc/kspace_style.html @@ -0,0 +1,110 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      kspace_style command +

      +

      Syntax: +

      +
      kspace_style style value 
      +
      +
      • style = none or ewald or pppm + +
          none value = none
        +  ewald value = precision
        +    precision = desired accuracy
        +  pppm value = precision
        +    precision = desired accuracy
        +  pppm/tip4p value = precision
        +    precision = desired accuracy 
        +
        + +
      +

      Examples: +

      +
      kspace_style pppm 1.0e-4
      +kspace_style none 
      +
      +

      Description: +

      +

      Define a K-space solver for LAMMPS to use each timestep to compute +long-range Coulombic interactions. When such a solver is used in +conjunction with an appropriate pair style, the cutoff for Coulombic +interactions is effectively infinite; each charge in the system +interacts with charges in an infinite array of periodic images of the +simulation domain. +

      +

      The ewald style performs a standard Ewald summation as described in +any solid-state physics text. +

      +

      The pppm style invokes a particle-particle particle-mesh solver +(Hockney) which maps atom charge to a 3d mesh, uses 3d FFTs +to solve Poisson's equation on the mesh, then interpolates electric +fields on the mesh points back to the atoms. It is closely related to +the particle-mesh Ewald technique (PME) (Darden) used in +AMBER and CHARMM. The cost of traditional Ewald summation scales as +N^(3/2) where N is the number of atoms in the system. The PPPM solver +scales as Nlog(N) due to the FFTs, so it is almost always a faster +choice (Pollock). +

      +

      The pppm/tip4p style is identical to the pppm style except that it +adds a charge at the massless 4th site in each TIP4P water molecule. +It should be used with pair styles with a +long/tip4p in their style name. +

      +

      When a kspace style is used, a pair style that includes the +short-range correction to the pairwise Coulombic forces must also be +selected. These styles are ones that have a coul/long in their +style name. +

      +

      A precision value of 1.0e-4 means one part in 10000. This setting is +used in conjunction with the pairwise cutoff to determine the number +of K-space vectors for style ewald or the FFT grid size for style +pppm. +

      +

      Restrictions: +

      +

      A simulation must be 3d and periodic in all dimensions to use an Ewald +or PPPM solver. The only exception is if the slab option is set with +kspace_modify, in which case the xy dimensions +must be periodic and the z dimension must be non-periodic. +

      +

      Kspace styles are part of the "kspace" package. They are only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      When using a long-range pairwise TIP4P potential, you must use kspace +style pppm/tip4p and vice versa. +

      +

      Related commands: +

      +

      kspace_modify, pair_style +lj/cut/coul/long, pair_style lj/charmm/coul/long +

      +

      Default: +

      +
      kspace_style none 
      +
      +
      + + + +

      (Darden) Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993). +

      + + +

      (Hockney) Hockney and Eastwood, Computer Simulation Using Particles, +Adam Hilger, NY (1989). +

      + + +

      (Pollock) Pollock and Glosli, Comp Phys Comm, 95, 93 (1996). +

      + diff --git a/doc/kspace_style.txt b/doc/kspace_style.txt new file mode 100644 index 0000000000..3a8bd6d8cd --- /dev/null +++ b/doc/kspace_style.txt @@ -0,0 +1,100 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +kspace_style command :h3 + +[Syntax:] + +kspace_style style value :pre + +style = {none} or {ewald} or {pppm} :ulb,l + {none} value = none + {ewald} value = precision + precision = desired accuracy + {pppm} value = precision + precision = desired accuracy + {pppm/tip4p} value = precision + precision = desired accuracy :pre +:ule + +[Examples:] + +kspace_style pppm 1.0e-4 +kspace_style none :pre + +[Description:] + +Define a K-space solver for LAMMPS to use each timestep to compute +long-range Coulombic interactions. When such a solver is used in +conjunction with an appropriate pair style, the cutoff for Coulombic +interactions is effectively infinite; each charge in the system +interacts with charges in an infinite array of periodic images of the +simulation domain. + +The {ewald} style performs a standard Ewald summation as described in +any solid-state physics text. + +The {pppm} style invokes a particle-particle particle-mesh solver +"(Hockney)"_#Hockney which maps atom charge to a 3d mesh, uses 3d FFTs +to solve Poisson's equation on the mesh, then interpolates electric +fields on the mesh points back to the atoms. It is closely related to +the particle-mesh Ewald technique (PME) "(Darden)"_#Darden used in +AMBER and CHARMM. The cost of traditional Ewald summation scales as +N^(3/2) where N is the number of atoms in the system. The PPPM solver +scales as Nlog(N) due to the FFTs, so it is almost always a faster +choice "(Pollock)"_#Pollock. + +The {pppm/tip4p} style is identical to the {pppm} style except that it +adds a charge at the massless 4th site in each TIP4P water molecule. +It should be used with "pair styles"_pair_style.html with a +{long/tip4p} in their style name. + +When a kspace style is used, a pair style that includes the +short-range correction to the pairwise Coulombic forces must also be +selected. These styles are ones that have a {coul/long} in their +style name. + +A precision value of 1.0e-4 means one part in 10000. This setting is +used in conjunction with the pairwise cutoff to determine the number +of K-space vectors for style {ewald} or the FFT grid size for style +{pppm}. + +[Restrictions:] + +A simulation must be 3d and periodic in all dimensions to use an Ewald +or PPPM solver. The only exception is if the slab option is set with +"kspace_modify"_kspace_modify.html, in which case the xy dimensions +must be periodic and the z dimension must be non-periodic. + +Kspace styles are part of the "kspace" package. They are only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +When using a long-range pairwise TIP4P potential, you must use kspace +style {pppm/tip4p} and vice versa. + +[Related commands:] + +"kspace_modify"_kspace_modify.html, "pair_style"_pair_style.html +lj/cut/coul/long, "pair_style"_pair_style.html lj/charmm/coul/long + +[Default:] + +kspace_style none :pre + +:line + +:link(Darden) +[(Darden)] Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993). + +:link(Hockney) +[(Hockney)] Hockney and Eastwood, Computer Simulation Using Particles, +Adam Hilger, NY (1989). + +:link(Pollock) +[(Pollock)] Pollock and Glosli, Comp Phys Comm, 95, 93 (1996). diff --git a/doc/label.html b/doc/label.html new file mode 100644 index 0000000000..863b441278 --- /dev/null +++ b/doc/label.html @@ -0,0 +1,41 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      label command +

      +

      Syntax: +

      +
      label ID 
      +
      +
      • ID = string used as label name +
      +

      Examples: +

      +
      label xyz
      +label loop 
      +
      +

      Description: +

      +

      Label this line of the input script with the chosen ID. Unless a jump +command was used previously, this does nothing. But if a +jump command was used with a label argument to begin +invoking this script file, then all command lines in the script prior +to this line will be ignored. I.e. execution of the script will begin +at this line. This is useful for looping over a section of the input +script as discussed in the jump commmand. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/label.txt b/doc/label.txt new file mode 100644 index 0000000000..d0da373c63 --- /dev/null +++ b/doc/label.txt @@ -0,0 +1,36 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +label command :h3 + +[Syntax:] + +label ID :pre + +ID = string used as label name :ul + +[Examples:] + +label xyz +label loop :pre + +[Description:] + +Label this line of the input script with the chosen ID. Unless a jump +command was used previously, this does nothing. But if a +"jump"_jump.html command was used with a label argument to begin +invoking this script file, then all command lines in the script prior +to this line will be ignored. I.e. execution of the script will begin +at this line. This is useful for looping over a section of the input +script as discussed in the "jump"_jump.html commmand. + +[Restrictions:] none + +[Related commands:] none + +[Default:] none diff --git a/doc/lattice.html b/doc/lattice.html new file mode 100644 index 0000000000..a3428f01d3 --- /dev/null +++ b/doc/lattice.html @@ -0,0 +1,74 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      lattice command +

      +

      Syntax: +

      +
      lattice style value 
      +
      +
      • style = none or sc or bcc or fcc or sq or sq2 or hex or diamond + +
          none value = none
        +  for all other styles:
        +    value = reduced density (for LJ units)
        +    value = cubic lattice constant in Angstroms (for real or metal units) 
        +
        + +
      +

      Examples: +

      +
      lattice fcc 3.52
      +lattice hex 0.85
      +lattice none 
      +
      +

      Description: +

      +

      Define a lattice type and lattice constant. This is required before +using a commands that (optionally) use the lattice, such as +create_atoms or region. The lattice +type must be consistent with the dimension of the simulation - see the +dimension command. Styles sc or bcc or fcc or +diamond are for 3d problems. Styles sq or sq2 or hex are for +2d problems. Lattices of style fcc, bcc, hex, or diamond are +described in any solid-state physics text. A sc lattice is simple +cubic, with atoms at the corners of a cube. A sq lattice is square +with atoms at the corners of a square. A sq2 lattice is a sq +lattice with an additional atom at the center of the square. +

      +

      For unit style real or metal, the specified value is the cubic +lattice constant in Angstroms. For unit style lj, the value is the +reduced density (rho*) which LAMMPS converts into a cubic lattice +constant. For 3d problems, the relationship "rho* = rho sigma^3" is +used for the conversion, where rho = N/V with V = the volume of the +cubic cell and N = 4 for fcc, 2 for bcc, 1 for sc, and 8 for +diamond lattices. For 2d problems, the relationship "rho* = rho +sigma^2" is used for the conversion, where N = 2 for sq2 or hex +and 1 for sq. In the hex case, the unit cell is actually +rectangular; it is extended by a factor of sqrt(3) in the y-dimension. +

      +

      The command "lattice none" can be used to turn off the lattice +setting. Any command that attempts to use a lattice constant will +then generate an error. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      dimension, orient, +origin, create_atoms, +region +

      +

      Default: +

      +
      lattice none 
      +
      + diff --git a/doc/lattice.txt b/doc/lattice.txt new file mode 100644 index 0000000000..3664927a8b --- /dev/null +++ b/doc/lattice.txt @@ -0,0 +1,67 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +lattice command :h3 + +[Syntax:] + +lattice style value :pre + +style = {none} or {sc} or {bcc} or {fcc} or {sq} or {sq2} or {hex} or {diamond} :ulb,l + {none} value = none + for all other styles: + value = reduced density (for LJ units) + value = cubic lattice constant in Angstroms (for real or metal units) :pre +:ule + +[Examples:] + +lattice fcc 3.52 +lattice hex 0.85 +lattice none :pre + +[Description:] + +Define a lattice type and lattice constant. This is required before +using a commands that (optionally) use the lattice, such as +"create_atoms"_create_atoms.html or "region"_region.html. The lattice +type must be consistent with the dimension of the simulation - see the +"dimension"_dimension.html command. Styles {sc} or {bcc} or {fcc} or +{diamond} are for 3d problems. Styles {sq} or {sq2} or {hex} are for +2d problems. Lattices of style {fcc}, {bcc}, {hex}, or {diamond} are +described in any solid-state physics text. A {sc} lattice is simple +cubic, with atoms at the corners of a cube. A {sq} lattice is square +with atoms at the corners of a square. A {sq2} lattice is a {sq} +lattice with an additional atom at the center of the square. + +For unit style {real} or {metal}, the specified value is the cubic +lattice constant in Angstroms. For unit style {lj}, the value is the +reduced density (rho*) which LAMMPS converts into a cubic lattice +constant. For 3d problems, the relationship "rho* = rho sigma^3" is +used for the conversion, where rho = N/V with V = the volume of the +cubic cell and N = 4 for {fcc}, 2 for {bcc}, 1 for {sc}, and 8 for +{diamond} lattices. For 2d problems, the relationship "rho* = rho +sigma^2" is used for the conversion, where N = 2 for {sq2} or {hex} +and 1 for {sq}. In the hex case, the unit cell is actually +rectangular; it is extended by a factor of sqrt(3) in the y-dimension. + +The command "lattice none" can be used to turn off the lattice +setting. Any command that attempts to use a lattice constant will +then generate an error. + +[Restrictions:] none + +[Related commands:] + +"dimension"_dimension.html, "orient"_orient.html, +"origin"_origin.html, "create_atoms"_create_atoms.html, +"region"_region.html + +[Default:] + +lattice none :pre diff --git a/doc/log.html b/doc/log.html new file mode 100644 index 0000000000..67c81392a9 --- /dev/null +++ b/doc/log.html @@ -0,0 +1,46 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      log command +

      +

      Syntax: +

      +
      log file 
      +
      +
      • file = name of new logfile +
      +

      Examples: +

      +
      log log.equil 
      +
      +

      Description: +

      +

      This command closes the current LAMMPS log file, opens a new file with +the specified name, and begins logging information to it. If the +specified file name is none, then no new log file is opened. +

      +

      If multiple processor partitions are being used, the file name should +be a variable, so that different processors do not attempt to write to +the same log file. +

      +

      The file "log.lammps" is the default log file for a LAMMPS run. The +name of the initial log file can also be set by the command-line +switch -log. See this section for details. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: +

      +

      The default LAMMPS log file is named log.lammps +

      + diff --git a/doc/log.txt b/doc/log.txt new file mode 100644 index 0000000000..49eb868dae --- /dev/null +++ b/doc/log.txt @@ -0,0 +1,41 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +log command :h3 + +[Syntax:] + +log file :pre + +file = name of new logfile :ul + +[Examples:] + +log log.equil :pre + +[Description:] + +This command closes the current LAMMPS log file, opens a new file with +the specified name, and begins logging information to it. If the +specified file name is {none}, then no new log file is opened. + +If multiple processor partitions are being used, the file name should +be a variable, so that different processors do not attempt to write to +the same log file. + +The file "log.lammps" is the default log file for a LAMMPS run. The +name of the initial log file can also be set by the command-line +switch -log. See "this section"_Section_start.html#2_4 for details. + +[Restrictions:] none + +[Related commands:] none + +[Default:] + +The default LAMMPS log file is named log.lammps diff --git a/doc/mass.html b/doc/mass.html new file mode 100644 index 0000000000..5e690495b8 --- /dev/null +++ b/doc/mass.html @@ -0,0 +1,68 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      mass command +

      +

      Syntax: +

      +
      mass I value 
      +
      +
      • I = atom type (see asterik form below) +
      • value = mass +
      +

      Examples: +

      +
      mass 1 1.0
      +mass * 62.5
      +mass 2* 62.5 
      +
      +

      Description: +

      +

      Set the mass for all atoms of one or more atom types. Mass values can +also be set in the read_data data file. See the +units command for what mass units to use. +

      +

      I can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the mass for multiple atom types. This takes the form "*" +or "*n" or "n*" or "m*n". If N = the number of atom types, then an +asterik with no numeric values means all types from 1 to N. A leading +asterik means all types from 1 to n (inclusive). A trailing asterik +means all types from n to N (inclusive). A middle asterik means all +types from m to n (inclusive). +

      +

      A line in a data file that specifies mass uses the exact same format +as the arguments of the mass command in an input script, except that +no wild-card asterik can be used. For example, under the "Masses" +section of a data file, the line that corresponds to the 1st example +above would be listed as +

      +
      1 1.0 
      +
      +

      Restrictions: +

      +

      This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

      +

      All masses must be defined before a simulation is run (if the atom +style requires masses be set). They must also all be defined before a +velocity or fix shake command is +used. +

      +

      Masses are not set for atom style granular. This is because each atom +is assigned an individual mass in the data or restart file. +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/mass.txt b/doc/mass.txt new file mode 100644 index 0000000000..11f830ddc2 --- /dev/null +++ b/doc/mass.txt @@ -0,0 +1,63 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +mass command :h3 + +[Syntax:] + +mass I value :pre + +I = atom type (see asterik form below) +value = mass :ul + +[Examples:] + +mass 1 1.0 +mass * 62.5 +mass 2* 62.5 :pre + +[Description:] + +Set the mass for all atoms of one or more atom types. Mass values can +also be set in the "read_data"_read_data.html data file. See the +"units"_units.html command for what mass units to use. + +I can be specified in one of two ways. An explicit numeric value can +be used, as in the 1st example above. Or a wild-card asterik can be +used to set the mass for multiple atom types. This takes the form "*" +or "*n" or "n*" or "m*n". If N = the number of atom types, then an +asterik with no numeric values means all types from 1 to N. A leading +asterik means all types from 1 to n (inclusive). A trailing asterik +means all types from n to N (inclusive). A middle asterik means all +types from m to n (inclusive). + +A line in a data file that specifies mass uses the exact same format +as the arguments of the mass command in an input script, except that +no wild-card asterik can be used. For example, under the "Masses" +section of a data file, the line that corresponds to the 1st example +above would be listed as + +1 1.0 :pre + +[Restrictions:] + +This command must come after the simulation box is defined by a +"read_data"_read_data.html, "read_restart"_read_restart.html, or +"create_box"_create_box.html command. + +All masses must be defined before a simulation is run (if the atom +style requires masses be set). They must also all be defined before a +"velocity"_velocity.html or "fix shake"_fix_shake.html command is +used. + +Masses are not set for atom style granular. This is because each atom +is assigned an individual mass in the data or restart file. + +[Related commands:] none + +[Default:] none diff --git a/doc/min_modify.html b/doc/min_modify.html new file mode 100644 index 0000000000..8a258fc06d --- /dev/null +++ b/doc/min_modify.html @@ -0,0 +1,74 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      min_modify command +

      +

      Syntax: +

      +
      min_modify keyword values ... 
      +
      +
      • one or more keyword/value pairs may be listed + +
        keyword = linestyle or dmin or dmax or lineiter
        +  linestyle value = secant or scan
        +  dmin value = min
        +    min = minimum distance for line search to move (distance units)
        +  dmax value = max
        +    max = maximum distance for line search to move (distance units)
        +  lineiter value = N
        +    N = max number of iterations in a line search 
        +
        + +
      +

      Examples: +

      +
      min_modify linestyle scan dmin 0.001 dmax 0.2
      +min_modify lineiter 5 
      +
      +

      Description: +

      +

      This command sets parameters that affect the minimization algorithms. +The various settings may effect the convergence rate and overall +number of force evaulations required by a minimization, so users can +experiment with these parameters to tune their minimizations. +

      +

      The linestyle sets the algorithm used for 1d line searches at each +outer iteration of the minimizer. The secant style uses two +successive force/energy evaluations to create a parabola and pick its +minimum as an estimate of the next iteration's 1d minimum. The scan +style starts its 1d search at dmin and doubles the distance along +the line at which the energy is computed until the minimum is passed. +It continues only as far as dmax. Normally, the secant method +should find more accurate 1d minimums in less iterations, but the +scan method can be more robust. +

      +

      The dmin and dmax settings are both used by the scan line search +as described above. For the secant line search, only the dmin +value is used to pick an initial point to begin the secant +approximation. +

      +

      The lineiter setting is used by the secant algorithm to limit its +iterations. The smaller the setting, the more inaccurate the line +search becomes. Nonlinear conjugate gradient is not thought to +require high-accuracy line searches in order to converge efficiently. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      min_style, minimize +

      +

      Default: +

      +

      The option defaults are linestyle = secant, dmin = 1.0e-5, dmax = 0.1, +and lineiter = 10. +

      + diff --git a/doc/min_modify.txt b/doc/min_modify.txt new file mode 100644 index 0000000000..1919a4be1b --- /dev/null +++ b/doc/min_modify.txt @@ -0,0 +1,67 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +min_modify command :h3 + +[Syntax:] + +min_modify keyword values ... :pre + +one or more keyword/value pairs may be listed :ulb,l +keyword = {linestyle} or {dmin} or {dmax} or {lineiter} + {linestyle} value = {secant} or {scan} + {dmin} value = min + min = minimum distance for line search to move (distance units) + {dmax} value = max + max = maximum distance for line search to move (distance units) + {lineiter} value = N + N = max number of iterations in a line search :pre +:ule + +[Examples:] + +min_modify linestyle scan dmin 0.001 dmax 0.2 +min_modify lineiter 5 :pre + +[Description:] + +This command sets parameters that affect the minimization algorithms. +The various settings may effect the convergence rate and overall +number of force evaulations required by a minimization, so users can +experiment with these parameters to tune their minimizations. + +The {linestyle} sets the algorithm used for 1d line searches at each +outer iteration of the minimizer. The {secant} style uses two +successive force/energy evaluations to create a parabola and pick its +minimum as an estimate of the next iteration's 1d minimum. The {scan} +style starts its 1d search at {dmin} and doubles the distance along +the line at which the energy is computed until the minimum is passed. +It continues only as far as {dmax}. Normally, the {secant} method +should find more accurate 1d minimums in less iterations, but the +{scan} method can be more robust. + +The {dmin} and {dmax} settings are both used by the {scan} line search +as described above. For the {secant} line search, only the {dmin} +value is used to pick an initial point to begin the secant +approximation. + +The {lineiter} setting is used by the {secant} algorithm to limit its +iterations. The smaller the setting, the more inaccurate the line +search becomes. Nonlinear conjugate gradient is not thought to +require high-accuracy line searches in order to converge efficiently. + +[Restrictions:] none + +[Related commands:] + +"min_style"_min_style.html, "minimize"_minimize.html + +[Default:] + +The option defaults are linestyle = secant, dmin = 1.0e-5, dmax = 0.1, +and lineiter = 10. diff --git a/doc/min_style.html b/doc/min_style.html new file mode 100644 index 0000000000..c6e0e4ad5c --- /dev/null +++ b/doc/min_style.html @@ -0,0 +1,57 @@ + +
      LAMMPS WWW Page - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      min_style command +

      +

      Syntax: +

      +
      min_style style 
      +
      +
      • style = cg or cg/fr or sd +
      +

      Examples: +

      +
      min_style cg
      +min_style sd 
      +
      +

      Description: +

      +

      Choose a minimization algorithm to use when a minimize +command is performed. +

      +

      Style cg is the Polak-Ribiere (PR) version of the conjugate gradient +(CG) algorithm. At each iteration the force gradient is combined with +the previous iteration information to compute a new search direction +perpendicular (conjugate) to previous search directions. The PR +variant affects how the direction is chosen and how the CG method is +restarted when it ceases to make progress. The PR variant is thought +to be the most effective CG choice. +

      +

      Style cg/fr is the Fletcher-Reeves version of the conjugate gradient +algorithm. +

      +

      Style sd is a steepest descent algorithm. At each iteration, the +downhill direction corresponding to the force vector (negative +gradient of energy) is searched along by a 1d line search. Typically, +steepest descent will not converge as quickly as CG, but may be more +robust in some situations. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      min_modify, minimize +

      +

      Default: +

      +
      min_style cg 
      +
      + diff --git a/doc/min_style.txt b/doc/min_style.txt new file mode 100755 index 0000000000..3b9cfa597b --- /dev/null +++ b/doc/min_style.txt @@ -0,0 +1,51 @@ +"LAMMPS WWW Page"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Chapter_commands.html#comm) +:line + +min_style command :h3 + +[Syntax:] + +min_style style :pre + +style = {cg} or {cg/fr} or {sd} :ul + +[Examples:] + +min_style cg +min_style sd :pre + +[Description:] + +Choose a minimization algorithm to use when a "minimize"_minimize.html +command is performed. + +Style {cg} is the Polak-Ribiere (PR) version of the conjugate gradient +(CG) algorithm. At each iteration the force gradient is combined with +the previous iteration information to compute a new search direction +perpendicular (conjugate) to previous search directions. The PR +variant affects how the direction is chosen and how the CG method is +restarted when it ceases to make progress. The PR variant is thought +to be the most effective CG choice. + +Style {cg/fr} is the Fletcher-Reeves version of the conjugate gradient +algorithm. + +Style {sd} is a steepest descent algorithm. At each iteration, the +downhill direction corresponding to the force vector (negative +gradient of energy) is searched along by a 1d line search. Typically, +steepest descent will not converge as quickly as CG, but may be more +robust in some situations. + +[Restrictions:] none + +[Related commands:] + +"min_modify"_min_modify.html, "minimize"_minimize.html + +[Default:] + +min_style cg :pre diff --git a/doc/minimize.html b/doc/minimize.html new file mode 100644 index 0000000000..3971817938 --- /dev/null +++ b/doc/minimize.html @@ -0,0 +1,100 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      minimize command +

      +

      Syntax: +

      +
      minimize tolerance maxiter maxeval 
      +
      +
      • tolerance = stopping tolerance +
      • maxiter = max iterations of minimizer +
      • maxeval = max number of total force/energy evaluations +
      +

      Examples: +

      +
      minimize 1.0e-4 100 1000 
      +
      +

      Description: +

      +

      Perform an energy minimization of the system, by adjusting each atom's +atomic coordinates. The algorithm used is set by the +min_style command. Minimize commands can be +interspersed with run commands to alternate between +relaxation and dynamics. The minimizers are implemented in a robust +fashion that should allow for systems with highly overlapped atoms +(large energies and forces) to still be minimized by pushing the atoms +off of each other. +

      +

      A minimization involves an outer iteration loop which sets the search +direction along which coordinates are changed. An inner iteration is +then performed using a line search algorithm. The line search +typically evaluates forces and energies several times to set new +coordinates. The minimization stops if any of several criteria are +met: +

      +
      • the change in energy between outer iterations is less than the tolerance +
      • the number of outer iterations exceeds maxiter +
      • the number of force evaluations exceeds maxeval +
      • the 3N dimensional force vector goes (nearly) to zero +
      +

      For the first criterion, the specified tolerance is unitless; it is +met when the ratio of the energy delta to the energy magnitude is +equal to the tolerance (e.g. one part in 10^4 in the example above). +

      +

      During a minimization, the outer iteration count is treated as a +timestep. Output is triggered by this timestep, e.g. thermodynamic +output or dump and restart files. +

      +

      For optimal convergence, a pair style that goes +smoothly to 0.0 at the cutoff distance for both energy and force +should typically be used though this is not required. Examples +include pair/lj/charmm/coul/charmm and pair/lj/charmm/coul/long. +If a soft potential is used the Astop value is used for the +prefactor (no time dependence). +

      +

      Only fixes that apply force constraints are invoked during +minimization. The list of the currently implemented ones include fix +addforce, aveforce, enforce2d, indent, lineforce, +planeforce, setforce, and wall/lj93. Note that indent, +wall/lj93 have an associated potential energy. If you want that +energy to be included in the total potential energy of the system (the +quantity being minimized), you must enable the +fix_modify energy option for that fix. +

      +

      Following the minimization a statistical summary is printed that +includes the energy change and convergence criteria information. +

      +

      Restrictions: +

      +

      Two features that are not yet implemented listed here, in case someone +knows how they could be coded: +

      +

      Two fixes not invoked by a minimization are fix shake +and fix rigid. The effect of a fix shake can be +approximated during a minimization by using stiff spring constants for +the bonds and/or angles that would normally be constrained by the +SHAKE algorithm. +

      +

      The volume of the simulation domain is not allowed to change during a +minimzation. Ideally we would allow a fix such as npt to impose an +external pressure that would be included in the minimization +(i.e. allow the box dimensions to change), but this has not yet been +implemented. +

      +

      Related commands: +

      +

      min_modify, min_style, +run_style +

      +

      Default: none +

      + diff --git a/doc/minimize.txt b/doc/minimize.txt new file mode 100644 index 0000000000..b11da24bd6 --- /dev/null +++ b/doc/minimize.txt @@ -0,0 +1,95 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +minimize command :h3 + +[Syntax:] + +minimize tolerance maxiter maxeval :pre + +tolerance = stopping tolerance +maxiter = max iterations of minimizer +maxeval = max number of total force/energy evaluations :ul + +[Examples:] + +minimize 1.0e-4 100 1000 :pre + +[Description:] + +Perform an energy minimization of the system, by adjusting each atom's +atomic coordinates. The algorithm used is set by the +"min_style"_min_style.html command. Minimize commands can be +interspersed with "run"_run.html commands to alternate between +relaxation and dynamics. The minimizers are implemented in a robust +fashion that should allow for systems with highly overlapped atoms +(large energies and forces) to still be minimized by pushing the atoms +off of each other. + +A minimization involves an outer iteration loop which sets the search +direction along which coordinates are changed. An inner iteration is +then performed using a line search algorithm. The line search +typically evaluates forces and energies several times to set new +coordinates. The minimization stops if any of several criteria are +met: + +the change in energy between outer iterations is less than the tolerance +the number of outer iterations exceeds maxiter +the number of force evaluations exceeds maxeval +the 3N dimensional force vector goes (nearly) to zero :ul + +For the first criterion, the specified tolerance is unitless; it is +met when the ratio of the energy delta to the energy magnitude is +equal to the tolerance (e.g. one part in 10^4 in the example above). + +During a minimization, the outer iteration count is treated as a +timestep. Output is triggered by this timestep, e.g. thermodynamic +output or dump and restart files. + +For optimal convergence, a "pair style"_pair_style.html that goes +smoothly to 0.0 at the cutoff distance for both energy and force +should typically be used though this is not required. Examples +include {pair/lj/charmm/coul/charmm} and {pair/lj/charmm/coul/long}. +If a {soft} potential is used the Astop value is used for the +prefactor (no time dependence). + +Only fixes that apply force constraints are invoked during +minimization. The list of the currently implemented ones include fix +{addforce}, {aveforce}, {enforce2d}, {indent}, {lineforce}, +{planeforce}, {setforce}, and {wall/lj93}. Note that {indent}, +{wall/lj93} have an associated potential energy. If you want that +energy to be included in the total potential energy of the system (the +quantity being minimized), you must enable the +"fix_modify"_fix_modify.html {energy} option for that fix. + +Following the minimization a statistical summary is printed that +includes the energy change and convergence criteria information. + +[Restrictions:] + +Two features that are not yet implemented listed here, in case someone +knows how they could be coded: + +Two fixes not invoked by a minimization are "fix shake"_fix_shake.html +and "fix rigid"_fix_rigid.html. The effect of a fix shake can be +approximated during a minimization by using stiff spring constants for +the bonds and/or angles that would normally be constrained by the +SHAKE algorithm. + +The volume of the simulation domain is not allowed to change during a +minimzation. Ideally we would allow a fix such as {npt} to impose an +external pressure that would be included in the minimization +(i.e. allow the box dimensions to change), but this has not yet been +implemented. + +[Related commands:] + +"min_modify"_min_modify.html, "min_style"_min_style.html, +"run_style"_run_style.html + +[Default:] none diff --git a/doc/neigh_modify.html b/doc/neigh_modify.html new file mode 100644 index 0000000000..0ad7842e57 --- /dev/null +++ b/doc/neigh_modify.html @@ -0,0 +1,132 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      neigh_modify command +

      +

      Syntax: +

      +
      neigh_modify keyword values ... 
      +
      +
      • one or more keyword/value pairs may be listed + +
        keyword = delay or every or check or exclude or page or one
        +  delay value = N
        +    N = delay building until this many steps since last build
        +  every value = M
        +    M = build neighbor list every this many steps
        +  check value = yes or no
        +    yes = only build if some atom has moved half the skin distance or more
        +    no = always build on 1st step that every and delay are satisfied
        +  exclude values:
        +    type M N
        +      M,N = exclude if one atom in pair is type M, other is type N
        +    group group1-ID group2-ID
        +      group1-ID,group2-ID = exclude if one atom is in 1st group, other in 2nd
        +    molecule group-ID
        +      groupname = exclude if both atoms are in the same molecule and in the same group
        +    none
        +      delete all exclude settings
        +  page value = N
        +    N = number of pairs stored in a single neighbor page
        +  one value = N
        +    N = max number of neighbors of one atom 
        +
        + +
      +

      Examples: +

      +
      neigh_modify every 2 delay 10 check yes page 100000
      +neigh_modify exclude type 2 3
      +neigh_modify exclude group frozen frozen check no
      +neigh_modify exclude group residue1 chain3
      +neigh_modify exclude molecule rigid 
      +
      +

      Description: +

      +

      This command sets parameters that affect the pairwise neighbor list. +

      +

      The every, delay, and check options affect how often the list is +built as a simulation runs. The delay setting means never build a +new list until at least N steps after the previous build. The every +setting means build the list every M steps (after the delay has +passed). If the check setting is no, the list is built on the 1st +step that satisfies the delay and every settings. If the check +setting is yes, then the list is only built on a particular step if +some atom has moved more than half the skin distance (specified in the +neighbor command) since the last build. +

      +

      When the rRESPA integrator is used (see the run_style +command), the every and delay parameters refer to the longest +(outermost) timestep. +

      +

      The exclude option turns off pairwise interactions between certain +pairs of atoms, by not including them in the neighbor list. These are +sample scenarios where this is useful: +

      +
      • In crack simulations, pairwise interactions can be shut off between 2 +slabs of atoms to effectively create a crack. + +
      • When a large collection of atoms is treated as frozen, interactions +between those atoms can be turned off to save needless +computation. E.g. Using the fix setforce command +to freeze a wall or portion of a bio-molecule. + +
      • When one or more rigid bodies are specified, interactions within each +body can be turned off to save needless computation. See the fix +rigid command for more details. +
      +

      The exclude type option turns off the pairwise interaction if one +atom is of type M and the other of type N. M can equal N. The +exclude group option turns off the interaction if one atom is in the +first group and the other is the second. Group1-ID can equal +group2-ID. The exclude molecule option turns off the interaction if +both atoms are in the specified group and in the same molecule, as +determined by their molecule ID. +

      +

      Each of the exclude options can be specified multiple times. The +exclude type option is the most efficient option to use; it requries +only a single check, no matter how many times it has been specified. +The other exclude options are more expensive if specified multiple +times; they require one check for each time they have been specified. +

      +

      Note that the exclude options only affect pairwise interactions; see +the delete_bonds command for information on +turning off bond interactions. +

      +

      The page and one options affect how memory is allocated for the +neighbor lists. For most simulations the default settings for these +options are fine, but if a very large problem is being run or a very +long cutoff is being used, these parameters can be tuned. The indices +of neighboring atoms are stored in "pages", which are allocated one +after another as they fill up. The size of each page is set by the +page value. A new page is allocated when the next atom's neighbors +could potentially overflow the list. This threshhold is set by the +one value which tells LAMMPS the maximum number of neighbor's one +atom can have. +

      +

      Restrictions: +

      +

      If the "delay" setting is non-zero, then it must be a multiple of the +"every" setting. +

      +

      The exclude molecule option can only be used with atom styles that +define molecule IDs. +

      +

      Related commands: +

      +

      neighbor, delete_bonds +

      +

      Default: +

      +

      The option defaults are delay = 10, every = 1, check = yes, exclude = +none, page = 10000, and one = 2000. +

      + diff --git a/doc/neigh_modify.txt b/doc/neigh_modify.txt new file mode 100644 index 0000000000..2198abee63 --- /dev/null +++ b/doc/neigh_modify.txt @@ -0,0 +1,125 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +neigh_modify command :h3 + +[Syntax:] + +neigh_modify keyword values ... :pre + +one or more keyword/value pairs may be listed :ulb,l +keyword = {delay} or {every} or {check} or {exclude} or {page} or {one} + {delay} value = N + N = delay building until this many steps since last build + {every} value = M + M = build neighbor list every this many steps + {check} value = {yes} or {no} + {yes} = only build if some atom has moved half the skin distance or more + {no} = always build on 1st step that {every} and {delay} are satisfied + {exclude} values: + type M N + M,N = exclude if one atom in pair is type M, other is type N + group group1-ID group2-ID + group1-ID,group2-ID = exclude if one atom is in 1st group, other in 2nd + molecule group-ID + groupname = exclude if both atoms are in the same molecule and in the same group + none + delete all exclude settings + {page} value = N + N = number of pairs stored in a single neighbor page + {one} value = N + N = max number of neighbors of one atom :pre +:ule + +[Examples:] + +neigh_modify every 2 delay 10 check yes page 100000 +neigh_modify exclude type 2 3 +neigh_modify exclude group frozen frozen check no +neigh_modify exclude group residue1 chain3 +neigh_modify exclude molecule rigid :pre + +[Description:] + +This command sets parameters that affect the pairwise neighbor list. + +The {every}, {delay}, and {check} options affect how often the list is +built as a simulation runs. The {delay} setting means never build a +new list until at least N steps after the previous build. The {every} +setting means build the list every M steps (after the delay has +passed). If the {check} setting is {no}, the list is built on the 1st +step that satisfies the {delay} and {every} settings. If the {check} +setting is {yes}, then the list is only built on a particular step if +some atom has moved more than half the skin distance (specified in the +"neighbor"_neighbor.html command) since the last build. + +When the rRESPA integrator is used (see the "run_style"_run_style.html +command), the {every} and {delay} parameters refer to the longest +(outermost) timestep. + +The {exclude} option turns off pairwise interactions between certain +pairs of atoms, by not including them in the neighbor list. These are +sample scenarios where this is useful: + +In crack simulations, pairwise interactions can be shut off between 2 +slabs of atoms to effectively create a crack. :ulb,l + +When a large collection of atoms is treated as frozen, interactions +between those atoms can be turned off to save needless +computation. E.g. Using the "fix setforce"_fix_setforce.html command +to freeze a wall or portion of a bio-molecule. :l + +When one or more rigid bodies are specified, interactions within each +body can be turned off to save needless computation. See the "fix +rigid"_fix_rigid.html command for more details. :l,ule + +The {exclude type} option turns off the pairwise interaction if one +atom is of type M and the other of type N. M can equal N. The +{exclude group} option turns off the interaction if one atom is in the +first group and the other is the second. Group1-ID can equal +group2-ID. The {exclude molecule} option turns off the interaction if +both atoms are in the specified group and in the same molecule, as +determined by their molecule ID. + +Each of the exclude options can be specified multiple times. The +{exclude type} option is the most efficient option to use; it requries +only a single check, no matter how many times it has been specified. +The other exclude options are more expensive if specified multiple +times; they require one check for each time they have been specified. + +Note that the exclude options only affect pairwise interactions; see +the "delete_bonds"_delete_bonds.html command for information on +turning off bond interactions. + +The {page} and {one} options affect how memory is allocated for the +neighbor lists. For most simulations the default settings for these +options are fine, but if a very large problem is being run or a very +long cutoff is being used, these parameters can be tuned. The indices +of neighboring atoms are stored in "pages", which are allocated one +after another as they fill up. The size of each page is set by the +{page} value. A new page is allocated when the next atom's neighbors +could potentially overflow the list. This threshhold is set by the +{one} value which tells LAMMPS the maximum number of neighbor's one +atom can have. + +[Restrictions:] + +If the "delay" setting is non-zero, then it must be a multiple of the +"every" setting. + +The exclude molecule option can only be used with atom styles that +define molecule IDs. + +[Related commands:] + +"neighbor"_neighbor.html, "delete_bonds"_delete_bonds.html + +[Default:] + +The option defaults are delay = 10, every = 1, check = yes, exclude = +none, page = 10000, and one = 2000. diff --git a/doc/neighbor.html b/doc/neighbor.html new file mode 100644 index 0000000000..78b14e3ce8 --- /dev/null +++ b/doc/neighbor.html @@ -0,0 +1,65 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      neighbor command +

      +

      Syntax: +

      +
      neighbor skin style 
      +
      +
      • skin = extra distance beyond force cutoff (distance units) +
      • style = bin or nsq +
      +

      Examples: +

      +
      neighbor 0.3 bin
      +neighbor 2.0 nsq 
      +
      +

      Description: +

      +

      This command sets parameters that affect the building of the pairwise +neighbor list. All atom pairs within a cutoff distance equal to the +their force cutoff plus the skin distance are stored in the list. +Typically, the larger the skin distance, the less often neighbor lists +need to be built, but more pairs must be checked for possible force +interactions every timestep. +

      +

      The style value chooses what algorithm is used to build the list. +Binning is an operation that scales linearly with N, the number of +atoms on a processor. It is almost always faster than the nsq style +which scales as N^2. For unsolvated small molecules in a non-periodic +box, the nsq choice can sometimes be faster. Either style should +give the same answers. +

      +

      The default values for skin and style depend on the choice of +units for the simulation. +

      +

      The neigh_modify command has additional options +that control how often neighbor lists are built and which pairs are +stored in the list. +

      +

      When a run is finished, counts of the number of neighbors stored in +the pairwise list and the number of times neighbor lists were built +are printed to the screen and log file. See this +section for details. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      neigh_modify, units +

      +

      Default: +

      +
      0.3 bin      for lj units
      +2.0 bin      for real or metal units 
      +
      + diff --git a/doc/neighbor.txt b/doc/neighbor.txt new file mode 100644 index 0000000000..2c790813a5 --- /dev/null +++ b/doc/neighbor.txt @@ -0,0 +1,60 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +neighbor command :h3 + +[Syntax:] + +neighbor skin style :pre + +skin = extra distance beyond force cutoff (distance units) +style = {bin} or {nsq} :ul + +[Examples:] + +neighbor 0.3 bin +neighbor 2.0 nsq :pre + +[Description: ] + +This command sets parameters that affect the building of the pairwise +neighbor list. All atom pairs within a cutoff distance equal to the +their force cutoff plus the {skin} distance are stored in the list. +Typically, the larger the skin distance, the less often neighbor lists +need to be built, but more pairs must be checked for possible force +interactions every timestep. + +The {style} value chooses what algorithm is used to build the list. +{Binning} is an operation that scales linearly with N, the number of +atoms on a processor. It is almost always faster than the {nsq} style +which scales as N^2. For unsolvated small molecules in a non-periodic +box, the {nsq} choice can sometimes be faster. Either style should +give the same answers. + +The default values for {skin} and {style} depend on the choice of +units for the simulation. + +The "neigh_modify"_neigh_modify.html command has additional options +that control how often neighbor lists are built and which pairs are +stored in the list. + +When a run is finished, counts of the number of neighbors stored in +the pairwise list and the number of times neighbor lists were built +are printed to the screen and log file. See "this +section"_Section_start.html#2_5 for details. + +[Restrictions:] none + +[Related commands:] + +"neigh_modify"_neigh_modify.html, "units"_units.html + +[Default:] + +0.3 bin for lj units +2.0 bin for real or metal units :pre diff --git a/doc/newton.html b/doc/newton.html new file mode 100644 index 0000000000..94e20608e6 --- /dev/null +++ b/doc/newton.html @@ -0,0 +1,67 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      newton command +

      +

      Syntax: +

      +
      newton flag
      +newton flag1 flag2 
      +
      +
      • flag = on or off for both pairwise and bonded interactions +
      • flag1 = on or off for pairwise interactions +
      • flag2 = on or off for bonded interactions +
      +

      Examples: +

      +
      newton off
      +newton on off 
      +
      +

      Description: +

      +

      This command turns Newton's 3rd law on or off for pairwise and +bonded interactions. For most problems, setting Newton's 3rd law to +on means a modest savings in computation at the cost of two times +more communication. Whether this is faster depends on problem size, +force cutoff lengths, a machine's compute/communication ratio, and how +many processors are being used. +

      +

      Setting the pairwise newton flag to off means that if two +interacting atoms are on different processors, both processors compute +their interaction and the resulting force information is not +communicated. Similarly, for bonded interactions, newton off means +that if a bond, angle, dihedral, or improper interaction contains +atoms on 2 or more processors, the interaction is computed by each +processor. +

      +

      LAMMPS should produce the same answers for any newton flag settings, +except for round-off issues. +

      +

      With run_style respa and only bonded interactions +(bond, angle, etc) computed in the innermost timestep, it may be +faster to turn newton off for bonded interactions, to avoid extra +communication in the innermost loop. +

      +

      Restrictions: +

      +

      The newton bond setting cannot be changed after the simulation box is +defined by a read_data or +create_box command. +

      +

      Related commands: +

      +

      run_style respa +

      +

      Default: +

      +
      newton on 
      +
      + diff --git a/doc/newton.txt b/doc/newton.txt new file mode 100644 index 0000000000..a3e7f4fa91 --- /dev/null +++ b/doc/newton.txt @@ -0,0 +1,62 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +newton command :h3 + +[Syntax:] + +newton flag +newton flag1 flag2 :pre + +flag = {on} or {off} for both pairwise and bonded interactions +flag1 = {on} or {off} for pairwise interactions +flag2 = {on} or {off} for bonded interactions :ul + +[Examples:] + +newton off +newton on off :pre + +[Description:] + +This command turns Newton's 3rd law {on} or {off} for pairwise and +bonded interactions. For most problems, setting Newton's 3rd law to +{on} means a modest savings in computation at the cost of two times +more communication. Whether this is faster depends on problem size, +force cutoff lengths, a machine's compute/communication ratio, and how +many processors are being used. + +Setting the pairwise newton flag to {off} means that if two +interacting atoms are on different processors, both processors compute +their interaction and the resulting force information is not +communicated. Similarly, for bonded interactions, newton {off} means +that if a bond, angle, dihedral, or improper interaction contains +atoms on 2 or more processors, the interaction is computed by each +processor. + +LAMMPS should produce the same answers for any newton flag settings, +except for round-off issues. + +With "run_style"_run_style.html {respa} and only bonded interactions +(bond, angle, etc) computed in the innermost timestep, it may be +faster to turn newton {off} for bonded interactions, to avoid extra +communication in the innermost loop. + +[Restrictions:] + +The newton bond setting cannot be changed after the simulation box is +defined by a "read_data"_read_data.html or +"create_box"_create_box.html command. + +[Related commands:] + +"run_style"_run_style.html respa + +[Default:] + +newton on :pre diff --git a/doc/next.html b/doc/next.html new file mode 100644 index 0000000000..3dd5f42b01 --- /dev/null +++ b/doc/next.html @@ -0,0 +1,99 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      next command +

      +

      Syntax: +

      +
      next variables 
      +
      +
      • variables = one or more lower-case single-character variable names +
      +

      Examples: +

      +
      next x
      +next a t x 
      +
      +

      Description: +

      +

      This command is used with variables defined by the +variable command. It assigns the next value to the +variable from the variable's list, so that when $X is subsequently +substituted for in an input script command, the new value is used. X +is a single lower-case character from "a" to "z". +

      +

      All variables in a single next command must be the same style: +index, loop, or universe. Equal- or world-style variables +cannot be incremented by a next command. +

      +

      When any of the variables in the next command has no more values, a +flag is set that causes the input script to skip the next +jump command encountered. This enables a loop containing +a next command to exit. +

      +

      When the next command is used with index- or loop-style variables, +the next value is assigned to the variable for all processors. When +the next command is used with universe-style variables, the next +value is assigned to whichever processor partition executes the +command first. All processors in the partition are assigned the same +value. Running LAMMPS on multiple partitions of processors via the +"-partition" command-line switch is described in this +section of the manual. Universe-style +variables are incremented using the files "tmp.lammps.variable" and +"tmp.lammps.variable.lock" which you will see in your directory during +such a LAMMPS run. +

      +

      Here is an example of running a series of simulations using the next +command with an index-style variable. If this input script is named +in.polymer, 8 simulations would be run using data files from +directories run1 thru run8. +

      +
      variable d index run1 run2 run3 run4 run5 run6 run7 run8
      +shell cd $d
      +read_data data.polymer
      +run 10000
      +shell cd ..
      +clear
      +next d
      +jump in.polymer 
      +
      +

      If the variable "d" were of style universe, and the same in.polymer +input script were run on 3 partitions of processors, then the first 3 +simulations would begin, one on each set of processors. Whichever +partition finished first, it would assign variable "d" the 4th value +and run another simulation, and so forth until all 8 simulations were +finished. +

      +

      Jump and next commands can also be nested to enable multi-level loops. +For example, this script will run 15 simulations in a double loop. +

      +

      variable i loop 3 +variable j loop 5 +clear +... +read_data data.polymer.$i$j +print Running simulation $i.$j +run 10000 +next j +jump in.script +next i +jump in.script +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      jump, include, shell, +variable, +

      +

      Default: none +

      + diff --git a/doc/next.txt b/doc/next.txt new file mode 100644 index 0000000000..f12801f9de --- /dev/null +++ b/doc/next.txt @@ -0,0 +1,94 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +next command :h3 + +[Syntax:] + +next variables :pre + +variables = one or more lower-case single-character variable names :ul + +[Examples:] + +next x +next a t x :pre + +[Description:] + +This command is used with variables defined by the +"variable"_variable.html command. It assigns the next value to the +variable from the variable's list, so that when $X is subsequently +substituted for in an input script command, the new value is used. X +is a single lower-case character from "a" to "z". + +All variables in a single next command must be the same style: +{index}, {loop}, or {universe}. {Equal}- or {world}-style variables +cannot be incremented by a next command. + +When any of the variables in the next command has no more values, a +flag is set that causes the input script to skip the next +"jump"_jump.html command encountered. This enables a loop containing +a next command to exit. + +When the next command is used with {index}- or {loop}-style variables, +the next value is assigned to the variable for all processors. When +the next command is used with {universe}-style variables, the next +value is assigned to whichever processor partition executes the +command first. All processors in the partition are assigned the same +value. Running LAMMPS on multiple partitions of processors via the +"-partition" command-line switch is described in "this +section"_Section_start.html#2_4 of the manual. {Universe}-style +variables are incremented using the files "tmp.lammps.variable" and +"tmp.lammps.variable.lock" which you will see in your directory during +such a LAMMPS run. + +Here is an example of running a series of simulations using the next +command with an {index}-style variable. If this input script is named +in.polymer, 8 simulations would be run using data files from +directories run1 thru run8. + +variable d index run1 run2 run3 run4 run5 run6 run7 run8 +shell cd $d +read_data data.polymer +run 10000 +shell cd .. +clear +next d +jump in.polymer :pre + +If the variable "d" were of style {universe}, and the same in.polymer +input script were run on 3 partitions of processors, then the first 3 +simulations would begin, one on each set of processors. Whichever +partition finished first, it would assign variable "d" the 4th value +and run another simulation, and so forth until all 8 simulations were +finished. + +Jump and next commands can also be nested to enable multi-level loops. +For example, this script will run 15 simulations in a double loop. + +variable i loop 3 +variable j loop 5 +clear +... +read_data data.polymer.$i$j +print Running simulation $i.$j +run 10000 +next j +jump in.script +next i +jump in.script + +[Restrictions:] none + +[Related commands:] + +"jump"_jump.html, "include"_include.html, "shell"_shell.html, +"variable"_variable.html, + +[Default:] none diff --git a/doc/orient.html b/doc/orient.html new file mode 100644 index 0000000000..19f864ad7d --- /dev/null +++ b/doc/orient.html @@ -0,0 +1,51 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      orient command +

      +

      Syntax: +

      +
      orient dim i j k 
      +
      +
      • dim = x or y or z +
      • i,j,k = orientation of lattice that is along box direction dim +
      +

      Examples: +

      +
      orient x 1 1 0
      +orient y -1 1 0
      +orient z 0 0 1 
      +
      +

      Description: +

      +

      Specify the orientation of a cubic lattice along simulation box +directions x or y or z. These 3 basis vectors are used when the +create_atoms command generates a lattice of atoms. +

      +

      The 3 basis vectors B1, B2, B3 must be mutually orthogonal and form a +right-handed system such that B1 cross B2 is in the direction of B3. +

      +

      The basis vectors should be specified in an irreducible form (smallest +possible integers), though LAMMPS does not check for this. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      origin, create_atoms +

      +

      Default: +

      +
      orient x 1 0 0
      +orient y 0 1 0
      +orient z 0 0 1 
      +
      + diff --git a/doc/orient.txt b/doc/orient.txt new file mode 100644 index 0000000000..553c2e9a1c --- /dev/null +++ b/doc/orient.txt @@ -0,0 +1,46 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +orient command :h3 + +[Syntax:] + +orient dim i j k :pre + +dim = {x} or {y} or {z} +i,j,k = orientation of lattice that is along box direction dim :ul + +[Examples:] + +orient x 1 1 0 +orient y -1 1 0 +orient z 0 0 1 :pre + +[Description:] + +Specify the orientation of a cubic lattice along simulation box +directions {x} or {y} or {z}. These 3 basis vectors are used when the +"create_atoms"_create_atoms.html command generates a lattice of atoms. + +The 3 basis vectors B1, B2, B3 must be mutually orthogonal and form a +right-handed system such that B1 cross B2 is in the direction of B3. + +The basis vectors should be specified in an irreducible form (smallest +possible integers), though LAMMPS does not check for this. + +[Restrictions:] none + +[Related commands:] + +"origin"_origin.html, "create_atoms"_create_atoms.html + +[Default:] + +orient x 1 0 0 +orient y 0 1 0 +orient z 0 0 1 :pre diff --git a/doc/origin.html b/doc/origin.html new file mode 100644 index 0000000000..9394e74e09 --- /dev/null +++ b/doc/origin.html @@ -0,0 +1,46 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      origin command +

      +

      Syntax: +

      +
      origin x y z 
      +
      +
      • x,y,z = origin of a lattice +
      +

      Examples: +

      +
      origin 0.0 0.5 0.5 
      +
      +

      Description: +

      +

      Set the origin of the lattice defined by the lattice +command. The lattice is used by the create_atoms +command to create new atoms and by other commands that use a lattice +spacing as a distance measure. This command offsets the origin of the +lattice from the (0,0,0) coordinate of the simulation box by some +fraction of a lattice spacing in each dimension. +

      +

      The specified values are in lattice coordinates from 0.0 to 1.0, so +that a value of 0.5 means the lattice is displaced 1/2 a cubic cell. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      lattice, orient +

      +

      Default: +

      +
      origin 0 0 0 
      +
      + diff --git a/doc/origin.txt b/doc/origin.txt new file mode 100644 index 0000000000..3209a59c88 --- /dev/null +++ b/doc/origin.txt @@ -0,0 +1,44 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +origin command :h3 + +[Syntax:] + +origin x y z :pre + +x,y,z = origin of a lattice :ul + +[Examples:] + +origin 0.0 0.5 0.5 :pre + +[Description:] + +Set the origin of the lattice defined by the "lattice"_lattice.html +command. The lattice is used by the "create_atoms"_create_atoms.html +command to create new atoms and by other commands that use a lattice +spacing as a distance measure. This command offsets the origin of the +lattice from the (0,0,0) coordinate of the simulation box by some +fraction of a lattice spacing in each dimension. + +The specified values are in lattice coordinates from 0.0 to 1.0, so +that a value of 0.5 means the lattice is displaced 1/2 a cubic cell. + +[Restrictions:] none + +Related commands:] + +"lattice"_lattice.html, "orient"_orient.html + +[Default:] + +origin 0 0 0 :pre + + + diff --git a/doc/pair_coeff.html b/doc/pair_coeff.html new file mode 100644 index 0000000000..d0b35201d8 --- /dev/null +++ b/doc/pair_coeff.html @@ -0,0 +1,134 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_coeff command +

      +

      Syntax: +

      +
      pair_coeff I J args 
      +
      +
      • I,J = atom types (see asterik form below) +
      • args = coefficients for one or more pairs of atom types +
      +

      Examples: +

      +
      pair_coeff 1 2 1.0 1.0 2.5
      +pair_coeff 2 * 1.0 1.0
      +pair_coeff 3* 1*2 1.0 1.0 2.5
      +pair_coeff * * 1.0 1.0
      +pair_coeff * * nialhjea 1 1 2
      +pair_coeff * 3 morse.table ENTRY1
      +pair_coeff 1 2 lj/cut 1.0 1.0 2.5 (for pair_style hybrid) 
      +
      +

      Description: +

      +

      Specify the pairwise force field coefficients for one or more pairs of +atom types. The number and meaning of the coefficients depends on the +pair style. Pair coefficients can also be set in the data file read +by the read_data command or in a restart file. +

      +

      I and J can be specified in one of two ways. Explicit numeric values +can be used for each, as in the 1st example above. I <= J is +required. LAMMPS sets the coefficients for the symmetric J,I +interaction to the same values. +

      +

      A wild-card asterik can be used in place of in conjunction with the +I,J arguments to set the coefficients for multiple pairs of atom +types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the +number of atom types, then an asterik with no numeric values means all +types from 1 to N. A leading asterik means all types from 1 to n +(inclusive). A trailing asterik means all types from n to N +(inclusive). A middle asterik means all types from m to n +(inclusive). Note that only type pairs with I <= J are considered; if +asteriks imply type pairs where J < I, they are ignored. +

      +

      Note that a pair_coeff command can override a previous setting for the +same I,J pair. For example, these commands set the coeffs for all I,J +pairs, then overwrite the coeffs for just the I,J = 2,3 pair: +

      +
      pair_coeff * * 1.0 1.0 2.5
      +pair_coeff 2 3 2.0 1.0 1.12 
      +
      +

      A line in a data file that specifies pair coefficients uses the exact +same format as the arguments of the pair_coeff command in an input +script, with the exception of the I,J type arguments. In each line of +the "Pair Coeffs" section of a data file, only a single type I is +specified, which sets the coefficients for type I interacting with +type I. This is because the section has exactly N lines, where N = +the number of atom types. For this reason, the wild-card asterik +should also not be used as part of the I argument. Thus in a data +file, the line corresponding to the 1st example above would be listed +as +

      +
      2 1.0 1.0 2.5 
      +
      +

      If coefficients for type pairs with I not equal J are not set +explicity by a pair_coeff command, they are inferred from the I,I and +J,J settings by mixing rules; see the pair_modify +command for a discussion. Exceptions to the mixing rules of the +pair_modify command are discussed with the individual pair styles. +

      +
      + +

      Here is an alphabetic list of pair styles defined in LAMMPS. Click on +the style to display the formula it computes, arguments specified in +the pair_style command, and coefficients specified by the associated +pair_coeff command: +

      + + +
      + +

      Restrictions: +

      +

      This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

      +

      Related commands: +

      +

      pair_style, pair_modify, +read_data, read_restart, +pair_write +

      +

      Default: none +

      + diff --git a/doc/pair_coeff.txt b/doc/pair_coeff.txt new file mode 100644 index 0000000000..e1d887068e --- /dev/null +++ b/doc/pair_coeff.txt @@ -0,0 +1,129 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_coeff command :h3 + +[Syntax:] + +pair_coeff I J args :pre + +I,J = atom types (see asterik form below) +args = coefficients for one or more pairs of atom types :ul + +[Examples:] + +pair_coeff 1 2 1.0 1.0 2.5 +pair_coeff 2 * 1.0 1.0 +pair_coeff 3* 1*2 1.0 1.0 2.5 +pair_coeff * * 1.0 1.0 +pair_coeff * * nialhjea 1 1 2 +pair_coeff * 3 morse.table ENTRY1 +pair_coeff 1 2 lj/cut 1.0 1.0 2.5 (for pair_style hybrid) :pre + +[Description:] + +Specify the pairwise force field coefficients for one or more pairs of +atom types. The number and meaning of the coefficients depends on the +pair style. Pair coefficients can also be set in the data file read +by the "read_data"_read_data.html command or in a restart file. + +I and J can be specified in one of two ways. Explicit numeric values +can be used for each, as in the 1st example above. I <= J is +required. LAMMPS sets the coefficients for the symmetric J,I +interaction to the same values. + +A wild-card asterik can be used in place of in conjunction with the +I,J arguments to set the coefficients for multiple pairs of atom +types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the +number of atom types, then an asterik with no numeric values means all +types from 1 to N. A leading asterik means all types from 1 to n +(inclusive). A trailing asterik means all types from n to N +(inclusive). A middle asterik means all types from m to n +(inclusive). Note that only type pairs with I <= J are considered; if +asteriks imply type pairs where J < I, they are ignored. + +Note that a pair_coeff command can override a previous setting for the +same I,J pair. For example, these commands set the coeffs for all I,J +pairs, then overwrite the coeffs for just the I,J = 2,3 pair: + +pair_coeff * * 1.0 1.0 2.5 +pair_coeff 2 3 2.0 1.0 1.12 :pre + +A line in a data file that specifies pair coefficients uses the exact +same format as the arguments of the pair_coeff command in an input +script, with the exception of the I,J type arguments. In each line of +the "Pair Coeffs" section of a data file, only a single type I is +specified, which sets the coefficients for type I interacting with +type I. This is because the section has exactly N lines, where N = +the number of atom types. For this reason, the wild-card asterik +should also not be used as part of the I argument. Thus in a data +file, the line corresponding to the 1st example above would be listed +as + +2 1.0 1.0 2.5 :pre + +If coefficients for type pairs with I not equal J are not set +explicity by a pair_coeff command, they are inferred from the I,I and +J,J settings by mixing rules; see the "pair_modify"_pair_modify.html +command for a discussion. Exceptions to the mixing rules of the +pair_modify command are discussed with the individual pair styles. + +:line + +Here is an alphabetic list of pair styles defined in LAMMPS. Click on +the style to display the formula it computes, arguments specified in +the pair_style command, and coefficients specified by the associated +"pair_coeff"_pair_coeff.html command: + +"pair_style none"_pair_style_none.html - turn off pairwise interactions +"pair_style hybrid"_pair_style_hybrid.html - define multiple styles of pairwise interactions :ul + +"pair_style buck"_pair_style_buck.html - Buckingham potential +"pair_style buck/coul/cut"_pair_style_buck.html - Buckinhham with cutoff Coulomb +"pair_style buck/coul/long"_pair_style_buck.html - Buckingham with long-range Coulomb +"pair_style dipole/cut"_pair_style_dipole.html - cutoff dipole and charge interactions +"pair_style dpd"_pair_style_dpd.html - dissipative particle dynamics (DPD) +"pair_style eam"_pair_style_eam.html - embedded atom method (EAM) +"pair_style eam/alloy"_pair_style_eam.html - alloy EAM +"pair_style eam/fs"_pair_style_eam.html - Finnis-Sinclair EAM +"pair_style gran/hertzian"_pair_style_granular.html - granular potential with Hertizain interactions +"pair_style gran/history"_pair_style_granular.html - granular potential with history effects +"pair_style gran/no_history"_pair_style_granular.html - granular potential without history effects +"pair_style lj/charmm/coul/charmm"_pair_style_charmm.html - CHARMM potential with cutoff Coulomb +"pair_style lj/charmm/coul/charmm/implicit"_pair_style_charmm.html - CHARMM for implicit solvent +"pair_style lj/charmm/coul/long"_pair_style_charmm.html - CHARMM with long-range Coulomb +"pair_style lj/class2"_pair_style_class2.html - COMPASS (class 2) force field with no Coulomb +"pair_style lj/class2/coul/cut"_pair_style_class2.html - COMPASS with cutoff Coulomb +"pair_style lj/class2/coul/long"_pair_style_class2.html - COMPASS with long-range Coulomb +"pair_style lj/cut"_pair_style_lj.html - cutoff Lennard-Jones potential with no Coulomb +"pair_style lj/cut/coul/cut"_pair_style_lj.html - LJ with cutoff Coulomb +"pair_style lj/cut/coul/debye"_pair_style_lj.html - LJ with Debye damping added to Coulomb +"pair_style lj/cut/coul/long"_pair_style_lj.html - LJ with long-range Coulomb +"pair_style lj/cut/coul/long/tip4p"_pair_style_lj.html - LJ with long-range Coulomb for TIP4P water +"pair_style lj/expand"_pair_style_lj_expand.html - Lennard-Jones for variable size particles +"pair_style lj/smooth"_pair_style_lj_smooth.html - smoothed Lennard-Jones potential +"pair_style morse"_pair_style_morse.html - Morse potential +"pair_style soft"_pair_style_soft.html - Soft (cosine) potential +"pair_style table"_pair_style_table.html - tabulated pair potential +"pair_style yukawa"_pair_style_yukawa.html - Yukawa potential :ul + +:line + +[Restrictions:] + +This command must come after the simulation box is defined by a +"read_data"_read_data.html, "read_restart"_read_restart.html, or +"create_box"_create_box.html command. + +[Related commands:] + +"pair_style"_pair_style.html, "pair_modify"_pair_modify.html, +"read_data"_read_data.html, "read_restart"_read_restart.html, +"pair_write"_pair_write.html + +[Default:] none diff --git a/doc/pair_modify.html b/doc/pair_modify.html new file mode 100644 index 0000000000..fe40e0e791 --- /dev/null +++ b/doc/pair_modify.html @@ -0,0 +1,180 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_modify command +

      +

      Syntax: +

      +
      pair_modify keyword value ... 
      +
      +
      • one or more keyword/value pairs may be listed + +
      • keyword = shift or mix or table or tabinner or tail + +
          shift value = yes or no
        +  mix value = geometric or arithmetic or sixthpower
        +  table value = N
        +    2^N = # of values in table
        +  tabinner value = cutoff
        +    cutoff = inner cutoff at which to begin table (distance units)
        +  tail value = yes or no 
        +
        + +
      +

      Examples: +

      +
      pair_modify shift yes mix geometric
      +pair_modify tail yes
      +pair_modify table 12 
      +
      +

      Description: +

      +

      Modify the parameters of the currently defined pair style. Not all +parameters are relevant to all pair styles. +

      +

      The shift keyword determines whether the Lennard-Jones potential is +shifted at its cutoff to 0.0. If so, this adds an energy term to each +pairwise interaction which will be printed in the thermodynamic +output, but does not affect atom dynamics (forces). Pair styles that +are already 0.0 at their cutoff such as lj/charmm/coul/charmm are +not affected by this setting. +

      +

      The mix keyword affects how Lennard-Jones coefficients for epsilon +and sigma are generated for interactions between atoms of type I and +J, when I != J. (I = J coefficients are set explicitly in the data +file or input script.) The pair_coeff command can +be used in the input script to specify epilon/sigma for a specific I,J +pairing, which overrides the setting of the mix keyword. In each +case, the LJ cutoff is mixed the same way as sigma. +

      +

      These are the formulas used by the 3 mix options: +

      +

      geometric +

      +
      epsilon_ij = sqrt(epsilon_i * epsilon_j)
      +sigma_ij = sqrt(sigma_i * sigma_j) 
      +
      +

      arithmetic +

      +
      epsilon_ij = sqrt(epsilon_i * epsilon_j)
      +sigma_ij = (sigma_i + sigma_j) / 2 
      +
      +

      sixthpower +

      +
      epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
      +             (sigma_i^6 + sigma_j^6)
      +sigma_ij=  ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) 
      +
      +

      Style soft only uses a pre-factor coefficient, which is always mixed +geometrically, regardless of the mix setting. The charmm styles +are always mixed arithmetically, regardless of the mix setting. The +class2 styles are always mixed as a sixthpower, regardless of the +mix setting, except that the cutoff is mixed according to the mix +setting. Style lj/expand always mixes its delta coefficient using +the rule +

      +
      delta_ij = (delta_i + delta_j) / 2 
      +
      +

      The table keyword applies to pair styles with a long-range Coulombic +term (lj/cut/coul/long and lj/charmm/coul/long). If N is non-zero, a +table of length 2^N is pre-computed for forces and energies, which can +shrink their computational cost by up to a factor of 2. The table is +indexed via a bit-mapping technique (Wolff) and a linear +interpolation is performed between adjacent table values. In our +experiments with different table styles (lookup, linear, spline), this +method typically gave the best performance in terms of speed and +accuracy. +

      +

      The choice of table length is a tradeoff in accuracy versus speed. A +larger N yields more accurate force computations, but requires more +memory which can slow down the computation due to cache misses. A +reasonable value of N is between 8 and 16. The default value of 12 +(table of length 4096) gives approximately the same accuracy as the +no-table (N = 0) option. For N = 0, forces and energies are computed +directly, using a polynomial fit for the needed erfc() function +evaluation, which is what earlier versions of LAMMPS did. Values +greater than 16 typically slow down the simulation and will not +improve accuracy; values from 1 to 8 give unreliable results. +

      +

      The tabinner keyword sets an inner cutoff above which the pairwise +computation is done by table lookup (if tables are invoked). The +smaller this value is set, the less accurate the table becomes (for a +given number of table values), which can require use of larger tables. +The default cutoff value is sqrt(2.0) distance units which means +nearly all pairwise interactions are computed via table lookup for +simulations with "real" units, but some close pairs may be computed +directly (non-table) for simulations with "lj" units. +

      +

      When the tail keyword is set to yes, long-range VanderWaals tail +"corrections" are added to the energy and pressure. These are +included in the calculation and printing of thermodynamic quantities +(see the thermo_style command). Their effect will +also be included in constant NPT or NPH simulations where the pressure +influences the simulation box dimensions (see the fix +npt and fix nph commands). +

      +

      The tail keyword is only supported by pair_style +pairwise potentials which include Lennard-Jones interactions which are +cutoff at a non-zero energy. This does not include the LJ CHARMM +potentials or lj/smooth since they go to zero at the cutoff. The +formulas used for the long-range corrections come from equation 5 of +(Sun). +

      +

      Several assumptions are inherent in using tail corrections, including +the following: +

      +
      • The simulated system is a 3d bulk homogeneous liquid. This option +should not be used for systems that are non-liquid, 2d, have a slab +geometry (only 2d periodic), or inhomogeneous. + +
      • G(r), the radial distribution function (rdf), is unity beyond the +cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for an +LJ fluid), and it is probably a good idea to verify this assumption by +checking the rdf. The rdf is not exactly unity beyond the cutoff for +each pair of interaction types, so the tail correction is necessarily +an approximation. + +
      • Thermophysical properties obtained from calculations with this option +enabled will not be thermodynamically consistent with the truncated +force-field that was used. In other words, atoms do not feel any LJ +pair interactions beyond the cutoff, but the energy and pressure +reported by the simulation include an estimated contribution from +those interactions. +
      +

      Restrictions: none +

      +

      You cannot use shift yes with tail yes, since those are +conflicting options. +

      +

      You cannot use tail yes with 2d simulations. +

      +

      Related commands: +

      +

      pair_style, pair_coeff, +thermo_style +

      +

      Default: +

      +

      The option defaults are shift = no, mix = arithmetic (for lj/charmm +pair styles), mix = geometric (for other pair styles), table = 12, +and tabinner = sqrt(2.0), tail = no. +

      +
      + + + +

      (Wolff) Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). +

      + + +

      (Sun) Sun, J Phys Chem B, 102, 7338-7364 (1998). +

      + diff --git a/doc/pair_modify.txt b/doc/pair_modify.txt new file mode 100644 index 0000000000..0b49c76a5b --- /dev/null +++ b/doc/pair_modify.txt @@ -0,0 +1,170 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_modify command :h3 + +[Syntax:] + +pair_modify keyword value ... :pre + +one or more keyword/value pairs may be listed :ulb,l +keyword = {shift} or {mix} or {table} or {tabinner} or {tail} :l + {shift} value = {yes} or {no} + {mix} value = {geometric} or {arithmetic} or {sixthpower} + {table} value = N + 2^N = # of values in table + {tabinner} value = cutoff + cutoff = inner cutoff at which to begin table (distance units) + {tail} value = {yes} or {no} :pre +:ule + +[Examples:] + +pair_modify shift yes mix geometric +pair_modify tail yes +pair_modify table 12 :pre + +[Description:] + +Modify the parameters of the currently defined pair style. Not all +parameters are relevant to all pair styles. + +The {shift} keyword determines whether the Lennard-Jones potential is +shifted at its cutoff to 0.0. If so, this adds an energy term to each +pairwise interaction which will be printed in the thermodynamic +output, but does not affect atom dynamics (forces). Pair styles that +are already 0.0 at their cutoff such as {lj/charmm/coul/charmm} are +not affected by this setting. + +The {mix} keyword affects how Lennard-Jones coefficients for epsilon +and sigma are generated for interactions between atoms of type I and +J, when I != J. (I = J coefficients are set explicitly in the data +file or input script.) The "pair_coeff"_pair_coeff.html command can +be used in the input script to specify epilon/sigma for a specific I,J +pairing, which overrides the setting of the {mix} keyword. In each +case, the LJ cutoff is mixed the same way as sigma. + +These are the formulas used by the 3 {mix} options: + +{geometric} + +epsilon_ij = sqrt(epsilon_i * epsilon_j) +sigma_ij = sqrt(sigma_i * sigma_j) :pre + +{arithmetic} + +epsilon_ij = sqrt(epsilon_i * epsilon_j) +sigma_ij = (sigma_i + sigma_j) / 2 :pre + +{sixthpower} + +epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) / + (sigma_i^6 + sigma_j^6) +sigma_ij= ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) :pre + +Style {soft} only uses a pre-factor coefficient, which is always mixed +geometrically, regardless of the {mix} setting. The {charmm} styles +are always mixed arithmetically, regardless of the {mix} setting. The +{class2} styles are always mixed as a sixthpower, regardless of the +{mix} setting, except that the cutoff is mixed according to the mix +setting. Style {lj/expand} always mixes its delta coefficient using +the rule + +delta_ij = (delta_i + delta_j) / 2 :pre + +The {table} keyword applies to pair styles with a long-range Coulombic +term (lj/cut/coul/long and lj/charmm/coul/long). If N is non-zero, a +table of length 2^N is pre-computed for forces and energies, which can +shrink their computational cost by up to a factor of 2. The table is +indexed via a bit-mapping technique "(Wolff)"_#Wolff and a linear +interpolation is performed between adjacent table values. In our +experiments with different table styles (lookup, linear, spline), this +method typically gave the best performance in terms of speed and +accuracy. + +The choice of table length is a tradeoff in accuracy versus speed. A +larger N yields more accurate force computations, but requires more +memory which can slow down the computation due to cache misses. A +reasonable value of N is between 8 and 16. The default value of 12 +(table of length 4096) gives approximately the same accuracy as the +no-table (N = 0) option. For N = 0, forces and energies are computed +directly, using a polynomial fit for the needed erfc() function +evaluation, which is what earlier versions of LAMMPS did. Values +greater than 16 typically slow down the simulation and will not +improve accuracy; values from 1 to 8 give unreliable results. + +The {tabinner} keyword sets an inner cutoff above which the pairwise +computation is done by table lookup (if tables are invoked). The +smaller this value is set, the less accurate the table becomes (for a +given number of table values), which can require use of larger tables. +The default cutoff value is sqrt(2.0) distance units which means +nearly all pairwise interactions are computed via table lookup for +simulations with "real" units, but some close pairs may be computed +directly (non-table) for simulations with "lj" units. + +When the {tail} keyword is set to {yes}, long-range VanderWaals tail +"corrections" are added to the energy and pressure. These are +included in the calculation and printing of thermodynamic quantities +(see the "thermo_style"_thermo_style.html command). Their effect will +also be included in constant NPT or NPH simulations where the pressure +influences the simulation box dimensions (see the "fix +npt"_fix_npt.html and "fix nph"_fix_nph.html commands). + +The {tail} keyword is only supported by "pair_style"_pair_style.html +pairwise potentials which include Lennard-Jones interactions which are +cutoff at a non-zero energy. This does not include the LJ CHARMM +potentials or {lj/smooth} since they go to zero at the cutoff. The +formulas used for the long-range corrections come from equation 5 of +"(Sun)"_#Sun. + +Several assumptions are inherent in using tail corrections, including +the following: + +The simulated system is a 3d bulk homogeneous liquid. This option +should not be used for systems that are non-liquid, 2d, have a slab +geometry (only 2d periodic), or inhomogeneous. :ulb,l + +G(r), the radial distribution function (rdf), is unity beyond the +cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for an +LJ fluid), and it is probably a good idea to verify this assumption by +checking the rdf. The rdf is not exactly unity beyond the cutoff for +each pair of interaction types, so the tail correction is necessarily +an approximation. :l + +Thermophysical properties obtained from calculations with this option +enabled will not be thermodynamically consistent with the truncated +force-field that was used. In other words, atoms do not feel any LJ +pair interactions beyond the cutoff, but the energy and pressure +reported by the simulation include an estimated contribution from +those interactions. :l,ule + +[Restrictions:] none + +You cannot use {shift} yes with {tail} yes, since those are +conflicting options. + +You cannot use {tail} yes with 2d simulations. + +[Related commands:] + +"pair_style"_pair_style.html, "pair_coeff"_pair_coeff.html, +"thermo_style"_thermo_style.html + +[Default:] + +The option defaults are shift = no, mix = arithmetic (for lj/charmm +pair styles), mix = geometric (for other pair styles), table = 12, +and tabinner = sqrt(2.0), tail = no. + +:line + +:link(Wolff) +[(Wolff)] Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). + +:link(Sun) +[(Sun)] Sun, J Phys Chem B, 102, 7338-7364 (1998). diff --git a/doc/pair_style.html b/doc/pair_style.html new file mode 100644 index 0000000000..31506fb9c0 --- /dev/null +++ b/doc/pair_style.html @@ -0,0 +1,153 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style command +

      +

      Syntax: +

      +
      pair_style style args 
      +
      +
      • style = one of the following + +
        • none +
        • hybrid +
        • buck or buck/coul/cut or buck/coul/long +
        • dipole/cut or dipole/long +
        • dpd +
        • eam or eam/alloy or eam/fs +
        • gran/hertzian or gran/history or gran/no_history +
        • lj/charmm/coul/charmm or lj/charmm/coul/charmm/implicit or lj/charmm/coul/long +
        • lj/class2 or lj/class2/coul/cut or lj/class2/coul/long +
        • lj/cut or lj/cut/coul/cut or lj/cut/coul/debye or lj/cut/coul/long or lj/cut/coul/long/tip4p +
        • lj/expand +
        • lj/smooth +
        • morse +
        • soft +
        • table +
        • yukawa +
        +
      • args = arguments used by a particular style +
      +

      Examples: +

      +
      pair_style lj/cut 2.5
      +pair_style eam/alloy
      +pair_style hybrid lj/charmm/coul/long 10.0 eam
      +pair_style table linear 1000
      +pair_style none 
      +
      +

      Description: +

      +

      Set the formula(s) LAMMPS uses to compute pairwise interactions. In +LAMMPS, pair potentials are defined between pairs of atoms that are +within a cutoff distance and the set of active interactions typically +changes over time. See the bond_style command to +define potentials between pairs of bonded atoms, which typically +remain in place for the duration of a simulation. +

      +

      In LAMMPS, pairwise force fields encompass a variety of interactions, +some of which include many-body effects, e.g. EAM, Stillinger-Weber, +Tersoff, REBO potentials. They are still classed as "pairwise" +potential because a neighbor list is used to find nearby interacting +atoms. +

      +

      Hybrid models where specified pairs of atom types interact via +different pair potentials can be setup using the hybrid pair style. +

      +

      The coefficients associated with a pair style are typically set for +each pair of atom types, and are specified by the +pair_coeff command or read from a file by the +read_data or read_restart +commands. Mixing, shifting, and tail corrections for the potentials +is discussed is the documentation for the +pair_modify command. +

      +

      In the formulas listed for each pair style, E is the energy of a +pairwise interaction between two atoms separated by a distance r. +The force between the atoms is the negative derivative of this +expression. +

      +

      If the pair_style command has a cutoff argument, it sets global +cutoffs for all pairs of atom types. The distance(s) can be smaller +or larger than the dimensions of the simulation box. +

      +

      Typically, the global cutoff value can be overridden for a specific +pair of atom types by the pair_coeff command. The +pair style settings (including global cutoffs) can be changed by a +subsequent pair_style command using the same style. This will reset +the cutoffs for all atom type pairs, including those previously set +explicitly by a pair_coeff command. The exceptions +to this are that pair_style table and hybrid settings cannot be +reset. A new pair_style command for these styles will wipe out all +previously specified pair_coeff values. +

      +
      + +

      Here is an alphabetic list of pair styles defined in LAMMPS. Click on +the style to display the formula it computes, arguments specified in +the pair_style command, and coefficients specified by the associated +pair_coeff command: +

      + + +
      + +

      Restrictions: +

      +

      This command must be used before any coefficients are set by the +pair_coeff, read_data, or +read_restart commands. +

      +

      Some pair styles are part of specific packages. They are only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      pair_coeff, read_data, +pair_modify, kspace_style, +dielectric, pair_write +

      +

      Default: +

      +
      pair_style none 
      +
      + diff --git a/doc/pair_style.txt b/doc/pair_style.txt new file mode 100644 index 0000000000..2aa988f532 --- /dev/null +++ b/doc/pair_style.txt @@ -0,0 +1,148 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style command :h3 + +[Syntax:] + +pair_style style args :pre + +style = one of the following :ulb,l + +{none} +{hybrid} +{buck} or {buck/coul/cut} or {buck/coul/long} +{dipole/cut} or {dipole/long} +{dpd} +{eam} or {eam/alloy} or {eam/fs} +{gran/hertzian} or {gran/history} or {gran/no_history} +{lj/charmm/coul/charmm} or {lj/charmm/coul/charmm/implicit} or {lj/charmm/coul/long} +{lj/class2} or {lj/class2/coul/cut} or {lj/class2/coul/long} +{lj/cut} or {lj/cut/coul/cut} or {lj/cut/coul/debye} or {lj/cut/coul/long} or {lj/cut/coul/long/tip4p} +{lj/expand} +{lj/smooth} +{morse} +{soft} +{table} +{yukawa} :ul + +args = arguments used by a particular style :l,ule + +[Examples:] + +pair_style lj/cut 2.5 +pair_style eam/alloy +pair_style hybrid lj/charmm/coul/long 10.0 eam +pair_style table linear 1000 +pair_style none :pre + +[Description:] + +Set the formula(s) LAMMPS uses to compute pairwise interactions. In +LAMMPS, pair potentials are defined between pairs of atoms that are +within a cutoff distance and the set of active interactions typically +changes over time. See the "bond_style"_bond_style.html command to +define potentials between pairs of bonded atoms, which typically +remain in place for the duration of a simulation. + +In LAMMPS, pairwise force fields encompass a variety of interactions, +some of which include many-body effects, e.g. EAM, Stillinger-Weber, +Tersoff, REBO potentials. They are still classed as "pairwise" +potential because a neighbor list is used to find nearby interacting +atoms. + +Hybrid models where specified pairs of atom types interact via +different pair potentials can be setup using the {hybrid} pair style. + +The coefficients associated with a pair style are typically set for +each pair of atom types, and are specified by the +"pair_coeff"_pair_coeff.html command or read from a file by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands. Mixing, shifting, and tail corrections for the potentials +is discussed is the documentation for the +"pair_modify"_pair_modify.html command. + +In the formulas listed for each pair style, {E} is the energy of a +pairwise interaction between two atoms separated by a distance {r}. +The force between the atoms is the negative derivative of this +expression. + +If the pair_style command has a cutoff argument, it sets global +cutoffs for all pairs of atom types. The distance(s) can be smaller +or larger than the dimensions of the simulation box. + +Typically, the global cutoff value can be overridden for a specific +pair of atom types by the "pair_coeff"_pair_coeff.html command. The +pair style settings (including global cutoffs) can be changed by a +subsequent pair_style command using the same style. This will reset +the cutoffs for all atom type pairs, including those previously set +explicitly by a "pair_coeff"_pair_coeff.html command. The exceptions +to this are that pair_style {table} and {hybrid} settings cannot be +reset. A new pair_style command for these styles will wipe out all +previously specified pair_coeff values. + +:line + +Here is an alphabetic list of pair styles defined in LAMMPS. Click on +the style to display the formula it computes, arguments specified in +the pair_style command, and coefficients specified by the associated +"pair_coeff"_pair_coeff.html command: + +"pair_style none"_pair_style_none.html - turn off pairwise interactions +"pair_style hybrid"_pair_style_hybrid.html - define multiple styles of pairwise interactions :ul + +"pair_style buck"_pair_style_buck.html - Buckingham potential +"pair_style buck/coul/cut"_pair_style_buck.html - Buckinhham with cutoff Coulomb +"pair_style buck/coul/long"_pair_style_buck.html - Buckingham with long-range Coulomb +"pair_style dipole/cut"_pair_style_dipole.html - cutoff dipole and charge interactions +"pair_style dpd"_pair_style_dpd.html - dissipative particle dynamics (DPD) +"pair_style eam"_pair_style_eam.html - embedded atom method (EAM) +"pair_style eam/alloy"_pair_style_eam.html - alloy EAM +"pair_style eam/fs"_pair_style_eam.html - Finnis-Sinclair EAM +"pair_style gran/hertzian"_pair_style_granular.html - granular potential with Hertizain interactions +"pair_style gran/history"_pair_style_granular.html - granular potential with history effects +"pair_style gran/no_history"_pair_style_granular.html - granular potential without history effects +"pair_style lj/charmm/coul/charmm"_pair_style_charmm.html - CHARMM potential with cutoff Coulomb +"pair_style lj/charmm/coul/charmm/implicit"_pair_style_charmm.html - CHARMM for implicit solvent +"pair_style lj/charmm/coul/long"_pair_style_charmm.html - CHARMM with long-range Coulomb +"pair_style lj/class2"_pair_style_class2.html - COMPASS (class 2) force field with no Coulomb +"pair_style lj/class2/coul/cut"_pair_style_class2.html - COMPASS with cutoff Coulomb +"pair_style lj/class2/coul/long"_pair_style_class2.html - COMPASS with long-range Coulomb +"pair_style lj/cut"_pair_style_lj.html - cutoff Lennard-Jones potential with no Coulomb +"pair_style lj/cut/coul/cut"_pair_style_lj.html - LJ with cutoff Coulomb +"pair_style lj/cut/coul/debye"_pair_style_lj.html - LJ with Debye damping added to Coulomb +"pair_style lj/cut/coul/long"_pair_style_lj.html - LJ with long-range Coulomb +"pair_style lj/cut/coul/long/tip4p"_pair_style_lj.html - LJ with long-range Coulomb for TIP4P water +"pair_style lj/expand"_pair_style_lj_expand.html - Lennard-Jones for variable size particles +"pair_style lj/smooth"_pair_style_lj_smooth.html - smoothed Lennard-Jones potential +"pair_style morse"_pair_style_morse.html - Morse potential +"pair_style soft"_pair_style_soft.html - Soft (cosine) potential +"pair_style table"_pair_style_table.html - tabulated pair potential +"pair_style yukawa"_pair_style_yukawa.html - Yukawa potential :ul + +:line + +[Restrictions:] + +This command must be used before any coefficients are set by the +"pair_coeff"_pair_coeff.html, "read_data"_read_data.html, or +"read_restart"_read_restart.html commands. + +Some pair styles are part of specific packages. They are only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"pair_coeff"_pair_coeff.html, "read_data"_read_data.html, +"pair_modify"_pair_modify.html, "kspace_style"_kspace_style.html, +"dielectric"_dielectric.html, "pair_write"_pair_write.html + +[Default:] + +pair_style none :pre diff --git a/doc/pair_style_buck.html b/doc/pair_style_buck.html new file mode 100644 index 0000000000..be42d24e2d --- /dev/null +++ b/doc/pair_style_buck.html @@ -0,0 +1,104 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style buck command +

      +

      pair_style buck/coul/cut command +

      +

      pair_style buck/coul/long command +

      +

      Syntax: +

      +
      pair_style style args 
      +
      +
      • style = buck or buck/coul/cut or buck/coul/long +
      • args = list of arguments for a particular style +
      +
        buck args = cutoff
      +    cutoff = global cutoff for Buckingham interactions (distance units)
      +  buck/coul/cut args = cutoff (cutoff2)
      +    cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
      +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
      +  buck/coul/long args = cutoff (cutoff2)
      +    cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
      +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
      +
      +

      Examples: +

      +
      pair_style buck 2.5
      +pair_coeff * * 100.0 1.5 200.0
      +pair_coeff * * 100.0 1.5 200.0 3.0 
      +
      +
      pair_style buck/coul/cut 10.0
      +pair_style buck/coul/cut 10.0 8.0
      +pair_coeff * * 100.0 1.5 200.0
      +pair_coeff 1 1 100.0 1.5 200.0 9.0
      +pair_coeff 1 1 100.0 1.5 200.0 9.0 8.0 
      +
      +
      pair_style buck/coul/long 10.0
      +pair_style buck/coul/long 10.0 8.0
      +pair_coeff * * 100.0 1.5 200.0
      +pair_coeff 1 1 100.0 1.5 200.0 9.0 
      +
      +

      Description: +

      +

      The buck style computes a Buckingham potential (exp/6 instead of +Lennard-Jones 12/6) given by +

      +
      +
      +

      Rc is the cutoff. +

      +

      The buck/coul/cut and buck/coul/long styles add a Coulombic term +as described for the lj/cut pair styles. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • A (energy units) +
      • rho (distance units) +
      • C (energy-distance^6 units) +
      • cutoff (distance units) +
      • cutoff2 (distance units) +
      +

      The latter 2 coefficients are optional. If not specified, the global +LJ and Coulombic cutoffs are used. If only one cutoff is specified, +it is used as the cutoff for both LJ and Coulombic interactions for +this type pair. If both coefficients are specified, they are used as +the LJ and Coulombic cutoffs for this type pair. You cannot specify 2 +cutoffs for style buck, since it has no Coulombic terms. +

      +

      For buck/coul/long only the LJ cutoff can be specified since a +Coulombic cutoff cannot be specified for an individual I,J type pair. +All type pairs use the same global Coulombic cutoff specified in the +pair_style command. +

      +

      Restrictions: +

      +

      The buck/coul/long style is part of the "kspace" package. It is +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      On some 64-bit machines, compiling with -O3 appears to break the +Coulombic tabling option used by the buck/coul/long style. See +the "Additional build tips" section of the Making LAMMPS documentation +pages for workarounds on this issue. +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_buck.txt b/doc/pair_style_buck.txt new file mode 100644 index 0000000000..b177397b12 --- /dev/null +++ b/doc/pair_style_buck.txt @@ -0,0 +1,96 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style buck command :h3 +pair_style buck/coul/cut command :h3 +pair_style buck/coul/long command :h3 + +[Syntax:] + +pair_style style args :pre + +style = {buck} or {buck/coul/cut} or {buck/coul/long} +args = list of arguments for a particular style :ul + {buck} args = cutoff + cutoff = global cutoff for Buckingham interactions (distance units) + {buck/coul/cut} args = cutoff (cutoff2) + cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) + {buck/coul/long} args = cutoff (cutoff2) + cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre + +[Examples:] + +pair_style buck 2.5 +pair_coeff * * 100.0 1.5 200.0 +pair_coeff * * 100.0 1.5 200.0 3.0 :pre + +pair_style buck/coul/cut 10.0 +pair_style buck/coul/cut 10.0 8.0 +pair_coeff * * 100.0 1.5 200.0 +pair_coeff 1 1 100.0 1.5 200.0 9.0 +pair_coeff 1 1 100.0 1.5 200.0 9.0 8.0 :pre + +pair_style buck/coul/long 10.0 +pair_style buck/coul/long 10.0 8.0 +pair_coeff * * 100.0 1.5 200.0 +pair_coeff 1 1 100.0 1.5 200.0 9.0 :pre + +[Description:] + +The {buck} style computes a Buckingham potential (exp/6 instead of +Lennard-Jones 12/6) given by + +:c,image(Eqs/pair_buck.jpg) + +Rc is the cutoff. + +The {buck/coul/cut} and {buck/coul/long} styles add a Coulombic term +as described for the "lj/cut"_pair_style_lj.html pair styles. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +A (energy units) +rho (distance units) +C (energy-distance^6 units) +cutoff (distance units) +cutoff2 (distance units) :ul + +The latter 2 coefficients are optional. If not specified, the global +LJ and Coulombic cutoffs are used. If only one cutoff is specified, +it is used as the cutoff for both LJ and Coulombic interactions for +this type pair. If both coefficients are specified, they are used as +the LJ and Coulombic cutoffs for this type pair. You cannot specify 2 +cutoffs for style {buck}, since it has no Coulombic terms. + +For {buck/coul/long} only the LJ cutoff can be specified since a +Coulombic cutoff cannot be specified for an individual I,J type pair. +All type pairs use the same global Coulombic cutoff specified in the +pair_style command. + +[Restrictions:] + +The {buck/coul/long} style is part of the "kspace" package. It is +only enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +On some 64-bit machines, compiling with -O3 appears to break the +Coulombic tabling option used by the {buck/coul/long} style. See +the "Additional build tips" section of the Making LAMMPS documentation +pages for workarounds on this issue. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_style_charmm.html b/doc/pair_style_charmm.html new file mode 100644 index 0000000000..9770710ffb --- /dev/null +++ b/doc/pair_style_charmm.html @@ -0,0 +1,125 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style lj/charmm/coul/charmm command +

      +

      pair_style lj/charmm/coul/charmm/implicit command +

      +

      pair_style lj/charmm/coul/long command +

      +

      Syntax: +

      +
      pair_style style args 
      +
      +
      • style = lj/charmm/coul/charmm or lj/charmm/coul/charmm/implicit or lj/charmm/coul/long +
      • args = list of arguments for a particular style +
      +
        lj/charmm/coul/charmm args = inner outer (inner2) (outer2)
      +    inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args)
      +    inner2, outer2 = global switching cutoffs for Coulombic (optional)
      +  lj/charmm/coul/charmm/implicit args = inner outer (inner2) (outer2)
      +    inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
      +    inner2, outer2 = global switching cutoffs for Coulombic (optional)
      +  lj/charmm/coul/long args = inner outer (cutoff)
      +    inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
      +    cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) 
      +
      +

      Examples: +

      +
      pair_style lj/charmm/coul/charmm 8.0 10.0
      +pair_style lj/charmm/coul/charmm 8.0 10.0 7.0 9.0
      +pair_coeff * * 100.0 2.0
      +pair_coeff 1 1 100.0 2.0 150.0 3.5 
      +
      +
      pair_style lj/charmm/coul/charmm/implicit 8.0 10.0
      +pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 7.0 9.0
      +pair_coeff * * 100.0 2.0
      +pair_coeff 1 1 100.0 2.0 150.0 3.5 
      +
      +
      pair_style lj/charmm/coul/long 8.0 10.0
      +pair_style lj/charmm/coul/long 8.0 10.0 9.0
      +pair_coeff * * 100.0 2.0
      +pair_coeff 1 1 100.0 2.0 150.0 3.5 
      +
      +

      Description: +

      +

      The lj/charmm styles compute LJ and Coulombic interactions with an +additional switching function S(r) that ramps the energy and force +smoothly to zero between an inner and outer cuoff. It is a widely +used option in the CHARMM MD code. +

      +
      +
      +

      Both the LJ and Coulombic terms require an inner and outer cutoff. +They can be the same for both formulas or different depending on +whether 2 or 4 arguments are used in the pair_style command. In each +case, the inner cutoff distance must be less than the outer cutoff. +It it typical to make the difference between the 2 cutoffs about 1.0 +Angstrom. +

      +

      Style lj/charmm/coul/charmm/implicit computes the same formulas as +style lj/charmm/coul/charmm except that an additional 1/r term is +included in the Coulombic formula. The Coulombic energy thus varies +as 1/r^2. This is effectively a distance-dependent dielectric term +which is a simple model for an implicit solvent with additional +screening. It is designed for use in a simulation of an unsolvated +biomolecule (no explicit water molecules). +

      +

      Style lj/charmm/coul/long computes the same formulas as style +lj/charmm/coul/charmm except that an additional damping factor is +applied to the Coulombic term, as in the discussion for pair style +lj/cut/coul/long. Only one Coulombic cutoff is specified for +lj/charmm/coul/long; if only 2 arguments are used in the pair_style +command, then the outer LJ cutoff is used as the single Coulombic +cutoff. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • epsilon (energy units) +
      • sigma (distance units) +
      • epsilon_14 (energy units) +
      • sigma_14 (distance units) +
      +

      Note that sigma is defined in the LJ formula as the zero-crossing +distance for the potential, not as the energy minimum at 2^(1/6) +sigma. +

      +

      The latter 2 coefficients are optional. If they are specified, they +are used in the LJ formula between 2 atoms of these types which are +also first and fourth atoms in any dihedral. No cutoffs are specified +because this CHARMM force field does not allow varying cutoffs for +individual atom pairs; all pairs use the global cutoff(s) specified in +the pair_style command. +

      +

      Restrictions: +

      +

      The lj/charmm/coul/charmm and lj/charmm/coul/charmm/implicit +styles are part of the "molecule" package. The lj/charmm/coul/long +style is part of the "kspace" package. They are only enabled if +LAMMPS was built with those package(s). See the Making +LAMMPS section for more info. +

      +

      On some 64-bit machines, compiling with -O3 appears to break the +Coulombic tabling option used by the lj/charmm/coul/long style. See +the "Additional build tips" section of the Making LAMMPS documentation +pages for workarounds on this issue. +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_charmm.txt b/doc/pair_style_charmm.txt new file mode 100644 index 0000000000..3dc310a1d9 --- /dev/null +++ b/doc/pair_style_charmm.txt @@ -0,0 +1,117 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style lj/charmm/coul/charmm command :h3 +pair_style lj/charmm/coul/charmm/implicit command :h3 +pair_style lj/charmm/coul/long command :h3 + +[Syntax:] + +pair_style style args :pre + +style = {lj/charmm/coul/charmm} or {lj/charmm/coul/charmm/implicit} or {lj/charmm/coul/long} +args = list of arguments for a particular style :ul + {lj/charmm/coul/charmm} args = inner outer (inner2) (outer2) + inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args) + inner2, outer2 = global switching cutoffs for Coulombic (optional) + {lj/charmm/coul/charmm/implicit} args = inner outer (inner2) (outer2) + inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) + inner2, outer2 = global switching cutoffs for Coulombic (optional) + {lj/charmm/coul/long} args = inner outer (cutoff) + inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) + cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) :pre + +[Examples:] + +pair_style lj/charmm/coul/charmm 8.0 10.0 +pair_style lj/charmm/coul/charmm 8.0 10.0 7.0 9.0 +pair_coeff * * 100.0 2.0 +pair_coeff 1 1 100.0 2.0 150.0 3.5 :pre + +pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 +pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 7.0 9.0 +pair_coeff * * 100.0 2.0 +pair_coeff 1 1 100.0 2.0 150.0 3.5 :pre + +pair_style lj/charmm/coul/long 8.0 10.0 +pair_style lj/charmm/coul/long 8.0 10.0 9.0 +pair_coeff * * 100.0 2.0 +pair_coeff 1 1 100.0 2.0 150.0 3.5 :pre + +[Description:] + +The {lj/charmm} styles compute LJ and Coulombic interactions with an +additional switching function S(r) that ramps the energy and force +smoothly to zero between an inner and outer cuoff. It is a widely +used option in the CHARMM MD code. + +:c,image(Eqs/pair_charmm.jpg) + +Both the LJ and Coulombic terms require an inner and outer cutoff. +They can be the same for both formulas or different depending on +whether 2 or 4 arguments are used in the pair_style command. In each +case, the inner cutoff distance must be less than the outer cutoff. +It it typical to make the difference between the 2 cutoffs about 1.0 +Angstrom. + +Style {lj/charmm/coul/charmm/implicit} computes the same formulas as +style {lj/charmm/coul/charmm} except that an additional 1/r term is +included in the Coulombic formula. The Coulombic energy thus varies +as 1/r^2. This is effectively a distance-dependent dielectric term +which is a simple model for an implicit solvent with additional +screening. It is designed for use in a simulation of an unsolvated +biomolecule (no explicit water molecules). + +Style {lj/charmm/coul/long} computes the same formulas as style +{lj/charmm/coul/charmm} except that an additional damping factor is +applied to the Coulombic term, as in the discussion for pair style +{lj/cut/coul/long}. Only one Coulombic cutoff is specified for +{lj/charmm/coul/long}; if only 2 arguments are used in the pair_style +command, then the outer LJ cutoff is used as the single Coulombic +cutoff. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +epsilon (energy units) +sigma (distance units) +epsilon_14 (energy units) +sigma_14 (distance units) :ul + +Note that sigma is defined in the LJ formula as the zero-crossing +distance for the potential, not as the energy minimum at 2^(1/6) +sigma. + +The latter 2 coefficients are optional. If they are specified, they +are used in the LJ formula between 2 atoms of these types which are +also first and fourth atoms in any dihedral. No cutoffs are specified +because this CHARMM force field does not allow varying cutoffs for +individual atom pairs; all pairs use the global cutoff(s) specified in +the pair_style command. + +[Restrictions:] + +The {lj/charmm/coul/charmm} and {lj/charmm/coul/charmm/implicit} +styles are part of the "molecule" package. The {lj/charmm/coul/long} +style is part of the "kspace" package. They are only enabled if +LAMMPS was built with those package(s). See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +On some 64-bit machines, compiling with -O3 appears to break the +Coulombic tabling option used by the {lj/charmm/coul/long} style. See +the "Additional build tips" section of the Making LAMMPS documentation +pages for workarounds on this issue. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_style_class2.html b/doc/pair_style_class2.html new file mode 100644 index 0000000000..9a6c02d772 --- /dev/null +++ b/doc/pair_style_class2.html @@ -0,0 +1,104 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style lj/class2 command +

      +

      pair_style lj/class2/coul/cut command +

      +

      pair_style lj/class2/coul/long command +

      +

      Syntax: +

      +
      pair_style style args 
      +
      +
      • style = lj/class2 or lj/class2/coul/cut or lj/class2/coul/long +
      • args = list of arguments for a particular style +
      +
        lj/class2 args = cutoff
      +    cutoff = global cutoff for class 2 interactions (distance units)
      +  lj/class2/coul/cut args = cutoff (cutoff2)
      +    cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units)
      +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
      +  lj/class2/coul/long args = cutoff (cutoff2)
      +    cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units)
      +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
      +
      +

      Examples: +

      +
      pair_style lj/class2 10.0
      +pair_coeff * * 100.0 2.5
      +pair_coeff 1 2* 100.0 2.5 9.0 
      +
      +
      pair_style lj/class2/coul/cut 10.0
      +pair_style lj/class2/coul/cut 10.0 8.0
      +pair_coeff * * 100.0 3.0
      +pair_coeff 1 1 100.0 3.5 9.0
      +pair_coeff 1 1 100.0 3.5 9.0 9.0 
      +
      +
      pair_style lj/class2/coul/long 10.0
      +pair_style lj/class2/coul/long 10.0 8.0
      +pair_coeff * * 100.0 3.0
      +pair_coeff 1 1 100.0 3.5 9.0 
      +
      +

      Description: +

      +

      The lj/class2 styles compute a 6/9 Lennard-Jones potential given by +

      +
      +
      +

      Rc is the cutoff. +

      +

      The lj/class2/coul/cut and lj/class2/coul/long styles add a +Coulombic term as described for the lj/cut pair +styles. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • epsilon (energy units) +
      • sigma (distance units) +
      • cutoff1 (distance units) +
      • cutoff2 (distance units) +
      +

      The latter 2 coefficients are optional. If not specified, the global +class 2 and Coulombic cutoffs are used. If only one cutoff is +specified, it is used as the cutoff for both class 2 and Coulombic +interactions for this type pair. If both coefficients are specified, +they are used as the class 2 and Coulombic cutoffs for this type pair. +You cannot specify 2 cutoffs for style lj/class2, since it has no +Coulombic terms. +

      +

      For lj/class2/coul/long only the class 2 cutoff can be specified +since a Coulombic cutoff cannot be specified for an individual I,J +type pair. All type pairs use the same global Coulombic cutoff +specified in the pair_style command. +

      +

      Restrictions: +

      +

      These styles are part of the "class2" package. They are only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      On some 64-bit machines, compiling with -O3 appears to break the +Coulombic tabling option used by the lj/class2/coul/long style. See +the "Additional build tips" section of the Making LAMMPS documentation +pages for workarounds on this issue. +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_class2.txt b/doc/pair_style_class2.txt new file mode 100644 index 0000000000..0df99c7a79 --- /dev/null +++ b/doc/pair_style_class2.txt @@ -0,0 +1,96 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style lj/class2 command :h3 +pair_style lj/class2/coul/cut command :h3 +pair_style lj/class2/coul/long command :h3 + +[Syntax:] + +pair_style style args :pre + +style = {lj/class2} or {lj/class2/coul/cut} or {lj/class2/coul/long} +args = list of arguments for a particular style :ul + {lj/class2} args = cutoff + cutoff = global cutoff for class 2 interactions (distance units) + {lj/class2/coul/cut} args = cutoff (cutoff2) + cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) + {lj/class2/coul/long} args = cutoff (cutoff2) + cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre + +[Examples:] + +pair_style lj/class2 10.0 +pair_coeff * * 100.0 2.5 +pair_coeff 1 2* 100.0 2.5 9.0 :pre + +pair_style lj/class2/coul/cut 10.0 +pair_style lj/class2/coul/cut 10.0 8.0 +pair_coeff * * 100.0 3.0 +pair_coeff 1 1 100.0 3.5 9.0 +pair_coeff 1 1 100.0 3.5 9.0 9.0 :pre + +pair_style lj/class2/coul/long 10.0 +pair_style lj/class2/coul/long 10.0 8.0 +pair_coeff * * 100.0 3.0 +pair_coeff 1 1 100.0 3.5 9.0 :pre + +[Description:] + +The {lj/class2} styles compute a 6/9 Lennard-Jones potential given by + +:c,image(Eqs/pair_class2.jpg) + +Rc is the cutoff. + +The {lj/class2/coul/cut} and {lj/class2/coul/long} styles add a +Coulombic term as described for the "lj/cut"_pair_style_lj.html pair +styles. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +epsilon (energy units) +sigma (distance units) +cutoff1 (distance units) +cutoff2 (distance units) :ul + +The latter 2 coefficients are optional. If not specified, the global +class 2 and Coulombic cutoffs are used. If only one cutoff is +specified, it is used as the cutoff for both class 2 and Coulombic +interactions for this type pair. If both coefficients are specified, +they are used as the class 2 and Coulombic cutoffs for this type pair. +You cannot specify 2 cutoffs for style {lj/class2}, since it has no +Coulombic terms. + +For {lj/class2/coul/long} only the class 2 cutoff can be specified +since a Coulombic cutoff cannot be specified for an individual I,J +type pair. All type pairs use the same global Coulombic cutoff +specified in the pair_style command. + +[Restrictions:] + +These styles are part of the "class2" package. They are only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +On some 64-bit machines, compiling with -O3 appears to break the +Coulombic tabling option used by the {lj/class2/coul/long} style. See +the "Additional build tips" section of the Making LAMMPS documentation +pages for workarounds on this issue. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_style_dipole.html b/doc/pair_style_dipole.html new file mode 100644 index 0000000000..1ac19e561b --- /dev/null +++ b/doc/pair_style_dipole.html @@ -0,0 +1,66 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style dipole/cut command +

      +

      Syntax: +

      +
      pair_style dipole/cut cutoff (cutoff2) 
      +
      +
      • cutoff = global cutoff for LJ interactions (and Coulombic if only 1 arg) (distance units) +
      • cutoff2 = global cutoff for Coulombic and dipole interactions (optional) (distance units) +
      +

      Examples: +

      +
      pair_style dipole/cut 2.5
      +pair_style dipole/cut 2.5 5.0
      +pair_coeff * * 100.0 2.0 1.5
      +pair_coeff 1 1 100.0 2.0 1.5 3.0 
      +
      +

      Description: +

      +

      Style dipole/cut +

      +

      The dipole styles are not yet implemented in LAMMPS. They will +enable a point dipole and charge to be assigned to each atom and the +resulting charge-dipole and dipole-dipole interactions to be computed. +

      +

      computes pairwise interactions with the formula +

      +
      +
      +

      Rc is the cutoff. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • D0 (energy units) +
      • alpha (1/distance units) +
      • r0 (distance units) +
      • cutoff (distance units) +
      +

      The last coefficient is optional. If not specified, the global morse +cutoff is used. +

      +

      Restrictions: none +

      +

      Must use atom style dipole. +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_dipole.txt b/doc/pair_style_dipole.txt new file mode 100644 index 0000000000..5758693a96 --- /dev/null +++ b/doc/pair_style_dipole.txt @@ -0,0 +1,61 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style dipole/cut command :h3 + +[Syntax:] + +pair_style dipole/cut cutoff (cutoff2) :pre + +cutoff = global cutoff for LJ interactions (and Coulombic if only 1 arg) (distance units) +cutoff2 = global cutoff for Coulombic and dipole interactions (optional) (distance units) :ul + +[Examples:] + +pair_style dipole/cut 2.5 +pair_style dipole/cut 2.5 5.0 +pair_coeff * * 100.0 2.0 1.5 +pair_coeff 1 1 100.0 2.0 1.5 3.0 :pre + +[Description:] + +Style {dipole/cut} + +The {dipole} styles are not yet implemented in LAMMPS. They will +enable a point dipole and charge to be assigned to each atom and the +resulting charge-dipole and dipole-dipole interactions to be computed. + + computes pairwise interactions with the formula + +:c,image(Eqs/pair_dipole.jpg) + +Rc is the cutoff. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +D0 (energy units) +alpha (1/distance units) +r0 (distance units) +cutoff (distance units) :ul + +The last coefficient is optional. If not specified, the global morse +cutoff is used. + +[Restrictions:] none + +Must use atom style dipole. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_style_dpd.html b/doc/pair_style_dpd.html new file mode 100644 index 0000000000..71146a5018 --- /dev/null +++ b/doc/pair_style_dpd.html @@ -0,0 +1,71 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style dpd command +

      +

      Syntax: +

      +
      pair_style dpd T cutoff seed 
      +
      +
      • T = temperature (temperature units) +
      • cutoff = global cutoff for DPD interactions (distance units) +
      • seed = random # seed (integer > 0 and < 900000000) +
      +

      Examples: +

      +
      pair_style dpd 1.0 2.5 34387
      +pair_coeff * * 3.0 1.0
      +pair_coeff 1 1 3.0 1.0 1.0 
      +
      +

      Description: +

      +

      Style dpd computes a force field for dissipative particle dynamics +(DPD) following the exposition in (Groot). The force +on atom I due to atom J is given as a sum of 3 terms +

      +
      +
      +

      where FC is a conservative force, FD is a dissipative force, and FR is +a random force. Rij is a unit vector in the direction Ri - Rj, Vij is +the vector difference in velocities of the two atoms = Vi - Vj, alpha +is a Gaussian random number with zero mean and unit variance, dt is +the timestep size, and w(r) is a weighting factor that varies between +0 and 1. Rc is the cutoff. Sigma is set equal to sqrt(2 T gamma), +where T is a parameter in the pair_style command. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • A (force units) +
      • gamma (force/velocity units) +
      • cutoff (distance units) +
      +

      The last coefficient is optional. If not specified, the global DPD +cutoff is used. Note that sigma is set equal to sqrt(2 T gamma), +where T is the temperature set by the pair_style +command so it does not need to be specified. +

      +

      Restrictions: none +

      +

      This style is part of the "dpd" package. It is only enabled if LAMMPS +was built with those package. See the Making +LAMMPS section for more info. +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_dpd.txt b/doc/pair_style_dpd.txt new file mode 100644 index 0000000000..18f583649e --- /dev/null +++ b/doc/pair_style_dpd.txt @@ -0,0 +1,66 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style dpd command :h3 + +[Syntax:] + +pair_style dpd T cutoff seed :pre + +T = temperature (temperature units) +cutoff = global cutoff for DPD interactions (distance units) +seed = random # seed (integer > 0 and < 900000000) :ul + +[Examples:] + +pair_style dpd 1.0 2.5 34387 +pair_coeff * * 3.0 1.0 +pair_coeff 1 1 3.0 1.0 1.0 :pre + +[Description:] + +Style {dpd} computes a force field for dissipative particle dynamics +(DPD) following the exposition in "(Groot)"_#Groot. The force +on atom I due to atom J is given as a sum of 3 terms + +:c,image(Eqs/pair_dpd.jpg) + +where FC is a conservative force, FD is a dissipative force, and FR is +a random force. Rij is a unit vector in the direction Ri - Rj, Vij is +the vector difference in velocities of the two atoms = Vi - Vj, alpha +is a Gaussian random number with zero mean and unit variance, dt is +the timestep size, and w(r) is a weighting factor that varies between +0 and 1. Rc is the cutoff. Sigma is set equal to sqrt(2 T gamma), +where T is a parameter in the pair_style command. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +A (force units) +gamma (force/velocity units) +cutoff (distance units) :ul + +The last coefficient is optional. If not specified, the global DPD +cutoff is used. Note that sigma is set equal to sqrt(2 T gamma), +where T is the temperature set by the "pair_style"_pair_style.html +command so it does not need to be specified. + +[Restrictions:] none + +This style is part of the "dpd" package. It is only enabled if LAMMPS +was built with those package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_style_eam.html b/doc/pair_style_eam.html new file mode 100644 index 0000000000..1014e1e155 --- /dev/null +++ b/doc/pair_style_eam.html @@ -0,0 +1,289 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style eam command +

      +

      pair_style eam/alloy command +

      +

      pair_style eam/fs command +

      +

      Syntax: +

      +
      pair_style style 
      +
      +
      • style = eam or eam/alloy or eam/fs +
      +

      Examples: +

      +
      pair_style eam
      +pair_coeff * * cuu3
      +pair_coeff 1*3 1*3 niu3 
      +
      +
      pair_style eam/alloy
      +pair_coeff * * nialhjea 1 2 1 1 
      +
      +
      pair_style eam/fs
      +pair_coeff * * nial.fs 1 2 1 1 
      +
      +

      Description: +

      +

      Style eam computes pairwise interactions for metals and metal alloys +using embedded-atom method (EAM) potentials (Daw). The total +energy Ei of an atom I is given by +

      +
      +
      +

      where F is the embedding energy which is a function of the atomic +electron density rho, phi is a pair potential interaction, and alpha +and beta are the element types of atoms I and J. The multi-body +nature of the EAM potential is a result of the embedding energy term. +Both summations in the formula are over all neighbors J of atom I +within the cutoff distance. +

      +

      The cutoff distance and the tabulated values of the functionals F, +rho, and phi are listed in one or more files which are specified by +the pair_coeff command. These are ASCII text files +in a DYNAMO-style format which is described in the documentation for +the pair_coeff command. DYNAMO is a serial MD code +Several DYNAMO potential files for different metals are included in +the "potentials" directory of the LAMMPS distribution. +

      +

      IMPORTANT NOTE: The eam style reads single-element EAM potentials in +the DYNAMO funcfl format. Single element or alloy systems can be +modeled with funcfl files and style eam; for the alloy case LAMMPS +mixes the single-element potentials to produce alloy potentials the +same way that DYNAMO does. Alternatively, DYNAMO setfl files can be +used by LAMMPS to model alloy systems by invoking the eam/alloy +style as described below. Setfl files require no mixing as they +specify alloy interactions explicitly. +

      +

      For style eam, potential values are read from a file that is in the +DYNAMO single-element funcfl format. If the DYNAMO file was created +by a Fortran program, it cannot have "D" values in it for exponents. +C only recognizes "e" or "E" for scientific notation. +

      +

      Note that unlike for other potentials, you do not set cutoffs for EAM +potentials in the pair_style or pair_coeff command; they are specified +in the EAM potential files. +

      +

      For style eam you must assign a potential file to each I,I pair of +atom types by using a single pair_coeff argument: +

      +
      • filename +
      +

      Thus the following command +

      +
      pair_coeff *2 1*2 cuu3 
      +
      +

      will read the cuu3 potential file and use the tabulated Cu values for +F, phi, rho that it contains for type pairs 1,1 and 2,2 (type pairs +1,2 and 2,1 are ignored). In effect, this makes atom types 1 and 2 in +LAMMPS be Cu atoms. Different single-element files can be assigned to +different atom types to model an alloy system. The mixing to create +alloy potentials for type pairs with I != J is done automatically the +same way that the serial DYANMO code originally did it; you do not +need to specify coefficients for these type pairs. +

      +

      There are several funcl files in the potentials directory of the +LAMMPS distribution. A DYNAMO single-element funcfl file is +formatted as follows: +

      +
      • line 1: comment (ignored) +
      • line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC) +
      • line 3: Nrho, drho, Nr, dr, cutoff +
      +

      On line 2, all values but the mass are ignored by LAMMPS. The mass is +in atomic mass units which is converted by LAMMPS to the appropriate +internal mass units. On line 3, Nrho and Nr are the +number of tabulated values in the subsequent arrays, drho and dr are +the spacing in density and distance space for the values in those +arrays, and the specified cutoff becomes the pairwise cutoff used by +LAMMPS for the potential. The units of dr are Angstroms; I'm not sure +of the units for drho - some measure of electron density. +

      +

      Following the 3 header lines are 3 arrays of tabulated values: +

      +
      • embedding function F (Nrho values) +
      • pair potential function phi (Nr values) +
      • density function rho (Nr values) +
      +

      The values for each array can be listed as multiple values per line, +so long as each array starts on a new line. The individual values are +(for example) phi(r) for r = 0,dr,2*dr, ... (Nr-1)*dr. +

      +
      + +

      Style eam/alloy computes pairwise interactions using the same +formula as style eam. However the associated +pair_coeff command reads a DYNAMO setfl file +instead of a funcfl file. Setfl files can be used to model a +single-element or alloy system. In the alloy case, as explained +above, setfl files contain explicit tabulated values for alloy +interactions. Thus they allow more generality than funcfl files for +modeling alloys. +

      +

      For style eam/alloy, potential values are read from a file that is +in the DYNAMO multi-element setfl format. If the DYNAMO file was +created by a Fortran program, it cannot have "D" values in it for +exponents. C only recognizes "e" or "E" for scientific notation. +

      +

      Only one pair_coeff command can be used (one file). DYNAMO setfl +files contain information for M elements. These are mapped to LAMMPS +atom types by specifying N additional arguments after the filename, +where N is the number of LAMMPS atom types: +

      +
      • filename +
      • N values from 0 to M = mapping of setfl elements to atom types +
      +

      As an example, the nialhjea setfl file has tabulated EAM values for +3 elements and their alloy interactions: Ni, Al, and H. If your +LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Ni, +and the 4th to be Al, you would use the following pair_coeff command: +

      +
      pair_coeff * * nialhjea 1 1 1 2 
      +
      +

      The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +The first three "1" values map LAMMPS atom types 1,2,3 to the 1st +element (Ni) in the setfl file. The final "2" value maps LAMMPS atom +type 4 to the 2nd element = Al. If a mapping value is "0", the +mapping is not performed. This is useful when EAM potentials are part +of the hybrid pair style, to represent non-EAM atom types. +

      +

      There is one setfl file (nialhjea) in the potentials directory of +the LAMMPS distribution. A DYNAMO multi-element setfl file is +formatted as follows: +

      +
      • lines 1,2,3 = comments (ignored) +
      • line 4: Nelements = # of elements in the file +
      • line 5: Nrho, drho, Nr, dr, cutoff +
      +

      The meaning of the values in line 5 is the same as for the funcfl +file described above. Note that the cutoff is a global value, valid +for all pairwise interactions for all element pairings. +

      +

      Following the 5 header lines are Nelements sections, one for each +element, each with the following format: +

      +
      • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) +
      • embedding function F (Nrho values) +
      • density function rho (Nr values) +
      +

      As with the funcfl files, only the mass is used by LAMMPS from the 1st +line. The F and rho arrays are unique to a single element and are +formatted the same as in a funcfl file. +

      +

      Following the Nelements sections, values for the pair potential phi +arrays are listed for all i,j element pairs in the same format as +other arrays. Since these interactions are symmetric (i,j = j,i) only +phi arrays with i >= j are listed, in the following order: i,j = +(1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, +Nelements). The tabulated values for each phi function are listed in +setfl files as r*phi, rather than as phi (in funcfl files). +

      +
      + +

      Style eam/fs computes pairwise interactions for metals and metal +alloys using a generalized form of EAM potentials due to Finnis and +Sinclair (Finnis). The total energy Ei of an atom I is +given by +

      +
      +
      +

      This has the same form as the EAM formula above, except that rho is +now a functional specific to the atomic types of both atoms I and J, +so that different elements can contribute differently to the total +electron density at an atomic site depending on the identity of the +element at that atomic site. +

      +

      The associated pair_coeff command for style eam/fs +reads a DYNAMO setfl file that has been extended to include +additional rho_alpha_beta arrays of tabulated values. The details are +given in the pair_coeff documentation. +

      +

      A discussion of how FS EAM differs from conventional EAM alloy +potentials is given in (Ackland1). An example of such a +potential is the same author's Fe-P FS potential +(Ackland2). Note that while FS potentials always specify +the embedding energy with a square root dependence on the total +density, the implementation in LAMMPS does not require that; the user +can tabulate any functional form he desires in the FS potential files. +

      +

      For style eam/fs, the form of the pair_coeff command is exactly the +same as for style eam/alloy, e.g. +

      +
      pair_coeff * * filename 1 1 1 2 
      +
      +

      where there are N additional arguments after the filename, where N is +the number of LAMMPS atom types. The N values determine the mapping +of LAMMPS atom types to EAM elements in the file, as described in +style eam/alloy. +

      +

      The difference is that files read by eam/fs are in a more general +format than the DYNAMO setfl format read by eam/alloy, so that the +i,j density functionals for all pairs of elements are included as +needed by the Finnis/Sinclair formulation of the EAM. +

      +

      There is one FS file (nialhjea_FS) in the potentials directory of +the LAMMPS distribution. It is formatted as follows: +

      +
      • lines 1,2,3 = comments (ignored) +
      • line 4: Nelements = # of elements in the file +
      • line 5: Nrho, drho, Nr, dr, cutoff +
      +

      The 5-line header section is identical to an EAM setfl file. +

      +

      Following the header are Nelements sections, one for each element I, +each with the following format: +

      +
      • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) +
      • embedding function F (Nrho values) +
      • density function rho for element I at element 1 (Nr values) +
      • density function rho for element I at element 2 +
      • ... +
      • density function rho for element I at element Nelement +
      +

      Following the Nelements sections, values for the pair potential phi +arrays are listed in the same manner (r*phi) as in EAM setfl files. +Note that the rho arrays in Finnis/Sinclair can be asymmetric (i,j != +j,i) so there are Nelements^2 of them listed in the file. But the phi +arrays are still symmetric, so only phi arrays for i >= j are listed. +

      +
      + +

      Restrictions: none +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      +
      + + + +

      (Ackland1) Ackland, Condensed Matter (2005). +

      + + +

      (Ackland2) Ackland, Mendelev, Srolovitz, Han and Barashev, Journal +of Physics: Condensed Matter, 16, S2629 (2004). +

      + + +

      (Daw) Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). +Daw, Baskes, Phys Rev B, 29, 6443 (1984). +

      + + +

      (Finnis) Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984). +

      + diff --git a/doc/pair_style_eam.txt b/doc/pair_style_eam.txt new file mode 100644 index 0000000000..21e2bb1296 --- /dev/null +++ b/doc/pair_style_eam.txt @@ -0,0 +1,278 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style eam command :h3 +pair_style eam/alloy command :h3 +pair_style eam/fs command :h3 + +[Syntax:] + +pair_style style :pre + +style = {eam} or {eam/alloy} or {eam/fs} :ul + +[Examples:] + +pair_style eam +pair_coeff * * cuu3 +pair_coeff 1*3 1*3 niu3 :pre + +pair_style eam/alloy +pair_coeff * * nialhjea 1 2 1 1 :pre + +pair_style eam/fs +pair_coeff * * nial.fs 1 2 1 1 :pre + +[Description:] + +Style {eam} computes pairwise interactions for metals and metal alloys +using embedded-atom method (EAM) potentials "(Daw)"_#Daw. The total +energy Ei of an atom I is given by + +:c,image(Eqs/pair_eam.jpg) + +where F is the embedding energy which is a function of the atomic +electron density rho, phi is a pair potential interaction, and alpha +and beta are the element types of atoms I and J. The multi-body +nature of the EAM potential is a result of the embedding energy term. +Both summations in the formula are over all neighbors J of atom I +within the cutoff distance. + +The cutoff distance and the tabulated values of the functionals F, +rho, and phi are listed in one or more files which are specified by +the "pair_coeff"_pair_coeff.html command. These are ASCII text files +in a DYNAMO-style format which is described in the documentation for +the "pair_coeff"_pair_coeff.html command. DYNAMO is a serial MD code +Several DYNAMO potential files for different metals are included in +the "potentials" directory of the LAMMPS distribution. + +IMPORTANT NOTE: The {eam} style reads single-element EAM potentials in +the DYNAMO {funcfl} format. Single element or alloy systems can be +modeled with {funcfl} files and style {eam}; for the alloy case LAMMPS +mixes the single-element potentials to produce alloy potentials the +same way that DYNAMO does. Alternatively, DYNAMO {setfl} files can be +used by LAMMPS to model alloy systems by invoking the {eam/alloy} +style as described below. {Setfl} files require no mixing as they +specify alloy interactions explicitly. + +For style {eam}, potential values are read from a file that is in the +DYNAMO single-element {funcfl} format. If the DYNAMO file was created +by a Fortran program, it cannot have "D" values in it for exponents. +C only recognizes "e" or "E" for scientific notation. + +Note that unlike for other potentials, you do not set cutoffs for EAM +potentials in the pair_style or pair_coeff command; they are specified +in the EAM potential files. + +For style {eam} you must assign a potential file to each I,I pair of +atom types by using a single pair_coeff argument: + +filename :ul + +Thus the following command + +pair_coeff *2 1*2 cuu3 :pre + +will read the cuu3 potential file and use the tabulated Cu values for +F, phi, rho that it contains for type pairs 1,1 and 2,2 (type pairs +1,2 and 2,1 are ignored). In effect, this makes atom types 1 and 2 in +LAMMPS be Cu atoms. Different single-element files can be assigned to +different atom types to model an alloy system. The mixing to create +alloy potentials for type pairs with I != J is done automatically the +same way that the serial DYANMO code originally did it; you do not +need to specify coefficients for these type pairs. + +There are several {funcl} files in the {potentials} directory of the +LAMMPS distribution. A DYNAMO single-element {funcfl} file is +formatted as follows: + +line 1: comment (ignored) +line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC) +line 3: Nrho, drho, Nr, dr, cutoff :ul + +On line 2, all values but the mass are ignored by LAMMPS. The mass is +in atomic mass units which is converted by LAMMPS to the appropriate +internal mass "units"_units.html. On line 3, Nrho and Nr are the +number of tabulated values in the subsequent arrays, drho and dr are +the spacing in density and distance space for the values in those +arrays, and the specified cutoff becomes the pairwise cutoff used by +LAMMPS for the potential. The units of dr are Angstroms; I'm not sure +of the units for drho - some measure of electron density. + +Following the 3 header lines are 3 arrays of tabulated values: + +embedding function F (Nrho values) +pair potential function phi (Nr values) +density function rho (Nr values) :ul + +The values for each array can be listed as multiple values per line, +so long as each array starts on a new line. The individual values are +(for example) phi(r) for r = 0,dr,2*dr, ... (Nr-1)*dr. + +:line + +Style {eam/alloy} computes pairwise interactions using the same +formula as style {eam}. However the associated +"pair_coeff"_pair_coeff.html command reads a DYNAMO {setfl} file +instead of a {funcfl} file. {Setfl} files can be used to model a +single-element or alloy system. In the alloy case, as explained +above, {setfl} files contain explicit tabulated values for alloy +interactions. Thus they allow more generality than {funcfl} files for +modeling alloys. + +For style {eam/alloy}, potential values are read from a file that is +in the DYNAMO multi-element {setfl} format. If the DYNAMO file was +created by a Fortran program, it cannot have "D" values in it for +exponents. C only recognizes "e" or "E" for scientific notation. + +Only one pair_coeff command can be used (one file). DYNAMO {setfl} +files contain information for M elements. These are mapped to LAMMPS +atom types by specifying N additional arguments after the filename, +where N is the number of LAMMPS atom types: + +filename +N values from 0 to M = mapping of {setfl} elements to atom types :ul + +As an example, the nialhjea {setfl} file has tabulated EAM values for +3 elements and their alloy interactions: Ni, Al, and H. If your +LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Ni, +and the 4th to be Al, you would use the following pair_coeff command: + +pair_coeff * * nialhjea 1 1 1 2 :pre + +The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +The first three "1" values map LAMMPS atom types 1,2,3 to the 1st +element (Ni) in the {setfl} file. The final "2" value maps LAMMPS atom +type 4 to the 2nd element = Al. If a mapping value is "0", the +mapping is not performed. This is useful when EAM potentials are part +of the {hybrid} pair style, to represent non-EAM atom types. + +There is one {setfl} file (nialhjea) in the {potentials} directory of +the LAMMPS distribution. A DYNAMO multi-element {setfl} file is +formatted as follows: + +lines 1,2,3 = comments (ignored) +line 4: Nelements = # of elements in the file +line 5: Nrho, drho, Nr, dr, cutoff :ul + +The meaning of the values in line 5 is the same as for the {funcfl} +file described above. Note that the cutoff is a global value, valid +for all pairwise interactions for all element pairings. + +Following the 5 header lines are Nelements sections, one for each +element, each with the following format: + +line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) +embedding function F (Nrho values) +density function rho (Nr values) :ul + +As with the {funcfl} files, only the mass is used by LAMMPS from the 1st +line. The F and rho arrays are unique to a single element and are +formatted the same as in a {funcfl} file. + +Following the Nelements sections, values for the pair potential phi +arrays are listed for all i,j element pairs in the same format as +other arrays. Since these interactions are symmetric (i,j = j,i) only +phi arrays with i >= j are listed, in the following order: i,j = +(1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, +Nelements). The tabulated values for each phi function are listed in +{setfl} files as r*phi, rather than as phi (in {funcfl} files). + +:line + +Style {eam/fs} computes pairwise interactions for metals and metal +alloys using a generalized form of EAM potentials due to Finnis and +Sinclair "(Finnis)"_#Finnis. The total energy Ei of an atom I is +given by + +:c,image(Eqs/pair_eam_fs.jpg) + +This has the same form as the EAM formula above, except that rho is +now a functional specific to the atomic types of both atoms I and J, +so that different elements can contribute differently to the total +electron density at an atomic site depending on the identity of the +element at that atomic site. + +The associated "pair_coeff"_pair_coeff.html command for style {eam/fs} +reads a DYNAMO {setfl} file that has been extended to include +additional rho_alpha_beta arrays of tabulated values. The details are +given in the "pair_coeff"_pair_coeff.html documentation. + +A discussion of how FS EAM differs from conventional EAM alloy +potentials is given in "(Ackland1)"_#Ackland1. An example of such a +potential is the same author's Fe-P FS potential +"(Ackland2)"_#Ackland2. Note that while FS potentials always specify +the embedding energy with a square root dependence on the total +density, the implementation in LAMMPS does not require that; the user +can tabulate any functional form he desires in the FS potential files. + +For style {eam/fs}, the form of the pair_coeff command is exactly the +same as for style {eam/alloy}, e.g. + +pair_coeff * * filename 1 1 1 2 :pre + +where there are N additional arguments after the filename, where N is +the number of LAMMPS atom types. The N values determine the mapping +of LAMMPS atom types to EAM elements in the file, as described in +style {eam/alloy}. + +The difference is that files read by {eam/fs} are in a more general +format than the DYNAMO {setfl} format read by {eam/alloy}, so that the +i,j density functionals for all pairs of elements are included as +needed by the Finnis/Sinclair formulation of the EAM. + +There is one FS file (nialhjea_FS) in the {potentials} directory of +the LAMMPS distribution. It is formatted as follows: + +lines 1,2,3 = comments (ignored) +line 4: Nelements = # of elements in the file +line 5: Nrho, drho, Nr, dr, cutoff :ul + +The 5-line header section is identical to an EAM {setfl} file. + +Following the header are Nelements sections, one for each element I, +each with the following format: + +line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) +embedding function F (Nrho values) +density function rho for element I at element 1 (Nr values) +density function rho for element I at element 2 +... +density function rho for element I at element Nelement :ul + +Following the Nelements sections, values for the pair potential phi +arrays are listed in the same manner (r*phi) as in EAM {setfl} files. +Note that the rho arrays in Finnis/Sinclair can be asymmetric (i,j != +j,i) so there are Nelements^2 of them listed in the file. But the phi +arrays are still symmetric, so only phi arrays for i >= j are listed. + +:line + +[Restrictions:] none + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:line + +:link(Ackland1) +[(Ackland1)] Ackland, Condensed Matter (2005). + +:link(Ackland2) +[(Ackland2)] Ackland, Mendelev, Srolovitz, Han and Barashev, Journal +of Physics: Condensed Matter, 16, S2629 (2004). + +:link(Daw) +[(Daw)] Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). +Daw, Baskes, Phys Rev B, 29, 6443 (1984). + +:link(Finnis) +[(Finnis)] Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984). diff --git a/doc/pair_style_gran.html b/doc/pair_style_gran.html new file mode 100644 index 0000000000..92e61ce3ea --- /dev/null +++ b/doc/pair_style_gran.html @@ -0,0 +1,97 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style gran/hertizian command +

      +

      pair_style gran/history command +

      +

      pair_style gran/no_history command +

      +

      Syntax: +

      +
      pair_style style Kn, gamma_n xmu dampflag 
      +
      +
      • style = gran/hertzian or gran/history or gran/no_history + +
      • Kn = spring constant for particle repulsion + +
          (mg/d units where m is mass, g is the gravitational constant, d is diameter of a particle) 
        +
        +
      • gamma_n = damping coefficient for normal direction collisions (sqrt(g/d) units) + +
      • xmu = static yield criterion + +
      • dampflag = flag (0/1) for whether to (no/yes) include tangential damping +
      +

      Examples: +

      +
      pair_style gran/history 200000.0 0.5 1.0 1 
      +
      +

      Description: +

      +

      The gran styles use the following formula (Silbert) for +frictional force between two granular particles that are a distance r +apart when r is less than the contact distance d. +

      +
      +
      +

      The 1st term is a normal force and the 2nd term is a tangential force. +The other quantites are as follows: +

      +
      • delta = d - r +
      • f(x) = 1 for Hookean contacts used in pair styles history and no_history +
      • f(x) = sqrt(x) for pair style hertzian +
      • Kn = elastic constant for normal contact +
      • Kt = elastic constant for tangential contact = 2/7 of Kn +
      • gamma_n = viscoelastic constants for normal contact +
      • gamma_t = viscoelastic constants for tangential contact = 1/2 of gamma_n +
      • m_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj +
      • Delta St = tangential displacement vector between the 2 spherical particles which is truncated to satisfy a frictional yield criterion +
      • n = a unit vector along the line connecting the centers of the 2 particles +
      • Vn = normal component of the relative velocity of the 2 particles +
      • Vt = tangential component of the relative velocity of the 2 particles +
      +

      The Kn and gamma_n coefficients are set as parameters to the +pair_style command. Xmu is also specified which is the upper limit of +the tangential force through the Coulomb criterion Ft = xmu*Fn. The +tangential force between 2 particles grows according to a tangential +spring and dash-pot model until Ft/Fn = xmu and then is held at Ft = +Fn*xmu until the particles lose contact. +

      +

      For granular styles there are no individual atom type coefficients +that can be set. All global settings are made via the pair_style +command. +

      +

      See the citation for more discussion of the granular potentials. +

      +

      Restrictions: none +

      +

      All of these styles are part of the "granular" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      You must use atom style granular with these pair +styles. +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      +
      + + + +

      (Silbert) Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev +E, 64, p 051302 (2001). +

      + diff --git a/doc/pair_style_gran.txt b/doc/pair_style_gran.txt new file mode 100644 index 0000000000..5d19c2e59a --- /dev/null +++ b/doc/pair_style_gran.txt @@ -0,0 +1,85 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style gran/hertizian command :h3 +pair_style gran/history command :h3 +pair_style gran/no_history command :h3 + +[Syntax:] + +pair_style style Kn, gamma_n xmu dampflag :pre + +style = {gran/hertzian} or {gran/history} or {gran/no_history} :ulb,l +Kn = spring constant for particle repulsion :l + (mg/d units where m is mass, g is the gravitational constant, d is diameter of a particle) :pre +gamma_n = damping coefficient for normal direction collisions (sqrt(g/d) units) :l +xmu = static yield criterion :l +dampflag = flag (0/1) for whether to (no/yes) include tangential damping :l,ule + +[Examples:] + +pair_style gran/history 200000.0 0.5 1.0 1 :pre + +[Description:] + +The {gran} styles use the following formula "(Silbert)"_#Silbert for +frictional force between two granular particles that are a distance r +apart when r is less than the contact distance d. + +:c,image(Eqs/pair_granular.jpg) + +The 1st term is a normal force and the 2nd term is a tangential force. +The other quantites are as follows: + +delta = d - r +f(x) = 1 for Hookean contacts used in pair styles {history} and {no_history} +f(x) = sqrt(x) for pair style {hertzian} +Kn = elastic constant for normal contact +Kt = elastic constant for tangential contact = 2/7 of Kn +gamma_n = viscoelastic constants for normal contact +gamma_t = viscoelastic constants for tangential contact = 1/2 of gamma_n +m_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj +Delta St = tangential displacement vector between the 2 spherical particles \ + which is truncated to satisfy a frictional yield criterion +n = a unit vector along the line connecting the centers of the 2 particles +Vn = normal component of the relative velocity of the 2 particles +Vt = tangential component of the relative velocity of the 2 particles :ul + +The Kn and gamma_n coefficients are set as parameters to the +pair_style command. Xmu is also specified which is the upper limit of +the tangential force through the Coulomb criterion Ft = xmu*Fn. The +tangential force between 2 particles grows according to a tangential +spring and dash-pot model until Ft/Fn = xmu and then is held at Ft = +Fn*xmu until the particles lose contact. + +For granular styles there are no individual atom type coefficients +that can be set. All global settings are made via the pair_style +command. + +See the citation for more discussion of the granular potentials. + +[Restrictions:] none + +All of these styles are part of the "granular" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +You must use "atom style"_atom_style.html {granular} with these pair +styles. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:line + +:link(Silbert) +[(Silbert)] Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev +E, 64, p 051302 (2001). diff --git a/doc/pair_style_hybrid.html b/doc/pair_style_hybrid.html new file mode 100644 index 0000000000..5d291aca13 --- /dev/null +++ b/doc/pair_style_hybrid.html @@ -0,0 +1,65 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style hybrid command +

      +

      Syntax: +

      +
      pair_style hybrid style1 style2 ... 
      +
      +
      • style1,style2 = list of one or more pair styles +
      +

      Examples: +

      +
      pair_style hybrid lj/charmm/coul/long 10.0 eam
      +pair_coeff 1*2 1*2 eam niu3
      +pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
      +pair_coeff 1*2 3 lj/cut 0.5 1.2 
      +
      +

      Description: +

      +

      The hybrid style enables the use of multiple pair styles in one +simulation. A pair style can be assigned to each pair of atom types +via the pair_coeff command. +

      +

      For example, a metal on a LJ surface could be computed where the metal +atoms interact with each other via a eam potential, the surface +atoms interact with each other via a lj/cut potential, and the +metal/surface interaction is also via a lj/cut potential. +

      +

      All pair styles that will be used must be listed in the pair_style +hybrid command (in any order). The name of each sub-style is followed +by its arguments, as illustrated in the example above. +

      +

      In the pair_coeff command, the first coefficient sets the pair style +and the remaining coefficients are those appropriate to that style. +For example, consider a simulation with 3 atom types: types 1 and 2 +are Ni atoms, type 3 are LJ atoms with charges. The following +commands would set up the hybrid simulation: +

      +
      atom_style hybrid eam charge
      +pair_style hybrid eam lj/cut/coul/cut 10.0 lj/cut 8.0
      +pair_coeff 1*2 1*2 eam niu3
      +pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
      +pair_coeff 1*2 3 lj/cut 0.5 1.2 
      +
      +

      The atom_style hybrid command is needed because +atoms in the simulation will have both EAM and charge attributes. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_hybrid.txt b/doc/pair_style_hybrid.txt new file mode 100644 index 0000000000..7195adb8c5 --- /dev/null +++ b/doc/pair_style_hybrid.txt @@ -0,0 +1,72 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style hybrid command :h3 + +[Syntax:] + +pair_style hybrid style1 style2 ... :pre + +style1,style2 = list of one or more pair styles :ul + +[Examples:] + +pair_style hybrid lj/charmm/coul/long 10.0 eam +pair_coeff 1*2 1*2 eam niu3 +pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0 +pair_coeff 1*2 3 lj/cut 0.5 1.2 :pre + +[Description:] + +The {hybrid} style enables the use of multiple pair styles in one +simulation. A pair style can be assigned to each pair of atom types +via the "pair_coeff"_pair_coeff.html command. + +For example, a metal on a LJ surface could be computed where the metal +atoms interact with each other via a {eam} potential, the surface +atoms interact with each other via a {lj/cut} potential, and the +metal/surface interaction is also via a {lj/cut} potential. + +All pair styles that will be used must be listed in the pair_style +hybrid command (in any order). The name of each sub-style is followed +by its arguments, as illustrated in the example above. + +In the pair_coeff command, the first coefficient sets the pair style +and the remaining coefficients are those appropriate to that style. +For example, consider a simulation with 3 atom types: types 1 and 2 +are Ni atoms, type 3 are LJ atoms with charges. The following +commands would set up the hybrid simulation: + +atom_style hybrid eam charge +pair_style hybrid eam lj/cut/coul/cut 10.0 lj/cut 8.0 +pair_coeff 1*2 1*2 eam niu3 +pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0 +pair_coeff 1*2 3 lj/cut 0.5 1.2 :pre + +The "atom_style"_atom_style.html hybrid command is needed because +atoms in the simulation will have both EAM and charge attributes. + +[Restrictions:] none + +When using a long-range Coulomic solver (via the +"kspace_style"_kspace_style command) with pair_style hybrid, one or +more sub-styles will be of the "long" variety. +E.g. {lj/cut/coul/long} or {buck/coul/long}. It is OK to have more +than one sub-style with a "long" component, but you must insure that +the short-range Coulombic cutoff used by each of these pair styles is +consistent. Else the long-range Coulombic solve will be inconsistent. + +The hybrid style cannot include any of the {granular} styles in its +list of styles to use. Only one {coul/long} style can be used in the +list of hybrid styles. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_style_lj.html b/doc/pair_style_lj.html new file mode 100644 index 0000000000..c26d5505cf --- /dev/null +++ b/doc/pair_style_lj.html @@ -0,0 +1,173 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style lj/cut command +

      +

      pair_style lj/cut/coul/cut command +

      +

      pair_style lj/cut/coul/debye command +

      +

      pair_style lj/cut/coul/long command +

      +

      pair_style lj/cut/coul/long/tip4p command +

      +

      Syntax: +

      +
      pair_style style args 
      +
      +
      • style = lj/cut or lj/cut/coul/cut or lj/cut/coul/debye or lj/cut/coul/long or lj/cut/coul/long/tip4p +
      • args = list of arguments for a particular style +
      +
        lj/cut args = cutoff
      +    cutoff = global cutoff for Lennard Jones interactions (distance units)
      +  lj/cut/coul/cut args = cutoff (cutoff2)
      +    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
      +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
      +  lj/cut/coul/debye args = kappa cutoff (cutoff2)
      +    kappa = Debye length (inverse distance units)
      +    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
      +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
      +  lj/cut/coul/long args = cutoff (cutoff2)
      +    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
      +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
      +  lj/cut/coul/long/tip4p args = otype htype btype atype qdist cutoff (cutoff2)
      +    otype,htype = atom types for TIP4P O and H
      +    btype,atype = bond and angle types for TIP4P waters
      +    qdist = distance from O atom to massless charge (distance units)
      +    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
      +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
      +
      +

      Examples: +

      +
      pair_style lj/cut 2.5
      +pair_coeff * * 1 1
      +pair_coeff 1 1 1 1.1 2.8 
      +
      +
      pair_style lj/cut/coul/cut 10.0
      +pair_style lj/cut/coul/cut 10.0 8.0
      +pair_coeff * * 100.0 3.0
      +pair_coeff 1 1 100.0 3.5 9.0
      +pair_coeff 1 1 100.0 3.5 9.0 9.0 
      +
      +
      pair_style lj/cut/coul/debye 1.5 3.0
      +pair_style lj/cut/coul/debye 1.5 2.5 5.0
      +pair_coeff * * 1.0 1.0
      +pair_coeff 1 1 1.0 1.5 2.5
      +pair_coeff 1 1 1.0 1.5 2.5 5.0 
      +
      +
      pair_style lj/cut/coul/long 10.0
      +pair_style lj/cut/coul/long 10.0 8.0
      +pair_coeff * * 100.0 3.0
      +pair_coeff 1 1 100.0 3.5 9.0 
      +
      +
      pair_style lj/cut/coul/long/tip4p 1 2 7 8 0.3 12.0
      +pair_style lj/cut/coul/long/tip4p 1 2 7 8 0.3 12.0 10.0
      +pair_coeff * * 100.0 3.0
      +pair_coeff 1 1 100.0 3.5 9.0 
      +
      +

      Description: +

      +

      The lj/cut styles compute the standard 6/12 Lennard-Jones potential, +given by +

      +
      +
      +

      Rc is the cutoff. +

      +

      Style lj/cut/coul/cut adds a Coulombic pairwise interaction given by +

      +
      +
      +

      where C is an energy-conversion constant, Qi and Qj are the charges on +the 2 atoms, and epsilon is the dielectric constant which can be set +by the dielectric command. If one cutoff is +specified in the pair_style command, it is used for both the LJ and +Coulombic terms. If two cutoffs are specified, they are used as +cutoffs for the LJ and Coulombic terms respectively. +

      +

      Style lj/cut/coul/debye adds an additional exp() damping factor +to the Coulombic term, given by +

      +
      +
      +

      where kappa is the Debye length. This potential is another way to +mimic the screening effect of a polar solvent. +

      +

      Style lj/cut/coul/long computes the same Coulombic interactions as +style lj/cut/coul/cut except that an additional damping factor is +applied to the Coulombic term so it can be used in conjunction with +the kspace_style command and its ewald or pppm +option. The Coulombic cutoff specified for this style means that +pairwise interactions within this distance are computed directly; +interactions outside that distance are computed in K-space. +

      +

      Style lj/cut/coul/long/tip4p implements the TIP4P water model of +(Jorgensen), which introduces a massless site located a +short distance away from the oxygen atom along the bisector of the HOH +angle. The atomic types of the oxygen and hydrogen atoms, the bond +and angle types for OH and HOH interactions, and the distance to the +massless charge site are specified as pair_style arguments. See the +howto section for more information on how to +use this pair style. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • epsilon (energy units) +
      • sigma (distance units) +
      • cutoff1 (distance units) +
      • cutoff2 (distance units) +
      +

      Note that sigma is defined in the LJ formula as the zero-crossing +distance for the potential, not as the energy minimum at 2^(1/6) +sigma. +

      +

      The latter 2 coefficients are optional. If not specified, the global +LJ and Coulombic cutoffs specified in the pair_style command are used. +If only one cutoff is specified, it is used as the cutoff for both LJ +and Coulombic interactions for this type pair. If both coefficients +are specified, they are used as the LJ and Coulombic cutoffs for this +type pair. You cannot specify 2 cutoffs for style lj/cut, since it +has no Coulombic terms. +

      +

      For lj/cut/coul/long and lj/cut/coul/long/tip4p only the LJ cutoff +can be specified since a Coulombic cutoff cannot be specified for an +individual I,J type pair. All type pairs use the same global +Coulombic cutoff specified in the pair_style command. +

      +

      Restrictions: +

      +

      The lj/cut/coul/long styles is part of the "kspace" package. It is +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

      +

      On some 64-bit machines, compiling with -O3 appears to break the +Coulombic tabling option used by the lj/cut/coul/long style. See +the "Additional build tips" section of the Making LAMMPS documentation +pages for workarounds on this issue. +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      +
      + + + +

      (Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983). +

      + diff --git a/doc/pair_style_lj.txt b/doc/pair_style_lj.txt new file mode 100644 index 0000000000..25ac0ff6c7 --- /dev/null +++ b/doc/pair_style_lj.txt @@ -0,0 +1,163 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style lj/cut command :h3 +pair_style lj/cut/coul/cut command :h3 +pair_style lj/cut/coul/debye command :h3 +pair_style lj/cut/coul/long command :h3 +pair_style lj/cut/coul/long/tip4p command :h3 + +[Syntax:] + +pair_style style args :pre + +style = {lj/cut} or {lj/cut/coul/cut} or {lj/cut/coul/debye} or \ +{lj/cut/coul/long} or {lj/cut/coul/long/tip4p} +args = list of arguments for a particular style :ul + {lj/cut} args = cutoff + cutoff = global cutoff for Lennard Jones interactions (distance units) + {lj/cut/coul/cut} args = cutoff (cutoff2) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) + {lj/cut/coul/debye} args = kappa cutoff (cutoff2) + kappa = Debye length (inverse distance units) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) + {lj/cut/coul/long} args = cutoff (cutoff2) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) + {lj/cut/coul/long/tip4p} args = otype htype btype atype qdist cutoff (cutoff2) + otype,htype = atom types for TIP4P O and H + btype,atype = bond and angle types for TIP4P waters + qdist = distance from O atom to massless charge (distance units) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre + +[Examples:] + +pair_style lj/cut 2.5 +pair_coeff * * 1 1 +pair_coeff 1 1 1 1.1 2.8 :pre + +pair_style lj/cut/coul/cut 10.0 +pair_style lj/cut/coul/cut 10.0 8.0 +pair_coeff * * 100.0 3.0 +pair_coeff 1 1 100.0 3.5 9.0 +pair_coeff 1 1 100.0 3.5 9.0 9.0 :pre + +pair_style lj/cut/coul/debye 1.5 3.0 +pair_style lj/cut/coul/debye 1.5 2.5 5.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 1.0 1.5 2.5 +pair_coeff 1 1 1.0 1.5 2.5 5.0 :pre + +pair_style lj/cut/coul/long 10.0 +pair_style lj/cut/coul/long 10.0 8.0 +pair_coeff * * 100.0 3.0 +pair_coeff 1 1 100.0 3.5 9.0 :pre + +pair_style lj/cut/coul/long/tip4p 1 2 7 8 0.3 12.0 +pair_style lj/cut/coul/long/tip4p 1 2 7 8 0.3 12.0 10.0 +pair_coeff * * 100.0 3.0 +pair_coeff 1 1 100.0 3.5 9.0 :pre + +[Description:] + +The {lj/cut} styles compute the standard 6/12 Lennard-Jones potential, +given by + +:c,image(Eqs/pair_lj.jpg) + +Rc is the cutoff. + +Style {lj/cut/coul/cut} adds a Coulombic pairwise interaction given by + +:c,image(Eqs/pair_coulomb.jpg) + +where C is an energy-conversion constant, Qi and Qj are the charges on +the 2 atoms, and epsilon is the dielectric constant which can be set +by the "dielectric"_dielectric.html command. If one cutoff is +specified in the pair_style command, it is used for both the LJ and +Coulombic terms. If two cutoffs are specified, they are used as +cutoffs for the LJ and Coulombic terms respectively. + +Style {lj/cut/coul/debye} adds an additional exp() damping factor +to the Coulombic term, given by + +:c,image(Eqs/pair_debye.jpg) + +where kappa is the Debye length. This potential is another way to +mimic the screening effect of a polar solvent. + +Style {lj/cut/coul/long} computes the same Coulombic interactions as +style {lj/cut/coul/cut} except that an additional damping factor is +applied to the Coulombic term so it can be used in conjunction with +the "kspace_style"_kspace_style.html command and its {ewald} or {pppm} +option. The Coulombic cutoff specified for this style means that +pairwise interactions within this distance are computed directly; +interactions outside that distance are computed in K-space. + +Style {lj/cut/coul/long/tip4p} implements the TIP4P water model of +"(Jorgensen)"_#Jorgensen, which introduces a massless site located a +short distance away from the oxygen atom along the bisector of the HOH +angle. The atomic types of the oxygen and hydrogen atoms, the bond +and angle types for OH and HOH interactions, and the distance to the +massless charge site are specified as pair_style arguments. See the +"howto section"_Section_howto.html#4_8 for more information on how to +use this pair style. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +epsilon (energy units) +sigma (distance units) +cutoff1 (distance units) +cutoff2 (distance units) :ul + +Note that sigma is defined in the LJ formula as the zero-crossing +distance for the potential, not as the energy minimum at 2^(1/6) +sigma. + +The latter 2 coefficients are optional. If not specified, the global +LJ and Coulombic cutoffs specified in the pair_style command are used. +If only one cutoff is specified, it is used as the cutoff for both LJ +and Coulombic interactions for this type pair. If both coefficients +are specified, they are used as the LJ and Coulombic cutoffs for this +type pair. You cannot specify 2 cutoffs for style {lj/cut}, since it +has no Coulombic terms. + +For {lj/cut/coul/long} and {lj/cut/coul/long/tip4p} only the LJ cutoff +can be specified since a Coulombic cutoff cannot be specified for an +individual I,J type pair. All type pairs use the same global +Coulombic cutoff specified in the pair_style command. + +[Restrictions:] + +The {lj/cut/coul/long} styles is part of the "kspace" package. It is +only enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_2 section for more info. + +On some 64-bit machines, compiling with -O3 appears to break the +Coulombic tabling option used by the {lj/cut/coul/long} style. See +the "Additional build tips" section of the Making LAMMPS documentation +pages for workarounds on this issue. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:line + +:link(Jorgensen) +[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983). diff --git a/doc/pair_style_lj_expand.html b/doc/pair_style_lj_expand.html new file mode 100644 index 0000000000..9422b776c8 --- /dev/null +++ b/doc/pair_style_lj_expand.html @@ -0,0 +1,60 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style lj/expand command +

      +

      Syntax: +

      +
      pair_style lj/expand cutoff 
      +
      +
      • cutoff = global cutoff for lj/expand interactions (distance units) +
      +

      Examples: +

      +
      pair_style lj/expand 2.5
      +pair_coeff * * 1.0 1.0 0.5
      +pair_coeff 1 1 1.0 1.0 -0.2 2.0 
      +
      +

      Description: +

      +

      Style lj/expand computes a LJ interaction with a distance shifted by +delta which can be useful when particles are of different sizes, since +it is different that using different sigma values in a standard LJ +formula: +

      +
      +
      +

      Rc is the cutoff which does not include the delta distance. I.e. the +actual force cutoff is the sum of cutoff + delta. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • epsilon (energy units) +
      • sigma (distance units) +
      • delta (distance units) +
      • cutoff (distance units) +
      +

      The delta values can be positive or negative. The last coefficient is +optional. If not specified, the global LJ cutoff is used. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_lj_expand.txt b/doc/pair_style_lj_expand.txt new file mode 100644 index 0000000000..8572c5916e --- /dev/null +++ b/doc/pair_style_lj_expand.txt @@ -0,0 +1,55 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style lj/expand command :h3 + +[Syntax:] + +pair_style lj/expand cutoff :pre + +cutoff = global cutoff for lj/expand interactions (distance units) :ul + +[Examples:] + +pair_style lj/expand 2.5 +pair_coeff * * 1.0 1.0 0.5 +pair_coeff 1 1 1.0 1.0 -0.2 2.0 :pre + +[Description:] + +Style {lj/expand} computes a LJ interaction with a distance shifted by +delta which can be useful when particles are of different sizes, since +it is different that using different sigma values in a standard LJ +formula: + +:c,image(Eqs/pair_lj_expand.jpg) + +Rc is the cutoff which does not include the delta distance. I.e. the +actual force cutoff is the sum of cutoff + delta. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +epsilon (energy units) +sigma (distance units) +delta (distance units) +cutoff (distance units) :ul + +The delta values can be positive or negative. The last coefficient is +optional. If not specified, the global LJ cutoff is used. + +[Restrictions:] none + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_style_lj_smooth.html b/doc/pair_style_lj_smooth.html new file mode 100644 index 0000000000..96534eaf62 --- /dev/null +++ b/doc/pair_style_lj_smooth.html @@ -0,0 +1,67 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style lj/smooth command +

      +

      Syntax: +

      +
      pair_style lj/smooth Rin cutoff 
      +
      +
      • Rin = global inner cutoff beyond which force smoothing will be applied (distance units) +
      • cutoff = global cutoff for lj/smooth interactions (distance units) +
      +

      Examples: +

      +
      pair_style lj/smooth 8.0 10.0
      +pair_coeff * * 10.0 1.5
      +pair_coeff 1 1 20.0 1.3 7.0 9.0 
      +
      +

      Description: +

      +

      Style lj/smooth computes a LJ interaction with a force smoothing +applied between the inner and outer cutoff. +

      +
      +
      +

      The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to +cause the force to vary smoothly from Rin to Rc. At Rin the force and +its 1st derivative will match the unsmoothed LJ formula. At Rc the +force and its 1st derivative will be 0.0. IMPORTANT NOTE: this force +smoothing causes the energy to be discontinuous both in its values and +1st derivative. This can lead to poor energy conservation. Plot the +energy and force resulting from this formula via the +pair_write command to see the effect. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • epsilon (energy units) +
      • sigma (distance units) +
      • Rin (distance units) +
      • cutoff (distance units) +
      +

      The last 2 coefficients are optional. If not specified, the global +Rin and cutoff are used. Rin cannot be 0.0. If Rin = cutoff, then no +force smoothing is performed for this type pair; the standard LJ +formula is used. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_lj_smooth.txt b/doc/pair_style_lj_smooth.txt new file mode 100644 index 0000000000..8b603a9e7e --- /dev/null +++ b/doc/pair_style_lj_smooth.txt @@ -0,0 +1,62 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style lj/smooth command :h3 + +[Syntax:] + +pair_style lj/smooth Rin cutoff :pre + +Rin = global inner cutoff beyond which force smoothing will be applied (distance units) +cutoff = global cutoff for lj/smooth interactions (distance units) :ul + +[Examples:] + +pair_style lj/smooth 8.0 10.0 +pair_coeff * * 10.0 1.5 +pair_coeff 1 1 20.0 1.3 7.0 9.0 :pre + +[Description:] + +Style {lj/smooth} computes a LJ interaction with a force smoothing +applied between the inner and outer cutoff. + +:c,image(Eqs/pair_lj_smooth.jpg) + +The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to +cause the force to vary smoothly from Rin to Rc. At Rin the force and +its 1st derivative will match the unsmoothed LJ formula. At Rc the +force and its 1st derivative will be 0.0. IMPORTANT NOTE: this force +smoothing causes the energy to be discontinuous both in its values and +1st derivative. This can lead to poor energy conservation. Plot the +energy and force resulting from this formula via the +"pair_write"_pair_write.html command to see the effect. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +epsilon (energy units) +sigma (distance units) +Rin (distance units) +cutoff (distance units) :ul + +The last 2 coefficients are optional. If not specified, the global +Rin and cutoff are used. Rin cannot be 0.0. If Rin = cutoff, then no +force smoothing is performed for this type pair; the standard LJ +formula is used. + +[Restrictions:] none + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_style_morse.html b/doc/pair_style_morse.html new file mode 100644 index 0000000000..fab569c019 --- /dev/null +++ b/doc/pair_style_morse.html @@ -0,0 +1,56 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style morse command +

      +

      Syntax: +

      +
      pair_style morse cutoff 
      +
      +
      • cutoff = global cutoff for Morse interactions (distance units) +
      +

      Examples: +

      +
      pair_style morse 2.5
      +pair_coeff * * 100.0 2.0 1.5
      +pair_coeff 1 1 100.0 2.0 1.5 3.0 
      +
      +

      Description: +

      +

      Style morse computes pairwise interactions with the formula +

      +
      +
      +

      Rc is the cutoff. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • D0 (energy units) +
      • alpha (1/distance units) +
      • r0 (distance units) +
      • cutoff (distance units) +
      +

      The last coefficient is optional. If not specified, the global morse +cutoff is used. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_morse.txt b/doc/pair_style_morse.txt new file mode 100644 index 0000000000..18e1404c62 --- /dev/null +++ b/doc/pair_style_morse.txt @@ -0,0 +1,51 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style morse command :h3 + +[Syntax:] + +pair_style morse cutoff :pre + +cutoff = global cutoff for Morse interactions (distance units) :ul + +[Examples:] + +pair_style morse 2.5 +pair_coeff * * 100.0 2.0 1.5 +pair_coeff 1 1 100.0 2.0 1.5 3.0 :pre + +[Description:] + +Style {morse} computes pairwise interactions with the formula + +:c,image(Eqs/pair_morse.jpg) + +Rc is the cutoff. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +D0 (energy units) +alpha (1/distance units) +r0 (distance units) +cutoff (distance units) :ul + +The last coefficient is optional. If not specified, the global morse +cutoff is used. + +[Restrictions:] none + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_style_none.html b/doc/pair_style_none.html new file mode 100644 index 0000000000..32152c8784 --- /dev/null +++ b/doc/pair_style_none.html @@ -0,0 +1,45 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style none command +

      +

      Syntax: +

      +
      pair_style none 
      +
      +

      Examples: +

      +
      pair_style none 
      +
      +

      Description: +

      +

      Using a pair style of none means pair forces are not computed. +

      +

      With this choice, the force cutoff is 0.0, which means that only atoms +within the neighbor skin distance (see the neighbor +command) are communicated between processors. You must insure the +skin distance is large enough to acquire atoms needed for computing +bonds, angles, etc. +

      +

      A pair style of none will also prevent pairwise neighbor lists from +being built. However if the neighbor style is bin, +data structures for binning are still allocated. If the neighbor skin +distance is small, then these data structues can consume a large +amount of memory. So you should either set the neighbor style to +nsq or set the skin distance to a larger value. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/pair_style_none.txt b/doc/pair_style_none.txt new file mode 100644 index 0000000000..83f8eef996 --- /dev/null +++ b/doc/pair_style_none.txt @@ -0,0 +1,40 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style none command :h3 + +[Syntax:] + +pair_style none :pre + +[Examples:] + +pair_style none :pre + +[Description:] + +Using a pair style of none means pair forces are not computed. + +With this choice, the force cutoff is 0.0, which means that only atoms +within the neighbor skin distance (see the "neighbor"_neighbor.html +command) are communicated between processors. You must insure the +skin distance is large enough to acquire atoms needed for computing +bonds, angles, etc. + +A pair style of {none} will also prevent pairwise neighbor lists from +being built. However if the "neighbor"_neighbor.html style is {bin}, +data structures for binning are still allocated. If the neighbor skin +distance is small, then these data structues can consume a large +amount of memory. So you should either set the neighbor style to +{nsq} or set the skin distance to a larger value. + +[Restrictions:] none + +[Related commands:] none + +[Default:] none diff --git a/doc/pair_style_soft.html b/doc/pair_style_soft.html new file mode 100644 index 0000000000..0a7ae109c2 --- /dev/null +++ b/doc/pair_style_soft.html @@ -0,0 +1,65 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style soft command +

      +

      Syntax: +

      +
      pair_style soft cutoff 
      +
      +
      • cutoff = global cutoff for soft interactions (distance units) +
      +

      Examples: +

      +
      pair_style soft 2.5
      +pair_coeff * * 0.0 60.0
      +pair_coeff 1 1 0.0 60.0 3.0 
      +
      +

      Description: +

      +

      Style soft computes pairwise interactions with the formula +

      +
      +
      +

      It is useful for pushing apart overlapping atoms, since it does not +blow up as r goes to 0. A is a pre-factor that varies in time from +the start to the end of the run. The run command documents +how to make the ramping take place across multiple runs. Rc is the +cutoff. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • Astart (energy units) +
      • Astop (energy units) +
      • cutoff (distance units) +
      +

      Astart and Astop are the values of the prefactor at the start and end +of the next run. At intermediate times the value of A will be ramped +between these 2 values. Note that before performing a 2nd run, you +will want to adjust the values of Astart and Astop for all type pairs, +or switch to a new pair style. +

      +

      The last coefficient is optional. If not specified, the global soft +cutoff is used. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_soft.txt b/doc/pair_style_soft.txt new file mode 100644 index 0000000000..255d642124 --- /dev/null +++ b/doc/pair_style_soft.txt @@ -0,0 +1,60 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style soft command :h3 + +[Syntax:] + +pair_style soft cutoff :pre + +cutoff = global cutoff for soft interactions (distance units) :ul + +[Examples:] + +pair_style soft 2.5 +pair_coeff * * 0.0 60.0 +pair_coeff 1 1 0.0 60.0 3.0 :pre + +[Description:] + +Style {soft} computes pairwise interactions with the formula + +:c,image(Eqs/pair_soft.jpg) + +It is useful for pushing apart overlapping atoms, since it does not +blow up as r goes to 0. A is a pre-factor that varies in time from +the start to the end of the run. The "run"_run.html command documents +how to make the ramping take place across multiple runs. Rc is the +cutoff. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +Astart (energy units) +Astop (energy units) +cutoff (distance units) :ul + +Astart and Astop are the values of the prefactor at the start and end +of the next run. At intermediate times the value of A will be ramped +between these 2 values. Note that before performing a 2nd run, you +will want to adjust the values of Astart and Astop for all type pairs, +or switch to a new pair style. + +The last coefficient is optional. If not specified, the global soft +cutoff is used. + +[Restrictions:] none + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_style_table.html b/doc/pair_style_table.html new file mode 100644 index 0000000000..cbbd8cfc9e --- /dev/null +++ b/doc/pair_style_table.html @@ -0,0 +1,157 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style table command +

      +

      Syntax: +

      +
      pair_style table style N 
      +
      +
      • style = lookup or linear or spline or bitmap = method of interpolation +
      • N = use N values in lookup, linear, spline tables +
      • N = use 2^N values in bitmap tables +
      +

      Examples: +

      +
      pair_style table linear 1000
      +pair_style table bitmap 12
      +pair_coeff * 3 morse.table ENTRY1
      +pair_coeff * 3 morse.table ENTRY1 7.0 
      +
      +

      Description: +

      +

      Style table creates interpolation tables of length N from pair +potential and force values listed in a file(s) as a function of +distance. The files are read by the pair_coeff +command. +

      +

      The interpolation tables are created by fitting cubic splines to the +file values and interpolating energy and force values at each of N +distances. During a simulation, these tables are used to interpolate +energy and force values as needed. The interpolation is done in one +of 4 styles: lookup, linear, spline, or bitmap. +

      +

      For the lookup style, the distance between 2 atoms is used to find +the nearest table entry, which is the energy or force. +

      +

      For the linear style, the distance is used to find 2 surrounding +table values from which an energy or force is computed by linear +interpolation. +

      +

      For the spline style, a cubic spline coefficients are computed and +stored each of the N values in the table. The pair distance is used +to find the appropriate set of coefficients which are used to evaluate +a cubic polynomial which computes the energy or force. +

      +

      For the bitmap style, the N means to create interpolation tables +that are 2^N in length. The pair distance is used to index into the +table via a fast bit-mapping technique (Wolff) and a linear +interpolation is performed between adjacent table values. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • filename +
      • keyword +
      • cutoff (distance units) +
      +

      The filename specifies a file containing tabulated energy and force +values. The keyword specifies a section of the file. The cutoff is +an optional coefficient. If not specified, the outer cutoff in the +table itself (see below) will be used to build an interpolation table +that extend to the largest tablulated distance. If specified, only +file values up to the cutoff are used to create the interpolation +table. +

      +

      The format of a tabulated file is as follows (without the +parenthesized comments): +

      +
      # Morse potential for Fe   (one or more comment or blank lines) 
      +
      +
      MORSE_FE                   (keyword is first text on line)
      +N 500 R 1.0 10.0           (N, R, RSQ, BITMAP, FPRIME parameters)
      +                           (blank)
      +1 1.0 25.5 102.34          (index, r, energy, force)
      +2 1.02 23.4 98.5
      +...
      +500 10.0 0.001 0.003 
      +
      +

      A section begins with a non-blank line whose 1st character is not a +"#"; blank lines or lines starting with "#" can be used as comments +between sections. The first line begins with a keyword which +identifies the section. The line can contain additional text, but the +initial text must match the argument specified in the pair_coeff +command. The next line lists (in any order) one or more parameters +for the table. Each parameter is a keyword followed by one or more +numeric values. +

      +

      The parameter "N" is required; its value is the number of table +entries that follow. All other parameters are optional. If "R" or +"RSQ" or "BITMAP" does not appear, then the distances in each line of +the table are used as-is to perform spline interpolation. In this +case, the table values can be spaced in r uniformly or however you +wish to position table values in regions of large gradients. +

      +

      If used, the parameters "R" or "RSQ" are followed by 2 values rlo +and rhi. If specified, the distance associated with each energy and +force value is computed from these 2 values (at high accuracy), rather +than using the (low-accuracy) value listed in each line of the table. +For "R", distances uniformly spaced between rlo and rhi are +computed; for "RSQ", squared distances uniformly spaced between +rlo*rlo and rhi*rhi are computed. +

      +

      If used, the parameter "BITMAP" is also followed by 2 values rlo and +rhi. These values, along with the "N" value determine the ordering +of the N lines that follow and what distance is associated with each. +This ordering is complex, so it is not documented here, since this +file is typically produced by the pair_write command +with its bitmap option. When the table is in BITMAP format, the "N" +parameter in the file must be equal to 2^M where M is the value +specified in the pair_style command. Also, a cutoff parameter cannot +be used as an optional 3rd argument in the pair_coeff command; the +entire table extent as specified in the file must be used. +

      +

      If used, the parameter "FPRIME" is followed by 2 values fplo and +fphi which are the derivative of the force at the innermost and +outermost distances listed in the table. These values are needed by +the spline construction routines. If not specified by the "FPRIME" +parameter, they are estimated (less accurately) by the first 2 and +last 2 force values in the table. This parameter is not used by +BITMAP tables. +

      +

      Following a blank line, the next N lines list the tabulated values. +On each line, the 1st value is the index from 1 to N, the 2nd value is +r (in distance units), the 3rd value is the energy (in energy units), +and the 4th is the force (in force units). The r values must increase +from one line to the next (unless the BITMAP parameter is specified). +

      +

      Note that one file can contain many sections, each with a tabulated +potential. LAMMPS reads the file section by section until it finds +one that matches the specified keyword. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      +
      + + + +

      (Wolff) Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). +

      + diff --git a/doc/pair_style_table.txt b/doc/pair_style_table.txt new file mode 100644 index 0000000000..d012f3a70a --- /dev/null +++ b/doc/pair_style_table.txt @@ -0,0 +1,151 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style table command :h3 + +[Syntax:] + +pair_style table style N :pre + +style = {lookup} or {linear} or {spline} or {bitmap} = method of interpolation +N = use N values in {lookup}, {linear}, {spline} tables +N = use 2^N values in {bitmap} tables :ul + +[Examples:] + +pair_style table linear 1000 +pair_style table bitmap 12 +pair_coeff * 3 morse.table ENTRY1 +pair_coeff * 3 morse.table ENTRY1 7.0 :pre + +[Description:] + +Style {table} creates interpolation tables of length {N} from pair +potential and force values listed in a file(s) as a function of +distance. The files are read by the "pair_coeff"_pair_coeff.html +command. + +The interpolation tables are created by fitting cubic splines to the +file values and interpolating energy and force values at each of {N} +distances. During a simulation, these tables are used to interpolate +energy and force values as needed. The interpolation is done in one +of 4 styles: {lookup}, {linear}, {spline}, or {bitmap}. + +For the {lookup} style, the distance between 2 atoms is used to find +the nearest table entry, which is the energy or force. + +For the {linear} style, the distance is used to find 2 surrounding +table values from which an energy or force is computed by linear +interpolation. + +For the {spline} style, a cubic spline coefficients are computed and +stored each of the {N} values in the table. The pair distance is used +to find the appropriate set of coefficients which are used to evaluate +a cubic polynomial which computes the energy or force. + +For the {bitmap} style, the N means to create interpolation tables +that are 2^N in length. The pair distance is used to index into the +table via a fast bit-mapping technique "(Wolff)"_#Wolff and a linear +interpolation is performed between adjacent table values. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +filename +keyword +cutoff (distance units) :ul + +The filename specifies a file containing tabulated energy and force +values. The keyword specifies a section of the file. The cutoff is +an optional coefficient. If not specified, the outer cutoff in the +table itself (see below) will be used to build an interpolation table +that extend to the largest tablulated distance. If specified, only +file values up to the cutoff are used to create the interpolation +table. + +The format of a tabulated file is as follows (without the +parenthesized comments): + +# Morse potential for Fe (one or more comment or blank lines) :pre + +MORSE_FE (keyword is first text on line) +N 500 R 1.0 10.0 (N, R, RSQ, BITMAP, FPRIME parameters) + (blank) +1 1.0 25.5 102.34 (index, r, energy, force) +2 1.02 23.4 98.5 +... +500 10.0 0.001 0.003 :pre + +A section begins with a non-blank line whose 1st character is not a +"#"; blank lines or lines starting with "#" can be used as comments +between sections. The first line begins with a keyword which +identifies the section. The line can contain additional text, but the +initial text must match the argument specified in the pair_coeff +command. The next line lists (in any order) one or more parameters +for the table. Each parameter is a keyword followed by one or more +numeric values. + +The parameter "N" is required; its value is the number of table +entries that follow. All other parameters are optional. If "R" or +"RSQ" or "BITMAP" does not appear, then the distances in each line of +the table are used as-is to perform spline interpolation. In this +case, the table values can be spaced in {r} uniformly or however you +wish to position table values in regions of large gradients. + +If used, the parameters "R" or "RSQ" are followed by 2 values {rlo} +and {rhi}. If specified, the distance associated with each energy and +force value is computed from these 2 values (at high accuracy), rather +than using the (low-accuracy) value listed in each line of the table. +For "R", distances uniformly spaced between {rlo} and {rhi} are +computed; for "RSQ", squared distances uniformly spaced between +{rlo*rlo} and {rhi*rhi} are computed. + +If used, the parameter "BITMAP" is also followed by 2 values {rlo} and +{rhi}. These values, along with the "N" value determine the ordering +of the N lines that follow and what distance is associated with each. +This ordering is complex, so it is not documented here, since this +file is typically produced by the "pair_write"_pair_write.html command +with its {bitmap} option. When the table is in BITMAP format, the "N" +parameter in the file must be equal to 2^M where M is the value +specified in the pair_style command. Also, a cutoff parameter cannot +be used as an optional 3rd argument in the pair_coeff command; the +entire table extent as specified in the file must be used. + +If used, the parameter "FPRIME" is followed by 2 values {fplo} and +{fphi} which are the derivative of the force at the innermost and +outermost distances listed in the table. These values are needed by +the spline construction routines. If not specified by the "FPRIME" +parameter, they are estimated (less accurately) by the first 2 and +last 2 force values in the table. This parameter is not used by +BITMAP tables. + +Following a blank line, the next N lines list the tabulated values. +On each line, the 1st value is the index from 1 to N, the 2nd value is +r (in distance units), the 3rd value is the energy (in energy units), +and the 4th is the force (in force units). The r values must increase +from one line to the next (unless the BITMAP parameter is specified). + +Note that one file can contain many sections, each with a tabulated +potential. LAMMPS reads the file section by section until it finds +one that matches the specified keyword. + +[Restrictions:] none + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:line + +:link(Wolff) +[(Wolff)] Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). diff --git a/doc/pair_style_yukawa.html b/doc/pair_style_yukawa.html new file mode 100644 index 0000000000..fec92cab22 --- /dev/null +++ b/doc/pair_style_yukawa.html @@ -0,0 +1,55 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_style yukawa command +

      +

      Syntax: +

      +
      pair_style yukawa kappa cutoff 
      +
      +
      • kappa = screening length (inverse distance units) +
      • cutoff = global cutoff for Yukawa interactions (distance units) +
      +

      Examples: +

      +
      pair_style yukawa 2.0 2.5
      +pair_coeff 1 1 100.0 2.3
      +pair_coeff * * 100.0 
      +
      +

      Description: +

      +

      Style yukawa computes pairwise interactions with the formula +

      +
      +
      +

      Rc is the cutoff. +

      +

      The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

      +
      • A (energy units) +
      • cutoff (distance units) +
      +

      The last coefficient is optional. If not specified, the global yukawa +cutoff is used. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_style_yukawa.txt b/doc/pair_style_yukawa.txt new file mode 100644 index 0000000000..1e692b1cb3 --- /dev/null +++ b/doc/pair_style_yukawa.txt @@ -0,0 +1,50 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style yukawa command :h3 + +[Syntax:] + +pair_style yukawa kappa cutoff :pre + +kappa = screening length (inverse distance units) +cutoff = global cutoff for Yukawa interactions (distance units) :ul + +[Examples:] + +pair_style yukawa 2.0 2.5 +pair_coeff 1 1 100.0 2.3 +pair_coeff * * 100.0 :pre + +[Description:] + +Style {yukawa} computes pairwise interactions with the formula + +:c,image(Eqs/pair_yukawa.jpg) + +Rc is the cutoff. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +A (energy units) +cutoff (distance units) :ul + +The last coefficient is optional. If not specified, the global yukawa +cutoff is used. + +[Restrictions:] none + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/pair_write.html b/doc/pair_write.html new file mode 100644 index 0000000000..98600e8533 --- /dev/null +++ b/doc/pair_write.html @@ -0,0 +1,80 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      pair_write command +

      +

      Syntax: +

      +
      pair_write itype jtype N style inner outer file keyword Qi Qj 
      +
      +
      • itype,jtype = 2 atom types +
      • N = # of values +
      • style = r or rsq or bitmap +
      • inner,outer = inner and outer cutoff (distance units) +
      • file = name of file to write values to +
      • keyword = section name in file for this set of tabulated values +
      • Qi,Qj = 2 atom charges (charge units) (optional) +
      +

      Examples: +

      +
      pair_write 1 3 500 r 1.0 10.0 table.txt LJ
      +pair_write 1 1 1000 rsq 2.0 8.0 table.txt Yukawa_1_1 -0.5 0.5 
      +
      +

      Description: +

      +

      Write energy and force values to a file as a function of distance for +the currently defined pair potential. This is useful for plotting the +potential function or otherwise debugging its values. If the file +already exists, the table of values is appended to the end of the file +to allow multiple tables of energy and force to be included in one +file. +

      +

      The energy and force values are computed at distances from inner to +outer for 2 interacting atoms of type itype and jtype, using the +appropriate pair_coeff coefficients. If the style +is r, then N distances are used, evenly spaced in r; if the style is +rsq, N distances are used, evenly spaced in r^2. +

      +

      For example, for N = 7, style = r, inner = 1.0, and outer = 4.0, +values are computed at r = 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0. +

      +

      If the style is bitmap, then 2^N values are written to the file in a +format and order consistent with how they are read in by the +pair_coeff command for pair style table. For +reasonable accuracy in a bitmapped table, choose N >= 12, an inner +value that is smaller than the distance of closest approach of 2 +atoms, and an outer value <= cutoff of the potential. +

      +

      If the pair potential is computed between charged atoms, the charges +of the pair of interacting atoms can optionally be specified. If not +specified, values of Qi = Qj = 1.0 are used. +

      +

      The file is written in the format used as input for the +pair_style table option with keyword as the +section name. Each line written to the file lists an index number +(1-N), a distance (in distance units), an energy (in energy units), +and a force (in force units). +

      +

      Restrictions: +

      +

      All force field coefficients for pair and other kinds of interactions +must be set before this command can be invoked. +

      +

      Due to how the pairwise force is computed, an inner value > 0.0 must +be specified even if the potential has a finite value at r = 0.0. +

      +

      Related commands: +

      +

      pair_style, pair_coeff +

      +

      Default: none +

      + diff --git a/doc/pair_write.txt b/doc/pair_write.txt new file mode 100644 index 0000000000..88b211054d --- /dev/null +++ b/doc/pair_write.txt @@ -0,0 +1,75 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_write command :h3 + +[Syntax:] + +pair_write itype jtype N style inner outer file keyword Qi Qj :pre + +itype,jtype = 2 atom types +N = # of values +style = {r} or {rsq} or {bitmap} +inner,outer = inner and outer cutoff (distance units) +file = name of file to write values to +keyword = section name in file for this set of tabulated values +Qi,Qj = 2 atom charges (charge units) (optional) :ul + +[Examples:] + +pair_write 1 3 500 r 1.0 10.0 table.txt LJ +pair_write 1 1 1000 rsq 2.0 8.0 table.txt Yukawa_1_1 -0.5 0.5 :pre + +[Description:] + +Write energy and force values to a file as a function of distance for +the currently defined pair potential. This is useful for plotting the +potential function or otherwise debugging its values. If the file +already exists, the table of values is appended to the end of the file +to allow multiple tables of energy and force to be included in one +file. + +The energy and force values are computed at distances from inner to +outer for 2 interacting atoms of type itype and jtype, using the +appropriate "pair_coeff"_pair_coeff.html coefficients. If the style +is {r}, then N distances are used, evenly spaced in r; if the style is +{rsq}, N distances are used, evenly spaced in r^2. + +For example, for N = 7, style = {r}, inner = 1.0, and outer = 4.0, +values are computed at r = 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0. + +If the style is {bitmap}, then 2^N values are written to the file in a +format and order consistent with how they are read in by the +"pair_coeff"_pair_coeff.html command for pair style {table}. For +reasonable accuracy in a bitmapped table, choose N >= 12, an {inner} +value that is smaller than the distance of closest approach of 2 +atoms, and an {outer} value <= cutoff of the potential. + +If the pair potential is computed between charged atoms, the charges +of the pair of interacting atoms can optionally be specified. If not +specified, values of Qi = Qj = 1.0 are used. + +The file is written in the format used as input for the +"pair_style"_pair_style.html {table} option with {keyword} as the +section name. Each line written to the file lists an index number +(1-N), a distance (in distance units), an energy (in energy units), +and a force (in force units). + +[Restrictions:] + +All force field coefficients for pair and other kinds of interactions +must be set before this command can be invoked. + +Due to how the pairwise force is computed, an inner value > 0.0 must +be specified even if the potential has a finite value at r = 0.0. + +[Related commands:] + +"pair_style"_pair_style.html, "pair_coeff"_pair_coeff.html + +[Default:] none diff --git a/doc/print.html b/doc/print.html new file mode 100644 index 0000000000..acf581d809 --- /dev/null +++ b/doc/print.html @@ -0,0 +1,45 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      print command +

      +

      Syntax: +

      +
      print args 
      +
      +
      • args = one or more text strings and variables names to print out +
      +

      Examples: +

      +
      print The system volume is now $v 
      +
      +

      Description: +

      +

      Print the list of arguments as a line of text to the screen and/or +logfile. If variables are included in the arguments, they will be +evaluated and their values printed. Note that if variables are +included, the print string should not be enclosed in double quotes, +else it will prevent the variables from being evaluated. +

      +

      By using the print command in a section of the input script that is +looped over (see the jump command), and by including +variables of the equal style (see the variable +command), a string with changing values can be printed. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix print, variable +

      +

      Default: none +

      + diff --git a/doc/print.txt b/doc/print.txt new file mode 100644 index 0000000000..3eaff3ba5c --- /dev/null +++ b/doc/print.txt @@ -0,0 +1,40 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +print command :h3 + +[Syntax:] + +print args :pre + +args = one or more text strings and variables names to print out :ul + +[Examples:] + +print The system volume is now $v :pre + +[Description:] + +Print the list of arguments as a line of text to the screen and/or +logfile. If variables are included in the arguments, they will be +evaluated and their values printed. Note that if variables are +included, the print string should not be enclosed in double quotes, +else it will prevent the variables from being evaluated. + +By using the print command in a section of the input script that is +looped over (see the "jump"_jump.html command), and by including +variables of the {equal} style (see the "variable"_variable.html +command), a string with changing values can be printed. + +[Restrictions:] none + +[Related commands:] + +"fix print"_fix_print.html, "variable"_variable.html + +[Default:] none diff --git a/doc/processors.html b/doc/processors.html new file mode 100644 index 0000000000..8bfb85b2ef --- /dev/null +++ b/doc/processors.html @@ -0,0 +1,61 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      processors command +

      +

      Syntax: +

      +
      processors Px Py Pz 
      +
      +
      • Px,Py,Pz = # of processors in each dimension of a 3d grid +
      +

      Examples: +

      +
      processors 2 4 4 
      +
      +

      Description: +

      +

      Specify how processors are mapped as a 3d logical grid to the global +simulation box. +

      +

      When this command has not been specified, LAMMPS will choose Px, Py, +Pz based on the dimensions of the global simulation box so as to +minimize the surface/volume ratio of each processor's sub-domain. +

      +

      Since LAMMPS does not load-balance by changing the grid of 3d +processors on-the-fly, this command should be used to override the +LAMMPS default if it is known to be sub-optimal for a particular +problem. For example, a problem where the atom's extent will change +dramatically over the course of the simulation. +

      +

      The product of Px, Py, Pz must equal P, the total # of processors +LAMMPS is running on. If multiple partitions are being used then P is +the number of processors in this partition; see this +section for an explanation of the -partition +command-line switch. +

      +

      If P is large and prime, a grid such as 1 x P x 1 will be required, +which may incur extra communication costs. +

      +

      Restrictions: +

      +

      This command cannot be used after the simulation box is defined by a +read_data or create_box command. +It can be used before a restart file is read to change the 3d +processor grid from what is specified in the restart file. +

      +

      Related commands: none +

      +

      Default: +

      +

      LAMMPS chooses Px, Py, Pz +

      + diff --git a/doc/processors.txt b/doc/processors.txt new file mode 100644 index 0000000000..d21d0bd7e1 --- /dev/null +++ b/doc/processors.txt @@ -0,0 +1,56 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +processors command :h3 + +[Syntax:] + +processors Px Py Pz :pre + +Px,Py,Pz = # of processors in each dimension of a 3d grid :ul + +[Examples:] + +processors 2 4 4 :pre + +[Description:] + +Specify how processors are mapped as a 3d logical grid to the global +simulation box. + +When this command has not been specified, LAMMPS will choose Px, Py, +Pz based on the dimensions of the global simulation box so as to +minimize the surface/volume ratio of each processor's sub-domain. + +Since LAMMPS does not load-balance by changing the grid of 3d +processors on-the-fly, this command should be used to override the +LAMMPS default if it is known to be sub-optimal for a particular +problem. For example, a problem where the atom's extent will change +dramatically over the course of the simulation. + +The product of Px, Py, Pz must equal P, the total # of processors +LAMMPS is running on. If multiple partitions are being used then P is +the number of processors in this partition; see "this +section"_Section_start.html#2_4 for an explanation of the -partition +command-line switch. + +If P is large and prime, a grid such as 1 x P x 1 will be required, +which may incur extra communication costs. + +[Restrictions:] + +This command cannot be used after the simulation box is defined by a +"read_data"_read_data.html or "create_box"_create_box.html command. +It can be used before a restart file is read to change the 3d +processor grid from what is specified in the restart file. + +[Related commands:] none + +[Default:] + +LAMMPS chooses Px, Py, Pz diff --git a/doc/read_data.html b/doc/read_data.html new file mode 100644 index 0000000000..7e01eb79bf --- /dev/null +++ b/doc/read_data.html @@ -0,0 +1,591 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      read_data command +

      +

      Syntax: +

      +
      read_data file 
      +
      +
      • file = name of data file to read in +
      +

      Examples: +

      +
      read_data data.lj
      +read_data ../run7/data.polymer.gz 
      +
      +

      Description: +

      +

      Read in a data file containing information LAMMPS needs to run a +simulation. The file can be ASCII text or a gzipped text file +(detected by a .gz suffix). This is one of 3 ways to specify initial +atom coordinates; see the read_restart and +create_atoms commands for alternative methods. +

      +

      The structure of the data file is important, though many settings and +sections are optional or can come in any order. See the examples +directory for sample data files for different problems. +

      +

      A data file has a header and a body. The header appears first. The +first line of the header is always skipped; it typically contains a +description of the file. Then lines are read one at a time. Lines +can have a trailing comment starting with '#' that is ignored. If the +line is blank (only whitespace after comment is deleted), it is +skipped. If the line contains a header keyword, the corresponding +value(s) is read from the line. If it doesn't contain a header +keyword, the line begins the body of the file. +

      +

      The body of the file contains zero or more sections. The first line +of a section has only a keyword. The next line is skipped. The +remaining lines of the section contain values. The number of lines +depends on the section keyword as described below. Zero or more blank +lines can be used between sections. Sections can appear in any order, +with a few exceptions as noted below. +

      +

      The formatting of individual lines in the data file (indentation, +spacing between words and numbers) is not important except that header +and section keywords (e.g. atoms, xlo xhi, Masses, Bond Coeffs) must +be capitalized as shown and can't have extra white space between their +words - e.g. two spaces or a tab between "Bond" and "Coeffs" is not +valid. +

      +
      + +

      These are the recognized header keywords. Header lines can come in +any order. The value(s) is read from the beginning of the line. Thus +the keyword atoms should be in a line like "1000 atoms" and the +keyword ylo yhi should be in a line like "-10.0 10.0 ylo yhi". All +these settings have a default value of 0, except the lo/hi box size +defaults are -0.5 and 0.5. A line need only appear if the value is +different than the default. +

      +
      • atoms = # of atoms in system +
      • bonds = # of bonds in system +
      • angles = # of angles in system +
      • dihedrals = # of dihedrals in system +
      • impropers = # of impropers in system +
      • atom types = # of atom types in system +
      • bond types = # of bond types in system +
      • angle types = # of angle types in system +
      • dihedral types = # of dihedral types in system +
      • improper types = # of improper types in system +
      • xlo xhi = simulation box boundaries in x dimension +
      • ylo yhi = simulation box boundaries in y dimension +
      • zlo zhi = simulation box boundaries in z dimension +
      +

      For 2d simulations, the zlo zhi values should be set to bound the z +coords for atoms that appear in the file; the default of -0.5 0.5 is +valid if all z coords are 0.0. +

      +

      The initial simulation box size is determined by the lo/hi settings. +In any dimension, the system may be periodic or non-periodic; see the +boundary command. +

      +

      If the system is non-periodic (in a dimension), then all atoms in the +data file should have coordinates (in that dimension) between the lo +and hi values. Furthermore, if running in parallel, the lo/hi values +should be just a bit smaller/larger than the min/max extent of atoms. +For example, if your atoms extend from 0 to 50, you should not specify +the box bounds as -10000 and 10000. Since LAMMPS uses the specified +box size to layout the 3d grid of processors, this will be sub-optimal +and may cause a parallel simulation to lose atoms when LAMMPS +shrink-wraps the box to the atoms. +

      +

      If the system is periodic (in a dimension), then atom coordinates can +be outside the bounds; they will be remapped (in a periodic sense) +back inside the box. +

      +
      + +

      These are the section keywords for the body of the file. +

      +
      • Atoms, Velocities, Masses, Dipoles = atom-property sections +
      • Bonds, Angles, Dihedrals, Impropers = molecular topolgy sections +
      • Pair Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs = force field sections +
      • BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs, EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, BondBond13 Coeffs, AngleAngle Coeffs = class 2 force field sections +
      +

      Each section is now listed in alphabetic order. The format of each +section is described including the number of lines it must contain and +rules (if any) for where it can appear in the data file. +

      +

      Any individual line in the various sections can have a trailing +comment starting with "#" for annotation purposes. E.g. in the +Atoms section: +

      +
      10 1 17 -1.0 10.0 5.0 6.0   # salt ion 
      +
      +
      + +

      Angle Coeffs section: +

      +
      • one line per angle type + +
      • line syntax: ID coeffs + +
          ID = angle type (1-N)
        +  coeffs = list of coeffs 
        +
        +
      • example: + +
          6 70 108.5 0 0 
        +
        + +
      +

      The number and meaning of the coefficients are specific to the defined +angle style. See the angle_style and +angle_coeff commands for details. Coefficients can +also be set via the angle_coeff command in the +input script. +

      +
      + +

      AngleAngle Coeffs section: +

      +
      • one line per improper type + +
      • line syntax: ID coeffs + +
          ID = improper type (1-N)
        +  coeffs = list of coeffs (see improper_coeff) 
        +
        + +
      +
      + +

      AngleAngleTorsion Coeffs section: +

      +
      • one line per dihedral type + +
      • line syntax: ID coeffs + +
          ID = dihedral type (1-N)
        +  coeffs = list of coeffs (see dihedral_coeff) 
        +
        + +
      +
      + +

      Angles section: +

      +
      • one line per angle + +
      • line syntax: ID type atom1 atom2 atom3 + +
          ID = number of angle (1-Nangles)
        +  type = angle type (1-Nangletype)
        +  atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle 
        +
        +example: +
        +
          2 2 17 29 430 
        +
        + +
      +

      The 3 atoms are ordered linearly within the angle. Thus the central +atom (around which the angle is computed) is the atom2 in the list. +E.g. H,O,H for a water molecule. The Angles section must appear +after the Atoms section. All values in this section must be +integers (1, not 1.0). +

      +
      + +

      AngleTorsion Coeffs section: +

      +
      • one line per dihedral type + +
      • line syntax: ID coeffs + +
          ID = dihedral type (1-N)
        +  coeffs = list of coeffs (see dihedral_coeff) 
        +
        + +
      +
      + +

      Atoms section: +

      +
      • one line per atom +
      • line syntax: depends on atom style +
      +

      This is the list of all possible quantities that can appear on each +line of this section: +

      +
      • atom-ID = integer ID of atom +
      • molecule-ID = integer ID of molecule the atom belongs to +
      • type-ID = integer type ID of atom (1-Ntype) +
      • q = charge on atom +
      • diameter = diameter of atom +
      • density = density of atom +
      • x,y,z = coordinates of atom +
      • mux,muy,muz = components of dipole orientation of atom +
      • nx,ny,nz = image indices for atom +
      +

      Which of these quantities are actually listed depends on the atom +style. This is the list of which styles require each +quantity: +

      +
      • atom-ID = all styles +
      • molecule-ID = angle, bond, molecular, full styles +
      • type-ID = all styles +
      • q = charge, dipole, full styles +
      • diameter = granular style +
      • density = granular style +
      • x,y,z = all styles +
      • mux,muy,muz = dipole style +
      • nx,ny,nz = optional for all styles (see below) +
      +

      Any quantity that is used by the atom style appears in the order +listed above. Thus if the atom style is atomic, an atom line should +have 5 quantities: atom-ID, type-ID, x, y, z. If the atom style is +hybrid eam dipole molecular, then an atom line should have 10 +quantites: atom-ID, molecule-ID, type-ID, q, x, y, z, mux, muy, muz. +

      +

      The units for these quantities depend on the unit style; see the +units command for details. +

      +

      For 2d simulations specify z as 0.0, or whatever value is within the +zlo zhi setting in the data file header. +

      +

      The atom-ID is used to identify the atom throughout the simulation and +in dump files. Normally, it is a unique value from 1 to Natoms for +each atom. Unique values larger than Natoms can be used, but they +will cause extra memory to be allocated on each processor, if an atom +map array is used (see the atom_modify command). +If an atom map array is not used (e.g. an atomic system with no +bonds), velocities are not assigned in the data file, and you don't +care if unique atom IDs appear in dump files, then IDs can be set to +non-unique values > 0. +

      +

      The molecule ID is a 2nd identifier attached to an atom. Normally, it +is a number from 1 to N, identifying which molecule the atom belongs +to. It can be 0 if it is an unbonded atom or if you don't care about +molecule assignments. +

      +

      An Atoms section must appear in the data file if natoms > 0 in the +header section. The atoms can be listed in any order. +

      +

      Atom lines (all or none of them) can optionally list 3 final integer +values: nx,ny,nz. For periodic dimensions, they specify which image +of the box the atom is considered to be in. An image of 0 means the +box as defined. A value of 2 means add 2 box lengths to get the true +value. A value of -1 means subtract 1 box length to get the true +value. LAMMPS updates these flags as atoms cross periodic boundaries +during the simulation. The flags can be output via the +dump and dump_modify commands. If +nx,ny,nz values are not set in the data file, LAMMPS initializes them +to 0. +

      +

      Atom velocities are set to 0.0 when the Atoms section is read. They +may later be set by a Velocities section or by a +velocity command in the input script. +

      +
      + +

      Bond Coeffs section: +

      +
      • one line per bond type + +
      • line syntax: ID coeffs + +
          ID = bond type (1-N)
        +  coeffs = list of coeffs 
        +
        +
      • example: + +
          4 250 1.49 
        +
        + +
      +

      The number and meaning of the coefficients are specific to the defined +bond style. See the bond_style and +bond_coeff commands for details. Coefficients can +also be set via the bond_coeff command in the input +script. +

      +
      + +

      BondAngle Coeffs section: +

      +
      • one line per angle type + +
      • line syntax: ID coeffs + +
          ID = angle type (1-N)
        +  coeffs = list of coeffs (see class 2 section of angle_coeff) 
        +
        + +
      +
      + +

      BondBond Coeffs section: +

      +
      • one line per angle type + +
      • line syntax: ID coeffs + +
          ID = angle type (1-N)
        +  coeffs = list of coeffs (see class 2 section of angle_coeff) 
        +
        + +
      +
      + +

      BondBond13 Coeffs section: +

      +
      • one line per dihedral type + +
      • line syntax: ID coeffs + +
          ID = dihedral type (1-N)
        +  coeffs = list of coeffs (see class 2 section of dihedral_coeff) 
        +
        + +
      +
      + +

      Bonds section: +

      +
      • one line per bond + +
      • line syntax: ID type atom1 atom2 + +
          ID = bond number (1-Nbonds)
        +  type = bond type (1-Nbondtype)
        +  atom1,atom2 = IDs of 1st,2nd atoms in bond 
        +
        +
      • example: + +
          12 3 17 29 
        +
        + +
      +

      The Bonds section must appear after the Atoms section. All values +in this section must be integers (1, not 1.0). +

      +
      + +

      Dihedral Coeffs section: +

      +
      • one line per dihedral type + +
      • line syntax: ID coeffs + +
          ID = dihedral type (1-N)
        +  coeffs = list of coeffs 
        +
        +
      • example: + +
          3 0.6 1 0 1 
        +
        + +
      +

      The number and meaning of the coefficients are specific to the defined +dihedral style. See the dihedral_style and +dihedral_coeff commands for details. +Coefficients can also be set via the +dihedral_coeff command in the input script. +

      +
      + +

      Dihedrals section: +

      +
      • one line per dihedral + +
      • line syntax: ID type atom1 atom2 atom3 atom4 + +
          ID = number of dihedral (1-Ndihedrals)
        +  type = dihedral type (1-Ndihedraltype)
        +  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral 
        +
        +
      • example: + +
          12 4 17 29 30 21 
        +
        + +
      +

      The 4 atoms are ordered linearly within the dihedral. The Dihedrals +section must appear after the Atoms section. All values in this +section must be integers (1, not 1.0). +

      +
      + +

      Dipoles section: +

      +
      • one line per atom type + +line syntax: ID dipole-moment + +
          ID = atom type (1-N)
        +  dipole-moment = value of dipole moment 
        +
        +
      • example: + +
          2 0.5 
        +
        + +
      +

      This defines the dipole moment of each atom type (which can be 0.0 for +some types). This can also be set via the dipole +command in the input script. +

      +
      + +

      EndBondTorsion Coeffs section: +

      +
      • one line per dihedral type + +
      • line syntax: ID coeffs + +
          ID = dihedral type (1-N)
        +  coeffs = list of coeffs (see class 2 section of dihedral_coeff) 
        +
        + +
      +
      + +

      Improper Coeffs section: +

      +
      • one line per improper type + +
      • line syntax: ID coeffs + +
          ID = improper type (1-N)
        +  coeffs = list of coeffs 
        +
        +
      • example: + +
          2 20 0.0548311 
        +
        + +
      +

      The number and meaning of the coefficients are specific to the defined +improper style. See the improper_style and +improper_coeff commands for details. +Coefficients can also be set via the +improper_coeff command in the input script. +

      +
      + +

      Impropers section: +

      +
      • one line per improper + +
      • line syntax: ID type atom1 atom2 atom3 atom4 + +
          ID = number of improper (1-Nimpropers)
        +  type = improper type (1-Nimpropertype)
        +  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper 
        +
        +
      • example: + +
          12 3 17 29 13 100 
        +
        + +
      +

      The Impropers section must appear after the Atoms section. All +values in this section must be integers (1, not 1.0). +

      +
      + +

      Masses section: +

      +
      • one line per atom type + +
      • line syntax: ID mass + +
          ID = atom type (1-N)
        +  mass = mass value 
        +
        +
      • example: + +
          3 1.01 
        +
        + +
      +

      This defines the mass of each atom type. This can also be set via the +mass command in the input script. This section should not +be used for atom styles that define a mass for individual atoms - +e.g. atom style granular. +

      +
      + +

      MiddleBondTorsion Coeffs section: +

      +
      • one line per dihedral type + +
      • line syntax: ID coeffs + +
          ID = dihedral type (1-N)
        +  coeffs = list of coeffs (see class 2 section of dihedral_coeff) 
        +
        + +
      +
      + +

      Pair Coeffs section: +

      +
      • one line per atom type + +
      • line syntax: ID coeffs + +
          ID = atom type (1-N)
        +  coeffs = list of coeffs 
        +
        +
      • example: + +
          3 0.022 2.35197 0.022 2.35197 
        +
        + +
      +

      The number and meaning of the coefficients are specific to the defined +pair style. See the pair_style and +pair_coeff commands for details. Coefficients can +also be set via the pair_coeff command in the input +script. +

      +
      + +

      Velocities section: +

      +
        one line per atom + +
      • line syntax: atom-ID vx vy vz + +
          atom-ID = integer ID of atom to assign velocity to
        +  vx,vy,vz = components of velocity of the atom 
        +
        +
      • example: + +
          45 -3.4 0.05 1.25 
        +
        + +
      +

      The velocity lines can appear in any order. This section can only be +used after an Atoms section. The Atoms section must have assigned +a unique atom ID to each atom so that velocities can be assigned in +this way. Velocities can also be set by the velocity +command in the input script. +

      +
      + +

      Restrictions: +

      +

      To read gzipped data files, you must compile LAMMPS with the -DGZIP +option - see the Making LAMMPS section of the +documentation. +

      +

      Related commands: +

      +

      read_restart, create_atoms +

      +

      Default: none +

      + diff --git a/doc/read_data.txt b/doc/read_data.txt new file mode 100644 index 0000000000..eafb3da017 --- /dev/null +++ b/doc/read_data.txt @@ -0,0 +1,503 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) +:line + +read_data command :h3 + +[Syntax:] + +read_data file :pre + +file = name of data file to read in :ul + +[Examples:] + +read_data data.lj +read_data ../run7/data.polymer.gz :pre + +[Description:] + +Read in a data file containing information LAMMPS needs to run a +simulation. The file can be ASCII text or a gzipped text file +(detected by a .gz suffix). This is one of 3 ways to specify initial +atom coordinates; see the "read_restart"_read_restart.html and +"create_atoms"_create_atoms.html commands for alternative methods. + +The structure of the data file is important, though many settings and +sections are optional or can come in any order. See the examples +directory for sample data files for different problems. + +A data file has a header and a body. The header appears first. The +first line of the header is always skipped; it typically contains a +description of the file. Then lines are read one at a time. Lines +can have a trailing comment starting with '#' that is ignored. If the +line is blank (only whitespace after comment is deleted), it is +skipped. If the line contains a header keyword, the corresponding +value(s) is read from the line. If it doesn't contain a header +keyword, the line begins the body of the file. + +The body of the file contains zero or more sections. The first line +of a section has only a keyword. The next line is skipped. The +remaining lines of the section contain values. The number of lines +depends on the section keyword as described below. Zero or more blank +lines can be used between sections. Sections can appear in any order, +with a few exceptions as noted below. + +The formatting of individual lines in the data file (indentation, +spacing between words and numbers) is not important except that header +and section keywords (e.g. atoms, xlo xhi, Masses, Bond Coeffs) must +be capitalized as shown and can't have extra white space between their +words - e.g. two spaces or a tab between "Bond" and "Coeffs" is not +valid. + +:line + +These are the recognized header keywords. Header lines can come in +any order. The value(s) is read from the beginning of the line. Thus +the keyword {atoms} should be in a line like "1000 atoms" and the +keyword {ylo yhi} should be in a line like "-10.0 10.0 ylo yhi". All +these settings have a default value of 0, except the lo/hi box size +defaults are -0.5 and 0.5. A line need only appear if the value is +different than the default. + +{atoms} = # of atoms in system +{bonds} = # of bonds in system +{angles} = # of angles in system +{dihedrals} = # of dihedrals in system +{impropers} = # of impropers in system +{atom types} = # of atom types in system +{bond types} = # of bond types in system +{angle types} = # of angle types in system +{dihedral types} = # of dihedral types in system +{improper types} = # of improper types in system +{xlo xhi} = simulation box boundaries in x dimension +{ylo yhi} = simulation box boundaries in y dimension +{zlo zhi} = simulation box boundaries in z dimension :ul + +For 2d simulations, the {zlo zhi} values should be set to bound the z +coords for atoms that appear in the file; the default of -0.5 0.5 is +valid if all z coords are 0.0. + +The initial simulation box size is determined by the lo/hi settings. +In any dimension, the system may be periodic or non-periodic; see the +"boundary"_boundary.html command. + +If the system is non-periodic (in a dimension), then all atoms in the +data file should have coordinates (in that dimension) between the lo +and hi values. Furthermore, if running in parallel, the lo/hi values +should be just a bit smaller/larger than the min/max extent of atoms. +For example, if your atoms extend from 0 to 50, you should not specify +the box bounds as -10000 and 10000. Since LAMMPS uses the specified +box size to layout the 3d grid of processors, this will be sub-optimal +and may cause a parallel simulation to lose atoms when LAMMPS +shrink-wraps the box to the atoms. + +If the system is periodic (in a dimension), then atom coordinates can +be outside the bounds; they will be remapped (in a periodic sense) +back inside the box. + +:line + +These are the section keywords for the body of the file. + +{Atoms, Velocities, Masses, Dipoles} = atom-property sections +{Bonds, Angles, Dihedrals, Impropers} = molecular topolgy sections +{Pair Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, \ + Improper Coeffs} = force field sections +{BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs, \ + EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, \ + BondBond13 Coeffs, AngleAngle Coeffs} = class 2 force field sections :ul + +Each section is now listed in alphabetic order. The format of each +section is described including the number of lines it must contain and +rules (if any) for where it can appear in the data file. + +Any individual line in the various sections can have a trailing +comment starting with "#" for annotation purposes. E.g. in the +Atoms section: + +10 1 17 -1.0 10.0 5.0 6.0 # salt ion :pre + +:line + +{Angle Coeffs} section: + +one line per angle type :ulb,l +line syntax: ID coeffs :l + ID = angle type (1-N) + coeffs = list of coeffs :pre +example: :l + 6 70 108.5 0 0 :pre +:ule + +The number and meaning of the coefficients are specific to the defined +angle style. See the "angle_style"_angle_style.html and +"angle_coeff"_angle_coeff.html commands for details. Coefficients can +also be set via the "angle_coeff"_angle_coeff.html command in the +input script. + +:line + +{AngleAngle Coeffs} section: + +one line per improper type :ulb,l +line syntax: ID coeffs :l + ID = improper type (1-N) + coeffs = list of coeffs (see "improper_coeff"_improper_coeff.html) :pre +:ule + +:line + +{AngleAngleTorsion Coeffs} section: + +one line per dihedral type :ulb,l +line syntax: ID coeffs :l + ID = dihedral type (1-N) + coeffs = list of coeffs (see "dihedral_coeff"_dihedral_coeff.html) :pre +:ule + +:line + +{Angles} section: + +one line per angle :ulb,l +line syntax: ID type atom1 atom2 atom3 :l + ID = number of angle (1-Nangles) + type = angle type (1-Nangletype) + atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle :pre +example: :b + 2 2 17 29 430 :pre +:ule + +The 3 atoms are ordered linearly within the angle. Thus the central +atom (around which the angle is computed) is the atom2 in the list. +E.g. H,O,H for a water molecule. The {Angles} section must appear +after the {Atoms} section. All values in this section must be +integers (1, not 1.0). + +:line + +{AngleTorsion Coeffs} section: + +one line per dihedral type :ulb,l +line syntax: ID coeffs :l + ID = dihedral type (1-N) + coeffs = list of coeffs (see "dihedral_coeff"_dihedral_coeff.html) :pre +:ule + +:line + +{Atoms} section: + +one line per atom +line syntax: depends on atom style :ul + +This is the list of all possible quantities that can appear on each +line of this section: + +atom-ID = integer ID of atom +molecule-ID = integer ID of molecule the atom belongs to +type-ID = integer type ID of atom (1-Ntype) +q = charge on atom +diameter = diameter of atom +density = density of atom +x,y,z = coordinates of atom +mux,muy,muz = components of dipole orientation of atom +nx,ny,nz = image indices for atom :ul + +Which of these quantities are actually listed depends on the "atom +style"_atom_style.html. This is the list of which styles require each +quantity: + +atom-ID = all styles +molecule-ID = angle, bond, molecular, full styles +type-ID = all styles +q = charge, dipole, full styles +diameter = granular style +density = granular style +x,y,z = all styles +mux,muy,muz = dipole style +nx,ny,nz = optional for all styles (see below) :ul + +Any quantity that is used by the atom style appears in the order +listed above. Thus if the atom style is {atomic}, an atom line should +have 5 quantities: atom-ID, type-ID, x, y, z. If the atom style is +{hybrid eam dipole molecular}, then an atom line should have 10 +quantites: atom-ID, molecule-ID, type-ID, q, x, y, z, mux, muy, muz. + +The units for these quantities depend on the unit style; see the +"units"_units.html command for details. + +For 2d simulations specify z as 0.0, or whatever value is within the +{zlo zhi} setting in the data file header. + +The atom-ID is used to identify the atom throughout the simulation and +in dump files. Normally, it is a unique value from 1 to Natoms for +each atom. Unique values larger than Natoms can be used, but they +will cause extra memory to be allocated on each processor, if an atom +map array is used (see the "atom_modify"_atom_modify.html command). +If an atom map array is not used (e.g. an atomic system with no +bonds), velocities are not assigned in the data file, and you don't +care if unique atom IDs appear in dump files, then IDs can be set to +non-unique values > 0. + +The molecule ID is a 2nd identifier attached to an atom. Normally, it +is a number from 1 to N, identifying which molecule the atom belongs +to. It can be 0 if it is an unbonded atom or if you don't care about +molecule assignments. + +An {Atoms} section must appear in the data file if natoms > 0 in the +header section. The atoms can be listed in any order. + +Atom lines (all or none of them) can optionally list 3 final integer +values: nx,ny,nz. For periodic dimensions, they specify which image +of the box the atom is considered to be in. An image of 0 means the +box as defined. A value of 2 means add 2 box lengths to get the true +value. A value of -1 means subtract 1 box length to get the true +value. LAMMPS updates these flags as atoms cross periodic boundaries +during the simulation. The flags can be output via the +"dump"_dump.html and "dump_modify"_dump_modify.html commands. If +nx,ny,nz values are not set in the data file, LAMMPS initializes them +to 0. + +Atom velocities are set to 0.0 when the {Atoms} section is read. They +may later be set by a {Velocities} section or by a +"velocity"_velocity.html command in the input script. + +:line + +{Bond Coeffs} section: + +one line per bond type :ulb,l +line syntax: ID coeffs :l + ID = bond type (1-N) + coeffs = list of coeffs :pre +example: :l + 4 250 1.49 :pre +:ule + +The number and meaning of the coefficients are specific to the defined +bond style. See the "bond_style"_bond_style.html and +"bond_coeff"_bond_coeff.html commands for details. Coefficients can +also be set via the "bond_coeff"_bond_coeff.html command in the input +script. + +:line + +{BondAngle Coeffs} section: + +one line per angle type :ulb,l +line syntax: ID coeffs :l + ID = angle type (1-N) + coeffs = list of coeffs (see class 2 section of "angle_coeff"_angle_coeff.html) :pre +:ule + +:line + +{BondBond Coeffs} section: + +one line per angle type :ulb,l +line syntax: ID coeffs :l + ID = angle type (1-N) + coeffs = list of coeffs (see class 2 section of "angle_coeff"_angle_coeff.html) :pre +:ule + +:line + +{BondBond13 Coeffs} section: + +one line per dihedral type :ulb,l +line syntax: ID coeffs :l + ID = dihedral type (1-N) + coeffs = list of coeffs (see class 2 section of "dihedral_coeff"_dihedral_coeff.html) :pre +:ule + +:line + +{Bonds} section: + +one line per bond :ulb,l +line syntax: ID type atom1 atom2 :l + ID = bond number (1-Nbonds) + type = bond type (1-Nbondtype) + atom1,atom2 = IDs of 1st,2nd atoms in bond :pre +example: :l + 12 3 17 29 :pre +:ule + +The {Bonds} section must appear after the {Atoms} section. All values +in this section must be integers (1, not 1.0). + +:line + +{Dihedral Coeffs} section: + +one line per dihedral type :ulb,l +line syntax: ID coeffs :l + ID = dihedral type (1-N) + coeffs = list of coeffs :pre +example: :l + 3 0.6 1 0 1 :pre +:ule + +The number and meaning of the coefficients are specific to the defined +dihedral style. See the "dihedral_style"_dihedral_style.html and +"dihedral_coeff"_dihedral_coeff.html commands for details. +Coefficients can also be set via the +"dihedral_coeff"_dihedral_coeff.html command in the input script. + +:line + +{Dihedrals} section: + +one line per dihedral :ulb,l +line syntax: ID type atom1 atom2 atom3 atom4 :l + ID = number of dihedral (1-Ndihedrals) + type = dihedral type (1-Ndihedraltype) + atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral :pre +example: :l + 12 4 17 29 30 21 :pre +:ule + +The 4 atoms are ordered linearly within the dihedral. The {Dihedrals} +section must appear after the {Atoms} section. All values in this +section must be integers (1, not 1.0). + +:line + +{Dipoles} section: + +one line per atom type :ulb,l +line syntax: ID dipole-moment : + ID = atom type (1-N) + dipole-moment = value of dipole moment :pre +example: :l + 2 0.5 :pre +:ule + +This defines the dipole moment of each atom type (which can be 0.0 for +some types). This can also be set via the "dipole"_dipole.html +command in the input script. + +:line + +{EndBondTorsion Coeffs} section: + +one line per dihedral type :ulb,l +line syntax: ID coeffs :l + ID = dihedral type (1-N) + coeffs = list of coeffs (see class 2 section of "dihedral_coeff"_dihedral_coeff.html) :pre +:ule + +:line + +{Improper Coeffs} section: + +one line per improper type :ulb,l +line syntax: ID coeffs :l + ID = improper type (1-N) + coeffs = list of coeffs :pre +example: :l + 2 20 0.0548311 :pre +:ule + +The number and meaning of the coefficients are specific to the defined +improper style. See the "improper_style"_improper_style.html and +"improper_coeff"_improper_coeff.html commands for details. +Coefficients can also be set via the +"improper_coeff"_improper_coeff.html command in the input script. + +:line + +{Impropers} section: + +one line per improper :ulb,l +line syntax: ID type atom1 atom2 atom3 atom4 :l + ID = number of improper (1-Nimpropers) + type = improper type (1-Nimpropertype) + atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper :pre +example: :l + 12 3 17 29 13 100 :pre +:ule + +The {Impropers} section must appear after the {Atoms} section. All +values in this section must be integers (1, not 1.0). + +:line + +{Masses} section: + +one line per atom type :ulb,l +line syntax: ID mass :l + ID = atom type (1-N) + mass = mass value :pre +example: :l + 3 1.01 :pre +:ule + +This defines the mass of each atom type. This can also be set via the +"mass"_mass.html command in the input script. This section should not +be used for atom styles that define a mass for individual atoms - +e.g. atom style granular. + +:line + +{MiddleBondTorsion Coeffs} section: + +one line per dihedral type :ulb,l +line syntax: ID coeffs :l + ID = dihedral type (1-N) + coeffs = list of coeffs (see class 2 section of "dihedral_coeff"_dihedral_coeff.html) :pre +:ule + +:line + +{Pair Coeffs} section: + +one line per atom type :ulb,l +line syntax: ID coeffs :l + ID = atom type (1-N) + coeffs = list of coeffs :pre +example: :l + 3 0.022 2.35197 0.022 2.35197 :pre +:ule + +The number and meaning of the coefficients are specific to the defined +pair style. See the "pair_style"_pair_style.html and +"pair_coeff"_pair_coeff.html commands for details. Coefficients can +also be set via the "pair_coeff"_pair_coeff.html command in the input +script. + +:line + +{Velocities} section: + +one line per atom :ulb +line syntax: atom-ID vx vy vz :l + atom-ID = integer ID of atom to assign velocity to + vx,vy,vz = components of velocity of the atom :pre +example: :l + 45 -3.4 0.05 1.25 :pre +:ule + +The velocity lines can appear in any order. This section can only be +used after an {Atoms} section. The {Atoms} section must have assigned +a unique atom ID to each atom so that velocities can be assigned in +this way. Velocities can also be set by the "velocity"_velocity.html +command in the input script. + +:line + +[Restrictions:] + +To read gzipped data files, you must compile LAMMPS with the -DGZIP +option - see the "Making LAMMPS"_Section_start.html#2_2 section of the +documentation. + +[Related commands:] + +"read_restart"_read_restart.html, "create_atoms"_create_atoms.html + +[Default:] none diff --git a/doc/read_restart.html b/doc/read_restart.html new file mode 100644 index 0000000000..e1979fb01c --- /dev/null +++ b/doc/read_restart.html @@ -0,0 +1,136 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      read_restart command +

      +

      Syntax: +

      +
      read_restart file 
      +
      +
      • file = name of binary restart file to read in +
      +

      Examples: +

      +
      read_restart save.10000
      +read_restart restart.*
      +read_restart poly.*.% 
      +
      +
      +
      +

      Description: +

      +

      Read in a previously saved problem from a restart file. This allows +continuation of a previous run. +

      +

      Restart files are saved in binary format to enable exact restarts, +meaning that the trajectories of a restarted run will precisely match +those produced by the original run had it continued on. Several +things can prevent exact restarts due to round-off effects, in which +case the trajectories in the 2 runs will slowly diverge. These +include running on a different number of processors or changing +certain settings such as those set by the newton or +processors commands. LAMMPS will issue a WARNING in +these cases. Certain fixes will also not restart exactly, though they +should provide statistically similar results. These include the shake +and langevin styles. If a restarted run is immediately different than +the run which produced the restart file, it could be a LAMMPS bug, so +consider reporting it if you think the +behavior is wrong. +

      +

      Because restart files are binary, they may not be portable to other +machines. They can be converted to ASCII data files using the +restart2data tool in the tools sub-directory of the LAMMPS +distribution. +

      +

      Similar to how restart files are written (see the +write_restart and restart +commands), the restart filename can contain two wild-card characters. +If a "*" appears in the filename, the directory is searched for all +filenames that match the pattern where "*" is replaced with a timestep +value. The file with the largest timestep value is read in. Thus, +this effectively means, read the latest restart file. It's useful if +you want your script to continue a run from where it left off. See +the run command and its "upto" option for how to specify +the run command so it doesn't need to be changed either. +

      +

      If a "%" character appears in the restart filename, LAMMPS expects a +set of multiple files to exist. The restart and +write_restart commands explain how such sets are +created. Read_restart will first read a filename where "%" is +replaced by "base". This file tells LAMMPS how many processors +created the set. Read_restart then reads the additional files. For +example, if the restart file was specified as save.% when it was +written, then read_restart reads the files save.base, save.0, save.1, +... save.P-1, where P is the number of processors that created the +restart file. Note that only a single processor reads all the files, +so the input does not use parallel I/O. The number of processors +which created the set can be different the number of processors in the +current LAMMPS simulation. +

      +
      + +

      A restart file stores the units and atom style, simulation box +attibutes, individual atoms and their attributes including molecular +topology, force field styles and coefficients, +special_bonds settings, and atom group +definitions. This means that commands for these quantities do not +need to be specified in your input script that reads the restart file. +The exceptions to this are listed below in the Restrictions section. +

      +

      Information about the kspace_style settings are +not stored in the restart file. Hence if you wish to invoke an Ewald +or PPPM solver, this command must be re-issued after the restart file +is read. +

      +

      The restart file also stores values for any fixes that require state +information to enable restarting where they left off. These include +the nvt and npt styles that have a global state, as well as the +msd and wall/gran styles that store information about each atom. +

      +

      Fix commands are not stored in the restart file which means +they must be specified in the input script that reads the restart +file. To re-enable a fix whose state was stored in the restart file, +the fix command in the new input script must use the same fix-ID and +group-ID as the input script that wrote the restart file. LAMMPS will +print a message indicating that the fix is being re-enabled. +

      +

      Note that no other information is stored in the restart file. This +means that your new input script should specify settings for +quantities like timestep size, thermodynamic and dump output, etc. +

      +

      Bond interactions (angle, etc) that have been turned off by the fix +shake or delete_bonds command will +be written to a restart file as if they are turned on. This means +they will need to be turned off again in a new run after the restart +file is read. +

      +

      Bonds that are broken (e.g. by a bond-breaking potential) are written +to the restart file as broken bonds with a type of 0. Thus these +bonds will still be broken when the restart file is read. +

      +

      Restrictions: +

      +

      The pair_style eam, table, and hybrid styles +do not store coefficient data for individual atom type pairs in the +restart file. Nor does the bond_style hybrid +style. Thus you must use new pair_coeff and +bond_coeff commands to read the appropriate +tabulated files or reset the coefficients after the restart file is +read. +

      +

      Related commands: +

      +

      read_data, write_restart, +restart +

      +

      Default: none +

      + diff --git a/doc/read_restart.txt b/doc/read_restart.txt new file mode 100644 index 0000000000..bacaff6e17 --- /dev/null +++ b/doc/read_restart.txt @@ -0,0 +1,131 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +read_restart command :h3 + +[Syntax:] + +read_restart file :pre + +file = name of binary restart file to read in :ul + +[Examples:] + +read_restart save.10000 +read_restart restart.* +read_restart poly.*.% :pre + +:pre + +[Description:] + +Read in a previously saved problem from a restart file. This allows +continuation of a previous run. + +Restart files are saved in binary format to enable exact restarts, +meaning that the trajectories of a restarted run will precisely match +those produced by the original run had it continued on. Several +things can prevent exact restarts due to round-off effects, in which +case the trajectories in the 2 runs will slowly diverge. These +include running on a different number of processors or changing +certain settings such as those set by the "newton"_newton.html or +"processors"_processors.html commands. LAMMPS will issue a WARNING in +these cases. Certain fixes will also not restart exactly, though they +should provide statistically similar results. These include the shake +and langevin styles. If a restarted run is immediately different than +the run which produced the restart file, it could be a LAMMPS bug, so +consider "reporting it"_Section_errors.html#9_2 if you think the +behavior is wrong. + +Because restart files are binary, they may not be portable to other +machines. They can be converted to ASCII data files using the +restart2data tool in the tools sub-directory of the LAMMPS +distribution. + +Similar to how restart files are written (see the +"write_restart"_write_restart.html and "restart"_restart.html +commands), the restart filename can contain two wild-card characters. +If a "*" appears in the filename, the directory is searched for all +filenames that match the pattern where "*" is replaced with a timestep +value. The file with the largest timestep value is read in. Thus, +this effectively means, read the latest restart file. It's useful if +you want your script to continue a run from where it left off. See +the "run"_run.html command and its "upto" option for how to specify +the run command so it doesn't need to be changed either. + +If a "%" character appears in the restart filename, LAMMPS expects a +set of multiple files to exist. The "restart"_restart.html and +"write_restart"_write_restart.html commands explain how such sets are +created. Read_restart will first read a filename where "%" is +replaced by "base". This file tells LAMMPS how many processors +created the set. Read_restart then reads the additional files. For +example, if the restart file was specified as save.% when it was +written, then read_restart reads the files save.base, save.0, save.1, +... save.P-1, where P is the number of processors that created the +restart file. Note that only a single processor reads all the files, +so the input does not use parallel I/O. The number of processors +which created the set can be different the number of processors in the +current LAMMPS simulation. + +:line + +A restart file stores the units and atom style, simulation box +attibutes, individual atoms and their attributes including molecular +topology, force field styles and coefficients, +"special_bonds"_special_bonds.html settings, and atom group +definitions. This means that commands for these quantities do not +need to be specified in your input script that reads the restart file. +The exceptions to this are listed below in the Restrictions section. + +Information about the "kspace_style"_kspace_style.html settings are +not stored in the restart file. Hence if you wish to invoke an Ewald +or PPPM solver, this command must be re-issued after the restart file +is read. + +The restart file also stores values for any fixes that require state +information to enable restarting where they left off. These include +the {nvt} and {npt} styles that have a global state, as well as the +{msd} and {wall/gran} styles that store information about each atom. + +"Fix"_fix.html commands are not stored in the restart file which means +they must be specified in the input script that reads the restart +file. To re-enable a fix whose state was stored in the restart file, +the fix command in the new input script must use the same fix-ID and +group-ID as the input script that wrote the restart file. LAMMPS will +print a message indicating that the fix is being re-enabled. + +Note that no other information is stored in the restart file. This +means that your new input script should specify settings for +quantities like timestep size, thermodynamic and dump output, etc. + +Bond interactions (angle, etc) that have been turned off by the "fix +shake"_fix_shake.html or "delete_bonds"_delete_bonds.html command will +be written to a restart file as if they are turned on. This means +they will need to be turned off again in a new run after the restart +file is read. + +Bonds that are broken (e.g. by a bond-breaking potential) are written +to the restart file as broken bonds with a type of 0. Thus these +bonds will still be broken when the restart file is read. + +[Restrictions:] + +The "pair_style"_pair_style.html {eam}, {table}, and {hybrid} styles +do not store coefficient data for individual atom type pairs in the +restart file. Nor does the "bond_style"_bond_style.html {hybrid} +style. Thus you must use new "pair_coeff"_pair_coeff.html and +"bond_coeff"_bond_coeff.html commands to read the appropriate +tabulated files or reset the coefficients after the restart file is +read. + +[Related commands:] + +"read_data"_read_data.html, "write_restart"_write_restart.html, +"restart"_restart.html + +[Default:] none diff --git a/doc/region.html b/doc/region.html new file mode 100644 index 0000000000..f35316ac70 --- /dev/null +++ b/doc/region.html @@ -0,0 +1,113 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      region command +

      +

      Syntax: +

      +
      region ID style args keyword value ... 
      +
      +
      • ID = user-assigned name for the region + +
      • style = block or sphere or cylinder or union or intersect + +
          block args = xlo xhi ylo yhi zlo zhi
        +      xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all
        +        dimensions (distance units)
        +  sphere args = x y z radius
        +      x,y,z = center of sphere (distance units)
        +      radius = radius of sphere (distance units)
        +  cylinder args = dim c1 c2 radius lo hi
        +    dim = x or y or z = axis of cylinder
        +    c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
        +    radius = cylinder radius (distance units)
        +    lo,hi = bounds of cylinder in dim (distance units)
        +  union args = N reg-ID1 reg-ID2 ...
        +    N = # of regions to follow, must be 2 or greater
        +    reg-ID1,reg-ID2, ... = IDs of regions to join together
        +  intersect args = N reg-ID1 reg-ID2 ...
        +    N = # of regions to follow, must be 2 or greater
        +    reg-ID1,reg-ID2, ... = IDs of regions to intersect 
        +
        +
      • zero or more keyword/value pairs may be appended to the args + +
      • keyword = side or units + +
          side value = in or out
        +    in = the region is inside the specified geometry
        +    out = the region is outside the specified geometry
        +  units value = lattice or box
        +    lattice = the geometry is defined in lattice units
        +    box = the geometry is defined in simulation box units 
        +
        + +
      +

      Examples: +

      +
      region 1 block -3.0 5.0 INF 10.0 INF INF
      +region 2 sphere 0.0 0.0 0.0 5 side out
      +region void cylinder y 2 3 5 -5.0 INF units box
      +region outside union 4 side1 side2 side3 side4 
      +
      +

      Description: +

      +

      This command defines a geometric region of space. Various other +commands use regions. For example, the region can be filled with +atoms via the create_atoms command. Or the atoms +in the region can be identified as a group via the group +command, or deleted via the delete_atoms command. +

      +

      The lo/hi values for block or cylinder styles can be specified +as INF which means they extend all the way to the global simulation +box boundary. If a region is defined before the simulation box has +been created (via create_box or +read_data or read_restart +commands), then an INF parameter cannot be used. +

      +

      For style cylinder, the c1,c2 params are coordinates in the 2 other +dimensions besides the cylinder axis dimension. For dim = x, c1/c2 = +y/z; for dim = y, c1/c2 = x/z; for dim = z, c1/c2 = x/y. Thus the +third example above specifes a cylinder with its axis in the +y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and +extending in the y-direction from -5.0 to the upper box boundary. +

      +

      The union style creates a region consisting of the volume of all the +listed regions combined. The intesect style creates a region +consisting of the volume that is common to all the listed regions. +

      +

      The side keyword determines whether the region is considered to be +inside or outside of the specified geometry. Using this keyword in +conjunction with union and intersect regions, complex geometries +can be built up. For example, if the interior of two spheres were +each defined as regions, and a union style with side = out was +constructed listing the region-IDs of the 2 spheres, the resulting +region would be all the volume in the simulation box that was outside +both of the spheres. +

      +

      The units keyword determines the meaning of the distance units used +to define the region. A box value selects standard distance units +as defined by the units command, e.g. Angstroms for units += real or metal. A lattice value means the distance units are in +cubic lattice spacings. The lattice command must first +be used to define a lattice. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      lattice, create_atoms, +delete_atoms, group +

      +

      Default: +

      +

      The option defaults are side = in and units = lattice. +

      + diff --git a/doc/region.txt b/doc/region.txt new file mode 100644 index 0000000000..d7c96a912e --- /dev/null +++ b/doc/region.txt @@ -0,0 +1,102 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +region command :h3 + +[Syntax:] + +region ID style args keyword value ... :pre + +ID = user-assigned name for the region :ulb,l +style = {block} or {sphere} or {cylinder} or {union} or {intersect} :l + {block} args = xlo xhi ylo yhi zlo zhi + xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all + dimensions (distance units) + {sphere} args = x y z radius + x,y,z = center of sphere (distance units) + radius = radius of sphere (distance units) + {cylinder} args = dim c1 c2 radius lo hi + dim = {x} or {y} or {z} = axis of cylinder + c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) + radius = cylinder radius (distance units) + lo,hi = bounds of cylinder in dim (distance units) + {union} args = N reg-ID1 reg-ID2 ... + N = # of regions to follow, must be 2 or greater + reg-ID1,reg-ID2, ... = IDs of regions to join together + {intersect} args = N reg-ID1 reg-ID2 ... + N = # of regions to follow, must be 2 or greater + reg-ID1,reg-ID2, ... = IDs of regions to intersect :pre +zero or more keyword/value pairs may be appended to the args :l +keyword = {side} or {units} :l + {side} value = {in} or {out} + {in} = the region is inside the specified geometry + {out} = the region is outside the specified geometry + {units} value = {lattice} or {box} + {lattice} = the geometry is defined in lattice units + {box} = the geometry is defined in simulation box units :pre +:ule + +[Examples:] + +region 1 block -3.0 5.0 INF 10.0 INF INF +region 2 sphere 0.0 0.0 0.0 5 side out +region void cylinder y 2 3 5 -5.0 INF units box +region outside union 4 side1 side2 side3 side4 :pre + +[Description:] + +This command defines a geometric region of space. Various other +commands use regions. For example, the region can be filled with +atoms via the "create_atoms"_create_atoms.html command. Or the atoms +in the region can be identified as a group via the "group"_group.html +command, or deleted via the "delete_atoms"_delete_atoms.html command. + +The lo/hi values for {block} or {cylinder} styles can be specified +as INF which means they extend all the way to the global simulation +box boundary. If a region is defined before the simulation box has +been created (via "create_box"_create_box.html or +"read_data"_read_data.html or "read_restart"_read_restart.html +commands), then an INF parameter cannot be used. + +For style {cylinder}, the c1,c2 params are coordinates in the 2 other +dimensions besides the cylinder axis dimension. For dim = x, c1/c2 = +y/z; for dim = y, c1/c2 = x/z; for dim = z, c1/c2 = x/y. Thus the +third example above specifes a cylinder with its axis in the +y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and +extending in the y-direction from -5.0 to the upper box boundary. + +The {union} style creates a region consisting of the volume of all the +listed regions combined. The {intesect} style creates a region +consisting of the volume that is common to all the listed regions. + +The {side} keyword determines whether the region is considered to be +inside or outside of the specified geometry. Using this keyword in +conjunction with {union} and {intersect} regions, complex geometries +can be built up. For example, if the interior of two spheres were +each defined as regions, and a {union} style with {side} = out was +constructed listing the region-IDs of the 2 spheres, the resulting +region would be all the volume in the simulation box that was outside +both of the spheres. + +The {units} keyword determines the meaning of the distance units used +to define the region. A {box} value selects standard distance units +as defined by the "units"_units.html command, e.g. Angstroms for units += real or metal. A {lattice} value means the distance units are in +cubic lattice spacings. The "lattice"_lattice.html command must first +be used to define a lattice. + +[Restrictions:] none + +[Related commands:] + +"lattice"_lattice.html, "create_atoms"_create_atoms.html, +"delete_atoms"_delete_atoms.html, "group"_group.html + +[Default:] + +The option defaults are side = in and units = lattice. diff --git a/doc/replicate.html b/doc/replicate.html new file mode 100644 index 0000000000..0be94e19c9 --- /dev/null +++ b/doc/replicate.html @@ -0,0 +1,66 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      replicate command +

      +

      Syntax: +

      +
      replicate nx ny nz 
      +
      +
      • nx,ny,nz = replication factors in each dimension +
      +

      Examples: +

      +
      replicate 2 3 2 
      +
      +

      Description: +

      +

      Replicate the current simulation one or more times in each dimension. +For example, replication factors of 2,2,2 will create a simulation +with 8x as many atoms by doubling the simulation domain in each +dimension. A replication factor of 1 in a dimension leaves the +simulation domain unchanged. +

      +

      All properties of the atoms are replicated, including their +velocities, which may or may not be desirable. New atom IDs (tags) +are assigned to new atoms, as are molecule IDs. Bonds and other +topology interactions are created between pairs of new atoms as well +as between old and new atoms. This is done by using the image flag +for each atom to "unwrap" it out of the periodic box before +replicating it. This means that molecular bonds you specify in the +orignal data file that span the periodic box should be between two +atoms with image flags that differ by 1. This will allow them to be +unwrapped appropriately. +

      +

      This command operates similar to the replicate tool in the tools +sub-directory of the LAMMPS distribution which creates new data files +from old ones. +

      +

      Restrictions: +

      +

      A 2d simulation cannot be replicated in the z dimension. +

      +

      If a simulation is non-periodic in a dimension, care should be used +when replicating it in that dimension, as it may put atoms nearly on +top of each other. +

      +

      If the current simulation was read in from a restart file (before a +run is performed), there can have been no fix information stored in +the file for individual atoms. Similarly, no fixes can be defined at +the time the replicate command is used that require vectors of atom +information to be stored. This is because the replicate command does +not know how to replicate that information for new atoms it creates. +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/replicate.txt b/doc/replicate.txt new file mode 100644 index 0000000000..68e81b3b28 --- /dev/null +++ b/doc/replicate.txt @@ -0,0 +1,61 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +replicate command :h3 + +[Syntax:] + +replicate nx ny nz :pre + +nx,ny,nz = replication factors in each dimension :ul + +[Examples:] + +replicate 2 3 2 :pre + +[Description:] + +Replicate the current simulation one or more times in each dimension. +For example, replication factors of 2,2,2 will create a simulation +with 8x as many atoms by doubling the simulation domain in each +dimension. A replication factor of 1 in a dimension leaves the +simulation domain unchanged. + +All properties of the atoms are replicated, including their +velocities, which may or may not be desirable. New atom IDs (tags) +are assigned to new atoms, as are molecule IDs. Bonds and other +topology interactions are created between pairs of new atoms as well +as between old and new atoms. This is done by using the image flag +for each atom to "unwrap" it out of the periodic box before +replicating it. This means that molecular bonds you specify in the +orignal data file that span the periodic box should be between two +atoms with image flags that differ by 1. This will allow them to be +unwrapped appropriately. + +This command operates similar to the replicate tool in the tools +sub-directory of the LAMMPS distribution which creates new data files +from old ones. + +[Restrictions:] + +A 2d simulation cannot be replicated in the z dimension. + +If a simulation is non-periodic in a dimension, care should be used +when replicating it in that dimension, as it may put atoms nearly on +top of each other. + +If the current simulation was read in from a restart file (before a +run is performed), there can have been no fix information stored in +the file for individual atoms. Similarly, no fixes can be defined at +the time the replicate command is used that require vectors of atom +information to be stored. This is because the replicate command does +not know how to replicate that information for new atoms it creates. + +[Related commands:] none + +[Default:] none diff --git a/doc/reset_timestep.html b/doc/reset_timestep.html new file mode 100644 index 0000000000..33026b920d --- /dev/null +++ b/doc/reset_timestep.html @@ -0,0 +1,42 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      reset_timestep command +

      +

      Syntax: +

      +
      reset_timestep N 
      +
      +
      • N = timestep number +
      +

      Examples: +

      +
      reset_timestep 0
      +reset_timestep 4000000 
      +
      +

      Description: +

      +

      Set the timestep counter to the specified value. This command +normally comes after the timestep has been set by reading it in from a +file or a previous simulation advanced the timestep. +

      +

      The read_data and create_box +commands set the timestep to 0; the read_restart +command sets the timestep to the value it had when the restart file +was written. +

      +

      Restrictions: none +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/reset_timestep.txt b/doc/reset_timestep.txt new file mode 100644 index 0000000000..2857e85341 --- /dev/null +++ b/doc/reset_timestep.txt @@ -0,0 +1,37 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +reset_timestep command :h3 + +[Syntax:] + +reset_timestep N :pre + +N = timestep number :ul + +[Examples:] + +reset_timestep 0 +reset_timestep 4000000 :pre + +[Description:] + +Set the timestep counter to the specified value. This command +normally comes after the timestep has been set by reading it in from a +file or a previous simulation advanced the timestep. + +The "read_data"_read_data.html and "create_box"_create_box.html +commands set the timestep to 0; the "read_restart"_read_restart.html +command sets the timestep to the value it had when the restart file +was written. + +[Restrictions:] none + +[Related commands:] none + +[Default:] none diff --git a/doc/restart.html b/doc/restart.html new file mode 100644 index 0000000000..46302836e7 --- /dev/null +++ b/doc/restart.html @@ -0,0 +1,88 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      restart command +

      +

      Syntax: +

      +
      restart 0
      +restart N root
      +restart N file1 file2 
      +
      +
      • N = write a restart file every this many timesteps +
      • root = filename to which timestep # is appended +
      • file1,file2 = two full filenames, toggle between them when writing file +
      +

      Examples: +

      +
      restart 0
      +restart 1000 poly.restart
      +restart 1000 restart.*.equil
      +restart 10000 poly.%.1 poly.%.2 
      +
      +

      Description: +

      +

      Write out a binary restart file every so many timesteps as a run +proceeds. A value of 0 means do not write out restart files. Using +one filename as an argument will create a series of filenames which +include the timestep in the filename. Using two filenames will +produce only 2 restart files. LAMMPS will toggle between the 2 names +as it writes successive restart files. +

      +

      Similar to dump files, the restart filename(s) can contain +two wild-card characters. If a "*" appears in the filename, it is +replaced with the current timestep value. This is only recognized +when a single filename is used (not when toggling back and forth). +Thus, the 3rd example above creates restart files as follows: +restart.1000.equil, restart.2000.equil, etc. If a single filename is +used with no "*", then the timestep value is appended. E.g. the 2nd +example above creates restart files as follows: poly.restart.1000, +poly.restart.2000, etc. +

      +

      If a "%" character appears in the restart filename(s), then one file +is written for each processor and the "%" character is replaced with +the processor ID from 0 to P-1. An additional file with the "%" +replaced by "base" is also written, which contains global information. +For example, the files written on step 1000 for filename restart.% +would be restart.base.1000, restart.0.1000, restart.1.1000, ..., +restart.P-1.1000. This creates smaller files and can be a fast mode +of output on parallel machines that support parallel I/O for output. +

      +

      Restart files are written on timesteps that are a multiple of N but +not on the first timestep of a run or minimization. A restart file is +not written on the last timestep of a run unless it is a multiple of +N. A restart file is written on the last timestep of a minimization +if N > 0 and the minimization converges. +

      +

      See the read_restart command for information about +what is stored in a restart file. +

      +

      Restart files can be read by a read_restart +command to restart a simulation from a particular state. Because the +file is binary (to enable exact restarts), it may not be readable on +another machine. In this case, the restart2data +program in the tools directory can be used +to convert a restart file to an ASCII data file. Both the +read_restart commmand and restart2data tool can read in a restart file +that was written with the "%" character so that multiple files were +created. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      write_restart, read_restart +

      +

      Default: +

      +
      restart 0 
      +
      + diff --git a/doc/restart.txt b/doc/restart.txt new file mode 100644 index 0000000000..9cd822f5cf --- /dev/null +++ b/doc/restart.txt @@ -0,0 +1,83 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +restart command :h3 + +[Syntax:] + +restart 0 +restart N root +restart N file1 file2 :pre + +N = write a restart file every this many timesteps +root = filename to which timestep # is appended +file1,file2 = two full filenames, toggle between them when writing file :ul + +[Examples:] + +restart 0 +restart 1000 poly.restart +restart 1000 restart.*.equil +restart 10000 poly.%.1 poly.%.2 :pre + +[Description:] + +Write out a binary restart file every so many timesteps as a run +proceeds. A value of 0 means do not write out restart files. Using +one filename as an argument will create a series of filenames which +include the timestep in the filename. Using two filenames will +produce only 2 restart files. LAMMPS will toggle between the 2 names +as it writes successive restart files. + +Similar to "dump"_dump.html files, the restart filename(s) can contain +two wild-card characters. If a "*" appears in the filename, it is +replaced with the current timestep value. This is only recognized +when a single filename is used (not when toggling back and forth). +Thus, the 3rd example above creates restart files as follows: +restart.1000.equil, restart.2000.equil, etc. If a single filename is +used with no "*", then the timestep value is appended. E.g. the 2nd +example above creates restart files as follows: poly.restart.1000, +poly.restart.2000, etc. + +If a "%" character appears in the restart filename(s), then one file +is written for each processor and the "%" character is replaced with +the processor ID from 0 to P-1. An additional file with the "%" +replaced by "base" is also written, which contains global information. +For example, the files written on step 1000 for filename restart.% +would be restart.base.1000, restart.0.1000, restart.1.1000, ..., +restart.P-1.1000. This creates smaller files and can be a fast mode +of output on parallel machines that support parallel I/O for output. + +Restart files are written on timesteps that are a multiple of N but +not on the first timestep of a run or minimization. A restart file is +not written on the last timestep of a run unless it is a multiple of +N. A restart file is written on the last timestep of a minimization +if N > 0 and the minimization converges. + +See the "read_restart"_read_restart.html command for information about +what is stored in a restart file. + +Restart files can be read by a "read_restart"_read_restart.html +command to restart a simulation from a particular state. Because the +file is binary (to enable exact restarts), it may not be readable on +another machine. In this case, the "restart2data +program"_Section_tools.html#restart in the tools directory can be used +to convert a restart file to an ASCII data file. Both the +read_restart commmand and restart2data tool can read in a restart file +that was written with the "%" character so that multiple files were +created. + +[Restrictions:] none + +[Related commands:] + +"write_restart"_write_restart.html, "read_restart"_read_restart.html + +[Default:] + +restart 0 :pre diff --git a/doc/run.html b/doc/run.html new file mode 100644 index 0000000000..95e6028499 --- /dev/null +++ b/doc/run.html @@ -0,0 +1,157 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      run command +

      +

      Syntax: +

      +
      run N keyword values ... 
      +
      +
      • N = # of timesteps + +
      • zero or more keyword/value pairs may be appended + +
      • keyword = upto or start or stop or pre or post or every + +
          upto value = none
        +  start value = N1
        +    N1 = timestep at which 1st run started
        +  stop value = N2
        +    N2 = timestep at which last run will end
        +  pre value = no or yes
        +  post value = no or yes 
        +  every values = M command
        +    M = break the run into M-timestep segments and invoke command between them
        +    command = a single LAMMPS command (enclosed in double quotes if multiple words)
        +              NULL means no command will be invoked 
        +
        + +
      +

      Examples: +

      +
      run 10000
      +run 1000000 upto
      +run 100 start 0 stop 1000
      +run 1000 pre no post yes
      +run 100000 start 0 stop 1000000 every 1000 "print Protein Rg = $r"
      +run 100000 every 1000 NULL 
      +
      +

      Description: +

      +

      Run or continue dynamics for a specified number of timesteps. +

      +

      When the run style is respa, N refers to outer +loop (largest) timesteps. +

      +

      A value of N = 0 is acceptable; only the thermodynamics of the system +are computed and printed without taking a timestep. +

      +

      The upto keyword means to perform a run starting at the current +timestep up to the specified timestep. E.g. if the current timestep +is 10,000 and "run 100000 upto" is used, then an additional 90,000 +timesteps will be run. This can be useful for very long runs on a +machine that allocates chunks of time and terminate your job when time +is exceeded. If you need to restart your script multiple times +(reading in the last restart file), you can keep restarting your +script with the same run command until the simulation finally +completes. +

      +

      The start or stop keywords can be used if multiple runs are being +performed and you want a fix command that ramps some value +(e.g. a temperature) over time to do its ramping across the entire set +of runs and not just a single run. Fixes in this category include +fix nvt, fix npt, fix +langevin, fix temp/rescale, +fix volume/rescale, and fix +indent. The pair_style soft +potential also ramps its coefficients in a similar way. +

      +

      For example, consider this fix followed by 10 run commands: +

      +
      fix	     1 all nvt 200.0 300.0 1.0
      +run	     1000 start 0 stop 10000
      +run	     1000 start 0 stop 10000
      +...
      +run	     1000 start 0 stop 10000 
      +
      +

      The NVT fix ramps the target temperature from 200.0 to 300.0 during a +run. If the run commands did not have the start/stop keywords (just +"run 1000"), then the temperature would ramp from 200.0 to 300.0 +during the 1000 steps of each run. With the start/stop keywords, the +ramping takes place over the 10000 steps of all runs together. +

      +

      The pre and post keywords can be used to streamline the setup, +clean-up, and associated output to the screen that happens before and +after a run. This can be useful if you wish to do many short runs in +succession (e.g. LAMMPS is being called as a library which is doing +other computations between successive short LAMMPS runs). +

      +

      By default (pre and post = yes), LAMMPS creates neighbor lists, +computes forces, and imposes fix constraints before every run. And +after every run it gathers and prints timings statistics. If a run is +just a continuation of a previous run (and no parameters have +changed), the initial computation is not necessary; the old neighbor +list is still valid as are the forces. So if pre is specified as +"no" then the initial setup is skipped, except for printing +thermodynamic info. Likewise, if post is specified as "no", the +full timing summary is skipped; only a one-line summary timing is +printed. Note that if pre is set to "no" for the 1st run LAMMPS +performs, then it is overridden, since the initial setup computations +must be done. +

      +

      The every option provides a means of interleaving LAMMPS runs with a +command. This can be a short-hand abbreviation to avoid listing a +long series of runs in your input script. Or it can be useful for +invoking a command that wraps some other code (e.g. as a library) to +perform a computation periodically during a long LAMMPS run. See +this section of the documentation for ideas +about how to couple LAMMPS to other codes. +

      +

      N total steps are simulated, in shorter runs of M steps each. After +each M-length run, the command is invoked. If the command is +specified as NULL, no command is invoked. Thus these lines: +

      +
      variable q equal x100
      +run 6000 every 2000 "print Coord = $q" 
      +
      +

      are the equivalent of: +

      +
      variable q equal x[100]
      +run 2000
      +print Coord = $q
      +run 2000
      +print Coord = $q
      +run 2000
      +print Coord = $q 
      +
      +

      which does 3 runs of 2000 steps and prints the x-coordinate of a +particular atom between runs. Note that the command can contain +variables of style equal which will be evaluated +each time the command is invoked. +

      +

      If the pre and post options are set to "no" when every is used, +then the 1st run will do the full setup and the last run will print +the full timing summary, but these operations will be skipped for +intermediate runs. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      minimize, run_style, +temper +

      +

      Default: +

      +

      The option defaults are start = the current timestep, stop = current +timestep + N, pre = yes, and post = yes. +

      + diff --git a/doc/run.txt b/doc/run.txt new file mode 100644 index 0000000000..13f6509616 --- /dev/null +++ b/doc/run.txt @@ -0,0 +1,148 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +run command :h3 + +[Syntax:] + +run N keyword values ... :pre + +N = # of timesteps :ulb,l +zero or more keyword/value pairs may be appended :l +keyword = {upto} or {start} or {stop} or {pre} or {post} or {every} :l + {upto} value = none + {start} value = N1 + N1 = timestep at which 1st run started + {stop} value = N2 + N2 = timestep at which last run will end + {pre} value = {no} or {yes} + {post} value = {no} or {yes} + {every} values = M command + M = break the run into M-timestep segments and invoke command between them + command = a single LAMMPS command (enclosed in double quotes if multiple words) + NULL means no command will be invoked :pre +:ule + +[Examples:] + +run 10000 +run 1000000 upto +run 100 start 0 stop 1000 +run 1000 pre no post yes +run 100000 start 0 stop 1000000 every 1000 "print Protein Rg = $r" +run 100000 every 1000 NULL :pre + +[Description:] + +Run or continue dynamics for a specified number of timesteps. + +When the "run style"_doc/run_style.html is {respa}, N refers to outer +loop (largest) timesteps. + +A value of N = 0 is acceptable; only the thermodynamics of the system +are computed and printed without taking a timestep. + +The {upto} keyword means to perform a run starting at the current +timestep up to the specified timestep. E.g. if the current timestep +is 10,000 and "run 100000 upto" is used, then an additional 90,000 +timesteps will be run. This can be useful for very long runs on a +machine that allocates chunks of time and terminate your job when time +is exceeded. If you need to restart your script multiple times +(reading in the last restart file), you can keep restarting your +script with the same run command until the simulation finally +completes. + +The {start} or {stop} keywords can be used if multiple runs are being +performed and you want a "fix"_fix.html command that ramps some value +(e.g. a temperature) over time to do its ramping across the entire set +of runs and not just a single run. Fixes in this category include +"fix nvt"_fix_nvt.html, "fix npt"_fix_npt.html, "fix +langevin"_fix_langevin.html, "fix temp/rescale"_fix_temp_rescale.html, +"fix volume/rescale"_fix_volume_rescale.html, and "fix +indent"_fix_indent.html. The "pair_style soft"_pair_style.html +potential also ramps its coefficients in a similar way. + +For example, consider this fix followed by 10 run commands: + +fix 1 all nvt 200.0 300.0 1.0 +run 1000 start 0 stop 10000 +run 1000 start 0 stop 10000 +... +run 1000 start 0 stop 10000 :pre + +The NVT fix ramps the target temperature from 200.0 to 300.0 during a +run. If the run commands did not have the start/stop keywords (just +"run 1000"), then the temperature would ramp from 200.0 to 300.0 +during the 1000 steps of each run. With the start/stop keywords, the +ramping takes place over the 10000 steps of all runs together. + +The {pre} and {post} keywords can be used to streamline the setup, +clean-up, and associated output to the screen that happens before and +after a run. This can be useful if you wish to do many short runs in +succession (e.g. LAMMPS is being called as a library which is doing +other computations between successive short LAMMPS runs). + +By default (pre and post = yes), LAMMPS creates neighbor lists, +computes forces, and imposes fix constraints before every run. And +after every run it gathers and prints timings statistics. If a run is +just a continuation of a previous run (and no parameters have +changed), the initial computation is not necessary; the old neighbor +list is still valid as are the forces. So if {pre} is specified as +"no" then the initial setup is skipped, except for printing +thermodynamic info. Likewise, if {post} is specified as "no", the +full timing summary is skipped; only a one-line summary timing is +printed. Note that if {pre} is set to "no" for the 1st run LAMMPS +performs, then it is overridden, since the initial setup computations +must be done. + +The {every} option provides a means of interleaving LAMMPS runs with a +command. This can be a short-hand abbreviation to avoid listing a +long series of runs in your input script. Or it can be useful for +invoking a command that wraps some other code (e.g. as a library) to +perform a computation periodically during a long LAMMPS run. See +"this section"_Section_howto.html#4_10 of the documentation for ideas +about how to couple LAMMPS to other codes. + +N total steps are simulated, in shorter runs of M steps each. After +each M-length run, the command is invoked. If the command is +specified as NULL, no command is invoked. Thus these lines: + +variable q equal x[100] +run 6000 every 2000 "print Coord = $q" :pre + +are the equivalent of: + +variable q equal x\[100\] +run 2000 +print Coord = $q +run 2000 +print Coord = $q +run 2000 +print Coord = $q :pre + +which does 3 runs of 2000 steps and prints the x-coordinate of a +particular atom between runs. Note that the command can contain +"variables"_variable.html of style {equal} which will be evaluated +each time the command is invoked. + +If the {pre} and {post} options are set to "no" when {every} is used, +then the 1st run will do the full setup and the last run will print +the full timing summary, but these operations will be skipped for +intermediate runs. + +[Restrictions:] none + +[Related commands:] + +"minimize"_minimize.html, "run_style"_run_style.html, +"temper"_temper.html + +[Default:] + +The option defaults are start = the current timestep, stop = current +timestep + N, pre = yes, and post = yes. diff --git a/doc/run_style.html b/doc/run_style.html new file mode 100644 index 0000000000..3083af509c --- /dev/null +++ b/doc/run_style.html @@ -0,0 +1,186 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      run_style command +

      +

      Syntax: +

      +
      run_style style args 
      +
      +
      • style = verlet or respa + +
          verlet args = none
        +  respa args = N n1 n2 ... keyword values ...
        +    N = # of levels of rRESPA
        +    n1, n2, ... = loop factor bewteen rRESPA levels (N-1 values)
        +    zero or more keyword/value pairings may be appended to the loop factors
        +    keyword = bond or angle or dihedral or improper or
        +	      pair or inner or middle or outer or kspace
        +      bond value = M
        +        M = which level (1-N) to compute bond forces in
        +      angle value = M
        +        M = which level (1-N) to compute angle forces in
        +      dihedral value = M
        +        M = which level (1-N) to compute dihedral forces in
        +      improper value = M
        +        M = which level (1-N) to compute improper forces in
        +      pair value = M
        +        M = which level (1-N) to compute pair forces in
        +      inner values = M cut1 cut2
        +        M = which level (1-N) to compute pair inner forces in
        +	cut1 = inner cutoff between pair inner and
        +	       pair middle or outer  (distance units)
        +	cut2 = outer cutoff between pair inner and
        +	       pair middle or outer  (distance units)
        +      middle values = M cut1 cut2
        +        M = which level (1-N) to compute pair middle forces in
        +	cut1 = inner cutoff between pair middle and pair outer (distance units)
        +	cut2 = outer cutoff between pair middle and pair outer (distance units)
        +      outer value = M
        +        M = which level (1-N) to compute pair outer forces in
        +      kspace value = M
        +        M = which level (1-N) to compute kspace forces in 
        +
        + +
      +

      Examples: +

      +
      run_style verlet
      +run_style respa 4 2 2 2 bond 1 dihedral 2 pair 3 kspace 4
      +run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4 
      +
      +

      Description: +

      +

      Choose the style of time integrator used for molecular dynamics +simulations performed by LAMMPS. +

      +

      The verlet style is a velocity-Verlet integrator. +

      +

      The respa style implements the rRESPA multi-timescale integrator +(Tuckerman) with N hierarchical levels, where level 1 is +the innermost loop (shortest timestep) and level N is the outermost +loop (largest timestep). The loop factor arguments specify what the +looping factor is between levels. N1 specifies the number of +iterations of level 1 for a single iteration of level 2, N2 is the +iterations of level 2 per iteration of level 3, etc. N-1 looping +parameters must be specified. +

      +

      The timestep command sets the timestep for the +outermost rRESPA level. Thus if the example command above for a +4-level rRESPA had an outer timestep of 4.0 fmsec, the inner timestep +would be 8x smaller or 0.5 fmsec. All other LAMMPS commands that +specify number of timesteps (e.g. neigh_modify +parameters, dump every N timesteps, etc) refer to the +outermost timesteps. +

      +

      The rRESPA keywords enable you to specify at what level of the +hierarchy various forces will be computed. If not specified, the +defaults are that bond forces are computed at level 1 (innermost +loop), angle forces are computed where bond forces are, dihedral +forces are computed where angle forces are, improper forces are +computed where dihedral forces are, pair forces are computed at the +outermost level, and kspace forces are computed where pair forces are. +The inner, middle, outer forces have no defaults. +

      +

      The inner and middle keywords take additional arguments for +cutoffs that are used by the force computations. If the 2 cutoffs for +inner are 5.0 and 6.0, this means that all pairs up to 6.0 apart are +computed by the inner force. Those between 5.0 and 6.0 have their +force go ramped to 0.0 so the overlap with the next regime (middle or +outer) is smooth. The next regime (middle or outer) will compute +forces for all pairs from 5.0 outward, with those from 5.0 to 6.0 +having their value ramped in an inverse manner. +

      +

      When using rRESPA (or for any MD simulation) care must be taken to +choose a timestep size(s) that insures the Hamiltonian for the chosen +ensemble is conserved. For the constant NVE ensemble, total energy +must be conserved. Unfortunately, it is difficult to know a priori +how well energy will be conserved, and a fairly long test simulation +(~10 ps) is usually necessary in order to verify that no long-term +drift in energy occurs with the trial set of parameters. +

      +

      With that caveat, a few rules-of-thumb may be useful in selecting +respa settings. The following applies mostly to biomolecular +simulations using the CHARMM or a similar all-atom force field, but +the concepts are adaptable to other problems. Without SHAKE, bonds +involving hydrogen atoms exhibit high-frequency vibrations and require +a timestep on the order of 0.5 fmsec in order to conserve energy. The +relatively inexpensive force computations for the bonds, angles, +impropers, and dihedrals can be computed on this innermost 0.5 fmsec +step. The outermost timestep cannot be greater than 4.0 fmsec without +risking energy drift. Smooth switching of forces between the levels +of the rRESPA hierarchy is also necessary to avoid drift, and a 1-2 +angstrom "healing distance" (the distance between the outer and inner +cutoffs) works reasonably well. We thus recommend the following +settings for use of the respa style without SHAKE in biomolecular +simulations: +

      +
      timestep  4.0
      +run_style respa 4 2 2 2 inner 2 4.5 6.0 middle 3 8.0 10.0 outer 4 
      +
      +

      With these settings, users can expect good energy conservation and +roughly a 2.5 fold speedup over the verlet style with a 0.5 fmsec +timestep. +

      +

      If SHAKE is used with the respa style, time reversibility is lost, +but substantially longer time steps can be achieved. For biomolecular +simulations using the CHARMM or similar all-atom force field, bonds +involving hydrogen atoms exhibit high frequency vibrations and require +a time step on the order of 0.5 fmsec in order to conserve energy. +These high frequency modes also limit the outer time step sizes since +the modes are coupled. It is therefore desireable to use SHAKE with +respa in order to freeze out these high frequency motions and increase +the size of the time steps in the respa hierarchy. The following +settings can be used for biomolecular simulations with SHAKE and +rRESPA: +

      +
      fix             2 all shake 0.000001 500 0 m 1.0 a 1
      +timestep        4.0
      +run_style	respa 2 2 inner 1 4.0 5.0 outer 2 
      +
      +

      With these settings, users can expect good energy conservation and +roughly a 1.5 fold speedup over the verlet style with SHAKE and a +2.0 fmsec timestep. +

      +

      For non-biomolecular simulations, the respa style can be +advantageous if there is a clear separation of time scales - fast and +slow modes in the simulation. Even a LJ system can benefit from +rRESPA if the interactions are divided by the inner, middle and outer +keywords. A 2-fold or more speedup can be obtained while maintaining +good energy conservation. In real units, for a pure LJ fluid at +liquid density, with a sigma of 3.0 angstroms, and epsilon of 0.1 +Kcal/mol, the following settings seem to work well: +

      +
      timestep  36.0  
      +run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 
      +
      +

      Restrictions: none +

      +

      Whenever using rRESPA, the user should experiment with trade-offs in +speed and accuracy for their system, and verify that they are +conserving energy to adequate precision. +

      +

      Related commands: +

      +

      timestep, run +

      +

      Default: +

      +
      run_style verlet 
      +
      +
      + + + +

      (Tuckerman) Tuckerman, Berne and Martyna, J Chem Phys, 97, p 1990 +(1992). +

      + diff --git a/doc/run_style.txt b/doc/run_style.txt new file mode 100644 index 0000000000..19d20f6cdc --- /dev/null +++ b/doc/run_style.txt @@ -0,0 +1,178 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +run_style command :h3 + +[Syntax:] + +run_style style args :pre + +style = {verlet} or {respa} :ulb,l + {verlet} args = none + {respa} args = N n1 n2 ... keyword values ... + N = # of levels of rRESPA + n1, n2, ... = loop factor bewteen rRESPA levels (N-1 values) + zero or more keyword/value pairings may be appended to the loop factors + keyword = {bond} or {angle} or {dihedral} or {improper} or + {pair} or {inner} or {middle} or {outer} or {kspace} + {bond} value = M + M = which level (1-N) to compute bond forces in + {angle} value = M + M = which level (1-N) to compute angle forces in + {dihedral} value = M + M = which level (1-N) to compute dihedral forces in + {improper} value = M + M = which level (1-N) to compute improper forces in + {pair} value = M + M = which level (1-N) to compute pair forces in + {inner} values = M cut1 cut2 + M = which level (1-N) to compute pair inner forces in + cut1 = inner cutoff between pair inner and + pair middle or outer (distance units) + cut2 = outer cutoff between pair inner and + pair middle or outer (distance units) + {middle} values = M cut1 cut2 + M = which level (1-N) to compute pair middle forces in + cut1 = inner cutoff between pair middle and pair outer (distance units) + cut2 = outer cutoff between pair middle and pair outer (distance units) + {outer} value = M + M = which level (1-N) to compute pair outer forces in + {kspace} value = M + M = which level (1-N) to compute kspace forces in :pre +:ule + +[Examples:] + +run_style verlet +run_style respa 4 2 2 2 bond 1 dihedral 2 pair 3 kspace 4 +run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4 :pre + +[Description:] + +Choose the style of time integrator used for molecular dynamics +simulations performed by LAMMPS. + +The {verlet} style is a velocity-Verlet integrator. + +The {respa} style implements the rRESPA multi-timescale integrator +"(Tuckerman)"_#Tuckerman with N hierarchical levels, where level 1 is +the innermost loop (shortest timestep) and level N is the outermost +loop (largest timestep). The loop factor arguments specify what the +looping factor is between levels. N1 specifies the number of +iterations of level 1 for a single iteration of level 2, N2 is the +iterations of level 2 per iteration of level 3, etc. N-1 looping +parameters must be specified. + +The "timestep"_timestep.html command sets the timestep for the +outermost rRESPA level. Thus if the example command above for a +4-level rRESPA had an outer timestep of 4.0 fmsec, the inner timestep +would be 8x smaller or 0.5 fmsec. All other LAMMPS commands that +specify number of timesteps (e.g. "neigh_modify"_neigh_modify.html +parameters, "dump"_dump.html every N timesteps, etc) refer to the +outermost timesteps. + +The rRESPA keywords enable you to specify at what level of the +hierarchy various forces will be computed. If not specified, the +defaults are that bond forces are computed at level 1 (innermost +loop), angle forces are computed where bond forces are, dihedral +forces are computed where angle forces are, improper forces are +computed where dihedral forces are, pair forces are computed at the +outermost level, and kspace forces are computed where pair forces are. +The inner, middle, outer forces have no defaults. + +The {inner} and {middle} keywords take additional arguments for +cutoffs that are used by the force computations. If the 2 cutoffs for +{inner} are 5.0 and 6.0, this means that all pairs up to 6.0 apart are +computed by the inner force. Those between 5.0 and 6.0 have their +force go ramped to 0.0 so the overlap with the next regime (middle or +outer) is smooth. The next regime (middle or outer) will compute +forces for all pairs from 5.0 outward, with those from 5.0 to 6.0 +having their value ramped in an inverse manner. + +When using rRESPA (or for any MD simulation) care must be taken to +choose a timestep size(s) that insures the Hamiltonian for the chosen +ensemble is conserved. For the constant NVE ensemble, total energy +must be conserved. Unfortunately, it is difficult to know {a priori} +how well energy will be conserved, and a fairly long test simulation +(~10 ps) is usually necessary in order to verify that no long-term +drift in energy occurs with the trial set of parameters. + +With that caveat, a few rules-of-thumb may be useful in selecting +{respa} settings. The following applies mostly to biomolecular +simulations using the CHARMM or a similar all-atom force field, but +the concepts are adaptable to other problems. Without SHAKE, bonds +involving hydrogen atoms exhibit high-frequency vibrations and require +a timestep on the order of 0.5 fmsec in order to conserve energy. The +relatively inexpensive force computations for the bonds, angles, +impropers, and dihedrals can be computed on this innermost 0.5 fmsec +step. The outermost timestep cannot be greater than 4.0 fmsec without +risking energy drift. Smooth switching of forces between the levels +of the rRESPA hierarchy is also necessary to avoid drift, and a 1-2 +angstrom "healing distance" (the distance between the outer and inner +cutoffs) works reasonably well. We thus recommend the following +settings for use of the {respa} style without SHAKE in biomolecular +simulations: + +timestep 4.0 +run_style respa 4 2 2 2 inner 2 4.5 6.0 middle 3 8.0 10.0 outer 4 :pre + +With these settings, users can expect good energy conservation and +roughly a 2.5 fold speedup over the {verlet} style with a 0.5 fmsec +timestep. + +If SHAKE is used with the {respa} style, time reversibility is lost, +but substantially longer time steps can be achieved. For biomolecular +simulations using the CHARMM or similar all-atom force field, bonds +involving hydrogen atoms exhibit high frequency vibrations and require +a time step on the order of 0.5 fmsec in order to conserve energy. +These high frequency modes also limit the outer time step sizes since +the modes are coupled. It is therefore desireable to use SHAKE with +respa in order to freeze out these high frequency motions and increase +the size of the time steps in the respa hierarchy. The following +settings can be used for biomolecular simulations with SHAKE and +rRESPA: + +fix 2 all shake 0.000001 500 0 m 1.0 a 1 +timestep 4.0 +run_style respa 2 2 inner 1 4.0 5.0 outer 2 :pre + +With these settings, users can expect good energy conservation and +roughly a 1.5 fold speedup over the {verlet} style with SHAKE and a +2.0 fmsec timestep. + +For non-biomolecular simulations, the {respa} style can be +advantageous if there is a clear separation of time scales - fast and +slow modes in the simulation. Even a LJ system can benefit from +rRESPA if the interactions are divided by the inner, middle and outer +keywords. A 2-fold or more speedup can be obtained while maintaining +good energy conservation. In real units, for a pure LJ fluid at +liquid density, with a sigma of 3.0 angstroms, and epsilon of 0.1 +Kcal/mol, the following settings seem to work well: + +timestep 36.0 +run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 :pre + +[Restrictions:] none + +Whenever using rRESPA, the user should experiment with trade-offs in +speed and accuracy for their system, and verify that they are +conserving energy to adequate precision. + +[Related commands:] + +"timestep"_timestep.html, "run"_run.html + +[Default:] + +run_style verlet :pre + +:line + +:link(Tuckerman) +[(Tuckerman)] Tuckerman, Berne and Martyna, J Chem Phys, 97, p 1990 +(1992). diff --git a/doc/set.html b/doc/set.html new file mode 100644 index 0000000000..40a7570c0f --- /dev/null +++ b/doc/set.html @@ -0,0 +1,104 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      set command +

      +

      Syntax: +

      +
      set ID style value 
      +
      +
      • ID = ID of group or atom +
      • style = atom or bond or angle or dihedral or improper or charge or dipole or type or mol or x or y or z or vx or vy or vz or q +
      • value = value to set selected atom(s) to +
      +

      Examples: +

      +
      set solvent atom 2
      +set edge bond 4
      +set half charge 0.5
      +set 100 x 0.5
      +set 1492 type 3 
      +
      +

      Description: +

      +

      Set an attribute for a single atom or each atom in a group. The +context depends on the specified style. +

      +

      Styles atom, bond, angle, dihedral, improper, charge, and +dipole set attributes for all atoms in a group, so the specified ID +is a group-ID string. +

      +

      Styles type, mol, x, y, z, vx, vy, vz, and q set the +attribute of a single atom, so the specified ID is an atom-ID number +(1-N). +

      +

      Since atom attributes are assigned by the read_data, +read_restart or create_atoms +commands, this command changes those assignments. This can be useful +for altering pairwise and molecular force interactions, since +force-field coefficients are defined in terms of types. It can also +be used to change the labeling of atoms when they are output in +dump files. It can also be useful for debugging purposes; +i.e. positioning an atom at a precise location to compute subsequent +forces or energy. +

      +

      For style atom, the atom type of all atoms in the group is changed +to the specified value from 1 to ntypes. Note that ntypes must be +within the range the simulation was initialized for. The maximum +number of types is set by the create_box command or +the atom types field in the header of the data file read by the +read_data command. +

      +

      For style bond, angle, dihedral, or improper, the bond type +(angle type, etc) of all bonds (angles, etc) of atoms in the group is +changed to the specified value from 1 to nbondtypes (angletypes, etc). +All atoms in the bond (angle, etc) must be in the group in order for +the change to be made. The maximum number of types is set by the +bond types (angle types, etc) field in the header of the data +file. +

      +

      For style charge, the charge of each atom in the group is set to +the specified value. +

      +

      For style dipole, the specified value is used as a random number +seed. The dipole moment of each atom in the group is set to a random +orientation with a magnitude determined by the dipole +command setting for that atom type. +

      +

      For styles type, mol, x, y, z, vx, vy, vz, or q, the +corresponding attribute of a single atom with the specified atom-ID is +set to the specified value. E.g. the last example above, sets the +atom-type of atom 1492 to 3. If "type" were replaced by "q", the +charge on atom 1492 would be set to 3; if it were replaced by "mol", +then then the molecule-ID would be set to 3. The values for x,y,z are +in distance units, the values for vx,vy,vz are in velocity units, and +the value for charge is in charge units, as explained by the +units command. +

      +

      Restrictions: +

      +

      This command requires inter-processor communication to coordinate the +setting of bond types (angle types, etc). This means that your system +must be ready to perform a simulation before using this command (force +fields setup, atom masses set, etc). This is not necessary to simply +reset atom types. +

      +

      You cannot set the mol or q for an atom if the +atom_style does not have those attributes. +

      +

      Related commands: +

      +

      create_box, create_atoms, +read_data +

      +

      Default: none +

      + diff --git a/doc/set.txt b/doc/set.txt new file mode 100644 index 0000000000..31e4be80c7 --- /dev/null +++ b/doc/set.txt @@ -0,0 +1,101 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +set command :h3 + +[Syntax:] + +set ID style value :pre + +ID = ID of group or atom +style = {atom} or {bond} or {angle} or {dihedral} or {improper} or \ + {charge} or {dipole} or {type} or {mol} or {x} or {y} or {z} or \ + {vx} or {vy} or {vz} or {q} +value = value to set selected atom(s) to :ul + +[Examples:] + +set solvent atom 2 +set edge bond 4 +set half charge 0.5 +set 100 x 0.5 +set 1492 type 3 :pre + +[Description:] + +Set an attribute for a single atom or each atom in a group. The +context depends on the specified {style}. + +Styles {atom}, {bond}, {angle}, {dihedral}, {improper}, {charge}, and +{dipole} set attributes for all atoms in a group, so the specified ID +is a group-ID string. + +Styles {type}, {mol}, {x}, {y}, {z}, {vx}, {vy}, {vz}, and {q} set the +attribute of a single atom, so the specified ID is an atom-ID number +(1-N). + +Since atom attributes are assigned by the "read_data"_read_data.html, +"read_restart"_read_restart.html or "create_atoms"_create_atoms.html +commands, this command changes those assignments. This can be useful +for altering pairwise and molecular force interactions, since +force-field coefficients are defined in terms of types. It can also +be used to change the labeling of atoms when they are output in +"dump"_dump.html files. It can also be useful for debugging purposes; +i.e. positioning an atom at a precise location to compute subsequent +forces or energy. + +For style {atom}, the atom type of all atoms in the group is changed +to the specified value from 1 to ntypes. Note that ntypes must be +within the range the simulation was initialized for. The maximum +number of types is set by the "create_box"_create_box.html command or +the {atom types} field in the header of the data file read by the +"read_data"_read_data.html command. + +For style {bond}, {angle}, {dihedral}, or {improper}, the bond type +(angle type, etc) of all bonds (angles, etc) of atoms in the group is +changed to the specified value from 1 to nbondtypes (angletypes, etc). +All atoms in the bond (angle, etc) must be in the group in order for +the change to be made. The maximum number of types is set by the +{bond types} ({angle types}, etc) field in the header of the data +file. + +For style {charge}, the charge of each atom in the group is set to +the specified value. + +For style {dipole}, the specified value is used as a random number +seed. The dipole moment of each atom in the group is set to a random +orientation with a magnitude determined by the "dipole"_dipole.html +command setting for that atom type. + +For styles {type}, {mol}, {x}, {y}, {z}, {vx}, {vy}, {vz}, or {q}, the +corresponding attribute of a single atom with the specified atom-ID is +set to the specified value. E.g. the last example above, sets the +atom-type of atom 1492 to 3. If "type" were replaced by "q", the +charge on atom 1492 would be set to 3; if it were replaced by "mol", +then then the molecule-ID would be set to 3. The values for x,y,z are +in distance units, the values for vx,vy,vz are in velocity units, and +the value for charge is in charge units, as explained by the +"units"_units.html command. + +[Restrictions:] + +This command requires inter-processor communication to coordinate the +setting of bond types (angle types, etc). This means that your system +must be ready to perform a simulation before using this command (force +fields setup, atom masses set, etc). This is not necessary to simply +reset atom types. + +You cannot set the {mol} or {q} for an atom if the +"atom_style"_atom_style.html does not have those attributes. + +[Related commands:] + +"create_box"_create_box.html, "create_atoms"_create_atoms.html, +"read_data"_read_data.html + +[Default:] none diff --git a/doc/shell.html b/doc/shell.html new file mode 100644 index 0000000000..7129ee596e --- /dev/null +++ b/doc/shell.html @@ -0,0 +1,77 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      shell command +

      +

      Syntax: +

      +
      shell style args 
      +
      +
      • style = cd or mkdir or mv or rm or rmdir + +
          cd arg = dir
        +    dir = directory to change to
        +  mkdir args = dir1 dir2 ...
        +    dir1,dir2 = one or more directories to create
        +  mv args = old new
        +    old = old filename
        +    new = new filename
        +  rm args = file1 file2 ...
        +    file1,file2 = one or more filenames to delete
        +  rmdir args = dir1 dir2 ...
        +    dir1,dir2 = one or more directories to delete 
        +
        + +
      +

      Examples: +

      +
      shell cd sub1
      +shell cd ..
      +shell mkdir tmp1 tmp2 tmp3
      +shell rmdir tmp1
      +shell mv log.lammps hold/log.1
      +shell rm TMP/file1 TMP/file2 
      +
      +

      Description: +

      +

      Execute a shell command. Only a few simple file-based shell commands +are supported, in Unix-style syntax. With the exception of cd, all +commands are executed by only a single processor, so that +files/directories are not being manipulated by multiple processors. +

      +

      The cd style executes the Unix "cd" command to change the working +directory. All subsequent LAMMPS commands that read/write files will +use the new directory. All processors execute this command. +

      +

      The mkdir style executes the Unix "mkdir" command to create +one or more directories. +

      +

      The mv style executes the Unix "mv" command to rename a file and/or +move it to a new directory. +

      +

      The rm style executes the Unix "rm" command to remove one or more +files. +

      +

      The rmdir style executes the Unix "rmdir" command to remove one or +more directories. A directory must be empty to be successfully +removed. +

      +

      Restrictions: +

      +

      LAMMPS does not detect errors or print warnings when any of these Unix +commands execute. E.g. if the specified directory does not exist, +executing the cd command will silently not do anything. +

      +

      Related commands: none +

      +

      Default: none +

      + diff --git a/doc/shell.txt b/doc/shell.txt new file mode 100644 index 0000000000..fe1dbf3c2a --- /dev/null +++ b/doc/shell.txt @@ -0,0 +1,70 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +shell command :h3 + +[Syntax:] + +shell style args :pre + +style = {cd} or {mkdir} or {mv} or {rm} or {rmdir} :ulb,l + {cd} arg = dir + dir = directory to change to + {mkdir} args = dir1 dir2 ... + dir1,dir2 = one or more directories to create + {mv} args = old new + old = old filename + new = new filename + {rm} args = file1 file2 ... + file1,file2 = one or more filenames to delete + {rmdir} args = dir1 dir2 ... + dir1,dir2 = one or more directories to delete :pre +:ule + +[Examples:] + +shell cd sub1 +shell cd .. +shell mkdir tmp1 tmp2 tmp3 +shell rmdir tmp1 +shell mv log.lammps hold/log.1 +shell rm TMP/file1 TMP/file2 :pre + +[Description:] + +Execute a shell command. Only a few simple file-based shell commands +are supported, in Unix-style syntax. With the exception of {cd}, all +commands are executed by only a single processor, so that +files/directories are not being manipulated by multiple processors. + +The {cd} style executes the Unix "cd" command to change the working +directory. All subsequent LAMMPS commands that read/write files will +use the new directory. All processors execute this command. + +The {mkdir} style executes the Unix "mkdir" command to create +one or more directories. + +The {mv} style executes the Unix "mv" command to rename a file and/or +move it to a new directory. + +The {rm} style executes the Unix "rm" command to remove one or more +files. + +The {rmdir} style executes the Unix "rmdir" command to remove one or +more directories. A directory must be empty to be successfully +removed. + +[Restrictions:] + +LAMMPS does not detect errors or print warnings when any of these Unix +commands execute. E.g. if the specified directory does not exist, +executing the {cd} command will silently not do anything. + +[Related commands:] none + +[Default:] none diff --git a/doc/special_bonds.html b/doc/special_bonds.html new file mode 100644 index 0000000000..a3f5ac0b86 --- /dev/null +++ b/doc/special_bonds.html @@ -0,0 +1,85 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      special_bonds command +

      +

      Syntax: +

      +
      special_bonds style
      +special_bonds c1 c2 c3
      +special_bonds c1 c2 c3 c4 c5 c6 
      +
      +
      • style = charmm or amber +
      • c1,c2,c3,c4,c5,c6 = numeric coefficients from 0.0 to 1.0 +
      +

      Examples: +

      +
      special_bonds charmm
      +special_bonds amber
      +special_bonds 0.0 0.0 1.0
      +special_bonds 0.0 0.0 1.0 0.0 0.0 0.5 
      +
      +

      Description: +

      +

      Set the weighting coefficients for the pairwise force and energy +contributions from atom pairs that are also bonded to each other +directly or indirectly. The 1st coefficient is the weighting factor +on 1-2 atom pairs, which are those directly bonded to each other. The +2nd coefficient is the weighting factor on 1-3 atom pairs which are +those separated by 2 bonds (e.g. the 2 H atoms in a water molecule). +The 3rd coefficient is the weighting factor on 1-4 atom pairs which +are separated by 3 bonds (e.g. the 1st and 4th atoms in a dihedral +interaction). +

      +

      Note that for purposes of computing weighted pairwise interactions, +1-3 and 1-4 interactions are not defined from the list of angles or +dihedrals used by the simulation. Rather, they are inferred +topologically by the set of bonds defined when atoms are read in from +a file (read_data or +read_restart). Thus the set of 1-2,1-3,1-4 +interactions is the same whether angle potentials are computed or not, +and remains the same even if bonds are constrained, or turned off, or +removed during a simulation. The only exception is if the +delete_bonds command is used with the special +option that recomputes the 1-2,1-3,1-4 topologies; see the command for +more details. +

      +

      The charmm style sets all 3 coefficients to 0.0, which is the +default for the CHARMM force field. In pair styles +lj/charmm/coul/charmm and lj/charmm/coul/long the 1-4 coefficients +are defined explicitly, and these pair-wise contributions are computed +in the charmm dihedral style - see the pair_coeff +and dihedral_style commands for more +information. +

      +

      The amber style sets the 3 coefficients to 0.0 0.0 0.5 for LJ +interactions and to 0.0 0.0 0.833 for Coulombic interactions, which is +the default for a particular version of the AMBER force field, where +the last value is 5/6. +

      +

      A special_bonds command with 3 coefficients sets the 1-2, 1-3, and 1-4 +coefficients for both LJ and Coulombic terms to those values. +

      +

      A special_bonds command with 6 coefficients sets the 1-2, 1-3, and 1-4 +LJ coefficients to the first 3 values and the Coulombic coefficients +to the last 3 values. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      delete_bonds +

      +

      Default: +

      +
      special_bonds 0.0 0.0 0.0 
      +
      + diff --git a/doc/special_bonds.txt b/doc/special_bonds.txt new file mode 100644 index 0000000000..b7e5dd24f7 --- /dev/null +++ b/doc/special_bonds.txt @@ -0,0 +1,80 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +special_bonds command :h3 + +[Syntax:] + +special_bonds style +special_bonds c1 c2 c3 +special_bonds c1 c2 c3 c4 c5 c6 :pre + +style = {charmm} or {amber} +c1,c2,c3,c4,c5,c6 = numeric coefficients from 0.0 to 1.0 :ul + +Examples: + +special_bonds charmm +special_bonds amber +special_bonds 0.0 0.0 1.0 +special_bonds 0.0 0.0 1.0 0.0 0.0 0.5 :pre + +[Description:] + +Set the weighting coefficients for the pairwise force and energy +contributions from atom pairs that are also bonded to each other +directly or indirectly. The 1st coefficient is the weighting factor +on 1-2 atom pairs, which are those directly bonded to each other. The +2nd coefficient is the weighting factor on 1-3 atom pairs which are +those separated by 2 bonds (e.g. the 2 H atoms in a water molecule). +The 3rd coefficient is the weighting factor on 1-4 atom pairs which +are separated by 3 bonds (e.g. the 1st and 4th atoms in a dihedral +interaction). + +Note that for purposes of computing weighted pairwise interactions, +1-3 and 1-4 interactions are not defined from the list of angles or +dihedrals used by the simulation. Rather, they are inferred +topologically by the set of bonds defined when atoms are read in from +a file ("read_data"_read_data.html or +"read_restart"_read_restart.html). Thus the set of 1-2,1-3,1-4 +interactions is the same whether angle potentials are computed or not, +and remains the same even if bonds are constrained, or turned off, or +removed during a simulation. The only exception is if the +"delete_bonds"_delete_bonds.html command is used with the {special} +option that recomputes the 1-2,1-3,1-4 topologies; see the command for +more details. + +The {charmm} style sets all 3 coefficients to 0.0, which is the +default for the CHARMM force field. In pair styles +{lj/charmm/coul/charmm} and {lj/charmm/coul/long} the 1-4 coefficients +are defined explicitly, and these pair-wise contributions are computed +in the charmm dihedral style - see the "pair_coeff"_pair_coeff.html +and "dihedral_style"_dihedral_style.html commands for more +information. + +The {amber} style sets the 3 coefficients to 0.0 0.0 0.5 for LJ +interactions and to 0.0 0.0 0.833 for Coulombic interactions, which is +the default for a particular version of the AMBER force field, where +the last value is 5/6. + +A special_bonds command with 3 coefficients sets the 1-2, 1-3, and 1-4 +coefficients for both LJ and Coulombic terms to those values. + +A special_bonds command with 6 coefficients sets the 1-2, 1-3, and 1-4 +LJ coefficients to the first 3 values and the Coulombic coefficients +to the last 3 values. + +[Restrictions:] none + +[Related commands:] + +"delete_bonds"_delete_bonds.html + +[Default:] + +special_bonds 0.0 0.0 0.0 :pre diff --git a/doc/temp_modify.html b/doc/temp_modify.html new file mode 100644 index 0000000000..1b1b4f13c7 --- /dev/null +++ b/doc/temp_modify.html @@ -0,0 +1,55 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      temp_modify command +

      +

      Syntax: +

      +
      temp_modify temp-ID keyword value ... 
      +
      +
      • temp-ID = ID of temperature to modify + +
      • one or more keyword/value pairs may be listed + +
      • keyword = extra + +
          extra value = N
        +    N = # of extra degrees of freedom to subtract 
        +
        + +
      +

      Examples: +

      +
      temp_modify mine extra 0 
      +
      +

      Description: +

      +

      Modify the parameters of a previously defined temperature method. +This can either be the default temperature defined by LAMMPS (ID = +default) or a user-defined temperature created by using the +temperature command. +

      +

      The extra keyword refers to how many degrees-of-freedom are +subtracted (typically from 3N) as a normalizing factor in the +temperature computation. The default is 3 which is a correction +factor for an ensemble of velocities with zero total linear momentum. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      temperature +

      +

      Default: +

      +

      The option defaults are extra = 3. +

      + diff --git a/doc/temp_modify.txt b/doc/temp_modify.txt new file mode 100644 index 0000000000..faf772b410 --- /dev/null +++ b/doc/temp_modify.txt @@ -0,0 +1,46 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +temp_modify command :h3 + +[Syntax:] + +temp_modify temp-ID keyword value ... :pre + +temp-ID = ID of temperature to modify :ulb,l +one or more keyword/value pairs may be listed :l +keyword = {extra} :l + {extra} value = N + N = # of extra degrees of freedom to subtract :pre +:ule + +[Examples:] + +temp_modify mine extra 0 :pre + +[Description:] + +Modify the parameters of a previously defined temperature method. +This can either be the default temperature defined by LAMMPS (ID = +{default}) or a user-defined temperature created by using the +"temperature"_temperature.html command. + +The {extra} keyword refers to how many degrees-of-freedom are +subtracted (typically from 3N) as a normalizing factor in the +temperature computation. The default is 3 which is a correction +factor for an ensemble of velocities with zero total linear momentum. + +[Restrictions:] none + +[Related commands:] + +"temperature"_temperature.html + +[Default:] + +The option defaults are extra = 3. diff --git a/doc/temper.html b/doc/temper.html new file mode 100644 index 0000000000..c8287609f1 --- /dev/null +++ b/doc/temper.html @@ -0,0 +1,84 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      temper command +

      +

      Syntax: +

      +
      temper N M temp fix-ID seed1 seed2 index 
      +
      +
      • N = total # of timesteps to run +
      • M = attempt a tempering swap every this many steps +
      • temp = initial temperature for this ensemble +
      • fix-ID = ID of the fix that will control temperature during the run +
      • seed1 = random # seed used to decide on adjacent temperature to partner with +
      • seed2 = random # seed for Boltzmann factor in Metropolis swap +
      • index = which temperature (0 to N-1) I am simulating (optional) +
      +

      Examples: +

      +
      temper 100000 100 $t tempfix 0 58728
      +temper 40000 100 $t tempfix 0 32285 $w 
      +
      +

      Description: +

      +

      Run a parallel tempering (replica exchange) simulation of multiple +ensembles of a system on multiple partitions of processors. The +processor partitions are defined using the -partition command-line +switch (see this section). Each ensemble's +temperature is typically controlled at a different value by a fix with +ID fix-ID that controls temperature. Possible fix styles are +nvt, npt, and +temp/rescale. The desired temperature is +specified by temp, which is typically a variable previously set in +the input script, so that each partition is assigned a different +temperature. See the variable command for more +details. For example, +

      +
      variable t world 300.0 310.0 320.0 330.0 
      +
      +

      As the tempering simulation runs for N timesteps, a swap between +adjacent ensembles will be attempted every M timesteps. If seed1 +is 0, then the swap attempts will alternate between odd and even +pairings. If seed1 is non-zero then it is used as a seed in a +random number generator to randomly choose an odd or even pairing each +time. Each attempted swap of temperatures is either accepted or +rejected based on a Boltzmann-weighted Metropolis criterion which uses +seed2 in the random number generator. +

      +

      The last argument index is optional and is used when restarting a +tempering run from a set of restart files (one for each replica) which +had previously swapped to new temperatures. The index value (from 0 +to N-1, where N is the # of replicas) identifies which temperature the +replica was simulating on the timestep the restart files were written. +Obviously, this argument must be a variable so that each partition has +the correct value. Set the variable to the N values listed in the +log file for the previous run for the replica temperatures at that +timestep. For example if the log file listed +

      +
      500000 2 4 0 1 3 
      +
      +

      then a setting of +

      +
      variable w proc 2 4 0 1 3 
      +
      +

      would be used to restart the run with a tempering command like the +example above with $w as the last argument. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      variable +

      +

      Default: none +

      + diff --git a/doc/temper.txt b/doc/temper.txt new file mode 100644 index 0000000000..8c0032c416 --- /dev/null +++ b/doc/temper.txt @@ -0,0 +1,79 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +temper command :h3 + +[Syntax:] + +temper N M temp fix-ID seed1 seed2 index :pre + +N = total # of timesteps to run +M = attempt a tempering swap every this many steps +temp = initial temperature for this ensemble +fix-ID = ID of the fix that will control temperature during the run +seed1 = random # seed used to decide on adjacent temperature to partner with +seed2 = random # seed for Boltzmann factor in Metropolis swap +index = which temperature (0 to N-1) I am simulating (optional) :ul + +[Examples:] + +temper 100000 100 $t tempfix 0 58728 +temper 40000 100 $t tempfix 0 32285 $w :pre + +[Description:] + +Run a parallel tempering (replica exchange) simulation of multiple +ensembles of a system on multiple partitions of processors. The +processor partitions are defined using the -partition command-line +switch (see "this section"_Section_start.html#2_4). Each ensemble's +temperature is typically controlled at a different value by a fix with +ID {fix-ID} that controls temperature. Possible fix styles are +"nvt"_fix_nvt.html, "npt"_fix_npt.html, and +"temp/rescale"_fix_temp_rescale.html. The desired temperature is +specified by {temp}, which is typically a variable previously set in +the input script, so that each partition is assigned a different +temperature. See the "variable"_variable.html command for more +details. For example, + +variable t world 300.0 310.0 320.0 330.0 :pre + +As the tempering simulation runs for {N} timesteps, a swap between +adjacent ensembles will be attempted every {M} timesteps. If {seed1} +is 0, then the swap attempts will alternate between odd and even +pairings. If {seed1} is non-zero then it is used as a seed in a +random number generator to randomly choose an odd or even pairing each +time. Each attempted swap of temperatures is either accepted or +rejected based on a Boltzmann-weighted Metropolis criterion which uses +{seed2} in the random number generator. + +The last argument {index} is optional and is used when restarting a +tempering run from a set of restart files (one for each replica) which +had previously swapped to new temperatures. The {index} value (from 0 +to N-1, where N is the # of replicas) identifies which temperature the +replica was simulating on the timestep the restart files were written. +Obviously, this argument must be a variable so that each partition has +the correct value. Set the variable to the {N} values listed in the +log file for the previous run for the replica temperatures at that +timestep. For example if the log file listed + +500000 2 4 0 1 3 :pre + +then a setting of + +variable w proc 2 4 0 1 3 :pre + +would be used to restart the run with a tempering command like the +example above with $w as the last argument. + +[Restrictions:] none + +[Related commands:] + +"variable"_variable.html + +[Default:] none diff --git a/doc/temperature.html b/doc/temperature.html new file mode 100644 index 0000000000..247aefcbbc --- /dev/null +++ b/doc/temperature.html @@ -0,0 +1,132 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      temperature command +

      +

      Syntax: +

      +
      temperature ID group-ID style args keyword value ... 
      +
      +
      • ID = user-assigned name for the temperature + +
      • group-ID = ID of group of atoms to compute the temperature for + +
      • style = full or partial or ramp or region + +
         full args = none
        + partial args = x y z
        +    x,y,z = 0 or 1
        + ramp args = vdim vlo vhi dim clo chi
        +    vdim = vx or vy or vz
        +    vlo,vhi = subtract velocities between vlo and vhi (velocity units)
        +    dim = x or y or z
        +    clo,chi = lower and upper bound of domain to
        +    	      subtract from (distance units)
        + region args = region-ID
        +    region-ID = ID of region to use for choosing atoms 
        +
        +
      • zero or more keyword/value pairs may be appended to the args + +
      • keyword = units + +
          units value = lattice or box 
        +
        + +
      +

      Examples: +

      +
      temperature mine peptide full
      +temperature new flow partial 1 1 0
      +temperature mine flow region boundary
      +temperature 2nd middle ramp vx 0 8 y 2 12 units lattice 
      +
      +

      Description: +

      +

      Define a method for computing the temperature of a group of atoms. +

      +

      The ID of the temperature can be referred to in other commands, such +as thermo_modify, velocity, +fix_modify, temp_modify. Note +that certain fixes create their own temperatures with the same ID as +the fix, e.g. fix temp/rescale, fix +nvt, fix npt, etc. +

      +

      The style determines how the temperature is computed. The full +style means KE = dim/2 N k T, where KE = total kinetic energy of the +group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of +the simulation, N = number of atoms in the group, k = Boltzmann +constant, and T = temperature. +

      +

      The partial style uses the same formula as full, except entire +dimensions can be eliminated from the kinetic energy computation. +This can be useful for systems where atoms are flowing, and only the +thermal temperature in the non-flow directions is desired. A "0" +means do not use the component of velocity in that dimension when +computing KE. In the example above with arguments 1 1 0, only x and y +velocities (not z) would be used in computing KE and temperature. +

      +

      The ramp style can be used to eliminate an imposed velocity on a +system before computing thermal KE. The meaning of these arguments is +the same as for the velocity command which was +presumably used to impose the velocity. +

      +

      The region style is the same as full except that only atoms in the +specified geometric region contribute to the temperature. Since atoms +can enter/leave a region, this test is performed each time the +temperature is computed. This can be useful for thermostatting one +portion of the simulation box. E.g. a McDLT simulation where one side +is cooled, and the other side is heated. +

      +

      Note that a region-style temperature can be used to thermostat with +fix temp/rescale or fix +langevin, but should probably not be used with +Nose/Hoover style fixes (>fix nvt, fix +npt, or fix nph), if the +degrees-of-freedom included in the computed T varies with time. +

      +

      The units keyword determines the meaning of the distance units used +for coordinates (c1,c2) and velocities (vlo,vhi) defined for the +ramp style. A box value selects standard distance units as +defined by the units command, e.g. Angstroms for units = +real or metal. A lattice value means the distance units are in +cubic lattice spacings; e.g. lattice spacings / tau. The +lattice command must first be used to define a lattice. +

      +

      LAMMPS defines a temperature with ID = default which computes a +full style on the all group of atoms. This is the temperature +used for thermodynamic output of quantities like temperature, +pressure, kinetic energy (see the thermo_style +command) unless you change it via the +thermo_modify command. +

      +

      All temperature styles (except region) subtract out +degrees-of-freedom (DOF) due to fixes that constrain molecular motion. +Currently, these are fix shake and fix +rigid. DOF is the N * dim factor in the above +equation for the full style. This means the temperature of groups +of atoms that include these constraints will be computed correctly. +If needed, the subtracted degrees-of-freedom can be tweaked using the +temp_modify command. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      thermo_modify, velocity, +fix_modify, temp_modify +

      +

      Default: +

      +

      A temperature with ID = default is defined by LAMMPS, as if it had +been specified as "temperature default all full". The option default +is units = lattice. +

      + diff --git a/doc/temperature.txt b/doc/temperature.txt new file mode 100644 index 0000000000..7a00a51f43 --- /dev/null +++ b/doc/temperature.txt @@ -0,0 +1,120 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +temperature command :h3 + +[Syntax:] + +temperature ID group-ID style args keyword value ... :pre + +ID = user-assigned name for the temperature :ulb,l +group-ID = ID of group of atoms to compute the temperature for :l +style = {full} or {partial} or {ramp} or {region} :l + {full} args = none + {partial} args = x y z + x,y,z = 0 or 1 + {ramp} args = vdim vlo vhi dim clo chi + vdim = {vx} or {vy} or {vz} + vlo,vhi = subtract velocities between vlo and vhi (velocity units) + dim = {x} or {y} or {z} + clo,chi = lower and upper bound of domain to + subtract from (distance units) + {region} args = region-ID + region-ID = ID of region to use for choosing atoms :pre +zero or more keyword/value pairs may be appended to the args :l +keyword = {units} :l + {units} value = {lattice} or {box} :pre +:ule + +[Examples:] + +temperature mine peptide full +temperature new flow partial 1 1 0 +temperature mine flow region boundary +temperature 2nd middle ramp vx 0 8 y 2 12 units lattice :pre + +[Description:] + +Define a method for computing the temperature of a group of atoms. + +The ID of the temperature can be referred to in other commands, such +as "thermo_modify"_thermo_modify.html, "velocity"_velocity.html, +"fix_modify"_fix_modify.html, "temp_modify"_temp_modify.html. Note +that certain fixes create their own temperatures with the same ID as +the fix, e.g. "fix temp/rescale"_fix_temp_rescale.html, "fix +nvt"_fix_nvt.html, "fix npt"_fix_npt.html, etc. + +The style determines how the temperature is computed. The {full} +style means KE = dim/2 N k T, where KE = total kinetic energy of the +group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of +the simulation, N = number of atoms in the group, k = Boltzmann +constant, and T = temperature. + +The {partial} style uses the same formula as {full}, except entire +dimensions can be eliminated from the kinetic energy computation. +This can be useful for systems where atoms are flowing, and only the +thermal temperature in the non-flow directions is desired. A "0" +means do not use the component of velocity in that dimension when +computing KE. In the example above with arguments 1 1 0, only x and y +velocities (not z) would be used in computing KE and temperature. + +The {ramp} style can be used to eliminate an imposed velocity on a +system before computing thermal KE. The meaning of these arguments is +the same as for the "velocity"_velocity.html command which was +presumably used to impose the velocity. + +The {region} style is the same as {full} except that only atoms in the +specified geometric region contribute to the temperature. Since atoms +can enter/leave a region, this test is performed each time the +temperature is computed. This can be useful for thermostatting one +portion of the simulation box. E.g. a McDLT simulation where one side +is cooled, and the other side is heated. + +Note that a {region}-style temperature can be used to thermostat with +"fix temp/rescale"_fix_temp_rescale.html or "fix +langevin"_fix_langevin.html, but should probably not be used with +Nose/Hoover style fixes ("fix nvt"_fix_nvt.html, fix +npt"_fix_npt.html, or "fix nph"_fix_nph.html), if the +degrees-of-freedom included in the computed T varies with time. + +The {units} keyword determines the meaning of the distance units used +for coordinates (c1,c2) and velocities (vlo,vhi) defined for the +{ramp} style. A {box} value selects standard distance units as +defined by the "units"_units.html command, e.g. Angstroms for units = +real or metal. A {lattice} value means the distance units are in +cubic lattice spacings; e.g. lattice spacings / tau. The +"lattice"_lattice.html command must first be used to define a lattice. + +LAMMPS defines a temperature with ID = {default} which computes a +{full} style on the {all} group of atoms. This is the temperature +used for thermodynamic output of quantities like temperature, +pressure, kinetic energy (see the "thermo_style"_thermo_style.html +command) unless you change it via the +"thermo_modify"_thermo_modify.html command. + +All temperature styles (except {region}) subtract out +degrees-of-freedom (DOF) due to fixes that constrain molecular motion. +Currently, these are "fix shake"_fix_shake.html and "fix +rigid"_fix_rigid.html. DOF is the N * dim factor in the above +equation for the {full} style. This means the temperature of groups +of atoms that include these constraints will be computed correctly. +If needed, the subtracted degrees-of-freedom can be tweaked using the +"temp_modify"_temp_modify.html command. + +[Restrictions:] none + +[Related commands:] + +"thermo_modify"_thermo_modify.html, "velocity"_velocity.html, +"fix_modify"_fix_modify.html, "temp_modify"_temp_modify.html + +[Default:] + +A temperature with ID = {default} is defined by LAMMPS, as if it had +been specified as "temperature default all full". The option default +is units = lattice. diff --git a/doc/thermo.html b/doc/thermo.html new file mode 100644 index 0000000000..06a1cf1f2e --- /dev/null +++ b/doc/thermo.html @@ -0,0 +1,41 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      thermo command +

      +

      Syntax: +

      +
      thermo N 
      +
      +
      • N = output thermodynamics every N timesteps +
      +

      Examples: +

      +
      thermo 100 
      +
      +

      Description: +

      +

      Compute and print thermodynamics (temperature, energy, pressure) on +timesteps that are a multiple of N and at the beginning and end of a +simulation. A value of 0 will only print thermodynamics at the +beginning and end. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      thermo_style, thermo_modify +

      +

      Default: +

      +
      thermo 0 
      +
      + diff --git a/doc/thermo.txt b/doc/thermo.txt new file mode 100644 index 0000000000..0397682541 --- /dev/null +++ b/doc/thermo.txt @@ -0,0 +1,36 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +thermo command :h3 + +[Syntax:] + +thermo N :pre + +N = output thermodynamics every N timesteps :ul + +[Examples:] + +thermo 100 :pre + +[Description:] + +Compute and print thermodynamics (temperature, energy, pressure) on +timesteps that are a multiple of N and at the beginning and end of a +simulation. A value of 0 will only print thermodynamics at the +beginning and end. + +[Restrictions:] none + +[Related commands:] + +"thermo_style"_thermo_style.html, "thermo_modify"_thermo_modify.html + +[Default:] + +thermo 0 :pre diff --git a/doc/thermo_modify.html b/doc/thermo_modify.html new file mode 100644 index 0000000000..aa270fa35a --- /dev/null +++ b/doc/thermo_modify.html @@ -0,0 +1,101 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      thermo_modify command +

      +

      Syntax: +

      +
      thermo_modify keyword value ... 
      +
      +
      • one or more keyword/value pairs may be listed + +
      • keyword = temp or lost or norm or flush or line or format + +
          temp value = ID of temperature
        +  lost value = error or warn or ignore
        +  norm value = yes or no
        +  flush value = yes or no
        +  line value = one or multi
        +  format value = int string or float string or N string
        +    N = integer from 1 to # of quantities being printed
        +    string = C-style format string
        +  window value = N
        +    N = number of previous print-outs to average over 
        +
        + +
      +

      Examples: +

      +
      thermo_modify temp mydef
      +thermo_modify lost no flush yes
      +thermo_modify line multi format float %g format 3 %15.8g 
      +
      +

      Description: +

      +

      Set options for how thermodynamics are computed and printed by LAMMPS. +

      +

      The temp option allows you to specify how temperature is computed +when used to output thermodynamic info (temperature, kinetic energy, +pressure). Different methods of computing temperature can be defined +via the temperature command. +

      +

      The lost option determines whether LAMMPS checks for lost atoms each +time it computes thermodynamics and what it does if atoms are lost. +If the value is ignore, LAMMPS does not check for lost atoms. If +the value is error or warn, LAMMPS checks and either issues an +error or warning. The code will exit with an error and continue with +a warning. This can be a useful debugging option. +

      +

      The norm option determines whether the thermodynamic print-out is +normalized by the number of atoms or is the total summed across all +atoms. Different unit styles have different defaults for this +setting. +

      +

      The flush option invokes a flush operation after thermodynamic info +is written to the log file. This insures the output in that file is +current (no buffering by the OS), even if LAMMPS halts before the +simulation completes. +

      +

      The line option determines whether thermodynamics will be printed as +a series of numeric values on one line or in a multi-line format with +3 quantities with text strings per line and a dashed-line header +containing the timestep and CPU time. This modify option overrides +the one and multi thermo_style settings. +

      +

      The format option sets the numeric format of individual printed +quantities. The int and float settings set the format for all +integer or floating-point quantities printed. The setting with a +numeric value (e.g. format 5 %10.4g) sets the format of the Nth value +printed. If the format for a specific value has been set, it will +take precedent over the int or float setting. +

      +

      The window option sets the number of previous thermodynamic screen +outputs over which thermo_style custom ave +quantities are averaged when printed. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      thermo, thermo_style, +temperature +

      +

      Default: +

      +

      The option defaults are temp = default, lost = error, norm = yes for +unit style of lj, norm = no for unit style of real and metal, +flush = no, window = 10. The defaults for the line and format options +depend on the thermo style. For styles "one", "granular", and +"custom" the line and format defaults are "one", "%8d", and "%12.8g". +For style "multi", the line and format defaults are "multi", "%8d", +and "%14.4f". +

      + diff --git a/doc/thermo_modify.txt b/doc/thermo_modify.txt new file mode 100644 index 0000000000..a1b9e12a52 --- /dev/null +++ b/doc/thermo_modify.txt @@ -0,0 +1,93 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +thermo_modify command :h3 + +[Syntax:] + +thermo_modify keyword value ... :pre + +one or more keyword/value pairs may be listed :ulb,l +keyword = {temp} or {lost} or {norm} or {flush} or {line} or {format} :l + {temp} value = ID of temperature + {lost} value = {error} or {warn} or {ignore} + {norm} value = {yes} or {no} + {flush} value = {yes} or {no} + {line} value = {one} or {multi} + {format} value = {int} string or {float} string or N string + N = integer from 1 to # of quantities being printed + string = C-style format string + {window} value = N + N = number of previous print-outs to average over :pre +:ule + +[Examples:] + +thermo_modify temp mydef +thermo_modify lost no flush yes +thermo_modify line multi format float %g format 3 %15.8g :pre + +[Description:] + +Set options for how thermodynamics are computed and printed by LAMMPS. + +The {temp} option allows you to specify how temperature is computed +when used to output thermodynamic info (temperature, kinetic energy, +pressure). Different methods of computing temperature can be defined +via the "temperature"_temperature.html command. + +The {lost} option determines whether LAMMPS checks for lost atoms each +time it computes thermodynamics and what it does if atoms are lost. +If the value is {ignore}, LAMMPS does not check for lost atoms. If +the value is {error} or {warn}, LAMMPS checks and either issues an +error or warning. The code will exit with an error and continue with +a warning. This can be a useful debugging option. + +The {norm} option determines whether the thermodynamic print-out is +normalized by the number of atoms or is the total summed across all +atoms. Different unit styles have different defaults for this +setting. + +The {flush} option invokes a flush operation after thermodynamic info +is written to the log file. This insures the output in that file is +current (no buffering by the OS), even if LAMMPS halts before the +simulation completes. + +The {line} option determines whether thermodynamics will be printed as +a series of numeric values on one line or in a multi-line format with +3 quantities with text strings per line and a dashed-line header +containing the timestep and CPU time. This modify option overrides +the {one} and {multi} thermo_style settings. + +The {format} option sets the numeric format of individual printed +quantities. The {int} and {float} settings set the format for all +integer or floating-point quantities printed. The setting with a +numeric value (e.g. format 5 %10.4g) sets the format of the Nth value +printed. If the format for a specific value has been set, it will +take precedent over the {int} or {float} setting. + +The {window} option sets the number of previous thermodynamic screen +outputs over which "thermo_style custom"_thermo_style.html {ave} +quantities are averaged when printed. + +[Restrictions:] none + +[Related commands:] + +"thermo"_thermo.html, "thermo_style"_thermo_style.html, +"temperature"_temperature.html + +[Default:] + +The option defaults are temp = default, lost = error, norm = yes for +unit style of {lj}, norm = no for unit style of {real} and {metal}, +flush = no, window = 10. The defaults for the line and format options +depend on the thermo style. For styles "one", "granular", and +"custom" the line and format defaults are "one", "%8d", and "%12.8g". +For style "multi", the line and format defaults are "multi", "%8d", +and "%14.4f". diff --git a/doc/thermo_style.html b/doc/thermo_style.html new file mode 100644 index 0000000000..4ddb052694 --- /dev/null +++ b/doc/thermo_style.html @@ -0,0 +1,151 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      thermo_style command +

      +

      Syntax: +

      +
      thermo_style style args 
      +
      +
      • style = one or multi or granular or custom + +
      • args = list of arguments for a particular style + +
          one args = none
        +  multi args = none
        +  granular args = none
        +  custom args = list of attributes
        +    possible attributes = step, atoms, cpu, temp, press, pe, ke, eng,
        +             evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail,
        +             vol, lx, ly, lz, pxx, pyy, pzz, pxy, pxz, pyz
        +             gke, grot, tave, pave, eave, peave, t_ID
        +      step = timestep
        +      atoms = # of atoms
        +      cpu = elapsed CPU time
        +      temp = temperature
        +      press = pressure
        +      pe = total potential energy
        +      ke = kinetic energy
        +      eng = total energy (pe + ke)
        +      evdwl = VanderWaal pairwise energy
        +      ecoul = Coulombic pairwise energy
        +      epair = pairwise (evdwl + ecoul)
        +      ebond = bond energy
        +      eangle = angle energy
        +      edihed = dihedral energy
        +      eimp = improper energy
        +      emol = molecular energy (ebond + eangle + edihed + eimp)
        +      elong = long-range kspace energy
        +      etail = VanderWaal long-range tail correction
        +      vol = volume
        +      lx,ly,lz = box lengths in x,y,z
        +      pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor
        +      gke = granular translational kinetic energy (without frozen atoms)
        +      grot = granular rotational kinetic energy (without frozen atoms)
        +      tave, pave, eave, peave = time-averaged temp, press, eng, pe
        +      t_ID = termperature as computed by temperature ID 
        +
        + +
      +

      Examples: +

      +
      thermo_style multi
      +thermo_style custom step temp pe eng press vol
      +thermo_style custom step temp t_left t_right eng 
      +
      +

      Description: +

      +

      Set the style in which thermodynamic data is printed to the screen and +log file. +

      +

      Style one prints a one-line summary of thermodynamic info that is +the equivalent of "thermo_style custom step temp epair emol eng +press". The line contains only numeric values. +

      +

      Style multi prints a multiple-line listing of thermodynamic info +that is the equivalent of "thermo_style custom eng ke temp pe ebond +eangle edihed eimp evdwl ecoul elong press". The listing contains +numeric values and a string ID for each quantity. +

      +

      Style granular is used with atom style granular +and prints a one-line numeric summary that is the equivalent of +"thermo_style custom step atoms gke grot". +

      +

      Style custom is the most general setting and allows you to specify +which of the quantities listed above you want printed on each +thermodynamic timestep. +

      +

      Also, all styles except custom have vol added to their list of +outputs as a final printed quantity when the simulation box volume +changes during the simulation. +

      +

      All thermodynamic quantities which require a temperature (temp, press, +ke, eng, tave, eave) use the temperature with ID = default that is +defined by LAMMPS (see the temperature command) +that performs an average over all atoms. This can be changed via the +thermo_modify command. The exception is the +t_ID quantity which directly specifies which temperature to compute +and print out. +

      +

      A long-range tail correction etail for the VanderWaal pairwise +energy will be non-zero only if the pair_modify +tail option is turned on. The etail contribution +is included in evdwl, pe, and eng, and the corresponding tail +correction to the pressure is included in press and pxx, pyy, +etc. +

      +

      The time-averaged quantities tave, pave, eave, peave are averaged +over the last N thermodynamic outputs to the screen (not the last N +timesteps), where N is the value set by the window option of the +thermo_modify command (N = 10 by default). +

      +

      The t_ID quantity allows for user-defined temperatures to be printed +with thermodynamic output. For example, if either of the commands +

      +
      temperature mine all region sphere
      +fix mine all temp/rescale 100 1.0 1.0 0.1 1.0 region sphere 
      +
      +

      were used to compute or thermostat the temperature of atoms inside a +spherical geometric region, then the keyword t_mine will print that +temperature as part of thermodynamic output. +

      +

      Some fixes also generate quantities that can be appended to these +lists each time thermodyanmic info prints out, if enabled by the +fix_modify command. See invidividual fix commands +for more details, e.g. the fix nvt and fix +npt commands. +

      +

      Options invoked by the thermo_modify command can +be used to set the one- or multi-line format of the print-out, the +normalization of energy quantities (total or per-atom), and the +numeric precision of each printed value. +

      +

      Restrictions: +

      +

      Atom style granular cannot compute the usual +temperature and pressure settings because it stores atom masses +differently. The gke and grot settings should be used instead (or use +thermo style granular). +

      +

      This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

      +

      Related commands: +

      +

      thermo, thermo_modify, +fix_modify, temperature +

      +

      Default: +

      +
      thermo_style one 
      +
      + diff --git a/doc/thermo_style.txt b/doc/thermo_style.txt new file mode 100644 index 0000000000..bb31d23b2f --- /dev/null +++ b/doc/thermo_style.txt @@ -0,0 +1,143 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +thermo_style command :h3 + +[Syntax:] + +thermo_style style args :pre + +style = {one} or {multi} or {granular} or {custom} :ulb,l +args = list of arguments for a particular style :l + {one} args = none + {multi} args = none + {granular} args = none + {custom} args = list of attributes + possible attributes = step, atoms, cpu, temp, press, pe, ke, eng, + evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail, + vol, lx, ly, lz, pxx, pyy, pzz, pxy, pxz, pyz + gke, grot, tave, pave, eave, peave, t_ID + step = timestep + atoms = # of atoms + cpu = elapsed CPU time + temp = temperature + press = pressure + pe = total potential energy + ke = kinetic energy + eng = total energy (pe + ke) + evdwl = VanderWaal pairwise energy + ecoul = Coulombic pairwise energy + epair = pairwise (evdwl + ecoul) + ebond = bond energy + eangle = angle energy + edihed = dihedral energy + eimp = improper energy + emol = molecular energy (ebond + eangle + edihed + eimp) + elong = long-range kspace energy + etail = VanderWaal long-range tail correction + vol = volume + lx,ly,lz = box lengths in x,y,z + pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor + gke = granular translational kinetic energy (without frozen atoms) + grot = granular rotational kinetic energy (without frozen atoms) + tave, pave, eave, peave = time-averaged temp, press, eng, pe + t_ID = termperature as computed by temperature ID :pre +:ule + +[Examples:] + +thermo_style multi +thermo_style custom step temp pe eng press vol +thermo_style custom step temp t_left t_right eng :pre + +[Description:] + +Set the style in which thermodynamic data is printed to the screen and +log file. + +Style {one} prints a one-line summary of thermodynamic info that is +the equivalent of "thermo_style custom step temp epair emol eng +press". The line contains only numeric values. + +Style {multi} prints a multiple-line listing of thermodynamic info +that is the equivalent of "thermo_style custom eng ke temp pe ebond +eangle edihed eimp evdwl ecoul elong press". The listing contains +numeric values and a string ID for each quantity. + +Style {granular} is used with "atom style"_atom_style.html granular +and prints a one-line numeric summary that is the equivalent of +"thermo_style custom step atoms gke grot". + +Style {custom} is the most general setting and allows you to specify +which of the quantities listed above you want printed on each +thermodynamic timestep. + +Also, all styles except {custom} have {vol} added to their list of +outputs as a final printed quantity when the simulation box volume +changes during the simulation. + +All thermodynamic quantities which require a temperature ({temp, press, +ke, eng, tave, eave}) use the temperature with ID = {default} that is +defined by LAMMPS (see the "temperature"_temperature.html command) +that performs an average over all atoms. This can be changed via the +"thermo_modify"_thermo_modify.html command. The exception is the +{t_ID} quantity which directly specifies which temperature to compute +and print out. + +A long-range tail correction {etail} for the VanderWaal pairwise +energy will be non-zero only if the "pair_modify +tail"_pair_modify.html option is turned on. The {etail} contribution +is included in {evdwl}, {pe}, and {eng}, and the corresponding tail +correction to the pressure is included in {press} and {pxx}, {pyy}, +etc. + +The time-averaged quantities {tave, pave, eave, peave} are averaged +over the last N thermodynamic outputs to the screen (not the last N +timesteps), where N is the value set by the {window} option of the +"thermo_modify"_thermo_modify.html command (N = 10 by default). + +The {t_ID} quantity allows for user-defined temperatures to be printed +with thermodynamic output. For example, if either of the commands + +temperature mine all region sphere +fix mine all temp/rescale 100 1.0 1.0 0.1 1.0 region sphere :pre + +were used to compute or thermostat the temperature of atoms inside a +spherical geometric region, then the keyword {t_mine} will print that +temperature as part of thermodynamic output. + +Some fixes also generate quantities that can be appended to these +lists each time thermodyanmic info prints out, if enabled by the +"fix_modify"_fix_modify.html command. See invidividual fix commands +for more details, e.g. the "fix nvt"_fix_nvt.html and "fix +npt"_fix_npt.html commands. + +Options invoked by the "thermo_modify"_thermo_modify.html command can +be used to set the one- or multi-line format of the print-out, the +normalization of energy quantities (total or per-atom), and the +numeric precision of each printed value. + +[Restrictions:] + +"Atom style"_atom_style.html granular cannot compute the usual +temperature and pressure settings because it stores atom masses +differently. The gke and grot settings should be used instead (or use +thermo style granular). + +This command must come after the simulation box is defined by a +"read_data"_read_data.html, "read_restart"_read_restart.html, or +"create_box"_create_box.html command. + +[Related commands:] + +"thermo"_thermo.html, "thermo_modify"_thermo_modify.html, +"fix_modify"_fix_modify.html, "temperature"_temperature.html + +[Default:] + +thermo_style one :pre diff --git a/doc/timestep.html b/doc/timestep.html new file mode 100644 index 0000000000..0d267f4dfe --- /dev/null +++ b/doc/timestep.html @@ -0,0 +1,47 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      timestep command +

      +

      Syntax: +

      +
      timestep dt 
      +
      +
      • dt = timestep size (time units) +
      +

      Examples: +

      +
      timestep 2.0 
      +timestep 0.003 
      +
      +

      Description: +

      +

      Set the timestep size for subsequent molecular dynamics simulations. +See the units command for a discussion of time units. +Note that using the units command also sets the timestep to its +default value in the chosen units. +

      +

      When the run style is respa, dt is the timestep for the outer loop +(largest) timestep. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      run, run_style respa, units +

      +

      Default: +

      +timestep = 0.005 tau for units = lj
      +timestep = 1.0 fmsec for units = real
      +timestep = 0.001 psec for units = metal
      + + diff --git a/doc/timestep.txt b/doc/timestep.txt new file mode 100644 index 0000000000..b7bba0da5f --- /dev/null +++ b/doc/timestep.txt @@ -0,0 +1,45 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +timestep command :h3 + +[Syntax:] + +timestep dt :pre + +dt = timestep size (time units) :ul + +[Examples:] + +timestep 2.0 +timestep 0.003 :pre + +[Description:] + +Set the timestep size for subsequent molecular dynamics simulations. +See the "units"_units.html command for a discussion of time units. +Note that using the units command also sets the timestep to its +default value in the chosen units. + +When the run style is {respa}, dt is the timestep for the outer loop +(largest) timestep. + +[Restrictions:] none + +[Related commands:] + +"run"_run.html, "run_style"_run_style.html respa, "units"_units.html + +[Default:] + +timestep = 0.005 tau for units = lj +timestep = 1.0 fmsec for units = real +timestep = 0.001 psec for units = metal :all(b) + + + diff --git a/doc/undump.html b/doc/undump.html new file mode 100644 index 0000000000..246fe03756 --- /dev/null +++ b/doc/undump.html @@ -0,0 +1,38 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      undump command +

      +

      Syntax: +

      +
      undump dump-ID 
      +
      +
      • dump-ID = ID of previously defined dump +
      +

      Examples: +

      +
      undump mine
      +undump 2 
      +
      +

      Description: +

      +

      Turn off a previously defined dump so that it is no longer active. +This closes the file associated with the dump. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      dump +

      +

      Default: none +

      + diff --git a/doc/undump.txt b/doc/undump.txt new file mode 100644 index 0000000000..a2a371aca5 --- /dev/null +++ b/doc/undump.txt @@ -0,0 +1,33 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +undump command :h3 + +[Syntax:] + +undump dump-ID :pre + +dump-ID = ID of previously defined dump :ul + +[Examples:] + +undump mine +undump 2 :pre + +[Description:] + +Turn off a previously defined dump so that it is no longer active. +This closes the file associated with the dump. + +[Restrictions:] none + +[Related commands:] + +"dump"_dump.html + +[Default:] none diff --git a/doc/unfix.html b/doc/unfix.html new file mode 100644 index 0000000000..0d9dac98f9 --- /dev/null +++ b/doc/unfix.html @@ -0,0 +1,38 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      unfix command +

      +

      Syntax: +

      +
      unfix fix-ID 
      +
      +
      • fix-ID = ID of a previously defined fix +
      +

      Examples: +

      +
      unfix 2
      +unfix lower-boundary 
      +
      +

      Description: +

      +

      Turn off a fix that was previously defined with a fix +command. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix +

      +

      Default: none +

      + diff --git a/doc/unfix.txt b/doc/unfix.txt new file mode 100644 index 0000000000..9230a4ca42 --- /dev/null +++ b/doc/unfix.txt @@ -0,0 +1,33 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +unfix command :h3 + +[Syntax:] + +unfix fix-ID :pre + +fix-ID = ID of a previously defined fix :ul + +[Examples:] + +unfix 2 +unfix lower-boundary :pre + +[Description:] + +Turn off a fix that was previously defined with a "fix"_fix.html +command. + +[Restrictions:] none + +[Related commands:] + +"fix"_fix.html + +[Default:] none diff --git a/doc/units.html b/doc/units.html new file mode 100644 index 0000000000..4f6c93aa33 --- /dev/null +++ b/doc/units.html @@ -0,0 +1,89 @@ + +
      LAMMPS WWW Site - LAMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      units command +

      +

      Syntax: +

      +
      units style 
      +
      +
      • style = lj or real or metal +
      +

      Examples: +

      +
      units metal
      +units lj 
      +
      +

      Description: +

      +

      This command sets the style of units used for a simulation. It +detemines the units of all quantities specified in the input script +and data file, as well as quantities output to the screen, log file, +and dump files. Typically, this command is used at the very beginning +of an input script. +

      +

      For style lj, all quantities are unitless: +

      +
      • distance = sigma +
      • time = tau +
      • mass = one +
      • energy = epsilon +
      • velocity = sigma/tau +
      • force = epsilon/sigma +
      • temperature = reduced LJ temperature +
      • pressure = reduced LJ pressure +
      • charge = reduced LJ charge +
      • electric field = force/charge +
      +

      For style real, these are the units: +

      +
      • distance = Angstroms +
      • time = femtoseconds +
      • mass = grams/mole +
      • energy = Kcal/mole +
      • velocity = Angstroms/femtosecond +
      • force = Kcal/mole-Angstrom +
      • temperature = degrees K +
      • pressure = atmospheres +
      • charge = multiple of electron charge (+1.0 is a proton) +
      • electric field = volts/Angstrom +
      +

      For style metal, these are the units: +

      +
      • distance = Angstroms +
      • time = picoseconds +
      • mass = grams/mole +
      • energy = eV +
      • velocity = Angstroms/picosecond +
      • force = eV/Angstrom +
      • temperature = degrees K +
      • pressure = bars +
      • charge = multiple of electron charge (+1.0 is a proton) +
      • electric field = volts/Angstrom +
      +

      This command also sets the timestep size and neighbor skin distance to +default values for each style. For style lj these are dt = 0.005 +tau and skin = 0.3 sigma. For style real these are dt = 1.0 fmsec +and skin = 2.0 Angstroms. For style metal these are dt = 0.001 psec +and skin = 2.0 Angstroms. +

      +

      Restrictions: +

      +

      This command cannot be used after the simulation box is defined by a +read_data or create_box command. +

      +

      Related commands: none +

      +

      Default: +

      +
      units lj 
      +
      + diff --git a/doc/units.txt b/doc/units.txt new file mode 100644 index 0000000000..447400f568 --- /dev/null +++ b/doc/units.txt @@ -0,0 +1,84 @@ +"LAMMPS WWW Site"_lws - "LAMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +units command :h3 + +[Syntax:] + +units style :pre + +style = {lj} or {real} or {metal} :ul + +[Examples:] + +units metal +units lj :pre + +[Description:] + +This command sets the style of units used for a simulation. It +detemines the units of all quantities specified in the input script +and data file, as well as quantities output to the screen, log file, +and dump files. Typically, this command is used at the very beginning +of an input script. + +For style {lj}, all quantities are unitless: + +distance = sigma +time = tau +mass = one +energy = epsilon +velocity = sigma/tau +force = epsilon/sigma +temperature = reduced LJ temperature +pressure = reduced LJ pressure +charge = reduced LJ charge +electric field = force/charge :ul + +For style {real}, these are the units: + +distance = Angstroms +time = femtoseconds +mass = grams/mole +energy = Kcal/mole +velocity = Angstroms/femtosecond +force = Kcal/mole-Angstrom +temperature = degrees K +pressure = atmospheres +charge = multiple of electron charge (+1.0 is a proton) +electric field = volts/Angstrom :ul + +For style {metal}, these are the units: + +distance = Angstroms +time = picoseconds +mass = grams/mole +energy = eV +velocity = Angstroms/picosecond +force = eV/Angstrom +temperature = degrees K +pressure = bars +charge = multiple of electron charge (+1.0 is a proton) +electric field = volts/Angstrom :ul + +This command also sets the timestep size and neighbor skin distance to +default values for each style. For style {lj} these are dt = 0.005 +tau and skin = 0.3 sigma. For style {real} these are dt = 1.0 fmsec +and skin = 2.0 Angstroms. For style {metal} these are dt = 0.001 psec +and skin = 2.0 Angstroms. + +[Restrictions:] + +This command cannot be used after the simulation box is defined by a +"read_data"_read_data.html or "create_box"_create_box.html command. + +[Related commands:] none + +[Default:] + +units lj :pre diff --git a/doc/variable.html b/doc/variable.html new file mode 100644 index 0000000000..8624396bb0 --- /dev/null +++ b/doc/variable.html @@ -0,0 +1,190 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      variable command +

      +

      Syntax: +

      +
      variable name style args ... 
      +
      +
      • name = single lower-case character, 'a' thru 'z' + +
      • style = index or loop or equal or world or universe + +
          index args = one or more strings
        +  loop args = N = integer size of loop
        +  equal args = one string containing functions, vectors, keywords, numbers
        +    math functions = add(x,y), sub(x,y), mult(x,y), div(x,y),
        +                     neg(x), pow(x,y), exp(x), ln(x), sqrt(x)
        +    group functions = mass(group), charge(group), xcm(group,dim),
        +                      vcm(group,dim), bounds(group,xmin), gyration(group)
        +    vectors = x[5], y[12], z[17], vx[88], vy[19], vz[2],
        +              fx[1], fy[2005], fz[1]
        +    keywords = same keywords (mostly) as in thermo_style custom command
        +  world args = one string for each partition of processors
        +  universe args = one or more strings 
        +
        + +
      +

      Examples: +

      +
      variable x index run1 run2 run3 run4 run5 run6 run7 run8
      +variable LoopVar loop 20
      +variable beta equal div(temp,3.0)
      +variable b1 equal add(x[234],mult(0.5,lx))
      +variable b equal xcm(mol1,x)
      +variable temp world 300.0 310.0 320.0 330.0
      +variable x universe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
      +
      +

      Description: +

      +

      This command assigns one or more values to a variable name so that the +variable can be used in subsequent input script commands. The "name" +of the variable is an arbitrary string. Each "value" is a string +which could be text or numbers, as in the examples above. As +explained in this section, occurrences of +the variable name in an input script line are replaced by the +variable's value. The variable name can be referenced in the input +script as $x if the name "x" is a single character, or as ${LoopVar} +if the name "LoopVar" is one or more characters. +

      +

      As described below, for variable styles index, loop, and +universe, the value assigned to a variable can be incremented via +the next command. When there are no more values to +assign, the variable is "exhausted" and a flag is set that causes the +next jump command encountered in the input script to be +skipped. This enables the construction of simple loops in the input +script that are iterated over and exited from. +

      +

      When a variable command is encountered for a variable that has already +been specified, the command is skipped. This is the case for all +variable styles except equal, so that equal-style variable names +can be re-used and re-defined anytime. Skipping allows you to loop +over the same input script many times without re-defining your +variables. When a variable is exhausted via the next +command, it is then available to be re-defined in a subsequent +variable command. +

      +

      For the index style, one or more strings are specified. Initially, +the 1st string is assigned to the variable. Each time a +next command is used with the variable name, the next +string is assigned. All processors assign the same string to the +variable. Index-style variables can also be set (with a single +value) by using the command-line switch -var; see this +section for details. +

      +

      The loop style is identical to the index style except that the +strings are the integers from 1 to N. Initially, the string "1" is +assigned to the variable. Each time a next command is +used with the variable name, the next string ("2", "3", etc) is +assigned. All processors assign the same string to the variable. +

      +

      For the equal style, a single string is specified which represents +an equation that will be evaluated afresh each time the variable is +used. Thus the variable can take on different values at different +stages of the input script. For example, if the variable is used in a +fix print command, it could print different values +each timestep it was invoked. The next command cannot be used with +equal-style variables, since there is only one value. Note that, as +with any other input script command, it is feasible to use another +variable in the equal variable's string, e.g. variable y equal +mult($x,2). However, $x will be replaced immediately by it's current +value when the command is first parsed, not each time that $y is +substituted for. +

      +

      The syntax of the equation assigned to equal variables is simple. +It can contain "functions", "vectors", "keywords", or "numbers" in any +combination. +

      +
      • Function = a keyword followed by parenthesis with one or two arguments +
      • Supported arithmetic functions = add(x,y), sub(x,y), mult(x,y), div(x,y), neg(x), pow(x,y), exp(x), ln(x), sqrt(x) +
      • Supported group functions = mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), bound(ID,dir), gyration(ID) +
      • Example function usage = div(1.0e20,3.0), neg(x[34]), pow(lx,3.0), xcm(mol,x), bound(lower,zmin) +
      • Vector = a keyword followed by square brackets containing an atom ID +
      • Supported vectors = x, y, z, vx, vy, vz, fx, fy, fz +
      • Example vector usage = x[123], fz[1000] +
      • Keyword = keywords supported by the thermo_style custom command except cpu and pressure tensor components (pxx, pyy, etc) +
      • Supported keywords = step, atoms, temp, press, pe, ke, eng, evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, vol, lx, ly, lz, gke, grot, t_ID +
      • Example keyword usage = atoms, pow(vol,0.333), mult(elong,0.5) +
      • Number = 0.2, 1.0e20, -15.4, etc +
      +

      For the group functions, ID is a group-ID, dim is 'x' or 'y' or 'z', +and dir is one of 6 strings: "xmin", "xmax", "ymin", "ymax", "zmin", +or "zmax". The group functions mass() and charge() are the total mass +and charge of the group of atoms. Xcm() and vcm() return components +of the position and velocity of the center of mass of the group. +Bound() returns the min/max of a particular coordinate for all atoms +in the group. Gyration() computes the radius-of-gyration of the group +of atoms. See the fix gyration command for the +formula. +

      +

      Keywords have restrictions on when they can be assigned to variables. +For example, keywords that compute thermodynamic quantites can only be +invoked after the first simulation has begun. A warning is issued if +thermodyanmic keywords are invoked on timesteps when thermodynamic +information is not being printed to the screen, since the values +assigned to the variable may be out-of-date. +

      +

      The variable equal equation can also be nested in that function +arguments can be functions, vectors, keywords, or numbers. For +example, this is a valid equation: +

      +
      variable x equal div(add(pe,ke),pow(vol,div(1,3))) 
      +
      +

      For the world style, one or more strings are specified. There must +be one string for each processor partition or "world". See this +section of the manual for information on +running LAMMPS with multiple partitions via the "-partition" +command-line switch. This variable command assigns one string to each +world. All processors in the world are assigned the same string. The +next command cannot be used with equal-style variables, since there +is only one value per world. This style of variable is useful when +you wish to run different simulations on different partitions, or when +performing a parallel tempering simulation (see the +temper command), to assign different temperatures to +different partitions. +

      +

      For the universe style, one or more strings are specified. There +must be at least as many strings as there are processor partitions or +"worlds". See this page for information on +running LAMMPS with multiple partitions via the "-partition" +command-line switch. This variable command initially assigns one +string to each world. When a next command is encountered +using this variable, the first processor partition to encounter it, is +assigned the next available value. This continues until all the +variable values are consumed. Thus, this command can be used to run +50 simulations on 8 processor partitions. The simulations will be run +one after the other on whatever partition becomes available, until +they are all finished. Universe-style variables are incremented +using the files "tmp.lammps.variable" and "tmp.lammps.variable.lock" +which you will see in your directory during such a LAMMPS run. +

      +

      If a variable command is encountered when the variable has already +been defined, the command is ignored. Thss allows an input script +with a variable command to be processed multiple times; see the +jump or include commands. It also means +that the use of the command-line switch -var will override a +corresponding variable setting in the input script. +

      +

      Restrictions: +

      +

      The use of atom vectors in equal style variables requires the atom +style to use a global mapping in order to look up the vector indices. +Only atom styles with molecular information create global maps. +

      +

      Related commands: +

      +

      next, jump, include, +temper, fix print, print +

      +

      Default: none +

      + diff --git a/doc/variable.txt b/doc/variable.txt new file mode 100644 index 0000000000..50c6355338 --- /dev/null +++ b/doc/variable.txt @@ -0,0 +1,189 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +variable command :h3 + +[Syntax:] + +variable name style args ... :pre + +name = single lower-case character, 'a' thru 'z' :ulb,l +style = {index} or {loop} or {equal} or {world} or {universe} :l + {index} args = one or more strings + {loop} args = N = integer size of loop + {equal} args = one string containing functions, vectors, keywords, numbers + math functions = add(x,y), sub(x,y), mult(x,y), div(x,y), + neg(x), pow(x,y), exp(x), ln(x), sqrt(x) + group functions = mass(group), charge(group), xcm(group,dim), + vcm(group,dim), bounds(group,xmin), gyration(group) + vectors = x\[5\], y\[12\], z\[17\], vx\[88\], vy\[19\], vz\[2\], + fx\[1\], fy\[2005\], fz\[1\] + keywords = same keywords (mostly) as in "thermo_style custom"_thermo_style.html command + {world} args = one string for each partition of processors + {universe} args = one or more strings :pre +:ule + +[Examples:] + +variable x index run1 run2 run3 run4 run5 run6 run7 run8 +variable LoopVar loop 20 +variable beta equal div(temp,3.0) +variable b1 equal add(x\[234\],mult(0.5,lx)) +variable b equal xcm(mol1,x) +variable temp world 300.0 310.0 320.0 330.0 +variable x universe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 :pre + +[Description:] + +This command assigns one or more values to a variable name so that the +variable can be used in subsequent input script commands. The "name" +of the variable is an arbitrary string. Each "value" is a string +which could be text or numbers, as in the examples above. As +explained in "this section"_Section_commands.html#3_2, occurrences of +the variable name in an input script line are replaced by the +variable's value. The variable name can be referenced in the input +script as $x if the name "x" is a single character, or as $\{LoopVar\} +if the name "LoopVar" is one or more characters. + +As described below, for variable styles {index}, {loop}, and +{universe}, the value assigned to a variable can be incremented via +the "next"_next.html command. When there are no more values to +assign, the variable is "exhausted" and a flag is set that causes the +next "jump"_jump.html command encountered in the input script to be +skipped. This enables the construction of simple loops in the input +script that are iterated over and exited from. + +When a variable command is encountered for a variable that has already +been specified, the command is skipped. This is the case for all +variable styles except {equal}, so that {equal}-style variable names +can be re-used and re-defined anytime. Skipping allows you to loop +over the same input script many times without re-defining your +variables. When a variable is exhausted via the "next"_next.html +command, it is then available to be re-defined in a subsequent +variable command. + +For the {index} style, one or more strings are specified. Initially, +the 1st string is assigned to the variable. Each time a +"next"_next.html command is used with the variable name, the next +string is assigned. All processors assign the same string to the +variable. {Index}-style variables can also be set (with a single +value) by using the command-line switch -var; see "this +section"_Section_start.html#2_4 for details. + +The {loop} style is identical to the {index} style except that the +strings are the integers from 1 to N. Initially, the string "1" is +assigned to the variable. Each time a "next"_next.html command is +used with the variable name, the next string ("2", "3", etc) is +assigned. All processors assign the same string to the variable. + +For the {equal} style, a single string is specified which represents +an equation that will be evaluated afresh each time the variable is +used. Thus the variable can take on different values at different +stages of the input script. For example, if the variable is used in a +"fix print"_fix_print.html command, it could print different values +each timestep it was invoked. The next command cannot be used with +{equal}-style variables, since there is only one value. Note that, as +with any other input script command, it is feasible to use another +variable in the {equal} variable's string, e.g. variable y equal +mult($x,2). However, $x will be replaced immediately by it's current +value when the command is first parsed, not each time that $y is +substituted for. + +The syntax of the equation assigned to {equal} variables is simple. +It can contain "functions", "vectors", "keywords", or "numbers" in any +combination. + +Function = a keyword followed by parenthesis with one or two arguments +Supported arithmetic functions = add(x,y), sub(x,y), mult(x,y), div(x,y), \ + neg(x), pow(x,y), exp(x), ln(x), sqrt(x) +Supported group functions = mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), \ + bound(ID,dir), gyration(ID) +Example function usage = div(1.0e20,3.0), neg(x\[34\]), pow(lx,3.0), \ + xcm(mol,x), bound(lower,zmin) +Vector = a keyword followed by square brackets containing an atom ID +Supported vectors = x, y, z, vx, vy, vz, fx, fy, fz +Example vector usage = x\[123\], fz\[1000\] +Keyword = keywords supported by the \ + "thermo_style custom"_thermo_style.html \ + command except cpu and pressure tensor components (pxx, pyy, etc) +Supported keywords = step, atoms, temp, press, pe, ke, eng, evdwl, \ + ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, vol, lx, ly, lz, \ + gke, grot, t_ID +Example keyword usage = atoms, pow(vol,0.333), mult(elong,0.5) +Number = 0.2, 1.0e20, -15.4, etc :ul + +For the group functions, ID is a group-ID, dim is 'x' or 'y' or 'z', +and dir is one of 6 strings: "xmin", "xmax", "ymin", "ymax", "zmin", +or "zmax". The group functions mass() and charge() are the total mass +and charge of the group of atoms. Xcm() and vcm() return components +of the position and velocity of the center of mass of the group. +Bound() returns the min/max of a particular coordinate for all atoms +in the group. Gyration() computes the radius-of-gyration of the group +of atoms. See the "fix gyration"_fix_gyration.html command for the +formula. + +Keywords have restrictions on when they can be assigned to variables. +For example, keywords that compute thermodynamic quantites can only be +invoked after the first simulation has begun. A warning is issued if +thermodyanmic keywords are invoked on timesteps when thermodynamic +information is not being printed to the screen, since the values +assigned to the variable may be out-of-date. + +The variable {equal} equation can also be nested in that function +arguments can be functions, vectors, keywords, or numbers. For +example, this is a valid equation: + +variable x equal div(add(pe,ke),pow(vol,div(1,3))) :pre + +For the {world} style, one or more strings are specified. There must +be one string for each processor partition or "world". See "this +section"_Section_start.html#2_4 of the manual for information on +running LAMMPS with multiple partitions via the "-partition" +command-line switch. This variable command assigns one string to each +world. All processors in the world are assigned the same string. The +next command cannot be used with {equal}-style variables, since there +is only one value per world. This style of variable is useful when +you wish to run different simulations on different partitions, or when +performing a parallel tempering simulation (see the +"temper"_temper.html command), to assign different temperatures to +different partitions. + +For the {universe} style, one or more strings are specified. There +must be at least as many strings as there are processor partitions or +"worlds". See "this page"_Section_start.html#2_4 for information on +running LAMMPS with multiple partitions via the "-partition" +command-line switch. This variable command initially assigns one +string to each world. When a "next"_next.html command is encountered +using this variable, the first processor partition to encounter it, is +assigned the next available value. This continues until all the +variable values are consumed. Thus, this command can be used to run +50 simulations on 8 processor partitions. The simulations will be run +one after the other on whatever partition becomes available, until +they are all finished. {Universe}-style variables are incremented +using the files "tmp.lammps.variable" and "tmp.lammps.variable.lock" +which you will see in your directory during such a LAMMPS run. + +If a variable command is encountered when the variable has already +been defined, the command is ignored. Thss allows an input script +with a variable command to be processed multiple times; see the +"jump"_jump.html or "include"_include.html commands. It also means +that the use of the command-line switch -var will override a +corresponding variable setting in the input script. + +[Restrictions:] + +The use of atom vectors in {equal} style variables requires the atom +style to use a global mapping in order to look up the vector indices. +Only atom styles with molecular information create global maps. + +[Related commands:] + +"next"_next.html, "jump"_jump.html, "include"_include.html, +"temper"_temper.html, "fix print"_fix_print.html, "print"_print.html + +[Default:] none diff --git a/doc/velocity.html b/doc/velocity.html new file mode 100644 index 0000000000..119724c2c6 --- /dev/null +++ b/doc/velocity.html @@ -0,0 +1,170 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      velocity command +

      +

      Syntax: +

      +
      velocity group-ID style args keyword value ... 
      +
      +
      • group-ID = ID of group of atoms whose velocity will be changed + +
      • style = create or set or scale or ramp or zero + +
          create args = temp seed
        +    temp = temperature value (temperature units)
        +    seed = random # seed (8 digits or less)
        +  set args = vx vy vz
        +    vx,vy,vz = velocity value or NULL (velocity units)
        +  scale args = temp
        +    temp = temperature value (temperature units)
        +  ramp args = vdim vlo vhi dim clo chi
        +    vdim = vx or vy or vz
        +    vlo,vhi = lower and upper velocity value (velocity units)
        +    dim = x or y or z
        +    clo,chi = lower and upper coordinate bound (distance units)
        +  zero args = linear or angular
        +    linear = zero the linear momentum
        +    angular = zero the angular momentum 
        +
        +
      • zero or more keyword/value pairs may be appended to the args + +
      • keyword = dist or sum or mom or rot or temp or loop or units + +
          dist value = uniform or gaussian
        +  sum value = no or yes
        +  mom value = no or yes 
        +  rot value = no or yes 
        +  temp value = temperature ID
        +  loop value = all or local or geom
        +  units value = box or lattice 
        +
        + +
      +

      Examples: +

      +
      velocity all create 300.0 4928459 rot yes dist gaussian
      +velocity border set NULL 4.0 3.0 sum yes units box
      +velocity flow scale 300.0
      +velocity flow ramp lattice vx 0.0 5.0 y 5 20 temp mytemp
      +velocity all zero linear 
      +
      +

      Description: +

      +

      Set or change the velocities of a group of atoms in one of several +styles. For each style, there are required arguments and optional +keyword/value parameters. Not all options are used by each style. +Each option has a default as listed below. +

      +

      The create style generates an ensemble of velocities using a random +number generator with the specified seed as the specified temperature. +

      +

      The set style sets the velocities of all atoms in the group to the +specified values. If any component is specified as NULL, then it is +not set. +

      +

      The scale style computes the current temperature of the group of +atoms and then rescales the velocities to the specified temperature. +

      +

      The ramp style is similar to that used by the +temperature ramp command. Velocities ramped +uniformly from vlo to vhi are applied to dimension vx, or vy, or vz. +The value assigned to a particular atom depends on its relative +coordinate value (in dim) from clo to chi. For the example above, an +atom with y-coordinate of 10 (1/4 of the way from 5 to 20), would be +assigned a x-velocity of 1.25 (1/4 of the way from 0.0 to 5.0). Atoms +outside the coordinate bounds (less than 5 or greater than 20 in this +case), are assigned velocities equal to vlo or vhi (0.0 or 5.0 in this +case). +

      +

      The zero style adjusts the velocities of the group of atoms so that +the aggregate linear or angular momentum is zero. No other changes +are made to the velocities of the atoms. +

      +

      All temperatures specified in the velocity command are in temperature +units; see the units command. The units of velocities and +coordinates depend on whether the units keyword is set to box or +lattice, as discussed below. +

      +

      The keyword/value option pairs are used in the following ways by the +various styles. +

      +

      The dist option is used by create. The ensemble of generated +velocities can be a uniform distribution from some minimum to +maximum value, scaled to produce the requested temperature. Or it can +be a gaussian distribution with a mean of 0.0 and a sigma scaled to +produce the requested temperature. +

      +

      The sum option is used by all styles, except zero. The new +velocities will be added to the existing ones if sum = yes, or will +replace them if sum = no. +

      +

      The mom and rot options are used by create. If mom = yes, the +linear momentum of the newly created ensemble of velocities is zeroed; +if rot = yes, the angular momentum is zeroed. +

      +

      The temp option is used by create and scale to specify a +user-defined way of computing temperature. If this option is not +used, create and scale compute temperature with the style "full" +for the group of atoms whose velocity is being altered. See the +temperature command for details. If the computed +temperature should have degrees-of-freedom removed due to fix +constraints (e.g. SHAKE or rigid-body constraints), then the +appropriate fix command must be specified before the velocity command +is issued. +

      +

      The loop option is used by create. If loop = all, then each +processor loops over all atoms in the simulation to create velocities, +but only stores velocities for atoms it owns. This can be a slow loop +for a large simulation. It will produce the same set of velocities, +independent of the number of processors, if atoms were read from a +data file. It will not produce such independent velocities if atoms +were created using the create_atoms command. If +loop = local, then each processor loops over only its atoms to produce +velocities. The random number seed is adjusted to give a different +set of velocities on each processor. This is a fast loop, but will +always produce different sets of velocities when a simulation is run +on a different number of processors. If loop = geom, then each +processor loops over only its atoms. For each atom a unique random +number seed is created, based on the atom's xyz coordinates. A +velocity is generated using that seed. This is a fast loop and will +always give the same set of velocities, independent of how many +processors are used. However, the generated velocities may be more +correlated than if the all or local options are used. Note that +the loop geom option will not necessarily assign identical +velocities for two simulations run on different machines. This is +because the computations based on xyz coordinates are sensitive to +tiny differences in the double-precision value for a coordinate as +stored on a particular machine. +

      +

      The units option is used by set and ramp. If units = box, +the velocities and coordinates specified in the velocity command are +in the standard units described by the units command +(e.g. Angstroms/fmsec for real units). If units = lattice, velocities +are in units of lattice spacings per time (e.g. spacings/fmsec) and +coordinates are in lattice spacings. The lattice +command must have been previously used to define the lattice spacing. +

      +

      For all styles, no atoms are assigned z-component velocities if the +simulation is 2d; see the dimension command. +

      +

      Restrictions: none +

      +

      Related commands: +

      +

      fix shake, lattice +

      +

      Default: +

      +

      The option defaults are dist = uniform, sum = no, mom = yes, rot = no, +temp = full style on group-ID, loop = all, and units = lattice. +

      + diff --git a/doc/velocity.txt b/doc/velocity.txt new file mode 100644 index 0000000000..e147a08608 --- /dev/null +++ b/doc/velocity.txt @@ -0,0 +1,160 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +velocity command :h3 + +[Syntax:] + +velocity group-ID style args keyword value ... :pre + +group-ID = ID of group of atoms whose velocity will be changed :ulb,l +style = {create} or {set} or {scale} or {ramp} or {zero} :l + {create} args = temp seed + temp = temperature value (temperature units) + seed = random # seed (8 digits or less) + {set} args = vx vy vz + vx,vy,vz = velocity value or NULL (velocity units) + {scale} args = temp + temp = temperature value (temperature units) + {ramp} args = vdim vlo vhi dim clo chi + vdim = {vx} or {vy} or {vz} + vlo,vhi = lower and upper velocity value (velocity units) + dim = {x} or {y} or {z} + clo,chi = lower and upper coordinate bound (distance units) + {zero} args = {linear} or {angular} + {linear} = zero the linear momentum + {angular} = zero the angular momentum :pre + +zero or more keyword/value pairs may be appended to the args :l +keyword = {dist} or {sum} or {mom} or {rot} or {temp} or {loop} or {units} :l + {dist} value = {uniform} or {gaussian} + {sum} value = {no} or {yes} + {mom} value = {no} or {yes} + {rot} value = {no} or {yes} + {temp} value = temperature ID + {loop} value = {all} or {local} or {geom} + {units} value = {box} or {lattice} :pre +:ule + +[Examples:] + +velocity all create 300.0 4928459 rot yes dist gaussian +velocity border set NULL 4.0 3.0 sum yes units box +velocity flow scale 300.0 +velocity flow ramp lattice vx 0.0 5.0 y 5 20 temp mytemp +velocity all zero linear :pre + +[Description:] + +Set or change the velocities of a group of atoms in one of several +styles. For each style, there are required arguments and optional +keyword/value parameters. Not all options are used by each style. +Each option has a default as listed below. + +The {create} style generates an ensemble of velocities using a random +number generator with the specified seed as the specified temperature. + +The {set} style sets the velocities of all atoms in the group to the +specified values. If any component is specified as NULL, then it is +not set. + +The {scale} style computes the current temperature of the group of +atoms and then rescales the velocities to the specified temperature. + +The {ramp} style is similar to that used by the +"temperature"_temperature.html ramp command. Velocities ramped +uniformly from vlo to vhi are applied to dimension vx, or vy, or vz. +The value assigned to a particular atom depends on its relative +coordinate value (in dim) from clo to chi. For the example above, an +atom with y-coordinate of 10 (1/4 of the way from 5 to 20), would be +assigned a x-velocity of 1.25 (1/4 of the way from 0.0 to 5.0). Atoms +outside the coordinate bounds (less than 5 or greater than 20 in this +case), are assigned velocities equal to vlo or vhi (0.0 or 5.0 in this +case). + +The {zero} style adjusts the velocities of the group of atoms so that +the aggregate linear or angular momentum is zero. No other changes +are made to the velocities of the atoms. + +All temperatures specified in the velocity command are in temperature +units; see the "units"_units.html command. The units of velocities and +coordinates depend on whether the {units} keyword is set to {box} or +{lattice}, as discussed below. + +The keyword/value option pairs are used in the following ways by the +various styles. + +The {dist} option is used by {create}. The ensemble of generated +velocities can be a {uniform} distribution from some minimum to +maximum value, scaled to produce the requested temperature. Or it can +be a {gaussian} distribution with a mean of 0.0 and a sigma scaled to +produce the requested temperature. + +The {sum} option is used by all styles, except {zero}. The new +velocities will be added to the existing ones if sum = yes, or will +replace them if sum = no. + +The {mom} and {rot} options are used by {create}. If mom = yes, the +linear momentum of the newly created ensemble of velocities is zeroed; +if rot = yes, the angular momentum is zeroed. + +The {temp} option is used by {create} and {scale} to specify a +user-defined way of computing temperature. If this option is not +used, {create} and {scale} compute temperature with the style "full" +for the group of atoms whose velocity is being altered. See the +"temperature"_temperature.html command for details. If the computed +temperature should have degrees-of-freedom removed due to fix +constraints (e.g. SHAKE or rigid-body constraints), then the +appropriate fix command must be specified before the velocity command +is issued. + +The {loop} option is used by {create}. If loop = all, then each +processor loops over all atoms in the simulation to create velocities, +but only stores velocities for atoms it owns. This can be a slow loop +for a large simulation. It will produce the same set of velocities, +independent of the number of processors, if atoms were read from a +data file. It will not produce such independent velocities if atoms +were created using the "create_atoms"_create_atoms.html command. If +loop = local, then each processor loops over only its atoms to produce +velocities. The random number seed is adjusted to give a different +set of velocities on each processor. This is a fast loop, but will +always produce different sets of velocities when a simulation is run +on a different number of processors. If loop = geom, then each +processor loops over only its atoms. For each atom a unique random +number seed is created, based on the atom's xyz coordinates. A +velocity is generated using that seed. This is a fast loop and will +always give the same set of velocities, independent of how many +processors are used. However, the generated velocities may be more +correlated than if the {all} or {local} options are used. Note that +the {loop geom} option will not necessarily assign identical +velocities for two simulations run on different machines. This is +because the computations based on xyz coordinates are sensitive to +tiny differences in the double-precision value for a coordinate as +stored on a particular machine. + +The {units} option is used by {set} and {ramp}. If units = box, +the velocities and coordinates specified in the velocity command are +in the standard units described by the "units"_units.html command +(e.g. Angstroms/fmsec for real units). If units = lattice, velocities +are in units of lattice spacings per time (e.g. spacings/fmsec) and +coordinates are in lattice spacings. The "lattice"_lattice.html +command must have been previously used to define the lattice spacing. + +For all styles, no atoms are assigned z-component velocities if the +simulation is 2d; see the "dimension"_dimension.html command. + +[Restrictions:] none + +[Related commands:] + +"fix shake"_fix_shake.html, "lattice"_lattice.html + +[Default:] + +The option defaults are dist = uniform, sum = no, mom = yes, rot = no, +temp = full style on group-ID, loop = all, and units = lattice. diff --git a/doc/write_restart.html b/doc/write_restart.html new file mode 100644 index 0000000000..960ea8e0ca --- /dev/null +++ b/doc/write_restart.html @@ -0,0 +1,69 @@ + +
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
      + + + + + + +
      + +

      write_restart command +

      +

      Syntax: +

      +
      write_restart file 
      +
      +
      • file = name of file to write restart information to +
      +

      Examples: +

      +
      write_restart restart.equil
      +write_restart poly.%.* 
      +
      +

      Description: +

      +

      Write a binary restart file of the current state of the simulation. +See the read_restart command for information about +what is stored in a restart file. +

      +

      During a long simulation, the restart command is +typically used to dump restart files periodically. The write_restart +command is useful after a minimization or whenever you wish to write +out a single current restart file. +

      +

      Similar to dump files, the restart filename can contain +two wild-card characters. If a "*" appears in the filename, it is +replaced with the current timestep value. If a "%" character appears +in the filename, then one file is written by each processor and the +"%" character is replaced with the processor ID from 0 to P-1. An +additional file with the "%" replaced by "base" is also written, which +contains global information. For example, the files written for +filename restart.% would be restart.base, restart.0, restart.1, ... +restart.P-1. This creates smaller files and can be a fast mode of +output on parallel machines that support parallel I/O for output. +

      +

      Restart files can be read by a read_restart +command to restart a simulation from a particular state. Because the +file is binary (to enable exact restarts), it may not be readable on +another machine. In this case, the restart2data program in the tools +directory can be used to convert a restart file to an ASCII data file. +Both the read_restart commmand and restart2data tool can read in a +restart file that was written with the "%" character so that multiple +files were created. +

      +

      Restrictions: +

      +

      This command requires inter-processor communication to migrate atoms +before the restart file is written. This means that your system must +be ready to perform a simulation before using this command (force +fields setup, atom masses set, etc). +

      +

      Related commands: +

      +

      restart, read_restart +

      +

      Default: none +

      + diff --git a/doc/write_restart.txt b/doc/write_restart.txt new file mode 100644 index 0000000000..13045a0842 --- /dev/null +++ b/doc/write_restart.txt @@ -0,0 +1,64 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +write_restart command :h3 + +[Syntax:] + +write_restart file :pre + +file = name of file to write restart information to :ul + +[Examples:] + +write_restart restart.equil +write_restart poly.%.* :pre + +[Description:] + +Write a binary restart file of the current state of the simulation. +See the "read_restart"_read_restart.html command for information about +what is stored in a restart file. + +During a long simulation, the "restart"_restart.html command is +typically used to dump restart files periodically. The write_restart +command is useful after a minimization or whenever you wish to write +out a single current restart file. + +Similar to "dump"_dump.html files, the restart filename can contain +two wild-card characters. If a "*" appears in the filename, it is +replaced with the current timestep value. If a "%" character appears +in the filename, then one file is written by each processor and the +"%" character is replaced with the processor ID from 0 to P-1. An +additional file with the "%" replaced by "base" is also written, which +contains global information. For example, the files written for +filename restart.% would be restart.base, restart.0, restart.1, ... +restart.P-1. This creates smaller files and can be a fast mode of +output on parallel machines that support parallel I/O for output. + +Restart files can be read by a "read_restart"_read_restart.html +command to restart a simulation from a particular state. Because the +file is binary (to enable exact restarts), it may not be readable on +another machine. In this case, the restart2data program in the tools +directory can be used to convert a restart file to an ASCII data file. +Both the read_restart commmand and restart2data tool can read in a +restart file that was written with the "%" character so that multiple +files were created. + +[Restrictions:] + +This command requires inter-processor communication to migrate atoms +before the restart file is written. This means that your system must +be ready to perform a simulation before using this command (force +fields setup, atom masses set, etc). + +[Related commands:] + +"restart"_restart.html, "read_restart"_read_restart.html + +[Default:] none
    5. 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