Merge ssh://lens.ccs.ornl.gov/~/git/lammps
1
README
@ -39,3 +39,4 @@ Point your browser at any of these files to get started:
|
||||
doc/Manual.html the LAMMPS manual
|
||||
doc/Section_intro.html hi-level introduction to LAMMPS
|
||||
doc/Section_start.html how to build and use LAMMPS
|
||||
doc/Developer.pdf LAMMPS developer guide
|
||||
|
||||
BIN
doc/Developer.pdf
Normal file
BIN
doc/Eqs/fix_nphug.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
9
doc/Eqs/fix_nphug.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
T_t - T = \frac{\left(\frac{1}{2}\left(P + P_0\right)\left(V_0 - V\right) + E_0 - E\right)}{N_{dof} k_B } = Delta
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/Eqs/pair_edip.jpg
Normal file
|
After Width: | Height: | Size: 24 KiB |
22
doc/Eqs/pair_edip.tex
Normal file
@ -0,0 +1,22 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\usepackage{amssymb,amsmath}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
E & = & \sum_{j \ne i} \phi_{2}(R_{ij}, Z_{i}) + \sum_{j \ne i} \sum_{k \ne i,k > j} \phi_{3}(R_{ij}, R_{ik}, Z_{i}) \\
|
||||
\phi_{2}(r, Z) & = & A\left[\left(\frac{B}{r}\right)^{\rho} - e^{-\beta Z^2}\right]exp{\left(\frac{\sigma}{r-a}\right)} \\
|
||||
\phi_{3}(R_{ij}, R_{ik}, Z_i) & = & exp{\left(\frac{\gamma}{R_{ij}-a}\right)}exp{\left(\frac{\gamma}{R_{ik}-a}\right)}h(cos\theta_{ijk},Z_i) \\
|
||||
Z_i & = & \sum_{m \ne i} f(R_{im}) \qquad
|
||||
f(r) = \begin{cases}
|
||||
1 & \quad r<c \\
|
||||
\exp\left(\frac{\alpha}{1-x^{-3}}\right) & \quad c<r<a \\
|
||||
0 & \quad r>a
|
||||
\end{cases} \\
|
||||
h(l,Z) & = & \lambda [(1-e^{-Q(Z)(l+\tau(Z))^2}) + \eta Q(Z)(l+\tau(Z))^2 ] \\
|
||||
Q(Z) & = & Q_0 e^{-\mu Z} \qquad \tau(Z) = u_1 + u_2 (u_3 e^{-u_4 Z} - e^{-2u_4 Z})
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
|
||||
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 22 KiB |
@ -7,8 +7,8 @@ E_{LJ} & = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} -
|
||||
\left(\frac{\sigma}{r}\right)^6 \right] + S_{LJ}(r)
|
||||
\qquad r < r_c \\
|
||||
E_C & = & \frac{C q_i q_j}{\epsilon r} + S_C(r) \qquad r < r_c \\
|
||||
S(r) & = & 0 \qquad r < r_1 \\
|
||||
S(r) & = & A (r - r_1)^2 + B (r - r_1)^3 \qquad r_1 < r < r_c
|
||||
S(r) & = & C \qquad r < r_1 \\
|
||||
S(r) & = & \frac{A}{3} (r - r_1)^3 + \frac{B}{4} (r - r_1)^4 + C \qquad r_1 < r < r_c
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
|
||||
BIN
doc/Eqs/pair_lj_cubic.jpg
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
12
doc/Eqs/pair_lj_cubic.tex
Normal file
@ -0,0 +1,12 @@
|
||||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
E &=& u_{LJ}(r) \qquad r \leq r_s \\
|
||||
&=& u_{LJ}(r_s) + (r-r_s) u'_{LJ}(r_s) - \frac{1}{6} A_3 (r-r_s)^3 \qquad r_s < r \leq r_c \\
|
||||
&=& 0 \qquad r > r_c
|
||||
\end{eqnarray*}
|
||||
|
||||
|
||||
\end{document}
|
||||
BIN
doc/Eqs/pair_sph_ideal.jpg
Normal file
|
After Width: | Height: | Size: 911 B |
9
doc/Eqs/pair_sph_ideal.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
p = (\gamma - 1) \rho e
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/Eqs/pair_sph_tait.jpg
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
9
doc/Eqs/pair_sph_tait.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
p = B [(\frac{\rho}{\rho_0})^{\gamma} - 1]
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
196
doc/Manual.html
@ -42,6 +42,10 @@ describe the version you have.
|
||||
<LI>The <A HREF = "Manual.pdf">PDF file</A> on the WWW site or in the tarball is updated
|
||||
about once per month. This is because it is large, and we don't want
|
||||
it to be part of very patch.
|
||||
|
||||
<LI>There is also a <A HREF = "Developer.pdf">Developer.pdf</A> file in the doc
|
||||
directory, which describes the internal structure and algorithms of
|
||||
LAMMPS.
|
||||
</UL>
|
||||
<P>LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel
|
||||
Simulator.
|
||||
@ -78,89 +82,107 @@ it gives quick access to documentation for all LAMMPS commands.
|
||||
</P>
|
||||
<OL><LI><A HREF = "Section_intro.html">Introduction</A>
|
||||
|
||||
<UL> 1.1 <A HREF = "Section_intro.html#1_1">What is LAMMPS</A>
|
||||
<UL> 1.1 <A HREF = "Section_intro.html#intro_1">What is LAMMPS</A>
|
||||
<BR>
|
||||
1.2 <A HREF = "Section_intro.html#1_2">LAMMPS features</A>
|
||||
1.2 <A HREF = "Section_intro.html#intro_2">LAMMPS features</A>
|
||||
<BR>
|
||||
1.3 <A HREF = "Section_intro.html#1_3">LAMMPS non-features</A>
|
||||
1.3 <A HREF = "Section_intro.html#intro_3">LAMMPS non-features</A>
|
||||
<BR>
|
||||
1.4 <A HREF = "Section_intro.html#1_4">Open source distribution</A>
|
||||
1.4 <A HREF = "Section_intro.html#intro_4">Open source distribution</A>
|
||||
<BR>
|
||||
1.5 <A HREF = "Section_intro.html#1_5">Acknowledgments and citations</A>
|
||||
1.5 <A HREF = "Section_intro.html#intro_5">Acknowledgments and citations</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_start.html">Getting started</A>
|
||||
|
||||
<UL> 2.1 <A HREF = "Section_start.html#2_1">What's in the LAMMPS distribution</A>
|
||||
<UL> 2.1 <A HREF = "Section_start.html#start_1">What's in the LAMMPS distribution</A>
|
||||
<BR>
|
||||
2.2 <A HREF = "Section_start.html#2_2">Making LAMMPS</A>
|
||||
2.2 <A HREF = "Section_start.html#start_2">Making LAMMPS</A>
|
||||
<BR>
|
||||
2.3 <A HREF = "Section_start.html#2_3">Making LAMMPS with optional packages</A>
|
||||
2.3 <A HREF = "Section_start.html#start_3">Making LAMMPS with optional packages</A>
|
||||
<BR>
|
||||
2.4 <A HREF = "Section_start.html#2_4">Building LAMMPS as a library</A>
|
||||
2.4 <A HREF = "Section_start.html#start_4">Building LAMMPS as a library</A>
|
||||
<BR>
|
||||
2.5 <A HREF = "Section_start.html#2_5">Running LAMMPS</A>
|
||||
2.5 <A HREF = "Section_start.html#start_5">Running LAMMPS</A>
|
||||
<BR>
|
||||
2.6 <A HREF = "Section_start.html#2_6">Command-line options</A>
|
||||
2.6 <A HREF = "Section_start.html#start_6">Command-line options</A>
|
||||
<BR>
|
||||
2.7 <A HREF = "Section_start.html#2_7">Screen output</A>
|
||||
2.7 <A HREF = "Section_start.html#start_7">Screen output</A>
|
||||
<BR>
|
||||
2.8 <A HREF = "Section_start.html#2_8">Tips for users of previous versions</A>
|
||||
2.8 <A HREF = "2_8">Tips for users of previous versions</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_commands.html">Commands</A>
|
||||
|
||||
<UL> 3.1 <A HREF = "Section_commands.html#3_1">LAMMPS input script</A>
|
||||
<UL> 3.1 <A HREF = "Section_commands.html#cmd_1">LAMMPS input script</A>
|
||||
<BR>
|
||||
3.2 <A HREF = "Section_commands.html#3_2">Parsing rules</A>
|
||||
3.2 <A HREF = "Section_commands.html#cmd_2">Parsing rules</A>
|
||||
<BR>
|
||||
3.3 <A HREF = "Section_commands.html#3_3">Input script structure</A>
|
||||
3.3 <A HREF = "Section_commands.html#cmd_3">Input script structure</A>
|
||||
<BR>
|
||||
3.4 <A HREF = "Section_commands.html#3_4">Commands listed by category</A>
|
||||
3.4 <A HREF = "Section_commands.html#cmd_4">Commands listed by category</A>
|
||||
<BR>
|
||||
3.5 <A HREF = "Section_commands.html#3_5">Commands listed alphabetically</A>
|
||||
3.5 <A HREF = "Section_commands.html#cmd_5">Commands listed alphabetically</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_packages.html">Packages</A>
|
||||
|
||||
<UL> 4.1 <A HREF = "Section_packages.html#pkg_1">Standard packages</A>
|
||||
<BR>
|
||||
4.2 <A HREF = "Section_packages.html#pkg_2">User packages</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_accelerate.html">Using accelerated CPU and GPU styles</A>
|
||||
|
||||
<UL> 5.1 <A HREF = "Section_accelerate.html#acc_1">OPT package</A>
|
||||
<BR>
|
||||
5.2 <A HREF = "Section_accelerate.html#acc_2">USER-OMP package</A>
|
||||
<BR>
|
||||
5.3 <A HREF = "Section_accelerate.html#acc_3">GPU package</A>
|
||||
<BR>
|
||||
5.4 <A HREF = "Section_accelerate.html#acc_4">USER-CUDA package</A>
|
||||
<BR>
|
||||
5.5 <A HREF = "Section_accelerate.html#acc_5">Comparison of GPU and USER-CUDA packages</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_howto.html">How-to discussions</A>
|
||||
|
||||
<UL> 4.1 <A HREF = "Section_howto.html#4_1">Restarting a simulation</A>
|
||||
<UL> 6.1 <A HREF = "Section_howto.html#howto_1">Restarting a simulation</A>
|
||||
<BR>
|
||||
4.2 <A HREF = "Section_howto.html#4_2">2d simulations</A>
|
||||
6.2 <A HREF = "Section_howto.html#howto_2">2d simulations</A>
|
||||
<BR>
|
||||
4.3 <A HREF = "Section_howto.html#4_3">CHARMM and AMBER force fields</A>
|
||||
6.3 <A HREF = "Section_howto.html#howto_3">CHARMM and AMBER force fields</A>
|
||||
<BR>
|
||||
4.4 <A HREF = "Section_howto.html#4_4">Running multiple simulations from one input script</A>
|
||||
6.4 <A HREF = "Section_howto.html#howto_4">Running multiple simulations from one input script</A>
|
||||
<BR>
|
||||
4.5 <A HREF = "Section_howto.html#4_5">Multi-replica simulations</A>
|
||||
6.5 <A HREF = "Section_howto.html#howto_5">Multi-replica simulations</A>
|
||||
<BR>
|
||||
4.6 <A HREF = "Section_howto.html#4_6">Granular models</A>
|
||||
6.6 <A HREF = "Section_howto.html#howto_6">Granular models</A>
|
||||
<BR>
|
||||
4.7 <A HREF = "Section_howto.html#4_7">TIP3P water model</A>
|
||||
6.7 <A HREF = "Section_howto.html#howto_7">TIP3P water model</A>
|
||||
<BR>
|
||||
4.8 <A HREF = "Section_howto.html#4_8">TIP4P water model</A>
|
||||
6.8 <A HREF = "Section_howto.html#howto_8">TIP4P water model</A>
|
||||
<BR>
|
||||
4.9 <A HREF = "Section_howto.html#4_9">SPC water model</A>
|
||||
6.9 <A HREF = "Section_howto.html#howto_9">SPC water model</A>
|
||||
<BR>
|
||||
4.10 <A HREF = "Section_howto.html#4_10">Coupling LAMMPS to other codes</A>
|
||||
6.10 <A HREF = "Section_howto.html#howto_10">Coupling LAMMPS to other codes</A>
|
||||
<BR>
|
||||
4.11 <A HREF = "Section_howto.html#4_11">Visualizing LAMMPS snapshots</A>
|
||||
6.11 <A HREF = "Section_howto.html#howto_11">Visualizing LAMMPS snapshots</A>
|
||||
<BR>
|
||||
4.12 <A HREF = "Section_howto.html#4_12">Triclinic (non-orthogonal) simulation boxes</A>
|
||||
6.12 <A HREF = "Section_howto.html#howto_12">Triclinic (non-orthogonal) simulation boxes</A>
|
||||
<BR>
|
||||
4.13 <A HREF = "Section_howto.html#4_13">NEMD simulations</A>
|
||||
6.13 <A HREF = "Section_howto.html#howto_13">NEMD simulations</A>
|
||||
<BR>
|
||||
4.14 <A HREF = "Section_howto.html#4_14">Extended spherical and aspherical particles</A>
|
||||
6.14 <A HREF = "Section_howto.html#howto_14">Extended spherical and aspherical particles</A>
|
||||
<BR>
|
||||
4.15 <A HREF = "Section_howto.html#4_15">Output from LAMMPS (thermo, dumps, computes, fixes, variables)</A>
|
||||
6.15 <A HREF = "Section_howto.html#howto_15">Output from LAMMPS (thermo, dumps, computes, fixes, variables)</A>
|
||||
<BR>
|
||||
4.16 <A HREF = "Section_howto.html#4_16">Thermostatting, barostatting, and compute temperature</A>
|
||||
6.16 <A HREF = "Section_howto.html#howto_16">Thermostatting, barostatting, and compute temperature</A>
|
||||
<BR>
|
||||
4.17 <A HREF = "Section_howto.html#4_17">Walls</A>
|
||||
6.17 <A HREF = "Section_howto.html#howto_17">Walls</A>
|
||||
<BR>
|
||||
4.18 <A HREF = "Section_howto.html#4_18">Elastic constants</A>
|
||||
6.18 <A HREF = "Section_howto.html#howto_18">Elastic constants</A>
|
||||
<BR>
|
||||
4.19 <A HREF = "Section_howto.html#4_19">Library interface to LAMMPS</A>
|
||||
6.19 <A HREF = "Section_howto.html#howto_19">Library interface to LAMMPS</A>
|
||||
<BR>
|
||||
4.20 <A HREF = "Section_howto.html#4_20">Calculating thermal conductivity</A>
|
||||
6.20 <A HREF = "Section_howto.html#howto_20">Calculating thermal conductivity</A>
|
||||
<BR>
|
||||
4.21 <A HREF = "Section_howto.html#4_21">Calculating viscosity</A>
|
||||
6.21 <A HREF = "Section_howto.html#howto_21">Calculating viscosity</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_example.html">Example problems</A>
|
||||
|
||||
@ -170,45 +192,63 @@ it gives quick access to documentation for all LAMMPS commands.
|
||||
|
||||
<LI><A HREF = "Section_modify.html">Modifying & extending LAMMPS</A>
|
||||
|
||||
<UL> 10.1 <A HREF = "Section_modify.html#mod_1">Atom styles</A>
|
||||
<BR>
|
||||
10.2 <A HREF = "Section_modify.html#mod_2">Bond, angle, dihedral, improper potentials</A>
|
||||
<BR>
|
||||
10.3 <A HREF = "Section_modify.html#mod_3">Compute styles</A>
|
||||
<BR>
|
||||
10.4 <A HREF = "Section_modify.html#mod_4">Dump styles</A>
|
||||
<BR>
|
||||
10.5 <A HREF = "Section_modify.html#mod_5">Dump custom output options</A>
|
||||
<BR>
|
||||
10.6 <A HREF = "Section_modify.html#mod_6">Fix styles</A>
|
||||
<BR>
|
||||
10.7 <A HREF = "Section_modify.html#mod_7">Input script commands</A>
|
||||
<BR>
|
||||
10.8 <A HREF = "Section_modify.html#mod_8">Kspace computations</A>
|
||||
<BR>
|
||||
10.9 <A HREF = "Section_modify.html#mod_9">Minimization styles</A>
|
||||
<BR>
|
||||
10.10 <A HREF = "Section_modify.html#mod_10">Pairwise potentials</A>
|
||||
<BR>
|
||||
10.11 <A HREF = "Section_modify.html#mod_11">Region styles</A>
|
||||
<BR>
|
||||
10.12 <A HREF = "Section_modify.html#mod_12">Thermodynamic output options</A>
|
||||
<BR>
|
||||
10.13 <A HREF = "Section_modify.html#mod_13">Variable options</A>
|
||||
<BR>
|
||||
10.14 <A HREF = "Section_modify.html#mod_14">Submitting new features for inclusion in LAMMPS</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_python.html">Python interface</A>
|
||||
|
||||
<UL> 9.1 <A HREF = "Section_python.html#9_1">Extending Python with a serial version of LAMMPS</A>
|
||||
<UL> 11.1 <A HREF = "Section_python.html#py_1">Extending Python with a serial version of LAMMPS</A>
|
||||
<BR>
|
||||
9.2 <A HREF = "Section_python.html#9_2">Creating a shared MPI library</A>
|
||||
11.2 <A HREF = "Section_python.html#py_2">Creating a shared MPI library</A>
|
||||
<BR>
|
||||
9.3 <A HREF = "Section_python.html#9_3">Extending Python with a parallel version of LAMMPS</A>
|
||||
11.3 <A HREF = "Section_python.html#py_3">Extending Python with a parallel version of LAMMPS</A>
|
||||
<BR>
|
||||
9.4 <A HREF = "Section_python.html#9_4">Extending Python with MPI</A>
|
||||
11.4 <A HREF = "Section_python.html#py_4">Extending Python with MPI</A>
|
||||
<BR>
|
||||
9.5 <A HREF = "Section_python.html#9_5">Testing the Python-LAMMPS interface</A>
|
||||
11.5 <A HREF = "Section_python.html#py_5">Testing the Python-LAMMPS interface</A>
|
||||
<BR>
|
||||
9.6 <A HREF = "Section_python.html#9_6">Using LAMMPS from Python</A>
|
||||
11.6 <A HREF = "Section_python.html#py_6">Using LAMMPS from Python</A>
|
||||
<BR>
|
||||
9.7 <A HREF = "Section_python.html#9_7">Example Python scripts that use LAMMPS</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_accelerate.html">Using accelerated CPU and GPU styles</A>
|
||||
|
||||
<UL> 10.1 <A HREF = "Section_accelerate.html#10_1">OPT package</A>
|
||||
<BR>
|
||||
10.2 <A HREF = "Section_accelerate.html#10_2">GPU package</A>
|
||||
<BR>
|
||||
10.3 <A HREF = "Section_accelerate.html#10_3">USER-CUDA package</A>
|
||||
<BR>
|
||||
10.4 <A HREF = "Section_accelerate.html#10_4">Comparison of GPU and USER-CUDA packages</A>
|
||||
11.7 <A HREF = "Section_python.html#py_7">Example Python scripts that use LAMMPS</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_errors.html">Errors</A>
|
||||
|
||||
<UL> 11.1 <A HREF = "Section_errors.html#11_1">Common problems</A>
|
||||
<UL> 12.1 <A HREF = "Section_errors.html#err_1">Common problems</A>
|
||||
<BR>
|
||||
11.2 <A HREF = "Section_errors.html#11_2">Reporting bugs</A>
|
||||
12.2 <A HREF = "Section_errors.html#err_2">Reporting bugs</A>
|
||||
<BR>
|
||||
11.3 <A HREF = "Section_errors.html#11_3">Error & warning messages</A>
|
||||
12.3 <A HREF = "Section_errors.html#err_3">Error & warning messages</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_history.html">Future and history</A>
|
||||
|
||||
<UL> 12.1 <A HREF = "Section_history.html#12_1">Coming attractions</A>
|
||||
<UL> 13.1 <A HREF = "Section_history.html#hist_1">Coming attractions</A>
|
||||
<BR>
|
||||
12.2 <A HREF = "Section_history.html#12_2">Past versions</A>
|
||||
13.2 <A HREF = "Section_history.html#hist_2">Past versions</A>
|
||||
<BR></UL>
|
||||
|
||||
</OL>
|
||||
@ -301,6 +341,40 @@ it gives quick access to documentation for all LAMMPS commands.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
doc/Manual.pdf
263
doc/Manual.txt
@ -38,7 +38,11 @@ describe the version you have. :l
|
||||
|
||||
The "PDF file"_Manual.pdf on the WWW site or in the tarball is updated
|
||||
about once per month. This is because it is large, and we don't want
|
||||
it to be part of very patch. :ule,l
|
||||
it to be part of very patch. :l
|
||||
|
||||
There is also a "Developer.pdf"_Developer.pdf file in the doc
|
||||
directory, which describes the internal structure and algorithms of
|
||||
LAMMPS. :ule,l
|
||||
|
||||
LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel
|
||||
Simulator.
|
||||
@ -73,135 +77,172 @@ it gives quick access to documentation for all LAMMPS commands.
|
||||
"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
|
||||
1.1 "What is LAMMPS"_intro_1 :ulb,b
|
||||
1.2 "LAMMPS features"_intro_2 :b
|
||||
1.3 "LAMMPS non-features"_intro_3 :b
|
||||
1.4 "Open source distribution"_intro_4 :b
|
||||
1.5 "Acknowledgments and citations"_intro_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 "Making LAMMPS with optional packages"_2_3 :b
|
||||
2.4 "Building LAMMPS as a library"_2_4 :b
|
||||
2.5 "Running LAMMPS"_2_5 :b
|
||||
2.6 "Command-line options"_2_6 :b
|
||||
2.7 "Screen output"_2_7 :b
|
||||
2.1 "What's in the LAMMPS distribution"_start_1 :ulb,b
|
||||
2.2 "Making LAMMPS"_start_2 :b
|
||||
2.3 "Making LAMMPS with optional packages"_start_3 :b
|
||||
2.4 "Building LAMMPS as a library"_start_4 :b
|
||||
2.5 "Running LAMMPS"_start_5 :b
|
||||
2.6 "Command-line options"_start_6 :b
|
||||
2.7 "Screen output"_start_7 :b
|
||||
2.8 "Tips for users of previous versions"_2_8 :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
|
||||
3.1 "LAMMPS input script"_cmd_1 :ulb,b
|
||||
3.2 "Parsing rules"_cmd_2 :b
|
||||
3.3 "Input script structure"_cmd_3 :b
|
||||
3.4 "Commands listed by category"_cmd_4 :b
|
||||
3.5 "Commands listed alphabetically"_cmd_5 :ule,b
|
||||
"Packages"_Section_packages.html :l
|
||||
4.1 "Standard packages"_pkg_1 :ulb,b
|
||||
4.2 "User packages"_pkg_2 :ule,b
|
||||
"Using accelerated CPU and GPU styles"_Section_accelerate.html :l
|
||||
5.1 "OPT package"_acc_1 :ulb,b
|
||||
5.2 "USER-OMP package"_acc_2 :b
|
||||
5.3 "GPU package"_acc_3 :b
|
||||
5.4 "USER-CUDA package"_acc_4 :b
|
||||
5.5 "Comparison of GPU and USER-CUDA packages"_acc_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 "Multi-replica simulations"_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.10 "Coupling LAMMPS to other codes"_4_10 :b
|
||||
4.11 "Visualizing LAMMPS snapshots"_4_11 :b
|
||||
4.12 "Triclinic (non-orthogonal) simulation boxes"_4_12 :b
|
||||
4.13 "NEMD simulations"_4_13 :b
|
||||
4.14 "Extended spherical and aspherical particles"_4_14 :b
|
||||
4.15 "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_4_15 :b
|
||||
4.16 "Thermostatting, barostatting, and compute temperature"_4_16 :b
|
||||
4.17 "Walls"_4_17 :b
|
||||
4.18 "Elastic constants"_4_18 :b
|
||||
4.19 "Library interface to LAMMPS"_4_19 :b
|
||||
4.20 "Calculating thermal conductivity"_4_20 :b
|
||||
4.21 "Calculating viscosity"_4_21 :ule,b
|
||||
6.1 "Restarting a simulation"_howto_1 :ulb,b
|
||||
6.2 "2d simulations"_howto_2 :b
|
||||
6.3 "CHARMM and AMBER force fields"_howto_3 :b
|
||||
6.4 "Running multiple simulations from one input script"_howto_4 :b
|
||||
6.5 "Multi-replica simulations"_howto_5 :b
|
||||
6.6 "Granular models"_howto_6 :b
|
||||
6.7 "TIP3P water model"_howto_7 :b
|
||||
6.8 "TIP4P water model"_howto_8 :b
|
||||
6.9 "SPC water model"_howto_9 :b
|
||||
6.10 "Coupling LAMMPS to other codes"_howto_10 :b
|
||||
6.11 "Visualizing LAMMPS snapshots"_howto_11 :b
|
||||
6.12 "Triclinic (non-orthogonal) simulation boxes"_howto_12 :b
|
||||
6.13 "NEMD simulations"_howto_13 :b
|
||||
6.14 "Extended spherical and aspherical particles"_howto_14 :b
|
||||
6.15 "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_howto_15 :b
|
||||
6.16 "Thermostatting, barostatting, and compute temperature"_howto_16 :b
|
||||
6.17 "Walls"_howto_17 :b
|
||||
6.18 "Elastic constants"_howto_18 :b
|
||||
6.19 "Library interface to LAMMPS"_howto_19 :b
|
||||
6.20 "Calculating thermal conductivity"_howto_20 :b
|
||||
6.21 "Calculating viscosity"_howto_21 :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
|
||||
10.1 "Atom styles"_mod_1 :ulb,b
|
||||
10.2 "Bond, angle, dihedral, improper potentials"_mod_2 :b
|
||||
10.3 "Compute styles"_mod_3 :b
|
||||
10.4 "Dump styles"_mod_4 :b
|
||||
10.5 "Dump custom output options"_mod_5 :b
|
||||
10.6 "Fix styles"_mod_6 :b
|
||||
10.7 "Input script commands"_mod_7 :b
|
||||
10.8 "Kspace computations"_mod_8 :b
|
||||
10.9 "Minimization styles"_mod_9 :b
|
||||
10.10 "Pairwise potentials"_mod_10 :b
|
||||
10.11 "Region styles"_mod_11 :b
|
||||
10.12 "Thermodynamic output options"_mod_12 :b
|
||||
10.13 "Variable options"_mod_13 :b
|
||||
10.14 "Submitting new features for inclusion in LAMMPS"_mod_14 :ule,b
|
||||
"Python interface"_Section_python.html :l
|
||||
9.1 "Extending Python with a serial version of LAMMPS"_9_1 :ulb,b
|
||||
9.2 "Creating a shared MPI library"_9_2 :b
|
||||
9.3 "Extending Python with a parallel version of LAMMPS"_9_3 :b
|
||||
9.4 "Extending Python with MPI"_9_4 :b
|
||||
9.5 "Testing the Python-LAMMPS interface"_9_5 :b
|
||||
9.6 "Using LAMMPS from Python"_9_6 :b
|
||||
9.7 "Example Python scripts that use LAMMPS"_9_7 :ule,b
|
||||
"Using accelerated CPU and GPU styles"_Section_accelerate.html :l
|
||||
10.1 "OPT package"_10_1 :ulb,b
|
||||
10.2 "GPU package"_10_2 :b
|
||||
10.3 "USER-CUDA package"_10_3 :b
|
||||
10.4 "Comparison of GPU and USER-CUDA packages"_10_4 :ule,b
|
||||
11.1 "Extending Python with a serial version of LAMMPS"_py_1 :ulb,b
|
||||
11.2 "Creating a shared MPI library"_py_2 :b
|
||||
11.3 "Extending Python with a parallel version of LAMMPS"_py_3 :b
|
||||
11.4 "Extending Python with MPI"_py_4 :b
|
||||
11.5 "Testing the Python-LAMMPS interface"_py_5 :b
|
||||
11.6 "Using LAMMPS from Python"_py_6 :b
|
||||
11.7 "Example Python scripts that use LAMMPS"_py_7 :ule,b
|
||||
"Errors"_Section_errors.html :l
|
||||
11.1 "Common problems"_11_1 :ulb,b
|
||||
11.2 "Reporting bugs"_11_2 :b
|
||||
11.3 "Error & warning messages"_11_3 :ule,b
|
||||
12.1 "Common problems"_err_1 :ulb,b
|
||||
12.2 "Reporting bugs"_err_2 :b
|
||||
12.3 "Error & warning messages"_err_3 :ule,b
|
||||
"Future and history"_Section_history.html :l
|
||||
12.1 "Coming attractions"_12_1 :ulb,b
|
||||
12.2 "Past versions"_12_2 :ule,b
|
||||
13.1 "Coming attractions"_hist_1 :ulb,b
|
||||
13.2 "Past versions"_hist_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(intro_1,Section_intro.html#intro_1)
|
||||
:link(intro_2,Section_intro.html#intro_2)
|
||||
:link(intro_3,Section_intro.html#intro_3)
|
||||
:link(intro_4,Section_intro.html#intro_4)
|
||||
:link(intro_5,Section_intro.html#intro_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(2_7,Section_start.html#2_7)
|
||||
:link(2_8,Section_start.html#2_8)
|
||||
:link(start_1,Section_start.html#start_1)
|
||||
:link(start_2,Section_start.html#start_2)
|
||||
:link(start_3,Section_start.html#start_3)
|
||||
:link(start_4,Section_start.html#start_4)
|
||||
:link(start_5,Section_start.html#start_5)
|
||||
:link(start_6,Section_start.html#start_6)
|
||||
:link(start_7,Section_start.html#start_7)
|
||||
:link(start_8,Section_start.html#start_8)
|
||||
|
||||
: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(cmd_1,Section_commands.html#cmd_1)
|
||||
:link(cmd_2,Section_commands.html#cmd_2)
|
||||
:link(cmd_3,Section_commands.html#cmd_3)
|
||||
:link(cmd_4,Section_commands.html#cmd_4)
|
||||
:link(cmd_5,Section_commands.html#cmd_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(4_11,Section_howto.html#4_11)
|
||||
:link(4_12,Section_howto.html#4_12)
|
||||
:link(4_13,Section_howto.html#4_13)
|
||||
:link(4_14,Section_howto.html#4_14)
|
||||
:link(4_15,Section_howto.html#4_15)
|
||||
:link(4_16,Section_howto.html#4_16)
|
||||
:link(4_17,Section_howto.html#4_17)
|
||||
:link(4_18,Section_howto.html#4_18)
|
||||
:link(4_19,Section_howto.html#4_19)
|
||||
:link(4_20,Section_howto.html#4_20)
|
||||
:link(4_21,Section_howto.html#4_21)
|
||||
:link(pkg_1,Section_packages.html#pkg_1)
|
||||
:link(pkg_2,Section_packages.html#pkg_2)
|
||||
|
||||
:link(9_1,Section_python.html#9_1)
|
||||
:link(9_2,Section_python.html#9_2)
|
||||
:link(9_3,Section_python.html#9_3)
|
||||
:link(9_4,Section_python.html#9_4)
|
||||
:link(9_5,Section_python.html#9_5)
|
||||
:link(9_6,Section_python.html#9_6)
|
||||
:link(9_7,Section_python.html#9_7)
|
||||
:link(acc_1,Section_accelerate.html#acc_1)
|
||||
:link(acc_2,Section_accelerate.html#acc_2)
|
||||
:link(acc_3,Section_accelerate.html#acc_3)
|
||||
:link(acc_4,Section_accelerate.html#acc_4)
|
||||
:link(acc_5,Section_accelerate.html#acc_5)
|
||||
|
||||
:link(10_1,Section_accelerate.html#10_1)
|
||||
:link(10_2,Section_accelerate.html#10_2)
|
||||
:link(10_3,Section_accelerate.html#10_3)
|
||||
:link(10_4,Section_accelerate.html#10_4)
|
||||
:link(howto_1,Section_howto.html#howto_1)
|
||||
:link(howto_2,Section_howto.html#howto_2)
|
||||
:link(howto_3,Section_howto.html#howto_3)
|
||||
:link(howto_4,Section_howto.html#howto_4)
|
||||
:link(howto_5,Section_howto.html#howto_5)
|
||||
:link(howto_6,Section_howto.html#howto_6)
|
||||
:link(howto_7,Section_howto.html#howto_7)
|
||||
:link(howto_8,Section_howto.html#howto_8)
|
||||
:link(howto_9,Section_howto.html#howto_9)
|
||||
:link(howto_10,Section_howto.html#howto_10)
|
||||
:link(howto_11,Section_howto.html#howto_11)
|
||||
:link(howto_12,Section_howto.html#howto_12)
|
||||
:link(howto_13,Section_howto.html#howto_13)
|
||||
:link(howto_14,Section_howto.html#howto_14)
|
||||
:link(howto_15,Section_howto.html#howto_15)
|
||||
:link(howto_16,Section_howto.html#howto_16)
|
||||
:link(howto_17,Section_howto.html#howto_17)
|
||||
:link(howto_18,Section_howto.html#howto_18)
|
||||
:link(howto_19,Section_howto.html#howto_19)
|
||||
:link(howto_20,Section_howto.html#howto_20)
|
||||
:link(howto_21,Section_howto.html#howto_21)
|
||||
|
||||
:link(11_1,Section_errors.html#11_1)
|
||||
:link(11_2,Section_errors.html#11_2)
|
||||
:link(11_3,Section_errors.html#11_3)
|
||||
:link(mod_1,Section_modify.html#mod_1)
|
||||
:link(mod_2,Section_modify.html#mod_2)
|
||||
:link(mod_3,Section_modify.html#mod_3)
|
||||
:link(mod_4,Section_modify.html#mod_4)
|
||||
:link(mod_5,Section_modify.html#mod_5)
|
||||
:link(mod_6,Section_modify.html#mod_6)
|
||||
:link(mod_7,Section_modify.html#mod_7)
|
||||
:link(mod_8,Section_modify.html#mod_8)
|
||||
:link(mod_9,Section_modify.html#mod_9)
|
||||
:link(mod_10,Section_modify.html#mod_10)
|
||||
:link(mod_11,Section_modify.html#mod_11)
|
||||
:link(mod_12,Section_modify.html#mod_12)
|
||||
:link(mod_13,Section_modify.html#mod_13)
|
||||
:link(mod_14,Section_modify.html#mod_14)
|
||||
|
||||
:link(12_1,Section_history.html#12_1)
|
||||
:link(12_2,Section_history.html#12_2)
|
||||
:link(py_1,Section_python.html#py_1)
|
||||
:link(py_2,Section_python.html#py_2)
|
||||
:link(py_3,Section_python.html#py_3)
|
||||
:link(py_4,Section_python.html#py_4)
|
||||
:link(py_5,Section_python.html#py_5)
|
||||
:link(py_6,Section_python.html#py_6)
|
||||
:link(py_7,Section_python.html#py_7)
|
||||
|
||||
:link(err_1,Section_errors.html#err_1)
|
||||
:link(err_2,Section_errors.html#err_2)
|
||||
:link(err_3,Section_errors.html#err_3)
|
||||
|
||||
:link(hist_1,Section_history.html#hist_1)
|
||||
:link(hist_2,Section_history.html#hist_2)
|
||||
|
||||
</BODY>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<HTML>
|
||||
<CENTER><A HREF = "Section_python.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> -
|
||||
<A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Section_errors.html">Next
|
||||
<CENTER><A HREF = "Section_packages.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> -
|
||||
<A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Section_howto.html">Next
|
||||
Section</A>
|
||||
</CENTER>
|
||||
|
||||
@ -11,7 +11,7 @@ Section</A>
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>10. Using accelerated CPU and GPU styles
|
||||
<H3>5. Using accelerated CPU and GPU styles
|
||||
</H3>
|
||||
<P>Accelerated versions of various <A HREF = "pair_style.html">pair_style</A>,
|
||||
<A HREF = "fix.html">fixes</A>, <A HREF = "compute.html">computes</A>, and other commands have
|
||||
@ -36,7 +36,7 @@ style exist in LAMMPS:
|
||||
</UL>
|
||||
<P>Assuming you have built LAMMPS with the appropriate package, these
|
||||
styles can be invoked by specifying them explicitly in your input
|
||||
script. Or you can use the <A HREF = "Section_start.html#2_6">-suffix command-line
|
||||
script. Or you can use the <A HREF = "Section_start.html#start_6">-suffix command-line
|
||||
switch</A> to invoke the accelerated versions
|
||||
automatically, without changing your input script. The
|
||||
<A HREF = "suffix.html">suffix</A> command allows you to set a suffix explicitly and
|
||||
@ -47,10 +47,11 @@ input script.
|
||||
speed-up the pairwise calculations of your simulation by 5-25%.
|
||||
</P>
|
||||
<P>Styles with an "omp" suffix are part of the USER-OMP package and allow
|
||||
a pair-style to be run in threaded mode using OpenMP. This can be
|
||||
useful on nodes with high-core counts when using less MPI processes
|
||||
a pair-style to be run in multi-threaded mode using OpenMP. This can
|
||||
be useful on nodes with high-core counts when using less MPI processes
|
||||
than cores is advantageous, e.g. when running with PPPM so that FFTs
|
||||
are run on fewer MPI processors.
|
||||
are run on fewer MPI processors or when the many MPI tasks would
|
||||
overload the available bandwidth for communication.
|
||||
</P>
|
||||
<P>Styles with a "gpu" or "cuda" suffix are part of the GPU or USER-CUDA
|
||||
packages, and can be run on NVIDIA GPUs associated with your CPUs.
|
||||
@ -58,9 +59,9 @@ The speed-up due to GPU usage depends on a variety of factors, as
|
||||
discussed below.
|
||||
</P>
|
||||
<P>To see what styles are currently available in each of the accelerated
|
||||
packages, see <A HREF = "Section_commands.html#3_5">this section</A> of the manual.
|
||||
A list of accelerated styles is included in the pair, fix, compute,
|
||||
and kspace sections.
|
||||
packages, see <A HREF = "Section_commands.html#cmd_5">this section</A> of the
|
||||
manual. A list of accelerated styles is included in the pair, fix,
|
||||
compute, and kspace sections.
|
||||
</P>
|
||||
<P>The following sections explain:
|
||||
</P>
|
||||
@ -73,17 +74,17 @@ and kspace sections.
|
||||
<P>The final section compares and contrasts the GPU and USER-CUDA
|
||||
packages, since they are both designed to use NVIDIA GPU hardware.
|
||||
</P>
|
||||
10.1 <A HREF = "#10_1">OPT package</A><BR>
|
||||
10.5 <A HREF = "#10_2">USER-OMP package</A><BR>
|
||||
10.2 <A HREF = "#10_3">GPU package</A><BR>
|
||||
10.3 <A HREF = "#10_4">USER-CUDA package</A><BR>
|
||||
10.4 <A HREF = "#10_4">Comparison of GPU and USER-CUDA packages</A> <BR>
|
||||
5.1 <A HREF = "#acc_1">OPT package</A><BR>
|
||||
5.2 <A HREF = "#acc_2">USER-OMP package</A><BR>
|
||||
5.3 <A HREF = "#acc_3">GPU package</A><BR>
|
||||
5.4 <A HREF = "#acc_4">USER-CUDA package</A><BR>
|
||||
5.5 <A HREF = "#acc_5">Comparison of GPU and USER-CUDA packages</A> <BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "10_1"></A>10.1 OPT package
|
||||
<H4><A NAME = "acc_1"></A>5.1 OPT package
|
||||
</H4>
|
||||
<P>The OPT package was developed by James Fischer (High Performance
|
||||
Technologies), David Richie, and Vincent Natoli (Stone Ridge
|
||||
@ -112,16 +113,128 @@ to 20% savings.
|
||||
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "10_2"></A>10.2 USER-OMP package
|
||||
<H4><A NAME = "acc_2"></A>5.2 USER-OMP package
|
||||
</H4>
|
||||
<P>This section will be written when the USER-OMP package is released
|
||||
in main LAMMPS.
|
||||
<P>The USER-OMP package was developed by Axel Kohlmeyer at Temple University.
|
||||
It provides multi-threaded versions of most pair styles, all dihedral
|
||||
styles and a few fixes in LAMMPS. The package currently uses the OpenMP
|
||||
interface which requires using a specific compiler flag in the makefile
|
||||
to enable multiple threads; without this flag the corresponding pair
|
||||
styles will still be compiled and work, but do not support multi-threading.
|
||||
</P>
|
||||
<P><B>Building LAMMPS with the USER-OMP package:</B>
|
||||
</P>
|
||||
<P>The procedure for building LAMMPS with the USER-OMP package is simple.
|
||||
You have to edit your machine specific makefile to add the flag to
|
||||
enable OpenMP support to the CCFLAGS and LINKFLAGS variables. For the
|
||||
GNU compilers for example this flag is called <I>-fopenmp</I>. Check your
|
||||
compiler documentation to find out which flag you need to add.
|
||||
The rest of the compilation is the same as for any other package which
|
||||
has no additional library dependencies:
|
||||
</P>
|
||||
<PRE>make yes-user-omp
|
||||
make machine
|
||||
</PRE>
|
||||
<P>Please note that this will only install accelerated versions
|
||||
of styles that are already installed, so you want to install
|
||||
this package as the last package, or else you may be missing
|
||||
some accelerated styles. If you plan to uninstall some package,
|
||||
you should first uninstall the USER-OMP package then the other
|
||||
package and then re-install USER-OMP, to make sure that there
|
||||
are no orphaned <I>omp</I> style files present, which would lead to
|
||||
compilation errors.
|
||||
</P>
|
||||
<P>If your input script uses one of regular styles that are also
|
||||
exist as an OpenMP version in the USER-OMP package you can run
|
||||
it as follows:
|
||||
</P>
|
||||
<PRE>env OMP_NUM_THREADS=4 lmp_serial -sf omp -in in.script
|
||||
env OMP_NUM_THREADS=2 mpirun -np 2 lmp_machine -sf omp -in in.script
|
||||
mpirun -x OMP_NUM_THREADS=2 -np 2 lmp_machine -sf omp -in in.script
|
||||
</PRE>
|
||||
<P>The value of the environment variable OMP_NUM_THREADS determines how
|
||||
many threads per MPI task are launched. All three examples above use
|
||||
a total of 4 CPU cores. For different MPI implementations the method
|
||||
to pass the OMP_NUM_THREADS environment variable to all processes is
|
||||
different. Two different variants, one for MPICH and OpenMPI, respectively
|
||||
are shown above. Please check the documentation of your MPI installation
|
||||
for additional details. Alternatively, the value provided by OMP_NUM_THREADS
|
||||
can be overridded with the <A HREF = "package.html">package omp</A> command.
|
||||
Depending on which styles are accelerated in your input, you should
|
||||
see a reduction in the "Pair time" and/or "Bond time" and "Loop time"
|
||||
printed out at the end of the run. The optimal ratio of MPI to OpenMP
|
||||
can vary a lot and should always be confirmed through some benchmark
|
||||
runs for the current system and on the current machine.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>None of the pair styles in the USER-OMP package support the "inner",
|
||||
"middle", "outer" options for r-RESPA integration, only the "pair"
|
||||
option is supported.
|
||||
</P>
|
||||
<P><B>Parallel efficiency and performance tips:</B>
|
||||
</P>
|
||||
<P>In most simple cases the MPI parallelization in LAMMPS is more
|
||||
efficient than multi-threading implemented in the USER-OMP package.
|
||||
Also the parallel efficiency varies between individual styles.
|
||||
On the other hand, in many cases you still want to use the <I>omp</I> version
|
||||
- even when compiling or running without OpenMP support - since they
|
||||
all contain optimizations similar to those in the OPT package, which
|
||||
can result in serial speedup.
|
||||
</P>
|
||||
<P>Using multi-threading is most effective under the following circumstances:
|
||||
</P>
|
||||
<UL><LI>Individual compute nodes have a significant number of CPU cores
|
||||
but the CPU itself has limited memory bandwidth, e.g. Intel Xeon 53xx
|
||||
(Clovertown) and 54xx (Harpertown) quad core processors. Running
|
||||
one MPI task per CPU core will result in significant performance
|
||||
degradation, so that running with 4 or even only 2 MPI tasks per
|
||||
nodes is faster. Running in hybrid MPI+OpenMP mode will reduce the
|
||||
inter-node communication bandwidth contention in the same way,
|
||||
but offers and additional speedup from utilizing the otherwise
|
||||
idle CPU cores.
|
||||
|
||||
<LI>The interconnect used for MPI communication is not able to provide
|
||||
sufficient bandwidth for a large number of MPI tasks per node.
|
||||
This applies for example to running over gigabit ethernet or
|
||||
on Cray XT4 or XT5 series supercomputers. Same as in the aforementioned
|
||||
case this effect worsens with using an increasing number of nodes.
|
||||
|
||||
<LI>The input is a system that has an inhomogeneous particle density
|
||||
which cannot be mapped well to the domain decomposition scheme
|
||||
that LAMMPS employs. While this can be to some degree alleviated
|
||||
through using the <A HREF = "processors.html">processors</A> keyword, multi-threading
|
||||
provides a parallelism that parallelizes over the number of particles
|
||||
not their distribution in space.
|
||||
|
||||
<LI>Finally, multi-threaded styles can improve performance when running
|
||||
LAMMPS in "capability mode", i.e. near the point where the MPI
|
||||
parallelism scales out. This can happen in particular when using
|
||||
as kspace style for long-range electrostatics. Here the scaling
|
||||
of the kspace style is the performance limiting factor and using
|
||||
multi-threaded styles allows to operate the kspace style at the
|
||||
limit of scaling and then increase performance parallelizing
|
||||
the real space calculations with hybrid MPI+OpenMP. Sometimes
|
||||
additional speedup can be achived by increasing the real-space
|
||||
coulomb cutoff and thus reducing the work in the kspace part.
|
||||
</UL>
|
||||
<P>The best parallel efficiency from <I>omp</I> styles is typically
|
||||
achieved when there is at least one MPI task per physical
|
||||
processor, i.e. socket or die.
|
||||
</P>
|
||||
<P>Using threads on hyper-threading enabled cores is usually
|
||||
counterproductive, as the cost in additional memory bandwidth
|
||||
requirements is not offset by the gain in CPU utilization
|
||||
through hyper-threading.
|
||||
</P>
|
||||
<P>A description of the multi-threading strategy and some performance
|
||||
examples are <A HREF = "http://sites.google.com/site/akohlmey/software/lammps-icms/lammps-icms-tms2011-talk.pdf?attredirects=0&d=1">presented here</A>
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "10_3"></A>10.3 GPU package
|
||||
<H4><A NAME = "acc_3"></A>5.3 GPU package
|
||||
</H4>
|
||||
<P>The GPU package was developed by Mike Brown at ORNL. It provides GPU
|
||||
versions of several pair styles and for long-range Coulombics via the
|
||||
@ -164,10 +277,10 @@ hardware and install specific NVIDIA CUDA software on your system:
|
||||
</P>
|
||||
<P>As with other packages that include a separately compiled library, you
|
||||
need to first build the GPU library, before building LAMMPS itself.
|
||||
General instructions for doing this are in <A HREF = "doc/Section_start.html#2_3">this
|
||||
section</A> of the manual. For this package,
|
||||
do the following, using a Makefile in lib/gpu appropriate for your
|
||||
system:
|
||||
General instructions for doing this are in <A HREF = "doc/Section_start.html#start_3">this
|
||||
section</A> of the manual. For this
|
||||
package, do the following, using a Makefile in lib/gpu appropriate for
|
||||
your system:
|
||||
</P>
|
||||
<PRE>cd lammps/lib/gpu
|
||||
make -f Makefile.linux
|
||||
@ -201,7 +314,7 @@ and in many cases it will be more efficient to run this way.
|
||||
</P>
|
||||
<UL><LI>To invoke specific styles from the GPU package, you can either append
|
||||
"gpu" to the style name (e.g. pair_style lj/cut/gpu), or use the
|
||||
<A HREF = "Section_start.html#2_6">-suffix command-line switch</A>, or use the
|
||||
<A HREF = "Section_start.html#start_6">-suffix command-line switch</A>, or use the
|
||||
<A HREF = "suffix.html">suffix</A> command.
|
||||
|
||||
<LI>The <A HREF = "newton.html">newton pair</A> setting must be <I>off</I>.
|
||||
@ -263,7 +376,7 @@ requires that your GPU card support double precision.
|
||||
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "10_4"></A>10.4 USER-CUDA package
|
||||
<H4><A NAME = "acc_4"></A>5.4 USER-CUDA package
|
||||
</H4>
|
||||
<P>The USER-CUDA package was developed by Christian Trott at U Technology
|
||||
Ilmenau in Germany. It provides NVIDIA GPU versions of many pair
|
||||
@ -275,6 +388,9 @@ many timesteps, to run entirely on the GPU (except for inter-processor
|
||||
MPI communication), so that atom-based data (e.g. coordinates, forces)
|
||||
do not have to move back-and-forth between the CPU and GPU.
|
||||
|
||||
<LI>The speed-up advantage of this approach is typically better when the
|
||||
number of atoms per GPU is large
|
||||
|
||||
<LI>Data will stay on the GPU until a timestep where a non-GPU-ized fix or
|
||||
compute is invoked. Whenever a non-GPU operation occurs (fix,
|
||||
compute, output), data automatically moves back to the CPU as needed.
|
||||
@ -306,10 +422,10 @@ that its sample projects can be compiled without problems.
|
||||
</P>
|
||||
<P>As with other packages that include a separately compiled library, you
|
||||
need to first build the USER-CUDA library, before building LAMMPS
|
||||
itself. General instructions for doing this are in <A HREF = "doc/Section_start.html#2_3">this
|
||||
section</A> of the manual. For this package,
|
||||
do the following, using settings in the lib/cuda Makefiles appropriate
|
||||
for your system:
|
||||
itself. General instructions for doing this are in <A HREF = "doc/Section_start.html#start_3">this
|
||||
section</A> of the manual. For this
|
||||
package, do the following, using settings in the lib/cuda Makefiles
|
||||
appropriate for your system:
|
||||
</P>
|
||||
<UL><LI>Go to the lammps/lib/cuda directory
|
||||
|
||||
@ -363,16 +479,16 @@ suffix are as follows:
|
||||
</P>
|
||||
<UL><LI>To invoke specific styles from the USER-CUDA package, you can either
|
||||
append "cuda" to the style name (e.g. pair_style lj/cut/cuda), or use
|
||||
the <A HREF = "Section_start.html#2_6">-suffix command-line switch</A>, or use the
|
||||
<A HREF = "suffix.html">suffix</A> command. One exception is that the <A HREF = "kspace_style.html">kspace_style
|
||||
pppm/cuda</A> command has to be requested
|
||||
the <A HREF = "Section_start.html#start_6">-suffix command-line switch</A>, or use
|
||||
the <A HREF = "suffix.html">suffix</A> command. One exception is that the
|
||||
<A HREF = "kspace_style.html">kspace_style pppm/cuda</A> command has to be requested
|
||||
explicitly.
|
||||
|
||||
<LI>To use the USER-CUDA package with its default settings, no additional
|
||||
command is needed in your input script. This is because when LAMMPS
|
||||
starts up, it detects if it has been built with the USER-CUDA package.
|
||||
See the <A HREF = "Section_start.html#2_6">-cuda command-line switch</A> for more
|
||||
details.
|
||||
See the <A HREF = "Section_start.html#start_6">-cuda command-line switch</A> for
|
||||
more details.
|
||||
|
||||
<LI>To change settings for the USER-CUDA package at run-time, the <A HREF = "package.html">package
|
||||
cuda</A> command can be used near the beginning of your
|
||||
@ -396,7 +512,7 @@ occurs, the faster your simulation will run.
|
||||
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "10_5"></A>10.5 Comparison of GPU and USER-CUDA packages
|
||||
<H4><A NAME = "acc_5"></A>5.5 Comparison of GPU and USER-CUDA packages
|
||||
</H4>
|
||||
<P>Both the GPU and USER-CUDA packages accelerate a LAMMPS calculation
|
||||
using NVIDIA hardware, but they do it in different ways.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
"Previous Section"_Section_python.html - "LAMMPS WWW Site"_lws -
|
||||
"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws -
|
||||
"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
|
||||
Section"_Section_errors.html :c
|
||||
Section"_Section_howto.html :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
@ -8,7 +8,7 @@ Section"_Section_errors.html :c
|
||||
|
||||
:line
|
||||
|
||||
10. Using accelerated CPU and GPU styles :h3
|
||||
5. Using accelerated CPU and GPU styles :h3
|
||||
|
||||
Accelerated versions of various "pair_style"_pair_style.html,
|
||||
"fixes"_fix.html, "computes"_compute.html, and other commands have
|
||||
@ -34,7 +34,7 @@ style exist in LAMMPS:
|
||||
Assuming you have built LAMMPS with the appropriate package, these
|
||||
styles can be invoked by specifying them explicitly in your input
|
||||
script. Or you can use the "-suffix command-line
|
||||
switch"_Section_start.html#2_6 to invoke the accelerated versions
|
||||
switch"_Section_start.html#start_6 to invoke the accelerated versions
|
||||
automatically, without changing your input script. The
|
||||
"suffix"_suffix.html command allows you to set a suffix explicitly and
|
||||
to turn off/on the comand-line switch setting, both from within your
|
||||
@ -44,10 +44,11 @@ Styles with an "opt" suffix are part of the OPT package and typically
|
||||
speed-up the pairwise calculations of your simulation by 5-25%.
|
||||
|
||||
Styles with an "omp" suffix are part of the USER-OMP package and allow
|
||||
a pair-style to be run in threaded mode using OpenMP. This can be
|
||||
useful on nodes with high-core counts when using less MPI processes
|
||||
a pair-style to be run in multi-threaded mode using OpenMP. This can
|
||||
be useful on nodes with high-core counts when using less MPI processes
|
||||
than cores is advantageous, e.g. when running with PPPM so that FFTs
|
||||
are run on fewer MPI processors.
|
||||
are run on fewer MPI processors or when the many MPI tasks would
|
||||
overload the available bandwidth for communication.
|
||||
|
||||
Styles with a "gpu" or "cuda" suffix are part of the GPU or USER-CUDA
|
||||
packages, and can be run on NVIDIA GPUs associated with your CPUs.
|
||||
@ -55,9 +56,9 @@ The speed-up due to GPU usage depends on a variety of factors, as
|
||||
discussed below.
|
||||
|
||||
To see what styles are currently available in each of the accelerated
|
||||
packages, see "this section"_Section_commands.html#3_5 of the manual.
|
||||
A list of accelerated styles is included in the pair, fix, compute,
|
||||
and kspace sections.
|
||||
packages, see "this section"_Section_commands.html#cmd_5 of the
|
||||
manual. A list of accelerated styles is included in the pair, fix,
|
||||
compute, and kspace sections.
|
||||
|
||||
The following sections explain:
|
||||
|
||||
@ -70,16 +71,16 @@ speed-ups you can expect :ul
|
||||
The final section compares and contrasts the GPU and USER-CUDA
|
||||
packages, since they are both designed to use NVIDIA GPU hardware.
|
||||
|
||||
10.1 "OPT package"_#10_1
|
||||
10.5 "USER-OMP package"_#10_2
|
||||
10.2 "GPU package"_#10_3
|
||||
10.3 "USER-CUDA package"_#10_4
|
||||
10.4 "Comparison of GPU and USER-CUDA packages"_#10_4 :all(b)
|
||||
5.1 "OPT package"_#acc_1
|
||||
5.2 "USER-OMP package"_#acc_2
|
||||
5.3 "GPU package"_#acc_3
|
||||
5.4 "USER-CUDA package"_#acc_4
|
||||
5.5 "Comparison of GPU and USER-CUDA packages"_#acc_5 :all(b)
|
||||
|
||||
:line
|
||||
:line
|
||||
|
||||
10.1 OPT package :h4,link(10_1)
|
||||
5.1 OPT package :h4,link(acc_1)
|
||||
|
||||
The OPT package was developed by James Fischer (High Performance
|
||||
Technologies), David Richie, and Vincent Natoli (Stone Ridge
|
||||
@ -107,15 +108,127 @@ to 20% savings.
|
||||
:line
|
||||
:line
|
||||
|
||||
10.2 USER-OMP package :h4,link(10_2)
|
||||
5.2 USER-OMP package :h4,link(acc_2)
|
||||
|
||||
This section will be written when the USER-OMP package is released
|
||||
in main LAMMPS.
|
||||
The USER-OMP package was developed by Axel Kohlmeyer at Temple University.
|
||||
It provides multi-threaded versions of most pair styles, all dihedral
|
||||
styles and a few fixes in LAMMPS. The package currently uses the OpenMP
|
||||
interface which requires using a specific compiler flag in the makefile
|
||||
to enable multiple threads; without this flag the corresponding pair
|
||||
styles will still be compiled and work, but do not support multi-threading.
|
||||
|
||||
[Building LAMMPS with the USER-OMP package:]
|
||||
|
||||
The procedure for building LAMMPS with the USER-OMP package is simple.
|
||||
You have to edit your machine specific makefile to add the flag to
|
||||
enable OpenMP support to the CCFLAGS and LINKFLAGS variables. For the
|
||||
GNU compilers for example this flag is called {-fopenmp}. Check your
|
||||
compiler documentation to find out which flag you need to add.
|
||||
The rest of the compilation is the same as for any other package which
|
||||
has no additional library dependencies:
|
||||
|
||||
make yes-user-omp
|
||||
make machine :pre
|
||||
|
||||
Please note that this will only install accelerated versions
|
||||
of styles that are already installed, so you want to install
|
||||
this package as the last package, or else you may be missing
|
||||
some accelerated styles. If you plan to uninstall some package,
|
||||
you should first uninstall the USER-OMP package then the other
|
||||
package and then re-install USER-OMP, to make sure that there
|
||||
are no orphaned {omp} style files present, which would lead to
|
||||
compilation errors.
|
||||
|
||||
If your input script uses one of regular styles that are also
|
||||
exist as an OpenMP version in the USER-OMP package you can run
|
||||
it as follows:
|
||||
|
||||
env OMP_NUM_THREADS=4 lmp_serial -sf omp -in in.script
|
||||
env OMP_NUM_THREADS=2 mpirun -np 2 lmp_machine -sf omp -in in.script
|
||||
mpirun -x OMP_NUM_THREADS=2 -np 2 lmp_machine -sf omp -in in.script :pre
|
||||
|
||||
The value of the environment variable OMP_NUM_THREADS determines how
|
||||
many threads per MPI task are launched. All three examples above use
|
||||
a total of 4 CPU cores. For different MPI implementations the method
|
||||
to pass the OMP_NUM_THREADS environment variable to all processes is
|
||||
different. Two different variants, one for MPICH and OpenMPI, respectively
|
||||
are shown above. Please check the documentation of your MPI installation
|
||||
for additional details. Alternatively, the value provided by OMP_NUM_THREADS
|
||||
can be overridded with the "package omp"_package.html command.
|
||||
Depending on which styles are accelerated in your input, you should
|
||||
see a reduction in the "Pair time" and/or "Bond time" and "Loop time"
|
||||
printed out at the end of the run. The optimal ratio of MPI to OpenMP
|
||||
can vary a lot and should always be confirmed through some benchmark
|
||||
runs for the current system and on the current machine.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
None of the pair styles in the USER-OMP package support the "inner",
|
||||
"middle", "outer" options for r-RESPA integration, only the "pair"
|
||||
option is supported.
|
||||
|
||||
[Parallel efficiency and performance tips:]
|
||||
|
||||
In most simple cases the MPI parallelization in LAMMPS is more
|
||||
efficient than multi-threading implemented in the USER-OMP package.
|
||||
Also the parallel efficiency varies between individual styles.
|
||||
On the other hand, in many cases you still want to use the {omp} version
|
||||
- even when compiling or running without OpenMP support - since they
|
||||
all contain optimizations similar to those in the OPT package, which
|
||||
can result in serial speedup.
|
||||
|
||||
Using multi-threading is most effective under the following circumstances:
|
||||
|
||||
Individual compute nodes have a significant number of CPU cores
|
||||
but the CPU itself has limited memory bandwidth, e.g. Intel Xeon 53xx
|
||||
(Clovertown) and 54xx (Harpertown) quad core processors. Running
|
||||
one MPI task per CPU core will result in significant performance
|
||||
degradation, so that running with 4 or even only 2 MPI tasks per
|
||||
nodes is faster. Running in hybrid MPI+OpenMP mode will reduce the
|
||||
inter-node communication bandwidth contention in the same way,
|
||||
but offers and additional speedup from utilizing the otherwise
|
||||
idle CPU cores. :ulb,l
|
||||
|
||||
The interconnect used for MPI communication is not able to provide
|
||||
sufficient bandwidth for a large number of MPI tasks per node.
|
||||
This applies for example to running over gigabit ethernet or
|
||||
on Cray XT4 or XT5 series supercomputers. Same as in the aforementioned
|
||||
case this effect worsens with using an increasing number of nodes. :l
|
||||
|
||||
The input is a system that has an inhomogeneous particle density
|
||||
which cannot be mapped well to the domain decomposition scheme
|
||||
that LAMMPS employs. While this can be to some degree alleviated
|
||||
through using the "processors"_processors.html keyword, multi-threading
|
||||
provides a parallelism that parallelizes over the number of particles
|
||||
not their distribution in space. :l
|
||||
|
||||
Finally, multi-threaded styles can improve performance when running
|
||||
LAMMPS in "capability mode", i.e. near the point where the MPI
|
||||
parallelism scales out. This can happen in particular when using
|
||||
as kspace style for long-range electrostatics. Here the scaling
|
||||
of the kspace style is the performance limiting factor and using
|
||||
multi-threaded styles allows to operate the kspace style at the
|
||||
limit of scaling and then increase performance parallelizing
|
||||
the real space calculations with hybrid MPI+OpenMP. Sometimes
|
||||
additional speedup can be achived by increasing the real-space
|
||||
coulomb cutoff and thus reducing the work in the kspace part. :l,ule
|
||||
|
||||
The best parallel efficiency from {omp} styles is typically
|
||||
achieved when there is at least one MPI task per physical
|
||||
processor, i.e. socket or die.
|
||||
|
||||
Using threads on hyper-threading enabled cores is usually
|
||||
counterproductive, as the cost in additional memory bandwidth
|
||||
requirements is not offset by the gain in CPU utilization
|
||||
through hyper-threading.
|
||||
|
||||
A description of the multi-threading strategy and some performance
|
||||
examples are "presented here"_http://sites.google.com/site/akohlmey/software/lammps-icms/lammps-icms-tms2011-talk.pdf?attredirects=0&d=1
|
||||
|
||||
:line
|
||||
:line
|
||||
|
||||
10.3 GPU package :h4,link(10_3)
|
||||
5.3 GPU package :h4,link(acc_3)
|
||||
|
||||
The GPU package was developed by Mike Brown at ORNL. It provides GPU
|
||||
versions of several pair styles and for long-range Coulombics via the
|
||||
@ -159,9 +272,9 @@ Run lammps/lib/gpu/nvc_get_devices to list supported devices and properties :ul
|
||||
As with other packages that include a separately compiled library, you
|
||||
need to first build the GPU library, before building LAMMPS itself.
|
||||
General instructions for doing this are in "this
|
||||
section"_doc/Section_start.html#2_3 of the manual. For this package,
|
||||
do the following, using a Makefile in lib/gpu appropriate for your
|
||||
system:
|
||||
section"_doc/Section_start.html#start_3 of the manual. For this
|
||||
package, do the following, using a Makefile in lib/gpu appropriate for
|
||||
your system:
|
||||
|
||||
cd lammps/lib/gpu
|
||||
make -f Makefile.linux
|
||||
@ -195,7 +308,7 @@ Additional input script requirements to run pair or PPPM styles with a
|
||||
|
||||
To invoke specific styles from the GPU package, you can either append
|
||||
"gpu" to the style name (e.g. pair_style lj/cut/gpu), or use the
|
||||
"-suffix command-line switch"_Section_start.html#2_6, or use the
|
||||
"-suffix command-line switch"_Section_start.html#start_6, or use the
|
||||
"suffix"_suffix.html command. :ulb,l
|
||||
|
||||
The "newton pair"_newton.html setting must be {off}. :l
|
||||
@ -256,7 +369,7 @@ requires that your GPU card support double precision.
|
||||
:line
|
||||
:line
|
||||
|
||||
10.4 USER-CUDA package :h4,link(10_4)
|
||||
5.4 USER-CUDA package :h4,link(acc_4)
|
||||
|
||||
The USER-CUDA package was developed by Christian Trott at U Technology
|
||||
Ilmenau in Germany. It provides NVIDIA GPU versions of many pair
|
||||
@ -268,6 +381,9 @@ many timesteps, to run entirely on the GPU (except for inter-processor
|
||||
MPI communication), so that atom-based data (e.g. coordinates, forces)
|
||||
do not have to move back-and-forth between the CPU and GPU. :ulb,l
|
||||
|
||||
The speed-up advantage of this approach is typically better when the
|
||||
number of atoms per GPU is large :l
|
||||
|
||||
Data will stay on the GPU until a timestep where a non-GPU-ized fix or
|
||||
compute is invoked. Whenever a non-GPU operation occurs (fix,
|
||||
compute, output), data automatically moves back to the CPU as needed.
|
||||
@ -300,9 +416,9 @@ that its sample projects can be compiled without problems.
|
||||
As with other packages that include a separately compiled library, you
|
||||
need to first build the USER-CUDA library, before building LAMMPS
|
||||
itself. General instructions for doing this are in "this
|
||||
section"_doc/Section_start.html#2_3 of the manual. For this package,
|
||||
do the following, using settings in the lib/cuda Makefiles appropriate
|
||||
for your system:
|
||||
section"_doc/Section_start.html#start_3 of the manual. For this
|
||||
package, do the following, using settings in the lib/cuda Makefiles
|
||||
appropriate for your system:
|
||||
|
||||
Go to the lammps/lib/cuda directory :ulb,l
|
||||
|
||||
@ -356,16 +472,16 @@ suffix are as follows:
|
||||
|
||||
To invoke specific styles from the USER-CUDA package, you can either
|
||||
append "cuda" to the style name (e.g. pair_style lj/cut/cuda), or use
|
||||
the "-suffix command-line switch"_Section_start.html#2_6, or use the
|
||||
"suffix"_suffix.html command. One exception is that the "kspace_style
|
||||
pppm/cuda"_kspace_style.html command has to be requested
|
||||
the "-suffix command-line switch"_Section_start.html#start_6, or use
|
||||
the "suffix"_suffix.html command. One exception is that the
|
||||
"kspace_style pppm/cuda"_kspace_style.html command has to be requested
|
||||
explicitly. :ulb,l
|
||||
|
||||
To use the USER-CUDA package with its default settings, no additional
|
||||
command is needed in your input script. This is because when LAMMPS
|
||||
starts up, it detects if it has been built with the USER-CUDA package.
|
||||
See the "-cuda command-line switch"_Section_start.html#2_6 for more
|
||||
details. :l
|
||||
See the "-cuda command-line switch"_Section_start.html#start_6 for
|
||||
more details. :l
|
||||
|
||||
To change settings for the USER-CUDA package at run-time, the "package
|
||||
cuda"_package.html command can be used near the beginning of your
|
||||
@ -388,7 +504,7 @@ occurs, the faster your simulation will run.
|
||||
:line
|
||||
:line
|
||||
|
||||
10.5 Comparison of GPU and USER-CUDA packages :h4,link(10_5)
|
||||
5.5 Comparison of GPU and USER-CUDA packages :h4,link(acc_5)
|
||||
|
||||
Both the GPU and USER-CUDA packages accelerate a LAMMPS calculation
|
||||
using NVIDIA hardware, but they do it in different ways.
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<HTML>
|
||||
<CENTER><A HREF = "Section_start.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Section_howto.html">Next Section</A>
|
||||
<CENTER><A HREF = "Section_start.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Section_packages.html">Next Section</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
@ -14,15 +14,15 @@
|
||||
<P>This section describes how a LAMMPS input script is formatted and what
|
||||
commands are used to define a LAMMPS simulation.
|
||||
</P>
|
||||
3.1 <A HREF = "#3_1">LAMMPS input script</A><BR>
|
||||
3.2 <A HREF = "#3_2">Parsing rules</A><BR>
|
||||
3.3 <A HREF = "#3_3">Input script structure</A><BR>
|
||||
3.4 <A HREF = "#3_4">Commands listed by category</A><BR>
|
||||
3.5 <A HREF = "#3_5">Commands listed alphabetically</A> <BR>
|
||||
3.1 <A HREF = "#cmd_1">LAMMPS input script</A><BR>
|
||||
3.2 <A HREF = "#cmd_2">Parsing rules</A><BR>
|
||||
3.3 <A HREF = "#cmd_3">Input script structure</A><BR>
|
||||
3.4 <A HREF = "#cmd_4">Commands listed by category</A><BR>
|
||||
3.5 <A HREF = "#cmd_5">Commands listed alphabetically</A> <BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "3_1"></A><H4>3.1 LAMMPS input script
|
||||
<A NAME = "cmd_1"></A><H4>3.1 LAMMPS input script
|
||||
</H4>
|
||||
<P>LAMMPS executes by reading commands from a input script (text file),
|
||||
one line at a time. When the input script ends, LAMMPS exits. Each
|
||||
@ -75,7 +75,7 @@ command lists restrictions on how the command can be used.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "3_2"></A><H4>3.2 Parsing rules
|
||||
<A NAME = "cmd_2"></A><H4>3.2 Parsing rules
|
||||
</H4>
|
||||
<P>Each non-blank line in the input script is treated as a command.
|
||||
LAMMPS commands are case sensitive. Command names are lower-case, as
|
||||
@ -134,7 +134,7 @@ allowed, but that should be sufficient for most use cases.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "3_3"></A>3.3 Input script structure
|
||||
<H4><A NAME = "cmd_3"></A>3.3 Input script structure
|
||||
</H4>
|
||||
<P>This section describes the structure of a typical LAMMPS input script.
|
||||
The "examples" directory in the LAMMPS distribution contains many
|
||||
@ -223,11 +223,11 @@ the <A HREF = "minimize.html">minimize</A> command. A parallel tempering
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "3_4"></A><H4>3.4 Commands listed by category
|
||||
<A NAME = "cmd_4"></A><H4>3.4 Commands listed by category
|
||||
</H4>
|
||||
<P>This section lists all LAMMPS commands, grouped by category. The
|
||||
<A HREF = "#3_5">next section</A> lists the same commands alphabetically. Note that
|
||||
some style options for some commands are part of specific LAMMPS
|
||||
<A HREF = "#cmd_5">next section</A> 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
|
||||
@ -300,12 +300,12 @@ in the command's documentation.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "3_5"></A><A NAME = "comm"></A>3.5 Individual commands
|
||||
<H4><A NAME = "cmd_5"></A><A NAME = "comm"></A>3.5 Individual commands
|
||||
</H4>
|
||||
<P>This section lists all LAMMPS commands alphabetically, with a separate
|
||||
listing below of styles within certain commands. The <A HREF = "#3_4">previous
|
||||
section</A> lists the same commands, grouped by category. Note that
|
||||
some style options for some commands are part of specific LAMMPS
|
||||
listing below of styles within certain commands. The <A HREF = "#cmd_4">previous
|
||||
section</A> 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
|
||||
@ -338,22 +338,25 @@ of each style or click on the style itself for a full description:
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_adapt.html">adapt</A></TD><TD ><A HREF = "fix_addforce.html">addforce</A></TD><TD ><A HREF = "fix_aveforce.html">aveforce</A></TD><TD ><A HREF = "fix_ave_atom.html">ave/atom</A></TD><TD ><A HREF = "fix_ave_correlate.html">ave/correlate</A></TD><TD ><A HREF = "fix_ave_histo.html">ave/histo</A></TD><TD ><A HREF = "fix_ave_spatial.html">ave/spatial</A></TD><TD ><A HREF = "fix_ave_time.html">ave/time</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_bond_break.html">bond/break</A></TD><TD ><A HREF = "fix_bond_create.html">bond/create</A></TD><TD ><A HREF = "fix_bond_swap.html">bond/swap</A></TD><TD ><A HREF = "fix_box_relax.html">box/relax</A></TD><TD ><A HREF = "fix_deform.html">deform</A></TD><TD ><A HREF = "fix_deposit.html">deposit</A></TD><TD ><A HREF = "fix_drag.html">drag</A></TD><TD ><A HREF = "fix_dt_reset.html">dt/reset</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_efield.html">efield</A></TD><TD ><A HREF = "fix_enforce2d.html">enforce2d</A></TD><TD ><A HREF = "fix_evaporate.html">evaporate</A></TD><TD ><A HREF = "fix_external.html">external</A></TD><TD ><A HREF = "fix_freeze.html">freeze</A></TD><TD ><A HREF = "fix_gravity.html">gravity</A></TD><TD ><A HREF = "fix_heat.html">heat</A></TD><TD ><A HREF = "fix_indent.html">indent</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_langevin.html">langevin</A></TD><TD ><A HREF = "fix_lineforce.html">lineforce</A></TD><TD ><A HREF = "fix_momentum.html">momentum</A></TD><TD ><A HREF = "fix_move.html">move</A></TD><TD ><A HREF = "fix_msst.html">msst</A></TD><TD ><A HREF = "fix_neb.html">neb</A></TD><TD ><A HREF = "fix_nh.html">nph</A></TD><TD ><A HREF = "fix_nph_asphere.html">nph/asphere</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nph_sphere.html">nph/sphere</A></TD><TD ><A HREF = "fix_nh.html">npt</A></TD><TD ><A HREF = "fix_npt_asphere.html">npt/asphere</A></TD><TD ><A HREF = "fix_npt_sphere.html">npt/sphere</A></TD><TD ><A HREF = "fix_nve.html">nve</A></TD><TD ><A HREF = "fix_nve_asphere.html">nve/asphere</A></TD><TD ><A HREF = "fix_nve_limit.html">nve/limit</A></TD><TD ><A HREF = "fix_nve_noforce.html">nve/noforce</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nve_sphere.html">nve/sphere</A></TD><TD ><A HREF = "fix_nh.html">nvt</A></TD><TD ><A HREF = "fix_nvt_asphere.html">nvt/asphere</A></TD><TD ><A HREF = "fix_nvt_sllod.html">nvt/sllod</A></TD><TD ><A HREF = "fix_nvt_sphere.html">nvt/sphere</A></TD><TD ><A HREF = "fix_orient_fcc.html">orient/fcc</A></TD><TD ><A HREF = "fix_planeforce.html">planeforce</A></TD><TD ><A HREF = "fix_poems.html">poems</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_pour.html">pour</A></TD><TD ><A HREF = "fix_press_berendsen.html">press/berendsen</A></TD><TD ><A HREF = "fix_print.html">print</A></TD><TD ><A HREF = "fix_qeq_comb.html">qeq/comb</A></TD><TD ><A HREF = "fix_reax_bonds.html">reax/bonds</A></TD><TD ><A HREF = "fix_recenter.html">recenter</A></TD><TD ><A HREF = "fix_rigid.html">rigid</A></TD><TD ><A HREF = "fix_rigid.html">rigid/nve</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_rigid.html">rigid/nvt</A></TD><TD ><A HREF = "fix_setforce.html">setforce</A></TD><TD ><A HREF = "fix_shake.html">shake</A></TD><TD ><A HREF = "fix_spring.html">spring</A></TD><TD ><A HREF = "fix_spring_rg.html">spring/rg</A></TD><TD ><A HREF = "fix_spring_self.html">spring/self</A></TD><TD ><A HREF = "fix_srd.html">srd</A></TD><TD ><A HREF = "fix_store_force.html">store/force</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_store_state.html">store/state</A></TD><TD ><A HREF = "fix_temp_berendsen.html">temp/berendsen</A></TD><TD ><A HREF = "fix_temp_rescale.html">temp/rescale</A></TD><TD ><A HREF = "fix_thermal_conductivity.html">thermal/conductivity</A></TD><TD ><A HREF = "fix_tmd.html">tmd</A></TD><TD ><A HREF = "fix_ttm.html">ttm</A></TD><TD ><A HREF = "fix_viscosity.html">viscosity</A></TD><TD ><A HREF = "fix_viscous.html">viscous</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_wall.html">wall/colloid</A></TD><TD ><A HREF = "fix_wall_gran.html">wall/gran</A></TD><TD ><A HREF = "fix_wall.html">wall/harmonic</A></TD><TD ><A HREF = "fix_wall.html">wall/lj126</A></TD><TD ><A HREF = "fix_wall.html">wall/lj93</A></TD><TD ><A HREF = "fix_wall_reflect.html">wall/reflect</A></TD><TD ><A HREF = "fix_wall_region.html">wall/region</A></TD><TD ><A HREF = "fix_wall_srd.html">wall/srd</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_efield.html">efield</A></TD><TD ><A HREF = "fix_enforce2d.html">enforce2d</A></TD><TD ><A HREF = "fix_evaporate.html">evaporate</A></TD><TD ><A HREF = "fix_external.html">external</A></TD><TD ><A HREF = "fix_freeze.html">freeze</A></TD><TD ><A HREF = "fix_gcmc.html">gcmc</A></TD><TD ><A HREF = "fix_gravity.html">gravity</A></TD><TD ><A HREF = "fix_heat.html">heat</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_indent.html">indent</A></TD><TD ><A HREF = "fix_langevin.html">langevin</A></TD><TD ><A HREF = "fix_lineforce.html">lineforce</A></TD><TD ><A HREF = "fix_momentum.html">momentum</A></TD><TD ><A HREF = "fix_move.html">move</A></TD><TD ><A HREF = "fix_msst.html">msst</A></TD><TD ><A HREF = "fix_neb.html">neb</A></TD><TD ><A HREF = "fix_nh.html">nph</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nphug.html">nphug</A></TD><TD ><A HREF = "fix_nph_asphere.html">nph/asphere</A></TD><TD ><A HREF = "fix_nph_sphere.html">nph/sphere</A></TD><TD ><A HREF = "fix_nh.html">npt</A></TD><TD ><A HREF = "fix_npt_asphere.html">npt/asphere</A></TD><TD ><A HREF = "fix_npt_sphere.html">npt/sphere</A></TD><TD ><A HREF = "fix_nve.html">nve</A></TD><TD ><A HREF = "fix_nve_asphere.html">nve/asphere</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nve_asphere_noforce.html">nve/asphere/noforce</A></TD><TD ><A HREF = "fix_nve_limit.html">nve/limit</A></TD><TD ><A HREF = "fix_nve_line.html">nve/line</A></TD><TD ><A HREF = "fix_nve_noforce.html">nve/noforce</A></TD><TD ><A HREF = "fix_nve_sphere.html">nve/sphere</A></TD><TD ><A HREF = "fix_nve_tri.html">nve/tri</A></TD><TD ><A HREF = "fix_nh.html">nvt</A></TD><TD ><A HREF = "fix_nvt_asphere.html">nvt/asphere</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nvt_sllod.html">nvt/sllod</A></TD><TD ><A HREF = "fix_nvt_sphere.html">nvt/sphere</A></TD><TD ><A HREF = "fix_orient_fcc.html">orient/fcc</A></TD><TD ><A HREF = "fix_planeforce.html">planeforce</A></TD><TD ><A HREF = "fix_poems.html">poems</A></TD><TD ><A HREF = "fix_pour.html">pour</A></TD><TD ><A HREF = "fix_press_berendsen.html">press/berendsen</A></TD><TD ><A HREF = "fix_print.html">print</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_qeq_comb.html">qeq/comb</A></TD><TD ><A HREF = "fix_reax_bonds.html">reax/bonds</A></TD><TD ><A HREF = "fix_recenter.html">recenter</A></TD><TD ><A HREF = "fix_restrain.html">restrain</A></TD><TD ><A HREF = "fix_rigid.html">rigid</A></TD><TD ><A HREF = "fix_rigid.html">rigid/nve</A></TD><TD ><A HREF = "fix_rigid.html">rigid/nvt</A></TD><TD ><A HREF = "fix_setforce.html">setforce</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_shake.html">shake</A></TD><TD ><A HREF = "fix_spring.html">spring</A></TD><TD ><A HREF = "fix_spring_rg.html">spring/rg</A></TD><TD ><A HREF = "fix_spring_self.html">spring/self</A></TD><TD ><A HREF = "fix_srd.html">srd</A></TD><TD ><A HREF = "fix_store_force.html">store/force</A></TD><TD ><A HREF = "fix_store_state.html">store/state</A></TD><TD ><A HREF = "fix_temp_berendsen.html">temp/berendsen</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_temp_rescale.html">temp/rescale</A></TD><TD ><A HREF = "fix_thermal_conductivity.html">thermal/conductivity</A></TD><TD ><A HREF = "fix_tmd.html">tmd</A></TD><TD ><A HREF = "fix_ttm.html">ttm</A></TD><TD ><A HREF = "fix_viscosity.html">viscosity</A></TD><TD ><A HREF = "fix_viscous.html">viscous</A></TD><TD ><A HREF = "fix_wall.html">wall/colloid</A></TD><TD ><A HREF = "fix_wall_gran.html">wall/gran</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_wall.html">wall/harmonic</A></TD><TD ><A HREF = "fix_wall.html">wall/lj126</A></TD><TD ><A HREF = "fix_wall.html">wall/lj93</A></TD><TD ><A HREF = "fix_wall_reflect.html">wall/reflect</A></TD><TD ><A HREF = "fix_wall_region.html">wall/region</A></TD><TD ><A HREF = "fix_wall_srd.html">wall/srd</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are fix styles contributed by users, which can be used if
|
||||
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
|
||||
<A HREF = "Section_start.html#start_3">LAMMPS is built with the appropriate
|
||||
package</A>.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_atc.html">atc</A></TD><TD ><A HREF = "fix_imd.html">imd</A></TD><TD ><A HREF = "fix_langevin_eff.html">langevin/eff</A></TD><TD ><A HREF = "fix_nh_eff.html">nph/eff</A></TD><TD ><A HREF = "fix_nh_eff.html">npt/eff</A></TD><TD ><A HREF = "fix_nve_eff.html">nve/eff</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nh_eff.html">nvt/eff</A></TD><TD ><A HREF = "fix_nvt_sllod_eff.html">nvt/sllod/eff</A></TD><TD ><A HREF = "fix_qeq_reax.html">qeq/reax</A></TD><TD ><A HREF = "fix_smd.html">smd</A></TD><TD ><A HREF = "fix_temp_rescale_eff.html">temp/rescale/eff</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_addtorque.html">addtorque</A></TD><TD ><A HREF = "fix_atc.html">atc</A></TD><TD ><A HREF = "fix_imd.html">imd</A></TD><TD ><A HREF = "fix_langevin_eff.html">langevin/eff</A></TD><TD ><A HREF = "fix_meso.html">meso</A></TD><TD ><A HREF = "fix_meso_stationary.html">meso/stationary</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nh_eff.html">nph/eff</A></TD><TD ><A HREF = "fix_nh_eff.html">npt/eff</A></TD><TD ><A HREF = "fix_nve_eff.html">nve/eff</A></TD><TD ><A HREF = "fix_nh_eff.html">nvt/eff</A></TD><TD ><A HREF = "fix_nvt_sllod_eff.html">nvt/sllod/eff</A></TD><TD ><A HREF = "fix_qeq_reax.html">qeq/reax</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_smd.html">smd</A></TD><TD ><A HREF = "fix_temp_rescale_eff.html">temp/rescale/eff</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are accelerated fix styles, which can be used if LAMMPS is
|
||||
@ -361,9 +364,9 @@ built with the <A HREF = "Section_accelerate.html">appropriate accelerated
|
||||
package</A>.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_freeze.html">freeze/cuda</A></TD><TD ><A HREF = "fix_addforce.html">addforce/cuda</A></TD><TD ><A HREF = "fix_addtorque.html">addtorque</A></TD><TD ><A HREF = "fix_aveforce.html">aveforce/cuda</A></TD><TD ><A HREF = "fix_enforce2d.html">enforce2d/cuda</A></TD><TD ><A HREF = "fix_gravity.html">gravity/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nh.html">npt/cuda</A></TD><TD ><A HREF = "fix_nh.html">nve/cuda</A></TD><TD ><A HREF = "fix_nh.html">nvt/cuda</A></TD><TD ><A HREF = "fix_setforce.html">setforce/cuda</A></TD><TD ><A HREF = "fix_shake.html">shake/cuda</A></TD><TD ><A HREF = "fix_temp_berendsen.html">temp/berendsen/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_temp_rescale.html">temp/rescale/cuda</A></TD><TD ><A HREF = "fix_temp_rescale.html">temp/rescale/limit/cuda</A></TD><TD ><A HREF = "fix_viscous.html">viscous/cuda</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_freeze.html">freeze/cuda</A></TD><TD ><A HREF = "fix_addforce.html">addforce/cuda</A></TD><TD ><A HREF = "fix_aveforce.html">aveforce/cuda</A></TD><TD ><A HREF = "fix_enforce2d.html">enforce2d/cuda</A></TD><TD ><A HREF = "fix_gravity.html">gravity/cuda</A></TD><TD ><A HREF = "fix_gravity.html">gravity/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nh.html">npt/cuda</A></TD><TD ><A HREF = "fix_nh.html">nve/cuda</A></TD><TD ><A HREF = "fix_nve_sphere.html">nve/sphere/omp</A></TD><TD ><A HREF = "fix_nh.html">nvt/cuda</A></TD><TD ><A HREF = "fix_qeq_comb.html">qeq/comb/omp</A></TD><TD ><A HREF = "fix_setforce.html">setforce/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_shake.html">shake/cuda</A></TD><TD ><A HREF = "fix_temp_berendsen.html">temp/berendsen/cuda</A></TD><TD ><A HREF = "fix_temp_rescale.html">temp/rescale/cuda</A></TD><TD ><A HREF = "fix_temp_rescale.html">temp/rescale/limit/cuda</A></TD><TD ><A HREF = "fix_viscous.html">viscous/cuda</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<HR>
|
||||
@ -385,11 +388,12 @@ each style or click on the style itself for a full description:
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are compute styles contributed by users, which can be used if
|
||||
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
|
||||
<A HREF = "Section_start.html#start_3">LAMMPS is built with the appropriate
|
||||
package</A>.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD ><A HREF = "compute_ackland_atom.html">ackland/atom</A></TD><TD ><A HREF = "compute_ke_eff.html">ke/eff</A></TD><TD ><A HREF = "compute_ke_atom_eff.html">ke/atom/eff</A></TD><TD ><A HREF = "compute_temp_eff.html">temp/eff</A></TD><TD ><A HREF = "compute_temp_deform_eff.html">temp/deform/eff</A></TD><TD ><A HREF = "compute_temp_region_eff.html">temp/region/eff</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "compute_temp_rotate.html">temp/rotate</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "compute_ackland_atom.html">ackland/atom</A></TD><TD ><A HREF = "compute_ke_eff.html">ke/eff</A></TD><TD ><A HREF = "compute_ke_atom_eff.html">ke/atom/eff</A></TD><TD ><A HREF = "compute_meso_e_atom.html">meso_e/atom</A></TD><TD ><A HREF = "compute_meso_rho_atom.html">meso_rho/atom</A></TD><TD ><A HREF = "compute_meso_t_atom.html">meso_t/atom</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "compute_temp_eff.html">temp/eff</A></TD><TD ><A HREF = "compute_temp_deform_eff.html">temp/deform/eff</A></TD><TD ><A HREF = "compute_temp_region_eff.html">temp/region/eff</A></TD><TD ><A HREF = "compute_temp_rotate.html">temp/rotate</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are accelerated compute styles, which can be used if LAMMPS is
|
||||
@ -409,30 +413,34 @@ potentials. Click on the style itself for a full description:
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_none.html">none</A></TD><TD ><A HREF = "pair_hybrid.html">hybrid</A></TD><TD ><A HREF = "pair_hybrid.html">hybrid/overlay</A></TD><TD ><A HREF = "pair_adp.html">adp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_airebo.html">airebo</A></TD><TD ><A HREF = "pair_born.html">born</A></TD><TD ><A HREF = "pair_born.html">born/coul/long</A></TD><TD ><A HREF = "pair_buck.html">buck</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_buck.html">buck/coul/cut</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/long</A></TD><TD ><A HREF = "pair_colloid.html">colloid</A></TD><TD ><A HREF = "pair_comb.html">comb</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_coul.html">coul/cut</A></TD><TD ><A HREF = "pair_coul.html">coul/debye</A></TD><TD ><A HREF = "pair_coul.html">coul/long</A></TD><TD ><A HREF = "pair_dipole.html">dipole/cut</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_dpd.html">dpd</A></TD><TD ><A HREF = "pair_dpd.html">dpd/tstat</A></TD><TD ><A HREF = "pair_dsmc.html">dsmc</A></TD><TD ><A HREF = "pair_eam.html">eam</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam/alloy</A></TD><TD ><A HREF = "pair_eam.html">eam/fs</A></TD><TD ><A HREF = "pair_eim.html">eim</A></TD><TD ><A HREF = "pair_gauss.html">gauss</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gayberne.html">gayberne</A></TD><TD ><A HREF = "pair_gran.html">gran/hertz/history</A></TD><TD ><A HREF = "pair_gran.html">gran/hooke</A></TD><TD ><A HREF = "pair_gran.html">gran/hooke/history</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_hbond_dreiding.html">hbond/dreiding/lj</A></TD><TD ><A HREF = "pair_hbond_dreiding.html">hbond/dreiding/morse</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long</A></TD><TD ><A HREF = "pair_class2.html">lj/class2</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/long</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/tip4p</A></TD><TD ><A HREF = "pair_lj_expand.html">lj/expand</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs/coul/gromacs</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj_smooth.html">lj/smooth</A></TD><TD ><A HREF = "pair_lj96.html">lj96/cut</A></TD><TD ><A HREF = "pair_lubricate.html">lubricate</A></TD><TD ><A HREF = "pair_meam.html">meam</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_morse.html">morse</A></TD><TD ><A HREF = "pair_peri.html">peri/lps</A></TD><TD ><A HREF = "pair_peri.html">peri/pmb</A></TD><TD ><A HREF = "pair_reax.html">reax</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_airebo.html">rebo</A></TD><TD ><A HREF = "pair_resquared.html">resquared</A></TD><TD ><A HREF = "pair_soft.html">soft</A></TD><TD ><A HREF = "pair_sw.html">sw</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_table.html">table</A></TD><TD ><A HREF = "pair_tersoff.html">tersoff</A></TD><TD ><A HREF = "pair_tersoff_zbl.html">tersoff/zbl</A></TD><TD ><A HREF = "pair_yukawa.html">yukawa</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_yukawa_colloid.html">yukawa/colloid</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_airebo.html">airebo</A></TD><TD ><A HREF = "pair_born.html">born</A></TD><TD ><A HREF = "pair_born.html">born/coul/long</A></TD><TD ><A HREF = "pair_brownian.html">brownian</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_brownian.html">brownian/poly</A></TD><TD ><A HREF = "pair_buck.html">buck</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/cut</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/long</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_colloid.html">colloid</A></TD><TD ><A HREF = "pair_comb.html">comb</A></TD><TD ><A HREF = "pair_coul.html">coul/cut</A></TD><TD ><A HREF = "pair_coul.html">coul/debye</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_coul.html">coul/long</A></TD><TD ><A HREF = "pair_dipole.html">dipole/cut</A></TD><TD ><A HREF = "pair_dpd.html">dpd</A></TD><TD ><A HREF = "pair_dpd.html">dpd/tstat</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_dsmc.html">dsmc</A></TD><TD ><A HREF = "pair_eam.html">eam</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy</A></TD><TD ><A HREF = "pair_eam.html">eam/fs</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_eim.html">eim</A></TD><TD ><A HREF = "pair_gauss.html">gauss</A></TD><TD ><A HREF = "pair_gayberne.html">gayberne</A></TD><TD ><A HREF = "pair_gran.html">gran/hertz/history</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gran.html">gran/hooke</A></TD><TD ><A HREF = "pair_gran.html">gran/hooke/history</A></TD><TD ><A HREF = "pair_hbond_dreiding.html">hbond/dreiding/lj</A></TD><TD ><A HREF = "pair_hbond_dreiding.html">hbond/dreiding/morse</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_line_lj.html">line/lj</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_class2.html">lj/class2</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/tip4p</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj_expand.html">lj/expand</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs/coul/gromacs</A></TD><TD ><A HREF = "pair_lj_smooth.html">lj/smooth</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj96.html">lj96/cut</A></TD><TD ><A HREF = "pair_lubricate.html">lubricate</A></TD><TD ><A HREF = "pair_lubricate.html">lubricate/poly</A></TD><TD ><A HREF = "pair_lubricateU.html">lubricateU</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lubricateU.html">lubricateU/poly</A></TD><TD ><A HREF = "pair_meam.html">meam</A></TD><TD ><A HREF = "pair_morse.html">morse</A></TD><TD ><A HREF = "pair_peri.html">peri/lps</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_peri.html">peri/pmb</A></TD><TD ><A HREF = "pair_reax.html">reax</A></TD><TD ><A HREF = "pair_airebo.html">rebo</A></TD><TD ><A HREF = "pair_resquared.html">resquared</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_soft.html">soft</A></TD><TD ><A HREF = "pair_sw.html">sw</A></TD><TD ><A HREF = "pair_table.html">table</A></TD><TD ><A HREF = "pair_tersoff.html">tersoff</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_tersoff_zbl.html">tersoff/zbl</A></TD><TD ><A HREF = "pair_tri_lj.html">tri/lj</A></TD><TD ><A HREF = "pair_yukawa.html">yukawa</A></TD><TD ><A HREF = "pair_yukawa_colloid.html">yukawa/colloid</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are pair styles contributed by users, which can be used if
|
||||
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
|
||||
<A HREF = "Section_start.html#start_3">LAMMPS is built with the appropriate
|
||||
package</A>.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_awpmd.html">awpmd/cut</A></TD><TD ><A HREF = "pair_buck_coul.html">buck/coul</A></TD><TD ><A HREF = "pair_cmm.html">cg/cmm</A></TD><TD ><A HREF = "pair_cmm.html">cg/cmm/coul/cut</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_cmm.html">cg/cmm/coul/long</A></TD><TD ><A HREF = "pair_dipole.html">dipole/sf</A></TD><TD ><A HREF = "pair_eam.html">eam/cd</A></TD><TD ><A HREF = "pair_eff.html">eff/cut</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj_coul.html">lj/coul</A></TD><TD ><A HREF = "pair_lj_sf.html">lj/sf</A></TD><TD ><A HREF = "pair_reax_c.html">reax/c</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_cmm.html">cg/cmm/coul/long</A></TD><TD ><A HREF = "pair_dipole.html">dipole/sf</A></TD><TD ><A HREF = "pair_eam.html">eam/cd</A></TD><TD ><A HREF = "pair_edip.html">edip</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_eff.html">eff/cut</A></TD><TD ><A HREF = "pair_lj_coul.html">lj/coul</A></TD><TD ><A HREF = "pair_lj_sf.html">lj/sf</A></TD><TD ><A HREF = "pair_reax_c.html">reax/c</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_heatconduction.html">sph/heatconduction</A></TD><TD ><A HREF = "pair_idealgas.html">sph/idealgas</A></TD><TD ><A HREF = "pair_lj.html">sph/lj</A></TD><TD ><A HREF = "pair_rhosum.html">sph/rhosum</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_taitwater.html">sph/taitwater</A></TD><TD ><A HREF = "pair_taitwater_morris.html">sph/taitwater/morris</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are accelerated pair styles, which can be used if LAMMPS is
|
||||
@ -440,18 +448,35 @@ built with the <A HREF = "Section_accelerate.html">appropriate accelerated
|
||||
package</A>.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_born.html">born/coul/long/cuda</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/cut/cuda</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/long/cuda</A></TD><TD ><A HREF = "pair_buck.html">buck/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_adp.html">adp/omp</A></TD><TD ><A HREF = "pair_airebo.html">airebo/omp</A></TD><TD ><A HREF = "pair_born.html">born/coul/long/cuda</A></TD><TD ><A HREF = "pair_born.html">born/coul/long/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_born.html">born/omp</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/cut/cuda</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/cut/omp</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/long/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_buck.html">buck/coul/long/omp</A></TD><TD ><A HREF = "pair_buck_coul.html">buck/coul/omp</A></TD><TD ><A HREF = "pair_buck.html">buck/cuda</A></TD><TD ><A HREF = "pair_buck.html">buck/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_cmm.html">cg/cmm/coul/cut/cuda</A></TD><TD ><A HREF = "pair_cmm.html">cg/cmm/coul/debye/cuda</A></TD><TD ><A HREF = "pair_cmm.html">cg/cmm/coul/long/cuda</A></TD><TD ><A HREF = "pair_cmm.html">cg/cmm/coul/long/gpu</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_cmm.html">cg/cmm/cuda</A></TD><TD ><A HREF = "pair_cmm.html">cg/cmm/gpu</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy/cuda</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy/opt</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam/cuda</A></TD><TD ><A HREF = "pair_eam.html">eam/fs/cuda</A></TD><TD ><A HREF = "pair_eam.html">eam/fs/opt</A></TD><TD ><A HREF = "pair_eam.html">eam/opt</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gayberne.html">gayberne/gpu</A></TD><TD ><A HREF = "pair_gran.html">gran/hooke/cuda</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/cuda</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/cuda</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/gpu</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/opt</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_class2.html">lj/class2/coul/long/cuda</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/long/gpu</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/cuda</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/gpu</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut/cuda</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut/gpu</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye/cuda</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/gpu</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/cuda</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/experimental/cuda</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/gpu</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/opt</A></TD><TD ><A HREF = "pair_lj_expand.html">lj/expand/cuda</A></TD><TD ><A HREF = "pair_lj_expand.html">lj/expand/gpu</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs/coul/gromacs/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gromacs.html">lj/gromacs/cuda</A></TD><TD ><A HREF = "pair_lj_smooth.html">lj/smooth/cuda</A></TD><TD ><A HREF = "pair_lj96.html">lj96/cut/cuda</A></TD><TD ><A HREF = "pair_lj96.html">lj96/cut/gpu</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_morse.html">morse/cuda</A></TD><TD ><A HREF = "pair_morse.html">morse/gpu</A></TD><TD ><A HREF = "pair_morse.html">morse/opt</A></TD><TD ><A HREF = "pair_resquared.html">resquared/gpu</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_cmm.html">cg/cmm/cuda</A></TD><TD ><A HREF = "pair_cmm.html">cg/cmm/gpu</A></TD><TD ><A HREF = "pair_colloid.html">colloid/omp</A></TD><TD ><A HREF = "pair_comb.html">comb/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_coul.html">coul/cut/omp</A></TD><TD ><A HREF = "pair_coul.html">coul/debye/omp</A></TD><TD ><A HREF = "pair_coul.html">coul/long/gpu</A></TD><TD ><A HREF = "pair_coul.html">coul/long/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_dipole.html">dipole/cut/omp</A></TD><TD ><A HREF = "pair_dipole.html">dipole/sf/omp</A></TD><TD ><A HREF = "pair_dpd.html">dpd/omp</A></TD><TD ><A HREF = "pair_dpd.html">dpd/tstat/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam/alloy/cuda</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy/omp</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy/opt</A></TD><TD ><A HREF = "pair_eam.html">eam/cd/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam/cuda</A></TD><TD ><A HREF = "pair_eam.html">eam/fs/cuda</A></TD><TD ><A HREF = "pair_eam.html">eam/fs/omp</A></TD><TD ><A HREF = "pair_eam.html">eam/fs/opt</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam/omp</A></TD><TD ><A HREF = "pair_eam.html">eam/opt</A></TD><TD ><A HREF = "pair_edip.html">edip/omp</A></TD><TD ><A HREF = "pair_eim.html">eim/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gauss.html">gauss/omp</A></TD><TD ><A HREF = "pair_gayberne.html">gayberne/gpu</A></TD><TD ><A HREF = "pair_gayberne.html">gayberne/omp</A></TD><TD ><A HREF = "pair_gran.html">gran/hertz/history/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gran.html">gran/hooke/cuda</A></TD><TD ><A HREF = "pair_gran.html">gran/hooke/history/omp</A></TD><TD ><A HREF = "pair_gran.html">gran/hooke/omp</A></TD><TD ><A HREF = "pair_hbond_dreiding.html">hbond/dreiding/lj/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_hbond_dreiding.html">hbond/dreiding/morse/omp</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/cuda</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/omp</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit/omp</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/cuda</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/gpu</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/opt</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut/cuda</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut/omp</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/long/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_class2.html">lj/class2/coul/long/gpu</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/long/omp</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/cuda</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/gpu</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_class2.html">lj/class2/omp</A></TD><TD ><A HREF = "pair_lj_coul.html">lj/coul/omp</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut/cuda</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut/gpu</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut/omp</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye/cuda</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye/omp</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/gpu</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/omp</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/opt</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/tip4p/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/tip4p/opt</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/cuda</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/experimental/cuda</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/gpu</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/omp</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/opt</A></TD><TD ><A HREF = "pair_lj_expand.html">lj/expand/cuda</A></TD><TD ><A HREF = "pair_lj_expand.html">lj/expand/gpu</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj_expand.html">lj/expand/omp</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs/coul/gromacs/cuda</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs/coul/gromacs/omp</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs/cuda</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gromacs.html">lj/gromacs/omp</A></TD><TD ><A HREF = "pair_lj_sf.html">lj/sf/omp</A></TD><TD ><A HREF = "pair_lj_smooth.html">lj/smooth/cuda</A></TD><TD ><A HREF = "pair_lj_smooth.html">lj/smooth/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj96.html">lj96/cut/cuda</A></TD><TD ><A HREF = "pair_lj96.html">lj96/cut/gpu</A></TD><TD ><A HREF = "pair_lj96.html">lj96/cut/omp</A></TD><TD ><A HREF = "pair_lubricate.html">lubricate/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_morse.html">morse/cuda</A></TD><TD ><A HREF = "pair_morse.html">morse/gpu</A></TD><TD ><A HREF = "pair_morse.html">morse/omp</A></TD><TD ><A HREF = "pair_morse.html">morse/opt</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_peri.html">peri/lps/omp</A></TD><TD ><A HREF = "pair_peri.html">peri/pmb/omp</A></TD><TD ><A HREF = "pair_airebo.html">rebo/omp</A></TD><TD ><A HREF = "pair_resquared.html">resquared/gpu</A> <A HREF = "pair_resquared.html">resquared/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_soft.html">soft/omp</A></TD><TD ><A HREF = "pair_sw.html">sw/cuda</A></TD><TD ><A HREF = "pair_sw.html">sw/omp</A></TD><TD ><A HREF = "pair_table.html">table/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_tersoff.html">tersoff/cuda</A></TD><TD ><A HREF = "pair_tersoff.html">tersoff/omp</A></TD><TD ><A HREF = "pair_tersoff_zbl.html">tersoff/zbl/omp</A></TD><TD ><A HREF = "pair_yukawa.html">yukawa/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_yukawa_colloid.html">yukawa/colloid/omp</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<HR>
|
||||
@ -468,7 +493,8 @@ potentials. Click on the style itself for a full description:
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are bond styles contributed by users, which can be used if
|
||||
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
|
||||
<A HREF = "Section_start.html#start_3">LAMMPS is built with the appropriate
|
||||
package</A>.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD ><A HREF = "bond_harmonic_shift.html">harmonic/shift</A></TD><TD ><A HREF = "bond_harmonic_shift_cut.html">harmonic/shift/cut</A>
|
||||
@ -488,7 +514,8 @@ angle potentials. Click on the style itself for a full description:
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are angle styles contributed by users, which can be used if
|
||||
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
|
||||
<A HREF = "Section_start.html#start_3">LAMMPS is built with the appropriate
|
||||
package</A>.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD ><A HREF = "angle_cmm.html">cg/cmm</A></TD><TD ><A HREF = "angle_cosine_shift.html">cosine/shift</A></TD><TD ><A HREF = "angle_cosine_shift_exp.html">cosine/shift/exp</A>
|
||||
@ -508,12 +535,22 @@ description:
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are dihedral styles contributed by users, which can be used if
|
||||
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
|
||||
<A HREF = "Section_start.html#start_3">LAMMPS is built with the appropriate
|
||||
package</A>.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD ><A HREF = "dihedral_cosine_shift_exp.html">cosine/shift/exp</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are accelerated dihedral styles, which can be used if LAMMPS is
|
||||
built with the <A HREF = "Section_accelerate.html">appropriate accelerated
|
||||
package</A>.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD WIDTH="100"><A HREF = "dihedral_charmm.html">charmm/omp</A></TD><TD WIDTH="100"><A HREF = "dihedral_class2.html">class2/omp</A></TD><TD WIDTH="100"><A HREF = "dihedral_cosine_shift_exp.html">cosine/shift/exp/omp</A></TD><TD WIDTH="100"><A HREF = "dihedral_harmonic.html">harmonic/omp</A></TD></TR>
|
||||
<TR ALIGN="center"><TD WIDTH="100"><A HREF = "dihedral_helix.html">helix/omp</A></TD><TD WIDTH="100"><A HREF = "dihedral_multi_harmonic.html">multi/harmonic/omp</A></TD><TD WIDTH="100"><A HREF = "dihedral_opls.html">opls/omp</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<HR>
|
||||
|
||||
<H4>Improper_style potentials
|
||||
@ -539,7 +576,8 @@ Kspace solvers. Click on the style itself for a full description:
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are Kspace solvers contributed by users, which can be used if
|
||||
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
|
||||
<A HREF = "Section_start.html#start_3">LAMMPS is built with the appropriate
|
||||
package</A>.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD WIDTH="100"><A HREF = "kspace_style.html">ewald/n</A>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
"Previous Section"_Section_start.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_howto.html :c
|
||||
"Previous Section"_Section_start.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_packages.html :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
@ -11,15 +11,15 @@
|
||||
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)
|
||||
3.1 "LAMMPS input script"_#cmd_1
|
||||
3.2 "Parsing rules"_#cmd_2
|
||||
3.3 "Input script structure"_#cmd_3
|
||||
3.4 "Commands listed by category"_#cmd_4
|
||||
3.5 "Commands listed alphabetically"_#cmd_5 :all(b)
|
||||
|
||||
:line
|
||||
|
||||
3.1 LAMMPS input script :link(3_1),h4
|
||||
3.1 LAMMPS input script :link(cmd_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
|
||||
@ -72,7 +72,7 @@ command lists restrictions on how the command can be used.
|
||||
|
||||
:line
|
||||
|
||||
3.2 Parsing rules :link(3_2),h4
|
||||
3.2 Parsing rules :link(cmd_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
|
||||
@ -131,7 +131,7 @@ allowed, but that should be sufficient for most use cases.
|
||||
|
||||
:line
|
||||
|
||||
3.3 Input script structure :h4,link(3_3)
|
||||
3.3 Input script structure :h4,link(cmd_3)
|
||||
|
||||
This section describes the structure of a typical LAMMPS input script.
|
||||
The "examples" directory in the LAMMPS distribution contains many
|
||||
@ -220,11 +220,11 @@ the "minimize"_minimize.html command. A parallel tempering
|
||||
|
||||
:line
|
||||
|
||||
3.4 Commands listed by category :link(3_4),h4
|
||||
3.4 Commands listed by category :link(cmd_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
|
||||
"next section"_#cmd_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
|
||||
@ -297,12 +297,12 @@ Miscellaneous:
|
||||
|
||||
:line
|
||||
|
||||
3.5 Individual commands :h4,link(3_5),link(comm)
|
||||
3.5 Individual commands :h4,link(cmd_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
|
||||
section"_#cmd_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
|
||||
@ -418,6 +418,7 @@ of each style or click on the style itself for a full description:
|
||||
"evaporate"_fix_evaporate.html,
|
||||
"external"_fix_external.html,
|
||||
"freeze"_fix_freeze.html,
|
||||
"gcmc"_fix_gcmc.html,
|
||||
"gravity"_fix_gravity.html,
|
||||
"heat"_fix_heat.html,
|
||||
"indent"_fix_indent.html,
|
||||
@ -428,6 +429,7 @@ of each style or click on the style itself for a full description:
|
||||
"msst"_fix_msst.html,
|
||||
"neb"_fix_neb.html,
|
||||
"nph"_fix_nh.html,
|
||||
"nphug"_fix_nphug.html,
|
||||
"nph/asphere"_fix_nph_asphere.html,
|
||||
"nph/sphere"_fix_nph_sphere.html,
|
||||
"npt"_fix_nh.html,
|
||||
@ -435,9 +437,12 @@ of each style or click on the style itself for a full description:
|
||||
"npt/sphere"_fix_npt_sphere.html,
|
||||
"nve"_fix_nve.html,
|
||||
"nve/asphere"_fix_nve_asphere.html,
|
||||
"nve/asphere/noforce"_fix_nve_asphere_noforce.html,
|
||||
"nve/limit"_fix_nve_limit.html,
|
||||
"nve/line"_fix_nve_line.html,
|
||||
"nve/noforce"_fix_nve_noforce.html,
|
||||
"nve/sphere"_fix_nve_sphere.html,
|
||||
"nve/tri"_fix_nve_tri.html,
|
||||
"nvt"_fix_nh.html,
|
||||
"nvt/asphere"_fix_nvt_asphere.html,
|
||||
"nvt/sllod"_fix_nvt_sllod.html,
|
||||
@ -451,6 +456,7 @@ of each style or click on the style itself for a full description:
|
||||
"qeq/comb"_fix_qeq_comb.html,
|
||||
"reax/bonds"_fix_reax_bonds.html,
|
||||
"recenter"_fix_recenter.html,
|
||||
"restrain"_fix_restrain.html,
|
||||
"rigid"_fix_rigid.html,
|
||||
"rigid/nve"_fix_rigid.html,
|
||||
"rigid/nvt"_fix_rigid.html,
|
||||
@ -479,11 +485,15 @@ of each style or click on the style itself for a full description:
|
||||
"wall/srd"_fix_wall_srd.html :tb(c=8,ea=c)
|
||||
|
||||
These are fix styles contributed by users, which can be used if
|
||||
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
|
||||
"LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"addtorque"_fix_addtorque.html,
|
||||
"atc"_fix_atc.html,
|
||||
"imd"_fix_imd.html,
|
||||
"langevin/eff"_fix_langevin_eff.html,
|
||||
"meso"_fix_meso.html,
|
||||
"meso/stationary"_fix_meso_stationary.html,
|
||||
"nph/eff"_fix_nh_eff.html,
|
||||
"npt/eff"_fix_nh_eff.html,
|
||||
"nve/eff"_fix_nve_eff.html,
|
||||
@ -499,13 +509,15 @@ package"_Section_accelerate.html.
|
||||
|
||||
"freeze/cuda"_fix_freeze.html,
|
||||
"addforce/cuda"_fix_addforce.html,
|
||||
"addtorque"_fix_addtorque.html,
|
||||
"aveforce/cuda"_fix_aveforce.html,
|
||||
"enforce2d/cuda"_fix_enforce2d.html,
|
||||
"gravity/cuda"_fix_gravity.html,
|
||||
"gravity/omp"_fix_gravity.html,
|
||||
"npt/cuda"_fix_nh.html,
|
||||
"nve/cuda"_fix_nh.html,
|
||||
"nve/sphere/omp"_fix_nve_sphere.html,
|
||||
"nvt/cuda"_fix_nh.html,
|
||||
"qeq/comb/omp"_fix_qeq_comb.html,
|
||||
"setforce/cuda"_fix_setforce.html,
|
||||
"shake/cuda"_fix_shake.html,
|
||||
"temp/berendsen/cuda"_fix_temp_berendsen.html,
|
||||
@ -569,11 +581,15 @@ each style or click on the style itself for a full description:
|
||||
"ti"_compute_ti.html :tb(c=6,ea=c)
|
||||
|
||||
These are compute styles contributed by users, which can be used if
|
||||
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
|
||||
"LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"ackland/atom"_compute_ackland_atom.html,
|
||||
"ke/eff"_compute_ke_eff.html,
|
||||
"ke/atom/eff"_compute_ke_atom_eff.html,
|
||||
"meso_e/atom"_compute_meso_e_atom.html,
|
||||
"meso_rho/atom"_compute_meso_rho_atom.html,
|
||||
"meso_t/atom"_compute_meso_t_atom.html,
|
||||
"temp/eff"_compute_temp_eff.html,
|
||||
"temp/deform/eff"_compute_temp_deform_eff.html,
|
||||
"temp/region/eff"_compute_temp_region_eff.html,
|
||||
@ -602,6 +618,8 @@ potentials. Click on the style itself for a full description:
|
||||
"airebo"_pair_airebo.html,
|
||||
"born"_pair_born.html,
|
||||
"born/coul/long"_pair_born.html,
|
||||
"brownian"_pair_brownian.html,
|
||||
"brownian/poly"_pair_brownian.html,
|
||||
"buck"_pair_buck.html,
|
||||
"buck/coul/cut"_pair_buck.html,
|
||||
"buck/coul/long"_pair_buck.html,
|
||||
@ -625,6 +643,7 @@ potentials. Click on the style itself for a full description:
|
||||
"gran/hooke/history"_pair_gran.html,
|
||||
"hbond/dreiding/lj"_pair_hbond_dreiding.html,
|
||||
"hbond/dreiding/morse"_pair_hbond_dreiding.html,
|
||||
"line/lj"_pair_line_lj.html,
|
||||
"lj/charmm/coul/charmm"_pair_charmm.html,
|
||||
"lj/charmm/coul/charmm/implicit"_pair_charmm.html,
|
||||
"lj/charmm/coul/long"_pair_charmm.html,
|
||||
@ -642,6 +661,9 @@ potentials. Click on the style itself for a full description:
|
||||
"lj/smooth"_pair_lj_smooth.html,
|
||||
"lj96/cut"_pair_lj96.html,
|
||||
"lubricate"_pair_lubricate.html,
|
||||
"lubricate/poly"_pair_lubricate.html,
|
||||
"lubricateU"_pair_lubricateU.html,
|
||||
"lubricateU/poly"_pair_lubricateU.html,
|
||||
"meam"_pair_meam.html,
|
||||
"morse"_pair_morse.html,
|
||||
"peri/lps"_pair_peri.html,
|
||||
@ -654,11 +676,13 @@ potentials. Click on the style itself for a full description:
|
||||
"table"_pair_table.html,
|
||||
"tersoff"_pair_tersoff.html,
|
||||
"tersoff/zbl"_pair_tersoff_zbl.html,
|
||||
"tri/lj"_pair_tri_lj.html,
|
||||
"yukawa"_pair_yukawa.html,
|
||||
"yukawa/colloid"_pair_yukawa_colloid.html :tb(c=4,ea=c)
|
||||
|
||||
These are pair styles contributed by users, which can be used if
|
||||
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
|
||||
"LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"awpmd/cut"_pair_awpmd.html,
|
||||
"buck/coul"_pair_buck_coul.html,
|
||||
@ -668,63 +692,136 @@ These are pair styles contributed by users, which can be used if
|
||||
"coul/long/gpu"_pair_coul.html,
|
||||
"dipole/sf"_pair_dipole.html,
|
||||
"eam/cd"_pair_eam.html,
|
||||
"edip"_pair_edip.html,
|
||||
"eff/cut"_pair_eff.html,
|
||||
"lj/coul"_pair_lj_coul.html,
|
||||
"lj/sf"_pair_lj_sf.html,
|
||||
"reax/c"_pair_reax_c.html :tb(c=4,ea=c)
|
||||
"reax/c"_pair_reax_c.html,
|
||||
"sph/heatconduction"_pair_heatconduction.html,
|
||||
"sph/idealgas"_pair_idealgas.html,
|
||||
"sph/lj"_pair_lj.html,
|
||||
"sph/rhosum"_pair_rhosum.html,
|
||||
"sph/taitwater"_pair_taitwater.html,
|
||||
"sph/taitwater/morris"_pair_taitwater_morris.html :tb(c=4,ea=c)
|
||||
|
||||
These are accelerated pair styles, which can be used if LAMMPS is
|
||||
built with the "appropriate accelerated
|
||||
package"_Section_accelerate.html.
|
||||
|
||||
"adp/omp"_pair_adp.html,
|
||||
"airebo/omp"_pair_airebo.html,
|
||||
"born/coul/long/cuda"_pair_born.html,
|
||||
"born/coul/long/omp"_pair_born.html,
|
||||
"born/omp"_pair_born.html,
|
||||
"buck/coul/cut/cuda"_pair_buck.html,
|
||||
"buck/coul/cut/omp"_pair_buck.html,
|
||||
"buck/coul/long/cuda"_pair_buck.html,
|
||||
"buck/coul/long/omp"_pair_buck.html,
|
||||
"buck/coul/omp"_pair_buck_coul.html,
|
||||
"buck/cuda"_pair_buck.html,
|
||||
"buck/omp"_pair_buck.html,
|
||||
"cg/cmm/coul/cut/cuda"_pair_cmm.html,
|
||||
"cg/cmm/coul/debye/cuda"_pair_cmm.html,
|
||||
"cg/cmm/coul/long/cuda"_pair_cmm.html,
|
||||
"cg/cmm/coul/long/gpu"_pair_cmm.html,
|
||||
"cg/cmm/cuda"_pair_cmm.html,
|
||||
"cg/cmm/gpu"_pair_cmm.html,
|
||||
"colloid/omp"_pair_colloid.html,
|
||||
"comb/omp"_pair_comb.html,
|
||||
"coul/cut/omp"_pair_coul.html,
|
||||
"coul/debye/omp"_pair_coul.html,
|
||||
"coul/long/gpu"_pair_coul.html,
|
||||
"coul/long/omp"_pair_coul.html,
|
||||
"dipole/cut/omp"_pair_dipole.html,
|
||||
"dipole/sf/omp"_pair_dipole.html,
|
||||
"dpd/omp"_pair_dpd.html,
|
||||
"dpd/tstat/omp"_pair_dpd.html,
|
||||
"eam/alloy/cuda"_pair_eam.html,
|
||||
"eam/alloy/omp"_pair_eam.html,
|
||||
"eam/alloy/opt"_pair_eam.html,
|
||||
"eam/cd/omp"_pair_eam.html,
|
||||
"eam/cuda"_pair_eam.html,
|
||||
"eam/fs/cuda"_pair_eam.html,
|
||||
"eam/fs/omp"_pair_eam.html,
|
||||
"eam/fs/opt"_pair_eam.html,
|
||||
"eam/omp"_pair_eam.html,
|
||||
"eam/opt"_pair_eam.html,
|
||||
"edip/omp"_pair_edip.html,
|
||||
"eim/omp"_pair_eim.html,
|
||||
"gauss/omp"_pair_gauss.html,
|
||||
"gayberne/gpu"_pair_gayberne.html,
|
||||
"gayberne/omp"_pair_gayberne.html,
|
||||
"gran/hertz/history/omp"_pair_gran.html,
|
||||
"gran/hooke/cuda"_pair_gran.html,
|
||||
"gran/hooke/history/omp"_pair_gran.html,
|
||||
"gran/hooke/omp"_pair_gran.html,
|
||||
"hbond/dreiding/lj/omp"_pair_hbond_dreiding.html,
|
||||
"hbond/dreiding/morse/omp"_pair_hbond_dreiding.html,
|
||||
"lj/charmm/coul/charmm/cuda"_pair_charmm.html,
|
||||
"lj/charmm/coul/charmm/omp"_pair_charmm.html,
|
||||
"lj/charmm/coul/charmm/implicit/cuda"_pair_charmm.html,
|
||||
"lj/charmm/coul/charmm/implicit/omp"_pair_charmm.html,
|
||||
"lj/charmm/coul/long/cuda"_pair_charmm.html,
|
||||
"lj/charmm/coul/long/gpu"_pair_charmm.html,
|
||||
"lj/charmm/coul/long/omp"_pair_charmm.html,
|
||||
"lj/charmm/coul/long/opt"_pair_charmm.html,
|
||||
"lj/class2/coul/cut/cuda"_pair_class2.html,
|
||||
"lj/class2/coul/cut/omp"_pair_class2.html,
|
||||
"lj/class2/coul/long/cuda"_pair_class2.html,
|
||||
"lj/class2/coul/long/gpu"_pair_class2.html,
|
||||
"lj/class2/coul/long/omp"_pair_class2.html,
|
||||
"lj/class2/cuda"_pair_class2.html,
|
||||
"lj/class2/gpu"_pair_class2.html,
|
||||
"lj/class2/omp"_pair_class2.html,
|
||||
"lj/coul/omp"_pair_lj_coul.html,
|
||||
"lj/cut/coul/cut/cuda"_pair_lj.html,
|
||||
"lj/cut/coul/cut/gpu"_pair_lj.html,
|
||||
"lj/cut/coul/cut/omp"_pair_lj.html,
|
||||
"lj/cut/coul/debye/cuda"_pair_lj.html,
|
||||
"lj/cut/coul/debye/omp"_pair_lj.html,
|
||||
"lj/cut/coul/long/cuda"_pair_lj.html,
|
||||
"lj/cut/coul/long/gpu"_pair_lj.html,
|
||||
"lj/cut/coul/long/omp"_pair_lj.html,
|
||||
"lj/cut/coul/long/opt"_pair_lj.html,
|
||||
"lj/cut/coul/long/tip4p/omp"_pair_lj.html,
|
||||
"lj/cut/coul/long/tip4p/opt"_pair_lj.html,
|
||||
"lj/cut/cuda"_pair_lj.html,
|
||||
"lj/cut/experimental/cuda"_pair_lj.html,
|
||||
"lj/cut/gpu"_pair_lj.html,
|
||||
"lj/cut/omp"_pair_lj.html,
|
||||
"lj/cut/opt"_pair_lj.html,
|
||||
"lj/expand/cuda"_pair_lj_expand.html,
|
||||
"lj/expand/gpu"_pair_lj_expand.html,
|
||||
"lj/expand/omp"_pair_lj_expand.html,
|
||||
"lj/gromacs/coul/gromacs/cuda"_pair_gromacs.html,
|
||||
"lj/gromacs/coul/gromacs/omp"_pair_gromacs.html,
|
||||
"lj/gromacs/cuda"_pair_gromacs.html,
|
||||
"lj/gromacs/omp"_pair_gromacs.html,
|
||||
"lj/sf/omp"_pair_lj_sf.html,
|
||||
"lj/smooth/cuda"_pair_lj_smooth.html,
|
||||
"lj/smooth/omp"_pair_lj_smooth.html,
|
||||
"lj96/cut/cuda"_pair_lj96.html,
|
||||
"lj96/cut/gpu"_pair_lj96.html,
|
||||
"lj96/cut/omp"_pair_lj96.html,
|
||||
"lubricate/omp"_pair_lubricate.html,
|
||||
"morse/cuda"_pair_morse.html,
|
||||
"morse/gpu"_pair_morse.html,
|
||||
"morse/omp"_pair_morse.html,
|
||||
"morse/opt"_pair_morse.html,
|
||||
"resquared/gpu"_pair_resquared.html :tb(c=4,ea=c)
|
||||
"peri/lps/omp"_pair_peri.html,
|
||||
"peri/pmb/omp"_pair_peri.html,
|
||||
"rebo/omp"_pair_airebo.html,
|
||||
"resquared/gpu"_pair_resquared.html
|
||||
"resquared/omp"_pair_resquared.html,
|
||||
"soft/omp"_pair_soft.html,
|
||||
"sw/cuda"_pair_sw.html,
|
||||
"sw/omp"_pair_sw.html,
|
||||
"table/omp"_pair_table.html,
|
||||
"tersoff/cuda"_pair_tersoff.html,
|
||||
"tersoff/omp"_pair_tersoff.html,
|
||||
"tersoff/zbl/omp"_pair_tersoff_zbl.html,
|
||||
"yukawa/omp"_pair_yukawa.html,
|
||||
"yukawa/colloid/omp"_pair_yukawa_colloid.html :tb(c=4,ea=c)
|
||||
|
||||
:line
|
||||
|
||||
@ -745,7 +842,8 @@ potentials. Click on the style itself for a full description:
|
||||
"table"_bond_table.html :tb(c=4,ea=c,w=100)
|
||||
|
||||
These are bond styles contributed by users, which can be used if
|
||||
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
|
||||
"LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"harmonic/shift"_bond_harmonic_shift.html,
|
||||
"harmonic/shift/cut"_bond_harmonic_shift_cut.html :tb(c=4,ea=c)
|
||||
@ -769,7 +867,8 @@ angle potentials. Click on the style itself for a full description:
|
||||
"table"_angle_table.html :tb(c=4,ea=c,w=100)
|
||||
|
||||
These are angle styles contributed by users, which can be used if
|
||||
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
|
||||
"LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"cg/cmm"_angle_cmm.html,
|
||||
"cosine/shift"_angle_cosine_shift.html,
|
||||
@ -793,10 +892,23 @@ description:
|
||||
"opls"_dihedral_opls.html :tb(c=4,ea=c,w=100)
|
||||
|
||||
These are dihedral styles contributed by users, which can be used if
|
||||
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
|
||||
"LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"cosine/shift/exp"_dihedral_cosine_shift_exp.html :tb(c=4,ea=c)
|
||||
|
||||
These are accelerated dihedral styles, which can be used if LAMMPS is
|
||||
built with the "appropriate accelerated
|
||||
package"_Section_accelerate.html.
|
||||
|
||||
"charmm/omp"_dihedral_charmm.html,
|
||||
"class2/omp"_dihedral_class2.html,
|
||||
"cosine/shift/exp/omp"_dihedral_cosine_shift_exp.html,
|
||||
"harmonic/omp"_dihedral_harmonic.html,
|
||||
"helix/omp"_dihedral_helix.html,
|
||||
"multi/harmonic/omp"_dihedral_multi_harmonic.html,
|
||||
"opls/omp"_dihedral_opls.html :tb(c=4,ea=c,w=100)
|
||||
|
||||
:line
|
||||
|
||||
Improper_style potentials :h4
|
||||
@ -825,7 +937,8 @@ Kspace solvers. Click on the style itself for a full description:
|
||||
"pppm/tip4p"_kspace_style.html :tb(c=4,ea=c,w=100)
|
||||
|
||||
These are Kspace solvers contributed by users, which can be used if
|
||||
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
|
||||
"LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"ewald/n"_kspace_style.html :tb(c=4,ea=c,w=100)
|
||||
|
||||
|
||||
@ -11,18 +11,18 @@ Section</A>
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>11. Errors
|
||||
<H3>12. Errors
|
||||
</H3>
|
||||
<P>This section describes the various kinds of errors you can encounter
|
||||
when using LAMMPS.
|
||||
</P>
|
||||
11.1 <A HREF = "#11_1">Common problems</A><BR>
|
||||
11.2 <A HREF = "#11_2">Reporting bugs</A><BR>
|
||||
11.3 <A HREF = "#11_3">Error & warning messages</A> <BR>
|
||||
12.1 <A HREF = "#err_1">Common problems</A><BR>
|
||||
12.2 <A HREF = "#err_2">Reporting bugs</A><BR>
|
||||
12.3 <A HREF = "#err_3">Error & warning messages</A> <BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "11_1"></A><H4>11.1 Common problems
|
||||
<A NAME = "err_1"></A><H4>12.1 Common problems
|
||||
</H4>
|
||||
<P>If two LAMMPS runs do not produce the same answer on different
|
||||
machines or different numbers of processors, this is typically not a
|
||||
@ -81,7 +81,7 @@ decide if the WARNING is important or not. A WARNING message that is
|
||||
generated in the middle of a run is only printed to the screen, not to
|
||||
the logfile, to avoid cluttering up thermodynamic output. If LAMMPS
|
||||
crashes or hangs without spitting out an error message first then it
|
||||
could be a bug (see <A HREF = "#11_2">this section</A>) or one of the following
|
||||
could be a bug (see <A HREF = "#err_2">this section</A>) or one of the following
|
||||
cases:
|
||||
</P>
|
||||
<P>LAMMPS runs in the available memory a processor allows to be
|
||||
@ -112,7 +112,7 @@ buffering or boost the sizes of messages that can be buffered.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "11_2"></A><H4>11.2 Reporting bugs
|
||||
<A NAME = "err_2"></A><H4>12.2 Reporting bugs
|
||||
</H4>
|
||||
<P>If you are confident that you have found a bug in LAMMPS, follow these
|
||||
steps.
|
||||
@ -142,18 +142,22 @@ causing the problem.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "11_3"></A>11.3 Error & warning messages
|
||||
<H4><A NAME = "err_3"></A>12.3 Error & warning messages
|
||||
</H4>
|
||||
<P>These are two alphabetic lists of the <A HREF = "#error">ERROR</A> and
|
||||
<A HREF = "#warn">WARNING</A> 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.
|
||||
offending command may help.
|
||||
Error and warning messages also list the source file and line number
|
||||
where the error was generated. For example, this message
|
||||
</P>
|
||||
<P>Also note that error messages from <A HREF = "Section_start.html#2_3">user-contributed
|
||||
packages</A> are not listed here. Is such an
|
||||
<P>ERROR: Illegal velocity command (velocity.cpp:78)
|
||||
</P>
|
||||
<P>means that line #78 in the file src/velocity.cpp generated the error.
|
||||
Looking in the source code may help you figure out what went wrong.
|
||||
</P>
|
||||
<P>Note that error messages from <A HREF = "Section_start.html#start_3">user-contributed
|
||||
packages</A> are not listed here. If such an
|
||||
error occurs and is not self-explanatory, you'll need to look in the
|
||||
source code or contact the author of the package.
|
||||
</P>
|
||||
|
||||
@ -8,18 +8,18 @@ Section"_Section_history.html :c
|
||||
|
||||
:line
|
||||
|
||||
11. Errors :h3
|
||||
12. Errors :h3
|
||||
|
||||
This section describes the various kinds of errors you can encounter
|
||||
when using LAMMPS.
|
||||
|
||||
11.1 "Common problems"_#11_1
|
||||
11.2 "Reporting bugs"_#11_2
|
||||
11.3 "Error & warning messages"_#11_3 :all(b)
|
||||
12.1 "Common problems"_#err_1
|
||||
12.2 "Reporting bugs"_#err_2
|
||||
12.3 "Error & warning messages"_#err_3 :all(b)
|
||||
|
||||
:line
|
||||
|
||||
11.1 Common problems :link(11_1),h4
|
||||
12.1 Common problems :link(err_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
|
||||
@ -78,7 +78,7 @@ decide if the WARNING is important or not. A WARNING message that is
|
||||
generated in the middle of a run is only printed to the screen, not to
|
||||
the logfile, to avoid cluttering up thermodynamic output. If LAMMPS
|
||||
crashes or hangs without spitting out an error message first then it
|
||||
could be a bug (see "this section"_#11_2) or one of the following
|
||||
could be a bug (see "this section"_#err_2) or one of the following
|
||||
cases:
|
||||
|
||||
LAMMPS runs in the available memory a processor allows to be
|
||||
@ -109,7 +109,7 @@ buffering or boost the sizes of messages that can be buffered.
|
||||
|
||||
:line
|
||||
|
||||
11.2 Reporting bugs :link(11_2),h4
|
||||
12.2 Reporting bugs :link(err_2),h4
|
||||
|
||||
If you are confident that you have found a bug in LAMMPS, follow these
|
||||
steps.
|
||||
@ -139,18 +139,22 @@ As a last resort, you can send an email directly to the
|
||||
|
||||
:line
|
||||
|
||||
11.3 Error & warning messages :h4,link(11_3)
|
||||
12.3 Error & warning messages :h4,link(err_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.
|
||||
offending command may help.
|
||||
Error and warning messages also list the source file and line number
|
||||
where the error was generated. For example, this message
|
||||
|
||||
Also note that error messages from "user-contributed
|
||||
packages"_Section_start.html#2_3 are not listed here. Is such an
|
||||
ERROR: Illegal velocity command (velocity.cpp:78)
|
||||
|
||||
means that line #78 in the file src/velocity.cpp generated the error.
|
||||
Looking in the source code may help you figure out what went wrong.
|
||||
|
||||
Note that error messages from "user-contributed
|
||||
packages"_Section_start.html#start_3 are not listed here. If such an
|
||||
error occurs and is not self-explanatory, you'll need to look in the
|
||||
source code or contact the author of the package.
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>5. Example problems
|
||||
<H3>7. Example problems
|
||||
</H3>
|
||||
<P>The LAMMPS distribution includes an examples sub-directory with
|
||||
several sample problems. Each problem is in a sub-directory of its
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
:line
|
||||
|
||||
5. Example problems :h3
|
||||
7. Example problems :h3
|
||||
|
||||
The LAMMPS distribution includes an examples sub-directory with
|
||||
several sample problems. Each problem is in a sub-directory of its
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
<HTML>
|
||||
<CENTER><A HREF = "Section_errors.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Manual.html">Next Section</A>
|
||||
<CENTER><A HREF = "Section_errors.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> -
|
||||
<A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Manual.html">Next
|
||||
Section</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
@ -9,69 +11,59 @@
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>12. Future and history
|
||||
<H3>13. Future and history
|
||||
</H3>
|
||||
<P>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.
|
||||
</P>
|
||||
12.1 <A HREF = "#12_1">Coming attractions</A><BR>
|
||||
12.2 <A HREF = "#12_2">Past versions</A> <BR>
|
||||
13.1 <A HREF = "#hist_1">Coming attractions</A><BR>
|
||||
13.2 <A HREF = "#hist_2">Past versions</A> <BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "12_1"></A>12.1 Coming attractions
|
||||
<H4><A NAME = "hist_1"></A>13.1 Coming attractions
|
||||
</H4>
|
||||
<P>The current version of LAMMPS incorporates nearly all the features
|
||||
from previous parallel MD codes developed at Sandia. These include
|
||||
earlier versions of LAMMPS itself, Warp and ParaDyn for metals, and
|
||||
GranFlow for granular materials.
|
||||
<P>The <A HREF = "http://lammps.sandia.gov/future.html">Wish list link</A> on the
|
||||
LAMMPS WWW page gives a list of features we are hoping to add to
|
||||
LAMMPS in the future, including contact names of individuals you can
|
||||
email if you are interested in contributing to the developement or
|
||||
would be a future user of that feature.
|
||||
</P>
|
||||
<P>These are new features we'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! See <A HREF = "http://lammps.sandia.gov/future.html">this
|
||||
page</A> on the LAMMPS WWW site for more details.
|
||||
<P>You can also send <A HREF = "http://lammps.sandia.gov/authors.html">email to the
|
||||
developers</A> if you want to add
|
||||
your wish to the list.
|
||||
</P>
|
||||
|
||||
|
||||
<UL><LI>Coupling to finite elements for streess-strain
|
||||
<LI>New ReaxFF implementation
|
||||
<LI>Nudged elastic band
|
||||
<LI>Temperature accelerated dynamics
|
||||
<LI>Triangulated particles
|
||||
<LI>Stochastic rotation dynamics
|
||||
<LI>Stokesian dynamics via fast lubrication dynamics
|
||||
<LI>Long-range point-dipole solver
|
||||
<LI>Per-atom energy and stress for long-range Coulombics
|
||||
<LI>Long-range Coulombics via Ewald and PPPM for triclinic boxes
|
||||
<LI>Metadynamics
|
||||
<LI>Direct Simulation Monte Carlo - DSMC
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "12_2"></A>12.2 Past versions
|
||||
<H4><A NAME = "hist_2"></A>13.2 Past versions
|
||||
</H4>
|
||||
<P>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.
|
||||
and 3 companies (Cray, Bristol Myers Squibb, and Dupont). The goal was
|
||||
to develop a large-scale parallel classical MD code; the coding effort
|
||||
was led by Steve Plimpton at Sandia.
|
||||
</P>
|
||||
<P>After the CRADA ended, a final F77 version, LAMMPS 99, was
|
||||
released. As development of LAMMPS continued at Sandia, its memory
|
||||
management was converted to F90; a final F90 version was released as
|
||||
LAMMPS 2001.
|
||||
</P>
|
||||
<P>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.
|
||||
as an open source code in 2004. It includes many new features beyond
|
||||
those in LAMMPS 99 or 2001. It also includes features from older
|
||||
parallel MD codes written at Sandia, namely ParaDyn, Warp, and
|
||||
GranFlow (see below).
|
||||
</P>
|
||||
<P>In late 2006 we began merging new capabilities into LAMMPS that were
|
||||
developed by Aidan Thompson at Sandia for his MD code GRASP, which has
|
||||
a parallel framework similar to LAMMPS. Most notably, these have
|
||||
included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF -
|
||||
and the associated charge-equilibration routines needed for ReaxFF.
|
||||
</P>
|
||||
<P>The <A HREF = "http://lammps.sandia.gov/history.html">History link</A> on the
|
||||
LAMMPS WWW page gives a timeline of features added to the
|
||||
C++ open-source version of LAMMPS over the last several years.
|
||||
</P>
|
||||
<P>These older codes are available for download from the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW
|
||||
site</A>, except for Warp & GranFlow which were primarily used
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
"Previous Section"_Section_errors.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Manual.html :c
|
||||
"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)
|
||||
@ -6,69 +8,59 @@
|
||||
|
||||
:line
|
||||
|
||||
12. Future and history :h3
|
||||
13. 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.
|
||||
|
||||
12.1 "Coming attractions"_#12_1
|
||||
12.2 "Past versions"_#12_2 :all(b)
|
||||
13.1 "Coming attractions"_#hist_1
|
||||
13.2 "Past versions"_#hist_2 :all(b)
|
||||
|
||||
:line
|
||||
|
||||
12.1 Coming attractions :h4,link(12_1)
|
||||
13.1 Coming attractions :h4,link(hist_1)
|
||||
|
||||
The current version of LAMMPS incorporates nearly all the features
|
||||
from previous parallel MD codes developed at Sandia. These include
|
||||
earlier versions of LAMMPS itself, Warp and ParaDyn for metals, and
|
||||
GranFlow for granular materials.
|
||||
The "Wish list link"_http://lammps.sandia.gov/future.html on the
|
||||
LAMMPS WWW page gives a list of features we are hoping to add to
|
||||
LAMMPS in the future, including contact names of individuals you can
|
||||
email if you are interested in contributing to the developement or
|
||||
would be a future user of that feature.
|
||||
|
||||
These are new features we'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! See "this
|
||||
page"_lwsfuture on the LAMMPS WWW site for more details.
|
||||
|
||||
:link(lwsfuture,http://lammps.sandia.gov/future.html)
|
||||
|
||||
Coupling to finite elements for streess-strain
|
||||
New ReaxFF implementation
|
||||
Nudged elastic band
|
||||
Temperature accelerated dynamics
|
||||
Triangulated particles
|
||||
Stochastic rotation dynamics
|
||||
Stokesian dynamics via fast lubrication dynamics
|
||||
Long-range point-dipole solver
|
||||
Per-atom energy and stress for long-range Coulombics
|
||||
Long-range Coulombics via Ewald and PPPM for triclinic boxes
|
||||
Metadynamics
|
||||
Direct Simulation Monte Carlo - DSMC :ul
|
||||
You can also send "email to the
|
||||
developers"_http://lammps.sandia.gov/authors.html if you want to add
|
||||
your wish to the list.
|
||||
|
||||
:line
|
||||
|
||||
12.2 Past versions :h4,link(12_2)
|
||||
13.2 Past versions :h4,link(hist_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.
|
||||
and 3 companies (Cray, Bristol Myers Squibb, and Dupont). The goal was
|
||||
to develop a large-scale parallel classical MD code; the coding effort
|
||||
was led by Steve Plimpton at Sandia.
|
||||
|
||||
After the CRADA ended, a final F77 version, LAMMPS 99, was
|
||||
released. As development of LAMMPS continued at Sandia, its memory
|
||||
management 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.
|
||||
as an open source code in 2004. It includes many new features beyond
|
||||
those in LAMMPS 99 or 2001. It also includes features from older
|
||||
parallel MD codes written at Sandia, namely ParaDyn, Warp, and
|
||||
GranFlow (see below).
|
||||
|
||||
In late 2006 we began merging new capabilities into LAMMPS that were
|
||||
developed by Aidan Thompson at Sandia for his MD code GRASP, which has
|
||||
a parallel framework similar to LAMMPS. Most notably, these have
|
||||
included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF -
|
||||
and the associated charge-equilibration routines needed for ReaxFF.
|
||||
|
||||
The "History link"_http://lammps.sandia.gov/history.html on the
|
||||
LAMMPS WWW page gives a timeline of features added to the
|
||||
C++ open-source version of LAMMPS over the last several years.
|
||||
|
||||
These older codes are available for download from the "LAMMPS WWW
|
||||
site"_lws, except for Warp & GranFlow which were primarily used
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<HTML>
|
||||
<CENTER><A HREF = "Section_commands.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Section_example.html">Next Section</A>
|
||||
<CENTER><A HREF = "Section_accelerate.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Section_example.html">Next Section</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
@ -9,32 +9,32 @@
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>4. How-to discussions
|
||||
<H3>6. How-to discussions
|
||||
</H3>
|
||||
<P>The following sections describe how to use various options within
|
||||
LAMMPS.
|
||||
</P>
|
||||
4.1 <A HREF = "#4_1">Restarting a simulation</A><BR>
|
||||
4.2 <A HREF = "#4_2">2d simulations</A><BR>
|
||||
4.3 <A HREF = "#4_3">CHARMM, AMBER, and DREIDING force fields</A><BR>
|
||||
4.4 <A HREF = "#4_4">Running multiple simulations from one input script</A><BR>
|
||||
4.5 <A HREF = "#4_5">Multi-replica simulations</A><BR>
|
||||
4.6 <A HREF = "#4_6">Granular models</A><BR>
|
||||
4.7 <A HREF = "#4_7">TIP3P water model</A><BR>
|
||||
4.8 <A HREF = "#4_8">TIP4P water model</A><BR>
|
||||
4.9 <A HREF = "#4_9">SPC water model</A><BR>
|
||||
4.10 <A HREF = "#4_10">Coupling LAMMPS to other codes</A><BR>
|
||||
4.11 <A HREF = "#4_11">Visualizing LAMMPS snapshots</A><BR>
|
||||
4.12 <A HREF = "#4_12">Triclinic (non-orthogonal) simulation boxes</A><BR>
|
||||
4.13 <A HREF = "#4_13">NEMD simulations</A><BR>
|
||||
4.14 <A HREF = "#4_14">Extended spherical and aspherical particles</A><BR>
|
||||
4.15 <A HREF = "#4_15">Output from LAMMPS (thermo, dumps, computes, fixes, variables)</A><BR>
|
||||
4.16 <A HREF = "#4_16">Thermostatting, barostatting and computing temperature</A><BR>
|
||||
4.17 <A HREF = "#4_17">Walls</A><BR>
|
||||
4.18 <A HREF = "#4_18">Elastic constants</A><BR>
|
||||
4.19 <A HREF = "#4_19">Library interface to LAMMPS</A><BR>
|
||||
4.20 <A HREF = "#4_20">Calculating thermal conductivity</A><BR>
|
||||
4.21 <A HREF = "#4_21">Calculating viscosity</A> <BR>
|
||||
6.1 <A HREF = "#howto_1">Restarting a simulation</A><BR>
|
||||
6.2 <A HREF = "#howto_2">2d simulations</A><BR>
|
||||
6.3 <A HREF = "#howto_3">CHARMM, AMBER, and DREIDING force fields</A><BR>
|
||||
6.4 <A HREF = "#howto_4">Running multiple simulations from one input script</A><BR>
|
||||
6.5 <A HREF = "#howto_5">Multi-replica simulations</A><BR>
|
||||
6.6 <A HREF = "#howto_6">Granular models</A><BR>
|
||||
6.7 <A HREF = "#howto_7">TIP3P water model</A><BR>
|
||||
6.8 <A HREF = "#howto_8">TIP4P water model</A><BR>
|
||||
6.9 <A HREF = "#howto_9">SPC water model</A><BR>
|
||||
6.10 <A HREF = "#howto_10">Coupling LAMMPS to other codes</A><BR>
|
||||
6.11 <A HREF = "#howto_11">Visualizing LAMMPS snapshots</A><BR>
|
||||
6.12 <A HREF = "#howto_12">Triclinic (non-orthogonal) simulation boxes</A><BR>
|
||||
6.13 <A HREF = "#howto_13">NEMD simulations</A><BR>
|
||||
6.14 <A HREF = "#howto_14">Extended spherical and aspherical particles</A><BR>
|
||||
6.15 <A HREF = "#howto_15">Output from LAMMPS (thermo, dumps, computes, fixes, variables)</A><BR>
|
||||
6.16 <A HREF = "#howto_16">Thermostatting, barostatting and computing temperature</A><BR>
|
||||
6.17 <A HREF = "#howto_17">Walls</A><BR>
|
||||
6.18 <A HREF = "#howto_18">Elastic constants</A><BR>
|
||||
6.19 <A HREF = "#howto_19">Library interface to LAMMPS</A><BR>
|
||||
6.20 <A HREF = "#howto_20">Calculating thermal conductivity</A><BR>
|
||||
6.21 <A HREF = "#howto_21">Calculating viscosity</A> <BR>
|
||||
|
||||
<P>The example input scripts included in the LAMMPS distribution and
|
||||
highlighted in <A HREF = "Section_example.html">this section</A> also show how to
|
||||
@ -42,7 +42,7 @@ setup and run various kinds of simulations.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_1"></A><H4>4.1 Restarting a simulation
|
||||
<A NAME = "howto_1"></A><H4>6.1 Restarting a simulation
|
||||
</H4>
|
||||
<P>There are 3 ways to continue a long LAMMPS simulation. Multiple
|
||||
<A HREF = "run.html">run</A> commands can be used in the same input script. Each
|
||||
@ -134,7 +134,7 @@ but not in data files.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_2"></A><H4>4.2 2d simulations
|
||||
<A NAME = "howto_2"></A><H4>6.2 2d simulations
|
||||
</H4>
|
||||
<P>Use the <A HREF = "dimension.html">dimension</A> command to specify a 2d simulation.
|
||||
</P>
|
||||
@ -169,7 +169,7 @@ the same as in 3d.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_3"></A><H4>4.3 CHARMM, AMBER, and DREIDING force fields
|
||||
<A NAME = "howto_3"></A><H4>6.3 CHARMM, AMBER, and DREIDING force fields
|
||||
</H4>
|
||||
<P>A force field has 2 parts: the formulas that define it and the
|
||||
coefficients used for a particular system. Here we only discuss
|
||||
@ -246,7 +246,7 @@ documentation for the formula it computes.
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_4"></A><H4>4.4 Running multiple simulations from one input script
|
||||
<A NAME = "howto_4"></A><H4>6.4 Running multiple simulations from one input script
|
||||
</H4>
|
||||
<P>This can be done in several ways. See the documentation for
|
||||
individual commands for more details on how these examples work.
|
||||
@ -318,7 +318,7 @@ jump in.polymer
|
||||
<P>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 <A HREF = "Section_start.html#2_6">this
|
||||
the "-partition" command-line switch as described in <A HREF = "Section_start.html#start_6">this
|
||||
section</A> of the manual.
|
||||
</P>
|
||||
<P>In the last 2 examples, if LAMMPS were run on 3 partitions, the same
|
||||
@ -334,7 +334,7 @@ the 4th simulation, and so forth, until all 8 were completed.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_5"></A><H4>4.5 Multi-replica simulations
|
||||
<A NAME = "howto_5"></A><H4>6.5 Multi-replica simulations
|
||||
</H4>
|
||||
<P>Several commands in LAMMPS run mutli-replica simulations, meaning
|
||||
that multiple instances (replicas) of your simulation are run
|
||||
@ -355,12 +355,12 @@ runs different replicas at a series of temperature to facilitate
|
||||
rare-event sampling.
|
||||
</P>
|
||||
<P>These command can only be used if LAMMPS was built with the "replica"
|
||||
package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for
|
||||
more info on packages.
|
||||
package. See the <A HREF = "Section_start.html#start_3">Making LAMMPS</A> section
|
||||
for more info on packages.
|
||||
</P>
|
||||
<P>In all these cases, you must run with one or more processors per
|
||||
replica. The processors assigned to each replica are determined at
|
||||
run-time by using the <A HREF = "Section_start.html#2_6">-partition command-line
|
||||
run-time by using the <A HREF = "Section_start.html#start_6">-partition command-line
|
||||
switch</A> to launch LAMMPS on multiple
|
||||
partitions, which in this context are the same as replicas. E.g.
|
||||
these commands:
|
||||
@ -369,8 +369,8 @@ these commands:
|
||||
mpirun -np 8 lmp_linux -partition 8x1 -in in.neb
|
||||
</PRE>
|
||||
<P>would each run 8 replicas, on either 16 or 8 processors. Note the use
|
||||
of the <A HREF = "Section_start.html#2_6">-in command-line switch</A> to specify the
|
||||
input script which is required when running in multi-replica mode.
|
||||
of the <A HREF = "Section_start.html#start_6">-in command-line switch</A> to specify
|
||||
the input script which is required when running in multi-replica mode.
|
||||
</P>
|
||||
<P>Also note that with MPI installed on a machine (e.g. your desktop),
|
||||
you can run on more (virtual) processors than you have physical
|
||||
@ -381,7 +381,7 @@ physical processors.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_6"></A><H4>4.6 Granular models
|
||||
<A NAME = "howto_6"></A><H4>6.6 Granular models
|
||||
</H4>
|
||||
<P>Granular system are composed of spherical particles with a diameter,
|
||||
as opposed to point particles. This means they have an angular
|
||||
@ -398,7 +398,7 @@ the following commands:
|
||||
</P>
|
||||
<UL><LI><A HREF = "compute_erotate_sphere.html">compute erotate/sphere</A>
|
||||
</UL>
|
||||
<P>calculates rotational kinetic energy which can be <A HREF = "Section_howto.html#4_15">output with
|
||||
<P>calculates rotational kinetic energy which can be <A HREF = "Section_howto.html#howto_15">output with
|
||||
thermodynamic info</A>.
|
||||
</P>
|
||||
<P>Use one of these 3 pair potentials, which compute forces and torques
|
||||
@ -426,7 +426,7 @@ computations between frozen atoms by using this command:
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_7"></A><H4>4.7 TIP3P water model
|
||||
<A NAME = "howto_7"></A><H4>6.7 TIP3P water model
|
||||
</H4>
|
||||
<P>The TIP3P water model as implemented in CHARMM
|
||||
<A HREF = "#MacKerell">(MacKerell)</A> specifies a 3-site rigid water molecule with
|
||||
@ -486,7 +486,7 @@ models</A>.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_8"></A><H4>4.8 TIP4P water model
|
||||
<A NAME = "howto_8"></A><H4>6.8 TIP4P water model
|
||||
</H4>
|
||||
<P>The four-point TIP4P rigid water model extends the traditional
|
||||
three-point TIP3P model by adding an additional site, usually
|
||||
@ -545,7 +545,7 @@ models</A>.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_9"></A><H4>4.9 SPC water model
|
||||
<A NAME = "howto_9"></A><H4>6.9 SPC water model
|
||||
</H4>
|
||||
<P>The SPC water model specifies a 3-site rigid water molecule with
|
||||
charges and Lennard-Jones parameters assigned to each of the 3 atoms.
|
||||
@ -590,7 +590,7 @@ models</A>.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_10"></A><H4>4.10 Coupling LAMMPS to other codes
|
||||
<A NAME = "howto_10"></A><H4>6.10 Coupling LAMMPS to other codes
|
||||
</H4>
|
||||
<P>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
|
||||
@ -660,10 +660,10 @@ strain induced across grain boundaries
|
||||
|
||||
|
||||
|
||||
<P><A HREF = "Section_start.html#2_4">This section</A> of the documentation describes
|
||||
how to build LAMMPS as a library. Once this is done, you can
|
||||
interface with LAMMPS either via C++, C, Fortran, or Python (or any
|
||||
other language that supports a vanilla C-like interface). For
|
||||
<P><A HREF = "Section_start.html#start_4">This section</A> of the documentation
|
||||
describes how to build LAMMPS as a library. Once this is done, you
|
||||
can interface with LAMMPS either via C++, C, Fortran, or Python (or
|
||||
any other language that supports a vanilla C-like interface). For
|
||||
example, from C++ you could create one (or more) "instances" of
|
||||
LAMMPS, pass it an input script to process, or execute individual
|
||||
commands, all by invoking the correct class methods in LAMMPS. From C
|
||||
@ -673,7 +673,7 @@ the Python wrapper provided with LAMMPS that operates through the
|
||||
LAMMPS library interface.
|
||||
</P>
|
||||
<P>The files src/library.cpp and library.h contain the C-style interface
|
||||
to LAMMPS. See <A HREF = "Section_howto.html#4_19">this section</A> of the manual
|
||||
to LAMMPS. See <A HREF = "Section_howto.html#howto_19">this section</A> of the manual
|
||||
for a description of the interface and how to extend it for your
|
||||
needs.
|
||||
</P>
|
||||
@ -690,7 +690,7 @@ instances of LAMMPS to perform different calculations.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_11"></A><H4>4.11 Visualizing LAMMPS snapshots
|
||||
<A NAME = "howto_11"></A><H4>6.11 Visualizing LAMMPS snapshots
|
||||
</H4>
|
||||
<P>LAMMPS itself does not do visualization, but snapshots from LAMMPS
|
||||
simulations can be visualized (and analyzed) in a variety of ways.
|
||||
@ -749,7 +749,7 @@ See the <A HREF = "dump.html">dump</A> command for more information on XTC files
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_12"></A><H4>4.12 Triclinic (non-orthogonal) simulation boxes
|
||||
<A NAME = "howto_12"></A><H4>6.12 Triclinic (non-orthogonal) simulation boxes
|
||||
</H4>
|
||||
<P>By default, LAMMPS uses an orthogonal simulation box to encompass the
|
||||
particles. The <A HREF = "boundary.html">boundary</A> command sets the boundary
|
||||
@ -882,7 +882,7 @@ on non-equilibrium MD (NEMD) simulations.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_13"></A><H4>4.13 NEMD simulations
|
||||
<A NAME = "howto_13"></A><H4>6.13 NEMD simulations
|
||||
</H4>
|
||||
<P>Non-equilibrium molecular dynamics or NEMD simulations are typically
|
||||
used to measure a fluid's rheological properties such as viscosity.
|
||||
@ -920,7 +920,7 @@ profile consistent with the applied shear strain rate.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_14"></A><H4>4.14 Extended spherical and aspherical particles
|
||||
<A NAME = "howto_14"></A><H4>6.14 Extended spherical and aspherical particles
|
||||
</H4>
|
||||
<P>Typical MD models treat atoms or particles as point masses.
|
||||
Sometimes, however, it is desirable to have a model with finite-size
|
||||
@ -1100,7 +1100,7 @@ particles are point masses.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_15"></A><H4>4.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables)
|
||||
<A NAME = "howto_15"></A><H4>6.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables)
|
||||
</H4>
|
||||
<P>There are four basic kinds of LAMMPS output:
|
||||
</P>
|
||||
@ -1394,7 +1394,7 @@ vector input could be a column of an array.
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_16"></A><H4>4.16 Thermostatting, barostatting, and computing temperature
|
||||
<A NAME = "howto_16"></A><H4>6.16 Thermostatting, barostatting, and computing temperature
|
||||
</H4>
|
||||
<P>Thermostatting means controlling the temperature of particles in an MD
|
||||
simulation. Barostatting means controlling the pressure. Since the
|
||||
@ -1455,7 +1455,7 @@ thermostatting can be invoked via the <I>dpd/tstat</I> pair style:
|
||||
<P><A HREF = "fix_nh.html">Fix nvt</A> only thermostats the translational velocity of
|
||||
particles. <A HREF = "fix_nvt_sllod.html">Fix nvt/sllod</A> also does this, except
|
||||
that it subtracts out a velocity bias due to a deforming box and
|
||||
integrates the SLLOD equations of motion. See the <A HREF = "#4_13">NEMD
|
||||
integrates the SLLOD equations of motion. See the <A HREF = "#howto_13">NEMD
|
||||
simulations</A> section of this page for further details. <A HREF = "fix_nvt_sphere.html">Fix
|
||||
nvt/sphere</A> and <A HREF = "fix_nvt_asphere.html">fix
|
||||
nvt/asphere</A> thermostat not only translation
|
||||
@ -1545,7 +1545,7 @@ thermodynamic output.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_17"></A><H4>4.17 Walls
|
||||
<A NAME = "howto_17"></A><H4>6.17 Walls
|
||||
</H4>
|
||||
<P>Walls in an MD simulation are typically used to bound particle motion,
|
||||
i.e. to serve as a boundary condition.
|
||||
@ -1619,7 +1619,7 @@ frictional walls, as well as triangulated surfaces.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_18"></A><H4>4.18 Elastic constants
|
||||
<A NAME = "howto_18"></A><H4>6.18 Elastic constants
|
||||
</H4>
|
||||
<P>Elastic constants characterize the stiffness of a material. The formal
|
||||
definition is provided by the linear relation that holds between the
|
||||
@ -1655,12 +1655,12 @@ converge and requires careful post-processing <A HREF = "#Shinoda">(Shinoda)</A>
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_19"></A><H4>4.19 Library interface to LAMMPS
|
||||
<A NAME = "howto_19"></A><H4>6.19 Library interface to LAMMPS
|
||||
</H4>
|
||||
<P>As described in <A HREF = "Section_start.html#2_4">this section</A>, LAMMPS can be
|
||||
built as a library, so that it can be called by another code, used in
|
||||
a <A HREF = "Section_howto.html#4_10">coupled manner</A> with other codes, or driven
|
||||
through a <A HREF = "Section_python.html">Python interface</A>.
|
||||
<P>As described in <A HREF = "Section_start.html#start_4">this section</A>, LAMMPS can
|
||||
be built as a library, so that it can be called by another code, used
|
||||
in a <A HREF = "Section_howto.html#howto_10">coupled manner</A> with other codes, or
|
||||
driven through a <A HREF = "Section_python.html">Python interface</A>.
|
||||
</P>
|
||||
<P>All of these methodologies use a C-style interface to LAMMPS that is
|
||||
provided in the files src/library.cpp and src/library.h. The
|
||||
@ -1679,11 +1679,12 @@ void lammps_file(void *, char *);
|
||||
char *lammps_command(void *, char *);
|
||||
</PRE>
|
||||
<P>The lammps_open() function is used to initialize LAMMPS, passing in a
|
||||
list of strings as if they were <A HREF = "#2_6">command-line arguments</A> when
|
||||
LAMMPS is run in stand-alone mode from the command line, and a MPI
|
||||
communicator for LAMMPS to run under. It returns a ptr to the LAMMPS
|
||||
object that is created, and which is used in subsequent library calls.
|
||||
The lammps_open() function can be called multiple times, to create
|
||||
list of strings as if they were <A HREF = "Section_start.html#start_6">command-line
|
||||
arguments</A> when LAMMPS is run in
|
||||
stand-alone mode from the command line, and a MPI communicator for
|
||||
LAMMPS to run under. It returns a ptr to the LAMMPS object that is
|
||||
created, and which is used in subsequent library calls. The
|
||||
lammps_open() function can be called multiple times, to create
|
||||
multiple instances of LAMMPS.
|
||||
</P>
|
||||
<P>LAMMPS will run on the set of processors in the communicator. This
|
||||
@ -1735,10 +1736,10 @@ grab data from LAMMPS, change it, and put it back into LAMMPS.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_20"></A><H4>4.20 Calculating thermal conductivity
|
||||
<A NAME = "howto_20"></A><H4>6.20 Calculating thermal conductivity
|
||||
</H4>
|
||||
<P>The thermal conductivity kappa of a material can be measured in at
|
||||
least 3 ways using various options in LAMMPS. (See <A HREF = "Section_howto.html#4_21">this
|
||||
least 3 ways using various options in LAMMPS. (See <A HREF = "Section_howto.html#howto_21">this
|
||||
section</A> of the manual for an analogous
|
||||
discussion for viscosity). The thermal conducitivity tensor kappa is
|
||||
a measure of the propensity of a material to transmit heat energy in a
|
||||
@ -1755,7 +1756,7 @@ scalar.
|
||||
<P>The first method is to setup two thermostatted regions at opposite
|
||||
ends of a simulation box, or one in the middle and one at the end of a
|
||||
periodic box. By holding the two regions at different temperatures
|
||||
with a <A HREF = "Section_howto.html#4_13">thermostatting fix</A>, the energy added
|
||||
with a <A HREF = "Section_howto.html#howto_13">thermostatting fix</A>, the energy added
|
||||
to the hot region should equal the energy subtracted from the cold
|
||||
region and be proportional to the heat flux moving between the
|
||||
regions. See the paper by <A HREF = "#Ikeshoji">Ikeshoji and Hafskjold</A> for
|
||||
@ -1800,10 +1801,10 @@ formalism.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "4_21"></A><H4>4.21 Calculating viscosity
|
||||
<A NAME = "howto_21"></A><H4>6.21 Calculating viscosity
|
||||
</H4>
|
||||
<P>The shear viscosity eta of a fluid can be measured in at least 3 ways
|
||||
using various options in LAMMPS. (See <A HREF = "Section_howto.html#4_20">this
|
||||
using various options in LAMMPS. (See <A HREF = "Section_howto.html#howto_20">this
|
||||
section</A> of the manual for an analogous
|
||||
discussion for thermal conductivity). Eta is a measure of the
|
||||
propensity of a fluid to transmit momentum in a direction
|
||||
@ -1829,7 +1830,7 @@ y-direction of the Vx component of fluid motion or grad(Vstream) =
|
||||
dVx/dy. In this case, the Pxy off-diagonal component of the pressure
|
||||
or stress tensor, as calculated by the <A HREF = "compute_pressure.html">compute
|
||||
pressure</A> command, can also be monitored, which
|
||||
is the J term in the equation above. See <A HREF = "Section_howto.html#4_13">this
|
||||
is the J term in the equation above. See <A HREF = "Section_howto.html#howto_13">this
|
||||
section</A> of the manual for details on NEMD
|
||||
simulations.
|
||||
</P>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
"Previous Section"_Section_commands.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_example.html :c
|
||||
"Previous Section"_Section_accelerate.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)
|
||||
@ -6,32 +6,32 @@
|
||||
|
||||
:line
|
||||
|
||||
4. How-to discussions :h3
|
||||
6. How-to discussions :h3
|
||||
|
||||
The following sections describe how to use various options within
|
||||
LAMMPS.
|
||||
|
||||
4.1 "Restarting a simulation"_#4_1
|
||||
4.2 "2d simulations"_#4_2
|
||||
4.3 "CHARMM, AMBER, and DREIDING force fields"_#4_3
|
||||
4.4 "Running multiple simulations from one input script"_#4_4
|
||||
4.5 "Multi-replica simulations"_#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
|
||||
4.11 "Visualizing LAMMPS snapshots"_#4_11
|
||||
4.12 "Triclinic (non-orthogonal) simulation boxes"_#4_12
|
||||
4.13 "NEMD simulations"_#4_13
|
||||
4.14 "Extended spherical and aspherical particles"_#4_14
|
||||
4.15 "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_#4_15
|
||||
4.16 "Thermostatting, barostatting and computing temperature"_#4_16
|
||||
4.17 "Walls"_#4_17
|
||||
4.18 "Elastic constants"_#4_18
|
||||
4.19 "Library interface to LAMMPS"_#4_19
|
||||
4.20 "Calculating thermal conductivity"_#4_20
|
||||
4.21 "Calculating viscosity"_#4_21 :all(b)
|
||||
6.1 "Restarting a simulation"_#howto_1
|
||||
6.2 "2d simulations"_#howto_2
|
||||
6.3 "CHARMM, AMBER, and DREIDING force fields"_#howto_3
|
||||
6.4 "Running multiple simulations from one input script"_#howto_4
|
||||
6.5 "Multi-replica simulations"_#howto_5
|
||||
6.6 "Granular models"_#howto_6
|
||||
6.7 "TIP3P water model"_#howto_7
|
||||
6.8 "TIP4P water model"_#howto_8
|
||||
6.9 "SPC water model"_#howto_9
|
||||
6.10 "Coupling LAMMPS to other codes"_#howto_10
|
||||
6.11 "Visualizing LAMMPS snapshots"_#howto_11
|
||||
6.12 "Triclinic (non-orthogonal) simulation boxes"_#howto_12
|
||||
6.13 "NEMD simulations"_#howto_13
|
||||
6.14 "Extended spherical and aspherical particles"_#howto_14
|
||||
6.15 "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_#howto_15
|
||||
6.16 "Thermostatting, barostatting and computing temperature"_#howto_16
|
||||
6.17 "Walls"_#howto_17
|
||||
6.18 "Elastic constants"_#howto_18
|
||||
6.19 "Library interface to LAMMPS"_#howto_19
|
||||
6.20 "Calculating thermal conductivity"_#howto_20
|
||||
6.21 "Calculating viscosity"_#howto_21 :all(b)
|
||||
|
||||
The example input scripts included in the LAMMPS distribution and
|
||||
highlighted in "this section"_Section_example.html also show how to
|
||||
@ -39,7 +39,7 @@ setup and run various kinds of simulations.
|
||||
|
||||
:line
|
||||
|
||||
4.1 Restarting a simulation :link(4_1),h4
|
||||
6.1 Restarting a simulation :link(howto_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
|
||||
@ -131,7 +131,7 @@ but not in data files.
|
||||
|
||||
:line
|
||||
|
||||
4.2 2d simulations :link(4_2),h4
|
||||
6.2 2d simulations :link(howto_2),h4
|
||||
|
||||
Use the "dimension"_dimension.html command to specify a 2d simulation.
|
||||
|
||||
@ -166,7 +166,7 @@ the same as in 3d.
|
||||
|
||||
:line
|
||||
|
||||
4.3 CHARMM, AMBER, and DREIDING force fields :link(4_3),h4
|
||||
6.3 CHARMM, AMBER, and DREIDING force fields :link(howto_3),h4
|
||||
|
||||
A force field has 2 parts: the formulas that define it and the
|
||||
coefficients used for a particular system. Here we only discuss
|
||||
@ -242,7 +242,7 @@ documentation for the formula it computes.
|
||||
|
||||
:line
|
||||
|
||||
4.4 Running multiple simulations from one input script :link(4_4),h4
|
||||
6.4 Running multiple simulations from one input script :link(howto_4),h4
|
||||
|
||||
This can be done in several ways. See the documentation for
|
||||
individual commands for more details on how these examples work.
|
||||
@ -315,7 +315,7 @@ 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_6 of the manual.
|
||||
section"_Section_start.html#start_6 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
|
||||
@ -330,7 +330,7 @@ the 4th simulation, and so forth, until all 8 were completed.
|
||||
|
||||
:line
|
||||
|
||||
4.5 Multi-replica simulations :link(4_5),h4
|
||||
6.5 Multi-replica simulations :link(howto_5),h4
|
||||
|
||||
Several commands in LAMMPS run mutli-replica simulations, meaning
|
||||
that multiple instances (replicas) of your simulation are run
|
||||
@ -351,13 +351,13 @@ runs different replicas at a series of temperature to facilitate
|
||||
rare-event sampling.
|
||||
|
||||
These command can only be used if LAMMPS was built with the "replica"
|
||||
package. See the "Making LAMMPS"_Section_start.html#2_3 section for
|
||||
more info on packages.
|
||||
package. See the "Making LAMMPS"_Section_start.html#start_3 section
|
||||
for more info on packages.
|
||||
|
||||
In all these cases, you must run with one or more processors per
|
||||
replica. The processors assigned to each replica are determined at
|
||||
run-time by using the "-partition command-line
|
||||
switch"_Section_start.html#2_6 to launch LAMMPS on multiple
|
||||
switch"_Section_start.html#start_6 to launch LAMMPS on multiple
|
||||
partitions, which in this context are the same as replicas. E.g.
|
||||
these commands:
|
||||
|
||||
@ -365,8 +365,8 @@ mpirun -np 16 lmp_linux -partition 8x2 -in in.temper
|
||||
mpirun -np 8 lmp_linux -partition 8x1 -in in.neb :pre
|
||||
|
||||
would each run 8 replicas, on either 16 or 8 processors. Note the use
|
||||
of the "-in command-line switch"_Section_start.html#2_6 to specify the
|
||||
input script which is required when running in multi-replica mode.
|
||||
of the "-in command-line switch"_Section_start.html#start_6 to specify
|
||||
the input script which is required when running in multi-replica mode.
|
||||
|
||||
Also note that with MPI installed on a machine (e.g. your desktop),
|
||||
you can run on more (virtual) processors than you have physical
|
||||
@ -377,7 +377,7 @@ physical processors.
|
||||
|
||||
:line
|
||||
|
||||
4.6 Granular models :link(4_6),h4
|
||||
6.6 Granular models :link(howto_6),h4
|
||||
|
||||
Granular system are composed of spherical particles with a diameter,
|
||||
as opposed to point particles. This means they have an angular
|
||||
@ -395,7 +395,7 @@ This compute
|
||||
"compute erotate/sphere"_compute_erotate_sphere.html :ul
|
||||
|
||||
calculates rotational kinetic energy which can be "output with
|
||||
thermodynamic info"_Section_howto.html#4_15.
|
||||
thermodynamic info"_Section_howto.html#howto_15.
|
||||
|
||||
Use one of these 3 pair potentials, which compute forces and torques
|
||||
between interacting pairs of particles:
|
||||
@ -422,7 +422,7 @@ computations between frozen atoms by using this command:
|
||||
|
||||
:line
|
||||
|
||||
4.7 TIP3P water model :link(4_7),h4
|
||||
6.7 TIP3P water model :link(howto_7),h4
|
||||
|
||||
The TIP3P water model as implemented in CHARMM
|
||||
"(MacKerell)"_#MacKerell specifies a 3-site rigid water molecule with
|
||||
@ -482,7 +482,7 @@ models"_http://en.wikipedia.org/wiki/Water_model.
|
||||
|
||||
:line
|
||||
|
||||
4.8 TIP4P water model :link(4_8),h4
|
||||
6.8 TIP4P water model :link(howto_8),h4
|
||||
|
||||
The four-point TIP4P rigid water model extends the traditional
|
||||
three-point TIP3P model by adding an additional site, usually
|
||||
@ -541,7 +541,7 @@ models"_http://en.wikipedia.org/wiki/Water_model.
|
||||
|
||||
:line
|
||||
|
||||
4.9 SPC water model :link(4_9),h4
|
||||
6.9 SPC water model :link(howto_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.
|
||||
@ -586,7 +586,7 @@ models"_http://en.wikipedia.org/wiki/Water_model.
|
||||
|
||||
:line
|
||||
|
||||
4.10 Coupling LAMMPS to other codes :link(4_10),h4
|
||||
6.10 Coupling LAMMPS to other codes :link(howto_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
|
||||
@ -655,10 +655,10 @@ strain induced across grain boundaries :l,ule
|
||||
:link(quest,http://dft.sandia.gov/Quest)
|
||||
:link(spparks,http://www.sandia.gov/~sjplimp/spparks.html)
|
||||
|
||||
"This section"_Section_start.html#2_4 of the documentation describes
|
||||
how to build LAMMPS as a library. Once this is done, you can
|
||||
interface with LAMMPS either via C++, C, Fortran, or Python (or any
|
||||
other language that supports a vanilla C-like interface). For
|
||||
"This section"_Section_start.html#start_4 of the documentation
|
||||
describes how to build LAMMPS as a library. Once this is done, you
|
||||
can interface with LAMMPS either via C++, C, Fortran, or Python (or
|
||||
any other language that supports a vanilla C-like interface). For
|
||||
example, from C++ you could create one (or more) "instances" of
|
||||
LAMMPS, pass it an input script to process, or execute individual
|
||||
commands, all by invoking the correct class methods in LAMMPS. From C
|
||||
@ -668,7 +668,7 @@ the Python wrapper provided with LAMMPS that operates through the
|
||||
LAMMPS library interface.
|
||||
|
||||
The files src/library.cpp and library.h contain the C-style interface
|
||||
to LAMMPS. See "this section"_Section_howto.html#4_19 of the manual
|
||||
to LAMMPS. See "this section"_Section_howto.html#howto_19 of the manual
|
||||
for a description of the interface and how to extend it for your
|
||||
needs.
|
||||
|
||||
@ -685,7 +685,7 @@ instances of LAMMPS to perform different calculations.
|
||||
|
||||
:line
|
||||
|
||||
4.11 Visualizing LAMMPS snapshots :link(4_11),h4
|
||||
6.11 Visualizing LAMMPS snapshots :link(howto_11),h4
|
||||
|
||||
LAMMPS itself does not do visualization, but snapshots from LAMMPS
|
||||
simulations can be visualized (and analyzed) in a variety of ways.
|
||||
@ -741,7 +741,7 @@ See the "dump"_dump.html command for more information on XTC files.
|
||||
|
||||
:line
|
||||
|
||||
4.12 Triclinic (non-orthogonal) simulation boxes :link(4_12),h4
|
||||
6.12 Triclinic (non-orthogonal) simulation boxes :link(howto_12),h4
|
||||
|
||||
By default, LAMMPS uses an orthogonal simulation box to encompass the
|
||||
particles. The "boundary"_boundary.html command sets the boundary
|
||||
@ -874,7 +874,7 @@ on non-equilibrium MD (NEMD) simulations.
|
||||
|
||||
:line
|
||||
|
||||
4.13 NEMD simulations :link(4_13),h4
|
||||
6.13 NEMD simulations :link(howto_13),h4
|
||||
|
||||
Non-equilibrium molecular dynamics or NEMD simulations are typically
|
||||
used to measure a fluid's rheological properties such as viscosity.
|
||||
@ -912,7 +912,7 @@ An alternative method for calculating viscosities is provided via the
|
||||
|
||||
:line
|
||||
|
||||
4.14 Extended spherical and aspherical particles :link(4_14),h4
|
||||
6.14 Extended spherical and aspherical particles :link(howto_14),h4
|
||||
|
||||
Typical MD models treat atoms or particles as point masses.
|
||||
Sometimes, however, it is desirable to have a model with finite-size
|
||||
@ -1092,7 +1092,7 @@ particles are point masses.
|
||||
|
||||
:line
|
||||
|
||||
4.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables) :link(4_15),h4
|
||||
6.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables) :link(howto_15),h4
|
||||
|
||||
There are four basic kinds of LAMMPS output:
|
||||
|
||||
@ -1382,7 +1382,7 @@ Command: Input: Output:
|
||||
|
||||
:line
|
||||
|
||||
4.16 Thermostatting, barostatting, and computing temperature :link(4_16),h4
|
||||
6.16 Thermostatting, barostatting, and computing temperature :link(howto_16),h4
|
||||
|
||||
Thermostatting means controlling the temperature of particles in an MD
|
||||
simulation. Barostatting means controlling the pressure. Since the
|
||||
@ -1444,7 +1444,7 @@ thermostatting can be invoked via the {dpd/tstat} pair style:
|
||||
particles. "Fix nvt/sllod"_fix_nvt_sllod.html also does this, except
|
||||
that it subtracts out a velocity bias due to a deforming box and
|
||||
integrates the SLLOD equations of motion. See the "NEMD
|
||||
simulations"_#4_13 section of this page for further details. "Fix
|
||||
simulations"_#howto_13 section of this page for further details. "Fix
|
||||
nvt/sphere"_fix_nvt_sphere.html and "fix
|
||||
nvt/asphere"_fix_nvt_asphere.html thermostat not only translation
|
||||
velocities but also rotational velocities for spherical and aspherical
|
||||
@ -1533,7 +1533,7 @@ thermodynamic output.
|
||||
|
||||
:line
|
||||
|
||||
4.17 Walls :link(4_17),h4
|
||||
6.17 Walls :link(howto_17),h4
|
||||
|
||||
Walls in an MD simulation are typically used to bound particle motion,
|
||||
i.e. to serve as a boundary condition.
|
||||
@ -1607,7 +1607,7 @@ frictional walls, as well as triangulated surfaces.
|
||||
|
||||
:line
|
||||
|
||||
4.18 Elastic constants :link(4_18),h4
|
||||
6.18 Elastic constants :link(howto_18),h4
|
||||
|
||||
Elastic constants characterize the stiffness of a material. The formal
|
||||
definition is provided by the linear relation that holds between the
|
||||
@ -1643,12 +1643,12 @@ converge and requires careful post-processing "(Shinoda)"_#Shinoda
|
||||
|
||||
:line
|
||||
|
||||
4.19 Library interface to LAMMPS :link(4_19),h4
|
||||
6.19 Library interface to LAMMPS :link(howto_19),h4
|
||||
|
||||
As described in "this section"_Section_start.html#2_4, LAMMPS can be
|
||||
built as a library, so that it can be called by another code, used in
|
||||
a "coupled manner"_Section_howto.html#4_10 with other codes, or driven
|
||||
through a "Python interface"_Section_python.html.
|
||||
As described in "this section"_Section_start.html#start_4, LAMMPS can
|
||||
be built as a library, so that it can be called by another code, used
|
||||
in a "coupled manner"_Section_howto.html#howto_10 with other codes, or
|
||||
driven through a "Python interface"_Section_python.html.
|
||||
|
||||
All of these methodologies use a C-style interface to LAMMPS that is
|
||||
provided in the files src/library.cpp and src/library.h. The
|
||||
@ -1667,11 +1667,12 @@ void lammps_file(void *, char *);
|
||||
char *lammps_command(void *, 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_6 when
|
||||
LAMMPS is run in stand-alone mode from the command line, and a MPI
|
||||
communicator for LAMMPS to run under. It returns a ptr to the LAMMPS
|
||||
object that is created, and which is used in subsequent library calls.
|
||||
The lammps_open() function can be called multiple times, to create
|
||||
list of strings as if they were "command-line
|
||||
arguments"_Section_start.html#start_6 when LAMMPS is run in
|
||||
stand-alone mode from the command line, and a MPI communicator for
|
||||
LAMMPS to run under. It returns a ptr to the LAMMPS object that is
|
||||
created, and which is used in subsequent library calls. The
|
||||
lammps_open() function can be called multiple times, to create
|
||||
multiple instances of LAMMPS.
|
||||
|
||||
LAMMPS will run on the set of processors in the communicator. This
|
||||
@ -1723,11 +1724,11 @@ grab data from LAMMPS, change it, and put it back into LAMMPS.
|
||||
|
||||
:line
|
||||
|
||||
4.20 Calculating thermal conductivity :link(4_20),h4
|
||||
6.20 Calculating thermal conductivity :link(howto_20),h4
|
||||
|
||||
The thermal conductivity kappa of a material can be measured in at
|
||||
least 3 ways using various options in LAMMPS. (See "this
|
||||
section"_Section_howto.html#4_21 of the manual for an analogous
|
||||
section"_Section_howto.html#howto_21 of the manual for an analogous
|
||||
discussion for viscosity). The thermal conducitivity tensor kappa is
|
||||
a measure of the propensity of a material to transmit heat energy in a
|
||||
diffusive manner as given by Fourier's law
|
||||
@ -1743,7 +1744,7 @@ scalar.
|
||||
The first method is to setup two thermostatted regions at opposite
|
||||
ends of a simulation box, or one in the middle and one at the end of a
|
||||
periodic box. By holding the two regions at different temperatures
|
||||
with a "thermostatting fix"_Section_howto.html#4_13, the energy added
|
||||
with a "thermostatting fix"_Section_howto.html#howto_13, the energy added
|
||||
to the hot region should equal the energy subtracted from the cold
|
||||
region and be proportional to the heat flux moving between the
|
||||
regions. See the paper by "Ikeshoji and Hafskjold"_#Ikeshoji for
|
||||
@ -1788,11 +1789,11 @@ formalism.
|
||||
|
||||
:line
|
||||
|
||||
4.21 Calculating viscosity :link(4_21),h4
|
||||
6.21 Calculating viscosity :link(howto_21),h4
|
||||
|
||||
The shear viscosity eta of a fluid can be measured in at least 3 ways
|
||||
using various options in LAMMPS. (See "this
|
||||
section"_Section_howto.html#4_20 of the manual for an analogous
|
||||
section"_Section_howto.html#howto_20 of the manual for an analogous
|
||||
discussion for thermal conductivity). Eta is a measure of the
|
||||
propensity of a fluid to transmit momentum in a direction
|
||||
perpendicular to the direction of velocity or momentum flow.
|
||||
@ -1818,7 +1819,7 @@ dVx/dy. In this case, the Pxy off-diagonal component of the pressure
|
||||
or stress tensor, as calculated by the "compute
|
||||
pressure"_compute_pressure.html command, can also be monitored, which
|
||||
is the J term in the equation above. See "this
|
||||
section"_Section_howto.html#4_13 of the manual for details on NEMD
|
||||
section"_Section_howto.html#howto_13 of the manual for details on NEMD
|
||||
simulations.
|
||||
|
||||
The second method is to perform a reverse non-equilibrium MD
|
||||
|
||||
@ -16,15 +16,15 @@ 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.
|
||||
</P>
|
||||
1.1 <A HREF = "#1_1">What is LAMMPS</A><BR>
|
||||
1.2 <A HREF = "#1_2">LAMMPS features</A><BR>
|
||||
1.3 <A HREF = "#1_3">LAMMPS non-features</A><BR>
|
||||
1.4 <A HREF = "#1_4">Open source distribution</A><BR>
|
||||
1.5 <A HREF = "#1_5">Acknowledgments and citations</A> <BR>
|
||||
1.1 <A HREF = "#intro_1">What is LAMMPS</A><BR>
|
||||
1.2 <A HREF = "#intro_2">LAMMPS features</A><BR>
|
||||
1.3 <A HREF = "#intro_3">LAMMPS non-features</A><BR>
|
||||
1.4 <A HREF = "#intro_4">Open source distribution</A><BR>
|
||||
1.5 <A HREF = "#intro_5">Acknowledgments and citations</A> <BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "1_1"></A><H4>1.1 What is LAMMPS
|
||||
<A NAME = "intro_1"></A><H4>1.1 What is LAMMPS
|
||||
</H4>
|
||||
<P>LAMMPS is a classical molecular dynamics code that models an ensemble
|
||||
of particles in a liquid, solid, or gaseous state. It can model
|
||||
@ -49,7 +49,7 @@ WWW Site</A>.
|
||||
</P>
|
||||
<P>LAMMPS is a freely-available open-source code, distributed under the
|
||||
terms of the <A HREF = "http://www.gnu.org/copyleft/gpl.html">GNU Public License</A>, which means you can use or
|
||||
modify the code however you wish. See <A HREF = "#1_4">this section</A> for a brief
|
||||
modify the code however you wish. See <A HREF = "#intro_4">this section</A> for a brief
|
||||
discussion of the open-source philosophy.
|
||||
</P>
|
||||
|
||||
@ -67,7 +67,7 @@ downloaded from the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>.
|
||||
<P>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 <A HREF = "http://www.sandia.gov">Sandia National Labs</A>.
|
||||
See <A HREF = "#1_5">this section</A> for more information on LAMMPS funding and
|
||||
See <A HREF = "#intro_5">this section</A> for more information on LAMMPS funding and
|
||||
individuals who have contributed to LAMMPS.
|
||||
</P>
|
||||
|
||||
@ -86,11 +86,11 @@ 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 <A HREF = "#1_5">this section</A>.
|
||||
LAMMPS are listed in <A HREF = "#intro_5">this section</A>.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "1_2"></A><H4>1.2 LAMMPS features
|
||||
<A NAME = "intro_2"></A><H4>1.2 LAMMPS features
|
||||
</H4>
|
||||
<P>This section highlights LAMMPS features, with pointers to specific
|
||||
commands which give more details. If LAMMPS doesn't have your
|
||||
@ -125,7 +125,8 @@ LAMMPS.
|
||||
<LI> metals
|
||||
<LI> granular materials
|
||||
<LI> coarse-grained mesoscale models
|
||||
<LI> extended spherical and ellipsoidal particles
|
||||
<LI> finite-size spherical and ellipsoidal particles
|
||||
<LI> finite-size line segment (2d) and triangle (3d) particles
|
||||
<LI> point dipolar particles
|
||||
<LI> rigid collections of particles
|
||||
<LI> hybrid combinations of these
|
||||
@ -139,10 +140,10 @@ commands)
|
||||
</P>
|
||||
<UL><LI> pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated
|
||||
<LI> charged pairwise potentials: Coulombic, point-dipole
|
||||
<LI> manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB
|
||||
<LI> manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB
|
||||
<LI> electron force field (eFF, AWPMD)
|
||||
<LI> coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO
|
||||
<LI> mesoscopic potentials: granular, Peridynamics
|
||||
<LI> mesoscopic potentials: granular, Peridynamics, SPH
|
||||
<LI> bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable)
|
||||
<LI> angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, class 2 (COMPASS)
|
||||
<LI> dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS
|
||||
@ -246,6 +247,7 @@ molecular dynamics options:
|
||||
<LI><A HREF = "fix_imd.html">real-time visualization and interactive MD</A>
|
||||
<LI><A HREF = "fix_atc.html">atom-to-continuum coupling</A> with finite elements
|
||||
<LI>coupled rigid body integration via the <A HREF = "fix_poems.html">POEMS</A> library
|
||||
<LI><A HREF = "doc/fix_gcmc.html">grand canonical Monte Carlo</A> insertions/deletions
|
||||
<LI><A HREF = "pair_dsmc.html">Direct Simulation Monte Carlo</A> for low-density fluids
|
||||
<LI><A HREF = "pair_peri.html">Peridynamics mesoscale modeling</A>
|
||||
<LI><A HREF = "fix_tmd.html">targeted</A> and <A HREF = "fix_smd.html">steered</A> molecular dynamics
|
||||
@ -253,7 +255,7 @@ molecular dynamics options:
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<A NAME = "1_3"></A><H4>1.3 LAMMPS non-features
|
||||
<A NAME = "intro_3"></A><H4>1.3 LAMMPS non-features
|
||||
</H4>
|
||||
<P>LAMMPS is designed to efficiently compute Newton's equations of motion
|
||||
for a system of interacting particles. Many of the tools needed to
|
||||
@ -371,7 +373,7 @@ spatial-decomposition version exist.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "1_4"></A><H4>1.4 Open source distribution
|
||||
<A NAME = "intro_4"></A><H4>1.4 Open source distribution
|
||||
</H4>
|
||||
<P>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-
|
||||
@ -416,7 +418,7 @@ Site</A>, or have a suggestion for something to clarify or include,
|
||||
send an email to the
|
||||
<A HREF = "http://lammps.sandia.gov/authors.html">developers</A>.
|
||||
|
||||
<LI>If you find a bug, <A HREF = "Section_errors.html#10_2">this section</A> describes
|
||||
<LI>If you find a bug, <A HREF = "Section_errors.html#err_2">this section</A> describes
|
||||
how to report it.
|
||||
|
||||
<LI>If you publish a paper using LAMMPS results, send the citation (and
|
||||
@ -454,7 +456,7 @@ encouraged.
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "1_5"></A>1.5 Acknowledgments and citations
|
||||
<H4><A NAME = "intro_5"></A>1.5 Acknowledgments and citations
|
||||
</H4>
|
||||
<P>LAMMPS development has been funded by the <A HREF = "http://www.doe.gov">US Department of
|
||||
Energy</A> (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life
|
||||
@ -476,154 +478,58 @@ Hierarchical Modeling".
|
||||
|
||||
|
||||
|
||||
<P>The following papers describe the parallel algorithms used in LAMMPS.
|
||||
<P>The following paper describe the basic parallel algorithms used in
|
||||
LAMMPS. If you use LAMMPS results in your published work, please cite
|
||||
this paper and include a pointer to the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>
|
||||
(http://lammps.sandia.gov):
|
||||
</P>
|
||||
<P>S. J. Plimpton, <B>Fast Parallel Algorithms for Short-Range Molecular
|
||||
Dynamics</B>, J Comp Phys, 117, 1-19 (1995).
|
||||
</P>
|
||||
<P>S. J. Plimpton, R. Pollock, M. Stevens, <B>Particle-Mesh Ewald and
|
||||
rRESPA for Parallel Molecular Dynamics Simulations</B>, in Proc of the
|
||||
Eighth SIAM Conference on Parallel Processing for Scientific
|
||||
Computing, Minneapolis, MN (March 1997).
|
||||
<P>Other papers describing specific algorithms used in LAMMPS are listed
|
||||
under the <A HREF = "http://lammps.sandia.gov/cite.html">Citing LAMMPS link</A> of
|
||||
the LAMMPS WWW page.
|
||||
</P>
|
||||
<P>If you use LAMMPS results in your published work, please cite the J
|
||||
Comp Phys reference and include a pointer to the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>
|
||||
(http://lammps.sandia.gov).
|
||||
<P>The <A HREF = "http://lammps.sandia.gov/papers.html">Publications link</A> on the
|
||||
LAMMPS WWW page lists papers that have cited LAMMPS. If your paper is
|
||||
not listed there for some reason, feel free to send us the info. If
|
||||
the simulations in your paper produced cool pictures or animations,
|
||||
we'll be pleased to add them to the
|
||||
<A HREF = "http://lammps.sandia.gov/pictures.html">Pictures</A> or
|
||||
<A HREF = "http://lammps.sandia.gov/movies.html">Movies</A> pages of the LAMMPS WWW
|
||||
site.
|
||||
</P>
|
||||
<P>If you send is information about your publication, we'll be pleased to
|
||||
add it to the Publications page of the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A>. Ditto
|
||||
for a picture or movie for the Pictures or Movies pages.
|
||||
<P>The core group of LAMMPS developers is at Sandia National Labs:
|
||||
</P>
|
||||
<P>The core group of LAMMPS developers is at Sandia National Labs. They
|
||||
include <A HREF = "http://www.sandia.gov/~sjplimp">Steve Plimpton</A>, Paul Crozier, and Aidan Thompson and can
|
||||
be contacted via email: sjplimp, pscrozi, athomps at sandia.gov.
|
||||
<UL><LI>Steve Plimpton, sjplimp at sandia.gov
|
||||
<LI>Aidan Thompson, athomps at sandia.gov
|
||||
<LI>Paul Crozier, pscrozi at sandia.gov
|
||||
</UL>
|
||||
<P>The following folks are responsible for significant contributions to
|
||||
the code, or other aspects of the LAMMPS development effort. Many of
|
||||
the packages they have written are somewhat unique to LAMMPS and the
|
||||
code would not be as general-purpose as it is without their expertise
|
||||
and efforts.
|
||||
</P>
|
||||
<P>Here are various folks who have made significant contributions to
|
||||
features in LAMMPS. The most recent contributions are at the top of
|
||||
the list.
|
||||
</P>
|
||||
|
||||
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR><TD >pppm GPU single and double </TD><TD > Mike Brown (ORNL)</TD></TR>
|
||||
<TR><TD >pair_style lj/cut/expand </TD><TD > Inderaj Bains (NVIDIA)</TD></TR>
|
||||
<TR><TD >temperature accelerated dynamics (TAD) </TD><TD > Aidan Thompson (Sandia)</TD></TR>
|
||||
<TR><TD >pair reax/c and fix qeq/reax </TD><TD > Metin Aktulga (Purdue, now LBNL)</TD></TR>
|
||||
<TR><TD >DREIDING force field, pair_style hbond/dreiding, etc </TD><TD > Tod Pascal (CalTech)</TD></TR>
|
||||
<TR><TD >fix adapt and compute ti for thermodynamic integreation for free energies </TD><TD > Sai Jayaraman (Sandia)</TD></TR>
|
||||
<TR><TD >pair born and pair gauss </TD><TD > Sai Jayaraman (Sandia)</TD></TR>
|
||||
<TR><TD >stochastic rotation dynamics (SRD) via fix srd </TD><TD > Jemery Lechman (Sandia) and Pieter in 't Veld (BASF)</TD></TR>
|
||||
<TR><TD >ipp Perl script tool </TD><TD > Reese Jones (Sandia)</TD></TR>
|
||||
<TR><TD >eam_database and createatoms tools </TD><TD > Xiaowang Zhou (Sandia)</TD></TR>
|
||||
<TR><TD >electron force field (eFF) </TD><TD > Andres Jaramillo-Botero and Julius Su (Caltech)</TD></TR>
|
||||
<TR><TD >embedded ion method (EIM) potential </TD><TD > Xiaowang Zhou (Sandia)</TD></TR>
|
||||
<TR><TD >COMB potential with charge equilibration </TD><TD > Tzu-Ray Shan (U Florida)</TD></TR>
|
||||
<TR><TD >fix ave/correlate </TD><TD > Benoit Leblanc, Dave Rigby, Paul Saxe (Materials Design) and Reese Jones (Sandia)</TD></TR>
|
||||
<TR><TD >pair_style peri/lps </TD><TD > Mike Parks (Sandia)</TD></TR>
|
||||
<TR><TD >fix msst </TD><TD > Lawrence Fried (LLNL), Evan Reed (LLNL, Stanford)</TD></TR>
|
||||
<TR><TD >thermo_style custom tpcpu & spcpu keywords </TD><TD > Axel Kohlmeyer (Temple U) </TD></TR>
|
||||
<TR><TD >fix rigid/nve, fix rigid/nvt </TD><TD > Tony Sheh and Trung Dac Nguyen (U Michigan)</TD></TR>
|
||||
<TR><TD >public SVN & Git repositories for LAMMPS </TD><TD > Axel Kohlmeyer (Temple U) and Bill Goldman (Sandia)</TD></TR>
|
||||
<TR><TD >fix nvt, fix nph, fix npt, Parinello/Rahman dynamics, fix box/relax </TD><TD > Aidan Thompson (Sandia)</TD></TR>
|
||||
<TR><TD >compute heat/flux </TD><TD > German Samolyuk (ORNL) and Mario Pinto (Computational Research Lab, Pune, India)</TD></TR>
|
||||
<TR><TD >pair yukawa/colloid </TD><TD > Randy Schunk (Sandia)</TD></TR>
|
||||
<TR><TD >fix wall/colloid </TD><TD > Jeremy Lechman (Sandia)</TD></TR>
|
||||
<TR><TD >pair_style dsmc for Direct Simulation Monte Carlo (DSMC) modeling </TD><TD > Paul Crozier (Sandia)</TD></TR>
|
||||
<TR><TD >fix imd for real-time viz and interactive MD </TD><TD > Axel Kohlmeyer (Temple Univ)</TD></TR>
|
||||
<TR><TD >concentration-dependent EAM potential </TD><TD > Alexander Stukowski (Technical University of Darmstadt)</TD></TR>
|
||||
<TR><TD >parallel replica dymamics (PRD) </TD><TD > Mike Brown (Sandia)</TD></TR>
|
||||
<TR><TD >min_style hftn </TD><TD > Todd Plantenga (Sandia)</TD></TR>
|
||||
<TR><TD >fix atc </TD><TD > Reese Jones, Jon Zimmerman, Jeremy Templeton (Sandia)</TD></TR>
|
||||
<TR><TD >dump cfg </TD><TD > Liang Wan (Chinese Academy of Sciences)</TD></TR>
|
||||
<TR><TD >fix nvt with Nose/Hoover chains </TD><TD > Andy Ballard (U Maryland)</TD></TR>
|
||||
<TR><TD >pair_style lj/cut/gpu, pair_style gayberne/gpu </TD><TD > Mike Brown (Sandia)</TD></TR>
|
||||
<TR><TD >pair_style lj96/cut, bond_style table, angle_style table </TD><TD > Chuanfu Luo</TD></TR>
|
||||
<TR><TD >fix langevin tally </TD><TD > Carolyn Phillips (U Michigan)</TD></TR>
|
||||
<TR><TD >compute heat/flux for Green-Kubo </TD><TD > Reese Jones (Sandia), Philip Howell (Siemens), Vikas Varsney (AFRL)</TD></TR>
|
||||
<TR><TD >region cone </TD><TD > Pim Schravendijk</TD></TR>
|
||||
<TR><TD >fix reax/bonds </TD><TD > Aidan Thompson (Sandia)</TD></TR>
|
||||
<TR><TD >pair born/coul/long </TD><TD > Ahmed Ismail (Sandia)</TD></TR>
|
||||
<TR><TD >fix ttm </TD><TD > Paul Crozier (Sandia) and Carolyn Phillips (U Michigan)</TD></TR>
|
||||
<TR><TD >fix box/relax </TD><TD > Aidan Thompson and David Olmsted (Sandia)</TD></TR>
|
||||
<TR><TD >ReaxFF potential </TD><TD > Aidan Thompson (Sandia) and Hansohl Cho (MIT)</TD></TR>
|
||||
<TR><TD >compute cna/atom </TD><TD > Wan Liang (Chinese Academy of Sciences)</TD></TR>
|
||||
<TR><TD >Tersoff/ZBL potential </TD><TD > Dave Farrell (Northwestern U)</TD></TR>
|
||||
<TR><TD >peridynamics </TD><TD > Mike Parks (Sandia)</TD></TR>
|
||||
<TR><TD >fix smd for steered MD </TD><TD > Axel Kohlmeyer (U Penn)</TD></TR>
|
||||
<TR><TD >GROMACS pair potentials </TD><TD > Mark Stevens (Sandia)</TD></TR>
|
||||
<TR><TD >lmp2vmd tool </TD><TD > Axel Kohlmeyer (U Penn)</TD></TR>
|
||||
<TR><TD >compute group/group </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR>
|
||||
<TR><TD >CG-CMM user package for coarse-graining </TD><TD > Axel Kohlmeyer (U Penn)</TD></TR>
|
||||
<TR><TD >cosine/delta angle potential </TD><TD > Axel Kohlmeyer (U Penn)</TD></TR>
|
||||
<TR><TD >VIM editor add-ons for LAMMPS input scripts </TD><TD > Gerolf Ziegenhain</TD></TR>
|
||||
<TR><TD >pair lubricate </TD><TD > Randy Schunk (Sandia)</TD></TR>
|
||||
<TR><TD >compute ackland/atom </TD><TD > Gerolf Zeigenhain</TD></TR>
|
||||
<TR><TD >kspace_style ewald/n, pair_style lj/coul, pair_style buck/coul </TD><TD > Pieter in 't Veld (Sandia)</TD></TR>
|
||||
<TR><TD >AIREBO bond-order potential </TD><TD > Ase Henry (MIT)</TD></TR>
|
||||
<TR><TD >making LAMMPS a true "object" that can be instantiated multiple times, e.g. as a library </TD><TD > Ben FrantzDale (RPI)</TD></TR>
|
||||
<TR><TD >pymol_asphere viz tool </TD><TD > Mike Brown (Sandia)</TD></TR>
|
||||
<TR><TD >NEMD SLLOD integration </TD><TD > Pieter in 't Veld (Sandia)</TD></TR>
|
||||
<TR><TD >tensile and shear deformations </TD><TD > Pieter in 't Veld (Sandia)</TD></TR>
|
||||
<TR><TD >GayBerne potential </TD><TD > Mike Brown (Sandia)</TD></TR>
|
||||
<TR><TD >ellipsoidal particles </TD><TD > Mike Brown (Sandia)</TD></TR>
|
||||
<TR><TD >colloid potentials </TD><TD > Pieter in 't Veld (Sandia)</TD></TR>
|
||||
<TR><TD >fix heat </TD><TD > Paul Crozier and Ed Webb (Sandia)</TD></TR>
|
||||
<TR><TD >neighbor multi and communicate multi </TD><TD > Pieter in 't Veld (Sandia)</TD></TR>
|
||||
<TR><TD >MATLAB post-processing scripts </TD><TD > Arun Subramaniyan (Purdue)</TD></TR>
|
||||
<TR><TD >triclinic (non-orthogonal) simulation domains </TD><TD > Pieter in 't Veld (Sandia)</TD></TR>
|
||||
<TR><TD >thermo_extract tool</TD><TD > Vikas Varshney (Wright Patterson AFB)</TD></TR>
|
||||
<TR><TD >fix ave/time and fix ave/spatial </TD><TD > Pieter in 't Veld (Sandia)</TD></TR>
|
||||
<TR><TD >MEAM potential </TD><TD > Greg Wagner (Sandia)</TD></TR>
|
||||
<TR><TD >optimized pair potentials for lj/cut, charmm/long, eam, morse </TD><TD > James Fischer (High Performance Technologies), David Richie and Vincent Natoli (Stone Ridge Technologies)</TD></TR>
|
||||
<TR><TD >fix wall/lj126 </TD><TD > Mark Stevens (Sandia)</TD></TR>
|
||||
<TR><TD >Stillinger-Weber and Tersoff potentials </TD><TD > Aidan Thompson and Xiaowang Zhou (Sandia)</TD></TR>
|
||||
<TR><TD >region prism </TD><TD > Pieter in 't Veld (Sandia)</TD></TR>
|
||||
<TR><TD >LJ tail corrections for energy/pressure </TD><TD > Paul Crozier (Sandia)</TD></TR>
|
||||
<TR><TD >fix momentum and recenter </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR>
|
||||
<TR><TD >multi-letter variable names </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR>
|
||||
<TR><TD >OPLS dihedral potential</TD><TD > Mark Stevens (Sandia)</TD></TR>
|
||||
<TR><TD >POEMS coupled rigid body integrator</TD><TD > Rudranarayan Mukherjee (RPI)</TD></TR>
|
||||
<TR><TD >faster pair hybrid potential</TD><TD > James Fischer (High Performance Technologies, Inc), Vincent Natoli and David Richie (Stone Ridge Technology)</TD></TR>
|
||||
<TR><TD >breakable bond quartic potential</TD><TD > Chris Lorenz and Mark Stevens (Sandia)</TD></TR>
|
||||
<TR><TD >DCD and XTC dump styles</TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR>
|
||||
<TR><TD >grain boundary orientation fix </TD><TD > Koenraad Janssens and David Olmsted (Sandia)</TD></TR>
|
||||
<TR><TD >lj/smooth pair potential </TD><TD > Craig Maloney (UCSB) </TD></TR>
|
||||
<TR><TD >radius-of-gyration spring fix </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U) and Paul Crozier (Sandia)</TD></TR>
|
||||
<TR><TD >self spring fix </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR>
|
||||
<TR><TD >EAM CoAl and AlCu potentials </TD><TD > Kwang-Reoul Lee (KIST, Korea)</TD></TR>
|
||||
<TR><TD >cosine/squared angle potential </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U)</TD></TR>
|
||||
<TR><TD >helix dihedral potential </TD><TD > Naveen Michaud-Agrawal (Johns Hopkins U) and Mark Stevens (Sandia)</TD></TR>
|
||||
<TR><TD >Finnis/Sinclair EAM</TD><TD > Tim Lau (MIT)</TD></TR>
|
||||
<TR><TD >dissipative particle dynamics (DPD) potentials</TD><TD > Kurt Smith (U Pitt) and Frank van Swol (Sandia)</TD></TR>
|
||||
<TR><TD >TIP4P potential (4-site water)</TD><TD > Ahmed Ismail and Amalie Frischknecht (Sandia)</TD></TR>
|
||||
<TR><TD >uniaxial strain fix</TD><TD > Carsten Svaneborg (Max Planck Institute)</TD></TR>
|
||||
<TR><TD >thermodynamics enhanced by fix quantities</TD><TD > Aidan Thompson (Sandia)</TD></TR>
|
||||
<TR><TD >compressed dump files</TD><TD > Erik Luijten (U Illinois)</TD></TR>
|
||||
<TR><TD >cylindrical indenter fix</TD><TD > Ravi Agrawal (Northwestern U)</TD></TR>
|
||||
<TR><TD >electric field fix</TD><TD > Christina Payne (Vanderbilt U)</TD></TR>
|
||||
<TR><TD >AMBER <-> LAMMPS tool</TD><TD > Keir Novik (Univ College London) and Vikas Varshney (U Akron)</TD></TR>
|
||||
<TR><TD >CHARMM <-> LAMMPS tool</TD><TD > Pieter in 't Veld and Paul Crozier (Sandia)</TD></TR>
|
||||
<TR><TD >Morse bond potential</TD><TD > Jeff Greathouse (Sandia)</TD></TR>
|
||||
<TR><TD >radial distribution functions</TD><TD > Paul Crozier & Jeff Greathouse (Sandia)</TD></TR>
|
||||
<TR><TD >force tables for long-range Coulombics</TD><TD > Paul Crozier (Sandia)</TD></TR>
|
||||
<TR><TD >targeted molecular dynamics (TMD)</TD><TD > Paul Crozier (Sandia) and Christian Burisch (Bochum University, Germany)</TD></TR>
|
||||
<TR><TD >FFT support for SGI SCSL (Altix)</TD><TD > Jim Shepherd (Ga Tech)</TD></TR>
|
||||
<TR><TD >lmp2cfg and lmp2traj tools</TD><TD > Ara Kooser, Jeff Greathouse, Andrey Kalinichev (Sandia)</TD></TR>
|
||||
<TR><TD >parallel tempering</TD><TD > Mark Sears (Sandia)</TD></TR>
|
||||
<TR><TD >embedded atom method (EAM) potential</TD><TD > Stephen Foiles (Sandia)</TD></TR>
|
||||
<TR><TD >multi-harmonic dihedral potential</TD><TD > Mathias Puetz (Sandia)</TD></TR>
|
||||
<TR><TD >granular force fields and BC</TD><TD > Leo Silbert & Gary Grest (Sandia)</TD></TR>
|
||||
<TR><TD >2d Ewald/PPPM</TD><TD > Paul Crozier (Sandia)</TD></TR>
|
||||
<TR><TD >CHARMM force fields</TD><TD > Paul Crozier (Sandia)</TD></TR>
|
||||
<TR><TD >msi2lmp tool</TD><TD > Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray)</TD></TR>
|
||||
<TR><TD >HTFN energy minimizer</TD><TD > Todd Plantenga (Sandia)</TD></TR>
|
||||
<TR><TD >class 2 force fields</TD><TD > Eric Simon (Cray)</TD></TR>
|
||||
<TR><TD >NVT/NPT integrators</TD><TD > Mark Stevens (Sandia)</TD></TR>
|
||||
<TR><TD >rRESPA</TD><TD > Mark Stevens & Paul Crozier (Sandia)</TD></TR>
|
||||
<TR><TD >Ewald and PPPM solvers</TD><TD > Roy Pollock (LLNL) </TD><TD >
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>Other CRADA partners involved in the design and testing of LAMMPS were
|
||||
<UL><LI>Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM and USER-OMP packages
|
||||
<LI>Roy Pollock (LLNL), Ewald and PPPM solvers
|
||||
<LI>Mike Brown (ORNL), brownw at ornl.gov, GPU package
|
||||
<LI>Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential
|
||||
<LI>Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics
|
||||
<LI>Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion
|
||||
<LI>Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling
|
||||
<LI>Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD
|
||||
<LI>Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA package
|
||||
<LI>Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field
|
||||
<LI>Pieter in' t Veld (BASF), pieter.intveld at basf.com, USER-EWALDN package for 1/r^N long-range solvers
|
||||
<LI>Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling
|
||||
<LI>Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF
|
||||
<LI>Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SPH package
|
||||
</UL>
|
||||
<P>As discussed in <A HREF = "Section_history.html">this section</A>, LAMMPS originated
|
||||
as a cooperative project between DOE labs and industrial
|
||||
partners. Folks involved in the design and testing of the original
|
||||
version of LAMMPS were the following:
|
||||
</P>
|
||||
<UL><LI>John Carpenter (Mayo Clinic, formerly at Cray Research)
|
||||
<LI>Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb)
|
||||
|
||||
@ -13,15 +13,15 @@ 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)
|
||||
1.1 "What is LAMMPS"_#intro_1
|
||||
1.2 "LAMMPS features"_#intro_2
|
||||
1.3 "LAMMPS non-features"_#intro_3
|
||||
1.4 "Open source distribution"_#intro_4
|
||||
1.5 "Acknowledgments and citations"_#intro_5 :all(b)
|
||||
|
||||
:line
|
||||
|
||||
1.1 What is LAMMPS :link(1_1),h4
|
||||
1.1 What is LAMMPS :link(intro_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
|
||||
@ -46,7 +46,7 @@ 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
|
||||
modify the code however you wish. See "this section"_#intro_4 for a brief
|
||||
discussion of the open-source philosophy.
|
||||
|
||||
:link(gnu,http://www.gnu.org/copyleft/gpl.html)
|
||||
@ -64,7 +64,7 @@ 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
|
||||
See "this section"_#intro_5 for more information on LAMMPS funding and
|
||||
individuals who have contributed to LAMMPS.
|
||||
|
||||
:link(snl,http://www.sandia.gov)
|
||||
@ -83,11 +83,11 @@ 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.
|
||||
LAMMPS are listed in "this section"_#intro_5.
|
||||
|
||||
:line
|
||||
|
||||
1.2 LAMMPS features :link(1_2),h4
|
||||
1.2 LAMMPS features :link(intro_2),h4
|
||||
|
||||
This section highlights LAMMPS features, with pointers to specific
|
||||
commands which give more details. If LAMMPS doesn't have your
|
||||
@ -121,7 +121,8 @@ Particle and model types :h4
|
||||
metals
|
||||
granular materials
|
||||
coarse-grained mesoscale models
|
||||
extended spherical and ellipsoidal particles
|
||||
finite-size spherical and ellipsoidal particles
|
||||
finite-size line segment (2d) and triangle (3d) particles
|
||||
point dipolar particles
|
||||
rigid collections of particles
|
||||
hybrid combinations of these :ul
|
||||
@ -136,10 +137,10 @@ commands)
|
||||
Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated
|
||||
charged pairwise potentials: Coulombic, point-dipole
|
||||
manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), \
|
||||
embedded ion method (EIM), ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB
|
||||
embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB
|
||||
electron force field (eFF, AWPMD)
|
||||
coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO
|
||||
mesoscopic potentials: granular, Peridynamics
|
||||
mesoscopic potentials: granular, Peridynamics, SPH
|
||||
bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \
|
||||
quartic (breakable)
|
||||
angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, \
|
||||
@ -242,6 +243,7 @@ molecular dynamics options:
|
||||
"real-time visualization and interactive MD"_fix_imd.html
|
||||
"atom-to-continuum coupling"_fix_atc.html with finite elements
|
||||
coupled rigid body integration via the "POEMS"_fix_poems.html library
|
||||
"grand canonical Monte Carlo"_doc/fix_gcmc.html insertions/deletions
|
||||
"Direct Simulation Monte Carlo"_pair_dsmc.html for low-density fluids
|
||||
"Peridynamics mesoscale modeling"_pair_peri.html
|
||||
"targeted"_fix_tmd.html and "steered"_fix_smd.html molecular dynamics
|
||||
@ -249,7 +251,7 @@ coupled rigid body integration via the "POEMS"_fix_poems.html library
|
||||
|
||||
:line
|
||||
|
||||
1.3 LAMMPS non-features :link(1_3),h4
|
||||
1.3 LAMMPS non-features :link(intro_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
|
||||
@ -362,7 +364,7 @@ spatial-decomposition version exist.
|
||||
|
||||
:line
|
||||
|
||||
1.4 Open source distribution :link(1_4),h4
|
||||
1.4 Open source distribution :link(intro_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-
|
||||
@ -406,7 +408,7 @@ Site"_lws, or have a suggestion for something to clarify or include,
|
||||
send an email to the
|
||||
"developers"_http://lammps.sandia.gov/authors.html. :l
|
||||
|
||||
If you find a bug, "this section"_Section_errors.html#10_2 describes
|
||||
If you find a bug, "this section"_Section_errors.html#err_2 describes
|
||||
how to report it. :l
|
||||
|
||||
If you publish a paper using LAMMPS results, send the citation (and
|
||||
@ -444,7 +446,7 @@ encouraged. :ule,l
|
||||
|
||||
:line
|
||||
|
||||
1.5 Acknowledgments and citations :h4,link(1_5)
|
||||
1.5 Acknowledgments and citations :h4,link(intro_5)
|
||||
|
||||
LAMMPS development has been funded by the "US Department of
|
||||
Energy"_doe (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life
|
||||
@ -462,165 +464,59 @@ Hierarchical Modeling".
|
||||
: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.
|
||||
The following paper describe the basic parallel algorithms used in
|
||||
LAMMPS. If you use LAMMPS results in your published work, please cite
|
||||
this paper and include a pointer to the "LAMMPS WWW Site"_lws
|
||||
(http://lammps.sandia.gov):
|
||||
|
||||
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).
|
||||
Other papers describing specific algorithms used in LAMMPS are listed
|
||||
under the "Citing LAMMPS link"_http://lammps.sandia.gov/cite.html of
|
||||
the LAMMPS WWW page.
|
||||
|
||||
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
|
||||
(http://lammps.sandia.gov).
|
||||
The "Publications link"_http://lammps.sandia.gov/papers.html on the
|
||||
LAMMPS WWW page lists papers that have cited LAMMPS. If your paper is
|
||||
not listed there for some reason, feel free to send us the info. If
|
||||
the simulations in your paper produced cool pictures or animations,
|
||||
we'll be pleased to add them to the
|
||||
"Pictures"_http://lammps.sandia.gov/pictures.html or
|
||||
"Movies"_http://lammps.sandia.gov/movies.html pages of the LAMMPS WWW
|
||||
site.
|
||||
|
||||
If you send is information about your publication, we'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 core group of LAMMPS developers is at Sandia National Labs:
|
||||
|
||||
The core group of LAMMPS developers is at Sandia National Labs. They
|
||||
include "Steve Plimpton"_sjp, Paul Crozier, and Aidan Thompson and can
|
||||
be contacted via email: sjplimp, pscrozi, athomps at sandia.gov.
|
||||
Steve Plimpton, sjplimp at sandia.gov
|
||||
Aidan Thompson, athomps at sandia.gov
|
||||
Paul Crozier, pscrozi at sandia.gov :ul
|
||||
|
||||
Here are various folks who have made significant contributions to
|
||||
features in LAMMPS. The most recent contributions are at the top of
|
||||
the list.
|
||||
The following folks are responsible for significant contributions to
|
||||
the code, or other aspects of the LAMMPS development effort. Many of
|
||||
the packages they have written are somewhat unique to LAMMPS and the
|
||||
code would not be as general-purpose as it is without their expertise
|
||||
and efforts.
|
||||
|
||||
:link(sjp,http://www.sandia.gov/~sjplimp)
|
||||
Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM and USER-OMP packages
|
||||
Roy Pollock (LLNL), Ewald and PPPM solvers
|
||||
Mike Brown (ORNL), brownw at ornl.gov, GPU package
|
||||
Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential
|
||||
Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics
|
||||
Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion
|
||||
Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling
|
||||
Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD
|
||||
Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA package
|
||||
Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field
|
||||
Pieter in' t Veld (BASF), pieter.intveld at basf.com, USER-EWALDN package for 1/r^N long-range solvers
|
||||
Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling
|
||||
Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF
|
||||
Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SPH package :ul
|
||||
|
||||
pppm GPU single and double : Mike Brown (ORNL)
|
||||
pair_style lj/cut/expand : Inderaj Bains (NVIDIA)
|
||||
temperature accelerated dynamics (TAD) : Aidan Thompson (Sandia)
|
||||
pair reax/c and fix qeq/reax : Metin Aktulga (Purdue, now LBNL)
|
||||
DREIDING force field, pair_style hbond/dreiding, etc : Tod Pascal (CalTech)
|
||||
fix adapt and compute ti for thermodynamic integreation for free energies : Sai Jayaraman (Sandia)
|
||||
pair born and pair gauss : Sai Jayaraman (Sandia)
|
||||
stochastic rotation dynamics (SRD) via fix srd : Jemery Lechman (Sandia) and Pieter in 't Veld (BASF)
|
||||
ipp Perl script tool : Reese Jones (Sandia)
|
||||
eam_database and createatoms tools : Xiaowang Zhou (Sandia)
|
||||
electron force field (eFF) : Andres Jaramillo-Botero and Julius Su (Caltech)
|
||||
embedded ion method (EIM) potential : Xiaowang Zhou (Sandia)
|
||||
COMB potential with charge equilibration : Tzu-Ray Shan (U Florida)
|
||||
fix ave/correlate : Benoit Leblanc, Dave Rigby, Paul Saxe (Materials Design) and Reese Jones (Sandia)
|
||||
pair_style peri/lps : Mike Parks (Sandia)
|
||||
fix msst : Lawrence Fried (LLNL), Evan Reed (LLNL, Stanford)
|
||||
thermo_style custom tpcpu & spcpu keywords : Axel Kohlmeyer (Temple U)
|
||||
fix rigid/nve, fix rigid/nvt : Tony Sheh and Trung Dac Nguyen (U Michigan)
|
||||
public SVN & Git repositories for LAMMPS : Axel Kohlmeyer (Temple U) and Bill Goldman (Sandia)
|
||||
fix nvt, fix nph, fix npt, Parinello/Rahman dynamics, fix box/relax : Aidan Thompson (Sandia)
|
||||
compute heat/flux : German Samolyuk (ORNL) and Mario Pinto (Computational Research Lab, Pune, India)
|
||||
pair yukawa/colloid : Randy Schunk (Sandia)
|
||||
fix wall/colloid : Jeremy Lechman (Sandia)
|
||||
pair_style dsmc for Direct Simulation Monte Carlo (DSMC) modeling : Paul Crozier (Sandia)
|
||||
fix imd for real-time viz and interactive MD : Axel Kohlmeyer (Temple Univ)
|
||||
concentration-dependent EAM potential : Alexander Stukowski (Technical University of Darmstadt)
|
||||
parallel replica dymamics (PRD) : Mike Brown (Sandia)
|
||||
min_style hftn : Todd Plantenga (Sandia)
|
||||
fix atc : Reese Jones, Jon Zimmerman, Jeremy Templeton (Sandia)
|
||||
dump cfg : Liang Wan (Chinese Academy of Sciences)
|
||||
fix nvt with Nose/Hoover chains : Andy Ballard (U Maryland)
|
||||
pair_style lj/cut/gpu, pair_style gayberne/gpu : Mike Brown (Sandia)
|
||||
pair_style lj96/cut, bond_style table, angle_style table : Chuanfu Luo
|
||||
fix langevin tally : Carolyn Phillips (U Michigan)
|
||||
compute heat/flux for Green-Kubo : Reese Jones (Sandia), Philip Howell (Siemens), Vikas Varsney (AFRL)
|
||||
region cone : Pim Schravendijk
|
||||
fix reax/bonds : Aidan Thompson (Sandia)
|
||||
pair born/coul/long : Ahmed Ismail (Sandia)
|
||||
fix ttm : Paul Crozier (Sandia) and Carolyn Phillips (U Michigan)
|
||||
fix box/relax : Aidan Thompson and David Olmsted (Sandia)
|
||||
ReaxFF potential : Aidan Thompson (Sandia) and Hansohl Cho (MIT)
|
||||
compute cna/atom : Wan Liang (Chinese Academy of Sciences)
|
||||
Tersoff/ZBL potential : Dave Farrell (Northwestern U)
|
||||
peridynamics : Mike Parks (Sandia)
|
||||
fix smd for steered MD : Axel Kohlmeyer (U Penn)
|
||||
GROMACS pair potentials : Mark Stevens (Sandia)
|
||||
lmp2vmd tool : Axel Kohlmeyer (U Penn)
|
||||
compute group/group : Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
CG-CMM user package for coarse-graining : Axel Kohlmeyer (U Penn)
|
||||
cosine/delta angle potential : Axel Kohlmeyer (U Penn)
|
||||
VIM editor add-ons for LAMMPS input scripts : Gerolf Ziegenhain
|
||||
pair lubricate : Randy Schunk (Sandia)
|
||||
compute ackland/atom : Gerolf Zeigenhain
|
||||
kspace_style ewald/n, pair_style lj/coul, pair_style buck/coul : \
|
||||
Pieter in 't Veld (Sandia)
|
||||
AIREBO bond-order potential : Ase Henry (MIT)
|
||||
making LAMMPS a true "object" that can be instantiated multiple times, \
|
||||
e.g. as a library : Ben FrantzDale (RPI)
|
||||
pymol_asphere viz tool : Mike Brown (Sandia)
|
||||
NEMD SLLOD integration : Pieter in 't Veld (Sandia)
|
||||
tensile and shear deformations : Pieter in 't Veld (Sandia)
|
||||
GayBerne potential : Mike Brown (Sandia)
|
||||
ellipsoidal particles : Mike Brown (Sandia)
|
||||
colloid potentials : Pieter in 't Veld (Sandia)
|
||||
fix heat : Paul Crozier and Ed Webb (Sandia)
|
||||
neighbor multi and communicate multi : Pieter in 't Veld (Sandia)
|
||||
MATLAB post-processing scripts : Arun Subramaniyan (Purdue)
|
||||
triclinic (non-orthogonal) simulation domains : Pieter in 't Veld (Sandia)
|
||||
thermo_extract tool: Vikas Varshney (Wright Patterson AFB)
|
||||
fix ave/time and fix ave/spatial : Pieter in 't Veld (Sandia)
|
||||
MEAM potential : Greg Wagner (Sandia)
|
||||
optimized pair potentials for lj/cut, charmm/long, eam, morse : \
|
||||
James Fischer (High Performance Technologies), \
|
||||
David Richie and Vincent Natoli (Stone Ridge Technologies)
|
||||
fix wall/lj126 : Mark Stevens (Sandia)
|
||||
Stillinger-Weber and Tersoff potentials : Aidan Thompson and Xiaowang Zhou (Sandia)
|
||||
region prism : Pieter in 't Veld (Sandia)
|
||||
LJ tail corrections for energy/pressure : Paul Crozier (Sandia)
|
||||
fix momentum and recenter : Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
multi-letter variable names : Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
OPLS dihedral potential: Mark Stevens (Sandia)
|
||||
POEMS coupled rigid body integrator: Rudranarayan Mukherjee (RPI)
|
||||
faster pair hybrid potential: James Fischer \
|
||||
(High Performance Technologies, Inc), Vincent Natoli and \
|
||||
David Richie (Stone Ridge Technology)
|
||||
breakable bond quartic potential: Chris Lorenz and Mark Stevens (Sandia)
|
||||
DCD and XTC dump styles: Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
grain boundary orientation fix : Koenraad Janssens and David Olmsted (Sandia)
|
||||
lj/smooth pair potential : Craig Maloney (UCSB)
|
||||
radius-of-gyration spring fix : Naveen Michaud-Agrawal (Johns Hopkins U) and \
|
||||
Paul Crozier (Sandia)
|
||||
self spring fix : Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
EAM CoAl and AlCu potentials : Kwang-Reoul Lee (KIST, Korea)
|
||||
cosine/squared angle potential : Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
helix dihedral potential : Naveen Michaud-Agrawal (Johns Hopkins U) and \
|
||||
Mark Stevens (Sandia)
|
||||
Finnis/Sinclair EAM: Tim Lau (MIT)
|
||||
dissipative particle dynamics (DPD) potentials: Kurt Smith (U Pitt) and \
|
||||
Frank van Swol (Sandia)
|
||||
TIP4P potential (4-site water): Ahmed Ismail and Amalie Frischknecht (Sandia)
|
||||
uniaxial strain fix: Carsten Svaneborg (Max Planck Institute)
|
||||
thermodynamics enhanced by fix quantities: Aidan Thompson (Sandia)
|
||||
compressed dump files: Erik Luijten (U Illinois)
|
||||
cylindrical indenter fix: Ravi Agrawal (Northwestern U)
|
||||
electric field fix: Christina Payne (Vanderbilt U)
|
||||
AMBER <-> LAMMPS tool: Keir Novik (Univ College London) and \
|
||||
Vikas Varshney (U Akron)
|
||||
CHARMM <-> LAMMPS tool: Pieter in 't Veld and Paul Crozier (Sandia)
|
||||
Morse bond potential: Jeff Greathouse (Sandia)
|
||||
radial distribution functions: Paul Crozier & Jeff Greathouse (Sandia)
|
||||
force tables for long-range Coulombics: Paul Crozier (Sandia)
|
||||
targeted molecular dynamics (TMD): Paul Crozier (Sandia) and \
|
||||
Christian Burisch (Bochum University, Germany)
|
||||
FFT support for SGI SCSL (Altix): Jim Shepherd (Ga Tech)
|
||||
lmp2cfg and lmp2traj tools: Ara Kooser, Jeff Greathouse, \
|
||||
Andrey Kalinichev (Sandia)
|
||||
parallel tempering: Mark Sears (Sandia)
|
||||
embedded atom method (EAM) potential: Stephen Foiles (Sandia)
|
||||
multi-harmonic dihedral potential: Mathias Puetz (Sandia)
|
||||
granular force fields and BC: Leo Silbert & Gary Grest (Sandia)
|
||||
2d Ewald/PPPM: Paul Crozier (Sandia)
|
||||
CHARMM force fields: Paul Crozier (Sandia)
|
||||
msi2lmp tool: Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray)
|
||||
HTFN energy minimizer: Todd Plantenga (Sandia)
|
||||
class 2 force fields: Eric Simon (Cray)
|
||||
NVT/NPT integrators: Mark Stevens (Sandia)
|
||||
rRESPA: Mark Stevens & Paul Crozier (Sandia)
|
||||
Ewald and PPPM solvers: Roy Pollock (LLNL) : :tb(s=:)
|
||||
As discussed in "this section"_Section_history.html, LAMMPS originated
|
||||
as a cooperative project between DOE labs and industrial
|
||||
partners. Folks involved in the design and testing of the original
|
||||
version of LAMMPS were the following:
|
||||
|
||||
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)
|
||||
|
||||
@ -11,7 +11,7 @@ Section</A>
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>8. Modifying & extending LAMMPS
|
||||
<H3>10. Modifying & extending LAMMPS
|
||||
</H3>
|
||||
<P>LAMMPS is designed in a modular fashion so as to be easy to modify and
|
||||
extend with new functionality. In fact, about 75% of its source code
|
||||
@ -22,7 +22,7 @@ with minimal instructions. If you add a new feature to LAMMPS and
|
||||
think it will be of interest to general users, we encourage you to
|
||||
submit it to the developers for inclusion in the released version of
|
||||
LAMMPS. Information about how to do this is provided
|
||||
<A HREF = "#package">below</A>.
|
||||
<A HREF = "#mod_14">below</A>.
|
||||
</P>
|
||||
<P>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
|
||||
@ -75,28 +75,9 @@ 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.
|
||||
</P>
|
||||
<P>Here is a list of the new features that can be added in this way,
|
||||
along with information about how to submit your features for inclusion
|
||||
in the LAMMPS distribution.
|
||||
</P>
|
||||
<UL><LI><A HREF = "#atom">Atom styles</A>
|
||||
<LI><A HREF = "#bond">Bond, angle, dihedral, improper potentials</A>
|
||||
<LI><A HREF = "#compute">Compute styles</A>
|
||||
<LI><A HREF = "#dump">Dump styles</A>
|
||||
<LI><A HREF = "#dump">Dump custom output options</A>
|
||||
<LI><A HREF = "#fix">Fix styles</A> which include integrators, temperature and pressure control, force constraints, boundary conditions, diagnostic output, etc
|
||||
<LI><A HREF = "#command">Input script commands</A>
|
||||
<LI><A HREF = "#kspace">Kspace computations</A>
|
||||
<LI><A HREF = "#min">Minimization solvers</A>
|
||||
<LI><A HREF = "#pair">Pairwise potentials</A>
|
||||
<LI><A HREF = "#region">Region styles</A>
|
||||
<LI><A HREF = "#thermo">Thermodynamic output options</A>
|
||||
<LI><A HREF = "#variable">Variable options</A>
|
||||
</UL>
|
||||
<UL><LI><A HREF = "#package">Submitting new features to the developers to include in LAMMPS</A>
|
||||
</UL>
|
||||
<P>As illustrated by the pairwise example, these options are referred to
|
||||
in the LAMMPS documentation as the "style" of a particular command.
|
||||
<P>As illustrated by this pairwise example, many kinds of options are
|
||||
referred to in the LAMMPS documentation as the "style" of a particular
|
||||
command.
|
||||
</P>
|
||||
<P>The instructions below give the header file for the base class that
|
||||
these styles are derived from. Public variables in that file are ones
|
||||
@ -108,13 +89,9 @@ LAMMPS expects. Virtual functions that are not set to 0 are functions
|
||||
you can optionally define.
|
||||
</P>
|
||||
<P>Additionally, new output options can be added directly to the
|
||||
thermo.cpp, dump_custom.cpp, and variable.cpp files as explained in
|
||||
these sections:
|
||||
thermo.cpp, dump_custom.cpp, and variable.cpp files as explained
|
||||
below.
|
||||
</P>
|
||||
<UL><LI><A HREF = "#dump_custom">Dump custom output options</A>
|
||||
<LI><A HREF = "#thermo">Thermodynamic output options</A>
|
||||
<LI><A HREF = "#variable">Variable options</A>
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<P>Here are additional guidelines for modifying LAMMPS and adding new
|
||||
@ -136,52 +113,78 @@ command.
|
||||
<LI>If you add something you think is truly useful and doesn't impact
|
||||
LAMMPS performance when it isn't used, send an email to the
|
||||
<A HREF = "http://lammps.sandia.gov/authors.html">developers</A>. We might be
|
||||
interested in adding it to the LAMMPS distribution.
|
||||
interested in adding it to the LAMMPS distribution. See further
|
||||
details on this at the bottom of this page.
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<P>Here are the subsequent topics discussed below, most of which are new
|
||||
features that can be added in the manner just described:
|
||||
</P>
|
||||
10.1 <A HREF = "#mod_1">Atom styles</A><BR>
|
||||
10.2 <A HREF = "#mod_2">Bond, angle, dihedral, improper potentials</A><BR>
|
||||
10.3 <A HREF = "#mod_3">Compute styles</A><BR>
|
||||
10.4 <A HREF = "#mod_4">Dump styles</A><BR>
|
||||
10.5 <A HREF = "#mod_5">Dump custom output options</A><BR>
|
||||
10.6 <A HREF = "#mod_6">Fix styles</A> which include integrators, temperature and pressure control, force constraints, boundary conditions, diagnostic output, etc<BR>
|
||||
10.7 <A HREF = "mod_7">Input script commands</A><BR>
|
||||
10.8 <A HREF = "#mod_8">Kspace computations</A><BR>
|
||||
10.9 <A HREF = "#mod_9">Minimization styles</A><BR>
|
||||
10.10 <A HREF = "#mod_10">Pairwise potentials</A><BR>
|
||||
10.11 <A HREF = "#mod_11">Region styles</A><BR>
|
||||
10.12 <A HREF = "#mod_12">Thermodynamic output options</A><BR>
|
||||
10.13 <A HREF = "#mod_13">Variable options</A><BR>
|
||||
10.14 <A HREF = "#mod_14">Submitting new features for inclusion in LAMMPS</A> <BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "atom"></A><H4>Atom styles
|
||||
<HR>
|
||||
|
||||
<A NAME = "mod_1"></A><H4>10.1 Atom styles
|
||||
</H4>
|
||||
<P>Classes that define an atom style are derived from the Atom class.
|
||||
The atom style determines what quantities are associated with an atom.
|
||||
A new atom style can be created if one of the existing atom styles
|
||||
does not define all the arrays you need to store and communicate with
|
||||
atoms.
|
||||
<P>Classes that define an atom style are derived from the AtomVec class
|
||||
and managed by the Atom class. The atom style determines what
|
||||
quantities are associated with an atom. A new atom style can be
|
||||
created if one of the existing atom styles does not define all
|
||||
the arrays you need to store and communicate with atoms.
|
||||
</P>
|
||||
<P>Atom_vec_atomic.cpp is a simple example of an atom style.
|
||||
</P>
|
||||
<P>Here is a brief description of methods you define in your new derived
|
||||
class. See atom.h for details.
|
||||
class. See atom_vec.h for details.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR><TD >grow</TD><TD > re-allocate atom arrays to longer lengths</TD></TR>
|
||||
<TR><TD >copy</TD><TD > copy info for one atom to another atom's array locations</TD></TR>
|
||||
<TR><TD >pack_comm</TD><TD > store an atom's info in a buffer communicated every timestep</TD></TR>
|
||||
<TR><TD >pack_comm_vel</TD><TD > add velocity info to buffer</TD></TR>
|
||||
<TR><TD >pack_comm_one</TD><TD > store extra info unique to this atom style</TD></TR>
|
||||
<TR><TD >unpack_comm</TD><TD > retrieve an atom's info from the buffer</TD></TR>
|
||||
<TR><TD >unpack_comm_vel</TD><TD > also retrieve velocity info</TD></TR>
|
||||
<TR><TD >unpack_comm_one</TD><TD > retreive extra info unique to this atom style</TD></TR>
|
||||
<TR><TD >pack_reverse</TD><TD > store an atom's info in a buffer communicating partial forces</TD></TR>
|
||||
<TR><TD >pack_reverse_one</TD><TD > store extra info unique to this atom style</TD></TR>
|
||||
<TR><TD >unpack_reverse</TD><TD > retrieve an atom's info from the buffer</TD></TR>
|
||||
<TR><TD >unpack_reverse_one</TD><TD > retreive extra info unique to this atom style</TD></TR>
|
||||
<TR><TD >pack_border</TD><TD > store an atom's info in a buffer communicated on neighbor re-builds</TD></TR>
|
||||
<TR><TD >pack_border_vel</TD><TD > add velocity info to buffer</TD></TR>
|
||||
<TR><TD >pack_border_one</TD><TD > store extra info unique to this atom style</TD></TR>
|
||||
<TR><TD >unpack_border</TD><TD > retrieve an atom's info from the buffer</TD></TR>
|
||||
<TR><TD >unpack_border_vel</TD><TD > also retrieve velocity info</TD></TR>
|
||||
<TR><TD >unpack_border_one</TD><TD > retreive extra info unique to this atom style</TD></TR>
|
||||
<TR><TD >pack_exchange</TD><TD > store all an atom's info to migrate to another processor</TD></TR>
|
||||
<TR><TD >unpack_exchange</TD><TD > retrieve an atom's info from the buffer</TD></TR>
|
||||
<TR><TD >size_restart</TD><TD > number of restart quantities associated with proc's atoms</TD></TR>
|
||||
<TR><TD >pack_restart</TD><TD > pack atom quantities into a buffer</TD></TR>
|
||||
<TR><TD >unpack_restart</TD><TD > unpack atom quantities from a buffer</TD></TR>
|
||||
<TR><TD >create_atom</TD><TD > create an individual atom of this style</TD></TR>
|
||||
<TR><TD >data_atom</TD><TD > parse an atom line from the data file</TD></TR>
|
||||
<TR><TD >memory_usage</TD><TD > tally memory allocated by atom arrays
|
||||
<TR><TD >init</TD><TD > one time setup (optional)</TD></TR>
|
||||
<TR><TD >grow</TD><TD > re-allocate atom arrays to longer lengths (required)</TD></TR>
|
||||
<TR><TD >grow_reset</TD><TD > make array pointers in Atom and AtomVec classes consistent (required)</TD></TR>
|
||||
<TR><TD >copy</TD><TD > copy info for one atom to another atom's array locations (required)</TD></TR>
|
||||
<TR><TD >pack_comm</TD><TD > store an atom's info in a buffer communicated every timestep (required)</TD></TR>
|
||||
<TR><TD >pack_comm_vel</TD><TD > add velocity info to communication buffer (required)</TD></TR>
|
||||
<TR><TD >pack_comm_hybrid</TD><TD > store extra info unique to this atom style (optional)</TD></TR>
|
||||
<TR><TD >unpack_comm</TD><TD > retrieve an atom's info from the buffer (required)</TD></TR>
|
||||
<TR><TD >unpack_comm_vel</TD><TD > also retrieve velocity info (required)</TD></TR>
|
||||
<TR><TD >unpack_comm_hybrid</TD><TD > retreive extra info unique to this atom style (optional)</TD></TR>
|
||||
<TR><TD >pack_reverse</TD><TD > store an atom's info in a buffer communicating partial forces (required)</TD></TR>
|
||||
<TR><TD >pack_reverse_hybrid</TD><TD > store extra info unique to this atom style (optional)</TD></TR>
|
||||
<TR><TD >unpack_reverse</TD><TD > retrieve an atom's info from the buffer (required)</TD></TR>
|
||||
<TR><TD >unpack_reverse_hybrid</TD><TD > retreive extra info unique to this atom style (optional)</TD></TR>
|
||||
<TR><TD >pack_border</TD><TD > store an atom's info in a buffer communicated on neighbor re-builds (required)</TD></TR>
|
||||
<TR><TD >pack_border_vel</TD><TD > add velocity info to buffer (required)</TD></TR>
|
||||
<TR><TD >pack_border_hybrid</TD><TD > store extra info unique to this atom style (optional)</TD></TR>
|
||||
<TR><TD >unpack_border</TD><TD > retrieve an atom's info from the buffer (required)</TD></TR>
|
||||
<TR><TD >unpack_border_vel</TD><TD > also retrieve velocity info (required)</TD></TR>
|
||||
<TR><TD >unpack_border_hybrid</TD><TD > retreive extra info unique to this atom style (optional)</TD></TR>
|
||||
<TR><TD >pack_exchange</TD><TD > store all an atom's info to migrate to another processor (required)</TD></TR>
|
||||
<TR><TD >unpack_exchange</TD><TD > retrieve an atom's info from the buffer (required)</TD></TR>
|
||||
<TR><TD >size_restart</TD><TD > number of restart quantities associated with proc's atoms (required)</TD></TR>
|
||||
<TR><TD >pack_restart</TD><TD > pack atom quantities into a buffer (required)</TD></TR>
|
||||
<TR><TD >unpack_restart</TD><TD > unpack atom quantities from a buffer (required)</TD></TR>
|
||||
<TR><TD >create_atom</TD><TD > create an individual atom of this style (required)</TD></TR>
|
||||
<TR><TD >data_atom</TD><TD > parse an atom line from the data file (required)</TD></TR>
|
||||
<TR><TD >data_atom_hybrid</TD><TD > parse additional atom info unique to this atom style (optional)</TD></TR>
|
||||
<TR><TD >data_vel</TD><TD > parse one line of velocity information from data file (optional)</TD></TR>
|
||||
<TR><TD >data_vel_hybrid</TD><TD > parse additional velocity data unique to this atom style (optional)</TD></TR>
|
||||
<TR><TD >memory_usage</TD><TD > tally memory allocated by atom arrays (required)
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>The constructor of the derived class sets values for several variables
|
||||
@ -192,7 +195,7 @@ modify.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "bond"></A><H4>Bond, angle, dihedral, improper potentials
|
||||
<A NAME = "mod_2"></A><H4>10.2 Bond, angle, dihedral, improper potentials
|
||||
</H4>
|
||||
<P>Classes that compute molecular interactions are derived from the Bond,
|
||||
Angle, Dihedral, and Improper classes. New styles can be created to
|
||||
@ -202,21 +205,26 @@ add new potentials to LAMMPS.
|
||||
the harmonic forms of the angle, dihedral, and improper style
|
||||
commands.
|
||||
</P>
|
||||
<P>Here is a brief description of methods you define in your new derived
|
||||
bond class. See bond.h, angle.h, dihedral.h, and improper.h for
|
||||
details.
|
||||
<P>Here is a brief description of common methods you define in your
|
||||
new derived class. See bond.h, angle.h, dihedral.h, and improper.h
|
||||
for details and specific additional methods.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR><TD >compute</TD><TD > compute the molecular interactions</TD></TR>
|
||||
<TR><TD >coeff</TD><TD > set coefficients for one bond type</TD></TR>
|
||||
<TR><TD >equilibrium_distance</TD><TD > length of bond, used by SHAKE</TD></TR>
|
||||
<TR><TD >write & read_restart</TD><TD > writes/reads coeffs to restart files</TD></TR>
|
||||
<TR><TD >single</TD><TD > force and energy of a single bond
|
||||
<TR><TD >init</TD><TD > check if all coefficients are set, calls <I>init_style</I> (optional)</TD></TR>
|
||||
<TR><TD >init_style</TD><TD > check if style specific conditions are met (optional)</TD></TR>
|
||||
<TR><TD >compute</TD><TD > compute the molecular interactions (required)</TD></TR>
|
||||
<TR><TD >settings</TD><TD > apply global settings for all types (optional)</TD></TR>
|
||||
<TR><TD >coeff</TD><TD > set coefficients for one type (required)</TD></TR>
|
||||
<TR><TD >equilibrium_distance</TD><TD > length of bond, used by SHAKE (required, bond only)</TD></TR>
|
||||
<TR><TD >equilibrium_angle</TD><TD > opening of angle, used by SHAKE (required, angle only)</TD></TR>
|
||||
<TR><TD >write & read_restart</TD><TD > writes/reads coeffs to restart files (required)</TD></TR>
|
||||
<TR><TD >single</TD><TD > force and energy of a single bond or angle (required, bond or angle only)</TD></TR>
|
||||
<TR><TD >memory_usage</TD><TD > tally memory allocated by the style (optional)
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "compute"></A><H4>Compute styles
|
||||
<A NAME = "mod_3"></A><H4>10.3 Compute styles
|
||||
</H4>
|
||||
<P>Classes that compute scalar and vector quantities like temperature
|
||||
and the pressure tensor, as well as classes that compute per-atom
|
||||
@ -232,21 +240,28 @@ per-atom kinetic energy.
|
||||
class. See compute.h for details.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR><TD >compute_scalar</TD><TD > compute a scalar quantity</TD></TR>
|
||||
<TR><TD >compute_vector</TD><TD > compute a vector of quantities</TD></TR>
|
||||
<TR><TD >compute_peratom</TD><TD > compute one or more quantities per atom</TD></TR>
|
||||
<TR><TD >pack_comm</TD><TD > pack a buffer with items to communicate</TD></TR>
|
||||
<TR><TD >unpack_comm</TD><TD > unpack the buffer</TD></TR>
|
||||
<TR><TD >pack_reverse</TD><TD > pack a buffer with items to reverse communicate</TD></TR>
|
||||
<TR><TD >unpack_reverse</TD><TD > unpack the buffer</TD></TR>
|
||||
<TR><TD >memory_usage</TD><TD > tally memory usage
|
||||
<TR><TD >init</TD><TD > perform one time setup (required)</TD></TR>
|
||||
<TR><TD >init_list</TD><TD > neighbor list setup, if needed (optional)</TD></TR>
|
||||
<TR><TD >compute_scalar</TD><TD > compute a scalar quantity (optional)</TD></TR>
|
||||
<TR><TD >compute_vector</TD><TD > compute a vector of quantities (optional)</TD></TR>
|
||||
<TR><TD >compute_peratom</TD><TD > compute one or more quantities per atom (optional)</TD></TR>
|
||||
<TR><TD >compute_local</TD><TD > compute one or more quantities per processor (optional)</TD></TR>
|
||||
<TR><TD >pack_comm</TD><TD > pack a buffer with items to communicate (optional)</TD></TR>
|
||||
<TR><TD >unpack_comm</TD><TD > unpack the buffer (optional)</TD></TR>
|
||||
<TR><TD >pack_reverse</TD><TD > pack a buffer with items to reverse communicate (optional)</TD></TR>
|
||||
<TR><TD >unpack_reverse</TD><TD > unpack the buffer (optional)</TD></TR>
|
||||
<TR><TD >remove_bias</TD><TD > remove velocity bias from one atom (optional)</TD></TR>
|
||||
<TR><TD >remove_bias_all</TD><TD > remove velocity bias from all atoms in group (optional)</TD></TR>
|
||||
<TR><TD >restore_bias</TD><TD > restore velocity bias for one atom after remove_bias (optional)</TD></TR>
|
||||
<TR><TD >restore_bias_all</TD><TD > same as before, but for all atoms in group (optional)</TD></TR>
|
||||
<TR><TD >memory_usage</TD><TD > tally memory usage (optional)
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "dump"></A><H4>Dump styles
|
||||
<A NAME = "mod_4"></A><H4>10.4 Dump styles
|
||||
</H4>
|
||||
<A NAME = "dump_custom"></A><H4>Dump custom output options
|
||||
<A NAME = "mod_5"></A><H4>10.5 Dump custom output options
|
||||
</H4>
|
||||
<P>Classes that dump per-atom info to files are derived from the Dump
|
||||
class. To dump new quantities or in a new format, a new derived dump
|
||||
@ -277,7 +292,7 @@ half-dozen or so locations where code will need to be added.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "fix"></A><H4>Fix styles
|
||||
<A NAME = "mod_6"></A><H4>10.6 Fix styles
|
||||
</H4>
|
||||
<P>In LAMMPS, a "fix" is any operation that is computed during
|
||||
timestepping that alters some property of the system. Essentially
|
||||
@ -297,34 +312,59 @@ implement.
|
||||
derived class. See fix.h for details.
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR><TD >setmask</TD><TD > determines when the fix is called during the timestep</TD></TR>
|
||||
<TR><TD >init</TD><TD > initialization before a run</TD></TR>
|
||||
<TR><TD >setup</TD><TD > called immediately before the 1st timestep</TD></TR>
|
||||
<TR><TD >initial_integrate</TD><TD > called at very beginning of each timestep</TD></TR>
|
||||
<TR><TD >pre_exchange</TD><TD > called before atom exchange on re-neighboring steps</TD></TR>
|
||||
<TR><TD >pre_neighbor</TD><TD > called before neighbor list build</TD></TR>
|
||||
<TR><TD >post_force</TD><TD > called after pair & molecular forces are computed</TD></TR>
|
||||
<TR><TD >final_integrate</TD><TD > called at end of each timestep</TD></TR>
|
||||
<TR><TD >end_of_step</TD><TD > called at very end of timestep</TD></TR>
|
||||
<TR><TD >write_restart</TD><TD > dumps fix info to restart file</TD></TR>
|
||||
<TR><TD >restart</TD><TD > uses info from restart file to re-initialize the fix</TD></TR>
|
||||
<TR><TD >grow_arrays</TD><TD > allocate memory for atom-based arrays used by fix</TD></TR>
|
||||
<TR><TD >copy_arrays</TD><TD > copy atom info when an atom migrates to a new processor</TD></TR>
|
||||
<TR><TD >memory_usage</TD><TD > report memory used by fix</TD></TR>
|
||||
<TR><TD >pack_exchange</TD><TD > store atom's data in a buffer</TD></TR>
|
||||
<TR><TD >unpack_exchange</TD><TD > retrieve atom's data from a buffer</TD></TR>
|
||||
<TR><TD >pack_restart</TD><TD > store atom's data for writing to restart file</TD></TR>
|
||||
<TR><TD >unpack_restart</TD><TD > retrieve atom's data from a restart file buffer</TD></TR>
|
||||
<TR><TD >size_restart</TD><TD > size of atom's data</TD></TR>
|
||||
<TR><TD >maxsize_restart</TD><TD > max size of atom's data</TD></TR>
|
||||
<TR><TD >initial_integrate_respa</TD><TD > same as initial_integrate, but for rRESPA</TD></TR>
|
||||
<TR><TD >post_force_respa</TD><TD > same as post_force, but for rRESPA</TD></TR>
|
||||
<TR><TD >final_integrate_respa</TD><TD > same as final_integrate, but for rRESPA</TD></TR>
|
||||
<TR><TD >pack_comm</TD><TD > pack a buffer to communicate a per-atom quantity</TD></TR>
|
||||
<TR><TD >unpack_comm</TD><TD > unpack a buffer to communicate a per-atom quantity</TD></TR>
|
||||
<TR><TD >pack_reverse_comm</TD><TD > pack a buffer to reverse communicate a per-atom quantity</TD></TR>
|
||||
<TR><TD >unpack_reverse_comm</TD><TD > unpack a buffer to reverse communicate a per-atom quantity</TD></TR>
|
||||
<TR><TD >thermo</TD><TD > compute quantities for thermodynamic output
|
||||
<TR><TD >setmask</TD><TD > determines when the fix is called during the timestep (required)</TD></TR>
|
||||
<TR><TD >init</TD><TD > initialization before a run (optional)</TD></TR>
|
||||
<TR><TD >setup_pre_exchange</TD><TD > called before atom exchange in setup (optional)</TD></TR>
|
||||
<TR><TD >setup_pre_force</TD><TD > called before force computation in setup (optional)</TD></TR>
|
||||
<TR><TD >setup</TD><TD > called immediately before the 1st timestep and after forces are computed (optional)</TD></TR>
|
||||
<TR><TD >min_setup_pre_force</TD><TD > like setup_pre_force, but for minimizations instead of MD runs (optional)</TD></TR>
|
||||
<TR><TD >min_setup</TD><TD > like setup, but for minimizations instead of MD runs (optional)</TD></TR>
|
||||
<TR><TD >initial_integrate</TD><TD > called at very beginning of each timestep (optional)</TD></TR>
|
||||
<TR><TD >pre_exchange</TD><TD > called before atom exchange on re-neighboring steps (optional)</TD></TR>
|
||||
<TR><TD >pre_neighbor</TD><TD > called before neighbor list build (optional)</TD></TR>
|
||||
<TR><TD >pre_force</TD><TD > called after pair & molecular forces are computed (optional)</TD></TR>
|
||||
<TR><TD >post_force</TD><TD > called after pair & molecular forces are computed and communicated (optional)</TD></TR>
|
||||
<TR><TD >final_integrate</TD><TD > called at end of each timestep (optional)</TD></TR>
|
||||
<TR><TD >end_of_step</TD><TD > called at very end of timestep (optional)</TD></TR>
|
||||
<TR><TD >write_restart</TD><TD > dumps fix info to restart file (optional)</TD></TR>
|
||||
<TR><TD >restart</TD><TD > uses info from restart file to re-initialize the fix (optional)</TD></TR>
|
||||
<TR><TD >grow_arrays</TD><TD > allocate memory for atom-based arrays used by fix (optional)</TD></TR>
|
||||
<TR><TD >copy_arrays</TD><TD > copy atom info when an atom migrates to a new processor (optional)</TD></TR>
|
||||
<TR><TD >pack_exchange</TD><TD > store atom's data in a buffer (optional)</TD></TR>
|
||||
<TR><TD >unpack_exchange</TD><TD > retrieve atom's data from a buffer (optional)</TD></TR>
|
||||
<TR><TD >pack_restart</TD><TD > store atom's data for writing to restart file (optional)</TD></TR>
|
||||
<TR><TD >unpack_restart</TD><TD > retrieve atom's data from a restart file buffer (optional)</TD></TR>
|
||||
<TR><TD >size_restart</TD><TD > size of atom's data (optional)</TD></TR>
|
||||
<TR><TD >maxsize_restart</TD><TD > max size of atom's data (optional)</TD></TR>
|
||||
<TR><TD >setup_pre_force_respa</TD><TD > same as setup_pre_force, but for rRESPA (optional)</TD></TR>
|
||||
<TR><TD >initial_integrate_respa</TD><TD > same as initial_integrate, but for rRESPA (optional)</TD></TR>
|
||||
<TR><TD >post_integrate_respa</TD><TD > called after the first half integration step is done in rRESPA (optional)</TD></TR>
|
||||
<TR><TD >pre_force_respa</TD><TD > same as pre_force, but for rRESPA (optional)</TD></TR>
|
||||
<TR><TD >post_force_respa</TD><TD > same as post_force, but for rRESPA (optional)</TD></TR>
|
||||
<TR><TD >final_integrate_respa</TD><TD > same as final_integrate, but for rRESPA (optional)</TD></TR>
|
||||
<TR><TD >min_pre_force</TD><TD > called after pair & molecular forces are computed in minimizer (optional)</TD></TR>
|
||||
<TR><TD >min_post_force</TD><TD > called after pair & molecular forces are computed and communicated in minmizer (optional)</TD></TR>
|
||||
<TR><TD >min_store</TD><TD > store extra data for linesearch based minimization on a LIFO stack (optional)</TD></TR>
|
||||
<TR><TD >min_pushstore</TD><TD > push the minimization LIFO stack one element down (optional)</TD></TR>
|
||||
<TR><TD >min_popstore</TD><TD > pop the minimization LIFO stack one element up (optional)</TD></TR>
|
||||
<TR><TD >min_clearstore</TD><TD > clear minimization LIFO stack (optional)</TD></TR>
|
||||
<TR><TD >min_step</TD><TD > reset or move forward on line search minimization (optional)</TD></TR>
|
||||
<TR><TD >min_dof</TD><TD > report number of degrees of freedom <I>added</I> by this fix in minimization (optional)</TD></TR>
|
||||
<TR><TD >max_alpha</TD><TD > report maximum allowed step size during linesearch minimization (optional)</TD></TR>
|
||||
<TR><TD >pack_comm</TD><TD > pack a buffer to communicate a per-atom quantity (optional)</TD></TR>
|
||||
<TR><TD >unpack_comm</TD><TD > unpack a buffer to communicate a per-atom quantity (optional)</TD></TR>
|
||||
<TR><TD >pack_reverse_comm</TD><TD > pack a buffer to reverse communicate a per-atom quantity (optional)</TD></TR>
|
||||
<TR><TD >unpack_reverse_comm</TD><TD > unpack a buffer to reverse communicate a per-atom quantity (optional)</TD></TR>
|
||||
<TR><TD >dof</TD><TD > report number of degrees of freedom <I>removed</I> by this fix during MD (optional)</TD></TR>
|
||||
<TR><TD >compute_scalar</TD><TD > return a global scalar property that the fix computes (optional)</TD></TR>
|
||||
<TR><TD >compute_vector</TD><TD > return a component of a vector property that the fix computes (optional)</TD></TR>
|
||||
<TR><TD >compute_array</TD><TD > return a component of an array property that the fix computes (optional)</TD></TR>
|
||||
<TR><TD >deform</TD><TD > called when the box size is changed (optional)</TD></TR>
|
||||
<TR><TD >reset_target</TD><TD > called when a change of the target temperature is requested during a run (optional)</TD></TR>
|
||||
<TR><TD >reset_dt</TD><TD > is called when a change of the time step is requested during a run (optional)</TD></TR>
|
||||
<TR><TD >modify_param</TD><TD > called when a fix_modify request is executed (optional)</TD></TR>
|
||||
<TR><TD >memory_usage</TD><TD > report memory used by fix (optional)</TD></TR>
|
||||
<TR><TD >thermo</TD><TD > compute quantities for thermodynamic output (optional)
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>Typically, only a small fraction of these methods are defined for a
|
||||
@ -355,7 +395,7 @@ quantities and/or to be summed to the potential energy of the system.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "command"></A><H4>Input script commands
|
||||
<A NAME = "mod_7"></A><H4>10.7 Input script commands
|
||||
</H4>
|
||||
<P>New commands can be added to LAMMPS input scripts by adding new
|
||||
classes that have a "command" method. For example, the create_atoms,
|
||||
@ -377,7 +417,7 @@ needed.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "kspace"></A><H4>Kspace computations
|
||||
<A NAME = "mod_8"></A><H4>10.8 Kspace computations
|
||||
</H4>
|
||||
<P>Classes that compute long-range Coulombic interactions via K-space
|
||||
representations (Ewald, PPPM) are derived from the KSpace class. New
|
||||
@ -397,7 +437,7 @@ class. See kspace.h for details.
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "min"></A><H4>Minimization solvers
|
||||
<A NAME = "mod_9"></A><H4>10.9 Minimization styles
|
||||
</H4>
|
||||
<P>Classes that perform energy minimization derived from the Min class.
|
||||
New styles can be created to add new minimization algorithms to
|
||||
@ -416,7 +456,7 @@ class. See min.h for details.
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "pair"></A><H4>Pairwise potentials
|
||||
<A NAME = "mod_10"></A><H4>10.10 Pairwise potentials
|
||||
</H4>
|
||||
<P>Classes that compute pairwise interactions are derived from the Pair
|
||||
class. In LAMMPS, pairwise calculation include manybody potentials
|
||||
@ -445,7 +485,7 @@ includes some optional methods to enable its use with rRESPA.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "region"></A><H4>Region styles
|
||||
<A NAME = "mod_11"></A><H4>10.11 Region styles
|
||||
</H4>
|
||||
<P>Classes that define geometric regions are derived from the Region
|
||||
class. Regions are used elsewhere in LAMMPS to group atoms, delete
|
||||
@ -463,7 +503,7 @@ class. See region.h for details.
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "thermo"></A><H4>Thermodynamic output options
|
||||
<A NAME = "mod_12"></A><H4>10.12 Thermodynamic output options
|
||||
</H4>
|
||||
<P>There is one class that computes and prints thermodynamic information
|
||||
to the screen and log file; see the file thermo.cpp.
|
||||
@ -492,7 +532,7 @@ by adding a new keyword to the thermo command.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "variable"></A><H4>Variable options
|
||||
<A NAME = "mod_13"></A><H4>10.13 Variable options
|
||||
</H4>
|
||||
<P>There is one class that computes and stores <A HREF = "variable.html">variable</A>
|
||||
information in LAMMPS; see the file variable.cpp. The value
|
||||
@ -532,19 +572,21 @@ then be accessed by variables) was discussed
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "package"></A><H4>Submitting new features to the developers to include in LAMMPS
|
||||
<HR>
|
||||
|
||||
<A NAME = "mod_14"></A><H4>10.14 Submitting new features for inclusion in LAMMPS
|
||||
</H4>
|
||||
<P>We encourage users to submit new features that they add to LAMMPS to
|
||||
<A HREF = "http://lammps.sandia.gov/authors.html">the developers</A>, especially if
|
||||
you think the features will be of interest to other users. If they
|
||||
are broadly useful we may add them as core files to LAMMPS or as part
|
||||
of a <A HREF = "Section_start.html#2_3">standard package</A>. Else we will add them
|
||||
as a user-contributed package or file. Examples of user packages are
|
||||
in src sub-directories that start with USER. The USER-MISC package is
|
||||
simply a collection of (mostly) unrelated single files, which is the
|
||||
simplest way to have your contribution quickly added to the LAMMPS
|
||||
distribution. You can see a list of the both standard and user
|
||||
packages by typing "make package" in the LAMMPS src directory.
|
||||
of a <A HREF = "Section_start.html#start_3">standard package</A>. Else we will add
|
||||
them as a user-contributed package or file. Examples of user packages
|
||||
are in src sub-directories that start with USER. The USER-MISC
|
||||
package is simply a collection of (mostly) unrelated single files,
|
||||
which is the simplest way to have your contribution quickly added to
|
||||
the LAMMPS distribution. You can see a list of the both standard and
|
||||
user packages by typing "make package" in the LAMMPS src directory.
|
||||
</P>
|
||||
<P>With user packages and files, all we are really providing (aside from
|
||||
the fame and fortune that accompanies having your name in the source
|
||||
|
||||
@ -8,7 +8,7 @@ Section"_Section_python.html :c
|
||||
|
||||
:line
|
||||
|
||||
8. Modifying & extending LAMMPS :h3
|
||||
10. Modifying & extending LAMMPS :h3
|
||||
|
||||
LAMMPS is designed in a modular fashion so as to be easy to modify and
|
||||
extend with new functionality. In fact, about 75% of its source code
|
||||
@ -19,7 +19,7 @@ with minimal instructions. If you add a new feature to LAMMPS and
|
||||
think it will be of interest to general users, we encourage you to
|
||||
submit it to the developers for inclusion in the released version of
|
||||
LAMMPS. Information about how to do this is provided
|
||||
"below"_#package.
|
||||
"below"_#mod_14.
|
||||
|
||||
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
|
||||
@ -72,30 +72,9 @@ 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.
|
||||
|
||||
Here is a list of the new features that can be added in this way,
|
||||
along with information about how to submit your features for inclusion
|
||||
in the LAMMPS distribution.
|
||||
|
||||
"Atom styles"_#atom
|
||||
"Bond, angle, dihedral, improper potentials"_#bond
|
||||
"Compute styles"_#compute
|
||||
"Dump styles"_#dump
|
||||
"Dump custom output options"_#dump
|
||||
"Fix styles"_#fix which include integrators, \
|
||||
temperature and pressure control, force constraints, \
|
||||
boundary conditions, diagnostic output, etc
|
||||
"Input script commands"_#command
|
||||
"Kspace computations"_#kspace
|
||||
"Minimization solvers"_#min
|
||||
"Pairwise potentials"_#pair
|
||||
"Region styles"_#region
|
||||
"Thermodynamic output options"_#thermo
|
||||
"Variable options"_#variable :ul
|
||||
|
||||
"Submitting new features to the developers to include in LAMMPS"_#package :ul
|
||||
|
||||
As illustrated by the pairwise example, these options are referred to
|
||||
in the LAMMPS documentation as the "style" of a particular command.
|
||||
As illustrated by this pairwise example, many kinds of options are
|
||||
referred to in the LAMMPS documentation as the "style" of a particular
|
||||
command.
|
||||
|
||||
The instructions below give the header file for the base class that
|
||||
these styles are derived from. Public variables in that file are ones
|
||||
@ -107,12 +86,8 @@ LAMMPS expects. Virtual functions that are not set to 0 are functions
|
||||
you can optionally define.
|
||||
|
||||
Additionally, new output options can be added directly to the
|
||||
thermo.cpp, dump_custom.cpp, and variable.cpp files as explained in
|
||||
these sections:
|
||||
|
||||
"Dump custom output options"_#dump_custom
|
||||
"Thermodynamic output options"_#thermo
|
||||
"Variable options"_#variable :ul
|
||||
thermo.cpp, dump_custom.cpp, and variable.cpp files as explained
|
||||
below.
|
||||
|
||||
:line
|
||||
|
||||
@ -135,50 +110,78 @@ command. :l
|
||||
If you add something you think is truly useful and doesn't impact
|
||||
LAMMPS performance when it isn't used, send an email to the
|
||||
"developers"_http://lammps.sandia.gov/authors.html. We might be
|
||||
interested in adding it to the LAMMPS distribution. :l,ule
|
||||
interested in adding it to the LAMMPS distribution. See further
|
||||
details on this at the bottom of this page. :l,ule
|
||||
|
||||
:line
|
||||
|
||||
Here are the subsequent topics discussed below, most of which are new
|
||||
features that can be added in the manner just described:
|
||||
|
||||
10.1 "Atom styles"_#mod_1
|
||||
10.2 "Bond, angle, dihedral, improper potentials"_#mod_2
|
||||
10.3 "Compute styles"_#mod_3
|
||||
10.4 "Dump styles"_#mod_4
|
||||
10.5 "Dump custom output options"_#mod_5
|
||||
10.6 "Fix styles"_#mod_6 which include integrators, \
|
||||
temperature and pressure control, force constraints, \
|
||||
boundary conditions, diagnostic output, etc
|
||||
10.7 "Input script commands"_mod_7
|
||||
10.8 "Kspace computations"_#mod_8
|
||||
10.9 "Minimization styles"_#mod_9
|
||||
10.10 "Pairwise potentials"_#mod_10
|
||||
10.11 "Region styles"_#mod_11
|
||||
10.12 "Thermodynamic output options"_#mod_12
|
||||
10.13 "Variable options"_#mod_13
|
||||
10.14 "Submitting new features for inclusion in LAMMPS"_#mod_14 :all(b)
|
||||
|
||||
:line
|
||||
:line
|
||||
|
||||
Atom styles :link(atom),h4
|
||||
10.1 Atom styles :link(mod_1),h4
|
||||
|
||||
Classes that define an atom style are derived from the Atom class.
|
||||
The atom style determines what quantities are associated with an atom.
|
||||
A new atom style can be created if one of the existing atom styles
|
||||
does not define all the arrays you need to store and communicate with
|
||||
atoms.
|
||||
Classes that define an atom style are derived from the AtomVec class
|
||||
and managed by the Atom class. The atom style determines what
|
||||
quantities are associated with an atom. A new atom style can be
|
||||
created if one of the existing atom styles does not define all
|
||||
the arrays you need to store and communicate with atoms.
|
||||
|
||||
Atom_vec_atomic.cpp is a simple example of an atom style.
|
||||
|
||||
Here is a brief description of methods you define in your new derived
|
||||
class. See atom.h for details.
|
||||
class. See atom_vec.h for details.
|
||||
|
||||
grow: re-allocate atom arrays to longer lengths
|
||||
copy: copy info for one atom to another atom's array locations
|
||||
pack_comm: store an atom's info in a buffer communicated every timestep
|
||||
pack_comm_vel: add velocity info to buffer
|
||||
pack_comm_one: store extra info unique to this atom style
|
||||
unpack_comm: retrieve an atom's info from the buffer
|
||||
unpack_comm_vel: also retrieve velocity info
|
||||
unpack_comm_one: retreive extra info unique to this atom style
|
||||
pack_reverse: store an atom's info in a buffer communicating partial forces
|
||||
pack_reverse_one: store extra info unique to this atom style
|
||||
unpack_reverse: retrieve an atom's info from the buffer
|
||||
unpack_reverse_one: retreive extra info unique to this atom style
|
||||
pack_border: store an atom's info in a buffer communicated on neighbor re-builds
|
||||
pack_border_vel: add velocity info to buffer
|
||||
pack_border_one: store extra info unique to this atom style
|
||||
unpack_border: retrieve an atom's info from the buffer
|
||||
unpack_border_vel: also retrieve velocity info
|
||||
unpack_border_one: retreive extra info unique to this atom style
|
||||
pack_exchange: store all an atom's info to migrate to another processor
|
||||
unpack_exchange: retrieve an atom's info from the buffer
|
||||
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
|
||||
create_atom: create an individual atom of this style
|
||||
data_atom: parse an atom line from the data file
|
||||
memory_usage: tally memory allocated by atom arrays :tb(s=:)
|
||||
init: one time setup (optional)
|
||||
grow: re-allocate atom arrays to longer lengths (required)
|
||||
grow_reset: make array pointers in Atom and AtomVec classes consistent (required)
|
||||
copy: copy info for one atom to another atom's array locations (required)
|
||||
pack_comm: store an atom's info in a buffer communicated every timestep (required)
|
||||
pack_comm_vel: add velocity info to communication buffer (required)
|
||||
pack_comm_hybrid: store extra info unique to this atom style (optional)
|
||||
unpack_comm: retrieve an atom's info from the buffer (required)
|
||||
unpack_comm_vel: also retrieve velocity info (required)
|
||||
unpack_comm_hybrid: retreive extra info unique to this atom style (optional)
|
||||
pack_reverse: store an atom's info in a buffer communicating partial forces (required)
|
||||
pack_reverse_hybrid: store extra info unique to this atom style (optional)
|
||||
unpack_reverse: retrieve an atom's info from the buffer (required)
|
||||
unpack_reverse_hybrid: retreive extra info unique to this atom style (optional)
|
||||
pack_border: store an atom's info in a buffer communicated on neighbor re-builds (required)
|
||||
pack_border_vel: add velocity info to buffer (required)
|
||||
pack_border_hybrid: store extra info unique to this atom style (optional)
|
||||
unpack_border: retrieve an atom's info from the buffer (required)
|
||||
unpack_border_vel: also retrieve velocity info (required)
|
||||
unpack_border_hybrid: retreive extra info unique to this atom style (optional)
|
||||
pack_exchange: store all an atom's info to migrate to another processor (required)
|
||||
unpack_exchange: retrieve an atom's info from the buffer (required)
|
||||
size_restart: number of restart quantities associated with proc's atoms (required)
|
||||
pack_restart: pack atom quantities into a buffer (required)
|
||||
unpack_restart: unpack atom quantities from a buffer (required)
|
||||
create_atom: create an individual atom of this style (required)
|
||||
data_atom: parse an atom line from the data file (required)
|
||||
data_atom_hybrid: parse additional atom info unique to this atom style (optional)
|
||||
data_vel: parse one line of velocity information from data file (optional)
|
||||
data_vel_hybrid: parse additional velocity data unique to this atom style (optional)
|
||||
memory_usage: tally memory allocated by atom arrays (required) :tb(s=:)
|
||||
|
||||
The constructor of the derived class sets values for several variables
|
||||
that you must set when defining a new atom style, which are documented
|
||||
@ -188,7 +191,7 @@ modify.
|
||||
|
||||
:line
|
||||
|
||||
Bond, angle, dihedral, improper potentials :link(bond),h4
|
||||
10.2 Bond, angle, dihedral, improper potentials :link(mod_2),h4
|
||||
|
||||
Classes that compute molecular interactions are derived from the Bond,
|
||||
Angle, Dihedral, and Improper classes. New styles can be created to
|
||||
@ -198,19 +201,24 @@ Bond_harmonic.cpp is the simplest example of a bond style. Ditto for
|
||||
the harmonic forms of the angle, dihedral, and improper style
|
||||
commands.
|
||||
|
||||
Here is a brief description of methods you define in your new derived
|
||||
bond class. See bond.h, angle.h, dihedral.h, and improper.h for
|
||||
details.
|
||||
Here is a brief description of common methods you define in your
|
||||
new derived class. See bond.h, angle.h, dihedral.h, and improper.h
|
||||
for details and specific additional methods.
|
||||
|
||||
compute: compute 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=:)
|
||||
init: check if all coefficients are set, calls {init_style} (optional)
|
||||
init_style: check if style specific conditions are met (optional)
|
||||
compute: compute the molecular interactions (required)
|
||||
settings: apply global settings for all types (optional)
|
||||
coeff: set coefficients for one type (required)
|
||||
equilibrium_distance: length of bond, used by SHAKE (required, bond only)
|
||||
equilibrium_angle: opening of angle, used by SHAKE (required, angle only)
|
||||
write & read_restart: writes/reads coeffs to restart files (required)
|
||||
single: force and energy of a single bond or angle (required, bond or angle only)
|
||||
memory_usage: tally memory allocated by the style (optional) :tb(s=:)
|
||||
|
||||
:line
|
||||
|
||||
Compute styles :link(compute),h4
|
||||
10.3 Compute styles :link(mod_3),h4
|
||||
|
||||
Classes that compute scalar and vector quantities like temperature
|
||||
and the pressure tensor, as well as classes that compute per-atom
|
||||
@ -225,19 +233,26 @@ per-atom kinetic energy.
|
||||
Here is a brief description of methods you define in your new derived
|
||||
class. See compute.h for details.
|
||||
|
||||
compute_scalar: compute a scalar quantity
|
||||
compute_vector: compute a vector of quantities
|
||||
compute_peratom: compute one or more quantities per atom
|
||||
pack_comm: pack a buffer with items to communicate
|
||||
unpack_comm: unpack the buffer
|
||||
pack_reverse: pack a buffer with items to reverse communicate
|
||||
unpack_reverse: unpack the buffer
|
||||
memory_usage: tally memory usage :tb(s=:)
|
||||
init: perform one time setup (required)
|
||||
init_list: neighbor list setup, if needed (optional)
|
||||
compute_scalar: compute a scalar quantity (optional)
|
||||
compute_vector: compute a vector of quantities (optional)
|
||||
compute_peratom: compute one or more quantities per atom (optional)
|
||||
compute_local: compute one or more quantities per processor (optional)
|
||||
pack_comm: pack a buffer with items to communicate (optional)
|
||||
unpack_comm: unpack the buffer (optional)
|
||||
pack_reverse: pack a buffer with items to reverse communicate (optional)
|
||||
unpack_reverse: unpack the buffer (optional)
|
||||
remove_bias: remove velocity bias from one atom (optional)
|
||||
remove_bias_all: remove velocity bias from all atoms in group (optional)
|
||||
restore_bias: restore velocity bias for one atom after remove_bias (optional)
|
||||
restore_bias_all: same as before, but for all atoms in group (optional)
|
||||
memory_usage: tally memory usage (optional) :tb(s=:)
|
||||
|
||||
:line
|
||||
|
||||
Dump styles :link(dump),h4
|
||||
Dump custom output options :link(dump_custom),h4
|
||||
10.4 Dump styles :link(mod_4),h4
|
||||
10.5 Dump custom output options :link(mod_5),h4
|
||||
|
||||
Classes that dump per-atom info to files are derived from the Dump
|
||||
class. To dump new quantities or in a new format, a new derived dump
|
||||
@ -266,7 +281,7 @@ half-dozen or so locations where code will need to be added.
|
||||
|
||||
:line
|
||||
|
||||
Fix styles :link(fix),h4
|
||||
10.6 Fix styles :link(mod_6),h4
|
||||
|
||||
In LAMMPS, a "fix" is any operation that is computed during
|
||||
timestepping that alters some property of the system. Essentially
|
||||
@ -285,34 +300,59 @@ implement.
|
||||
Here is a brief description of methods you can define in your new
|
||||
derived class. See fix.h for details.
|
||||
|
||||
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: compute quantities for thermodynamic output :tb(s=:)
|
||||
setmask: determines when the fix is called during the timestep (required)
|
||||
init: initialization before a run (optional)
|
||||
setup_pre_exchange: called before atom exchange in setup (optional)
|
||||
setup_pre_force: called before force computation in setup (optional)
|
||||
setup: called immediately before the 1st timestep and after forces are computed (optional)
|
||||
min_setup_pre_force: like setup_pre_force, but for minimizations instead of MD runs (optional)
|
||||
min_setup: like setup, but for minimizations instead of MD runs (optional)
|
||||
initial_integrate: called at very beginning of each timestep (optional)
|
||||
pre_exchange: called before atom exchange on re-neighboring steps (optional)
|
||||
pre_neighbor: called before neighbor list build (optional)
|
||||
pre_force: called after pair & molecular forces are computed (optional)
|
||||
post_force: called after pair & molecular forces are computed and communicated (optional)
|
||||
final_integrate: called at end of each timestep (optional)
|
||||
end_of_step: called at very end of timestep (optional)
|
||||
write_restart: dumps fix info to restart file (optional)
|
||||
restart: uses info from restart file to re-initialize the fix (optional)
|
||||
grow_arrays: allocate memory for atom-based arrays used by fix (optional)
|
||||
copy_arrays: copy atom info when an atom migrates to a new processor (optional)
|
||||
pack_exchange: store atom's data in a buffer (optional)
|
||||
unpack_exchange: retrieve atom's data from a buffer (optional)
|
||||
pack_restart: store atom's data for writing to restart file (optional)
|
||||
unpack_restart: retrieve atom's data from a restart file buffer (optional)
|
||||
size_restart: size of atom's data (optional)
|
||||
maxsize_restart: max size of atom's data (optional)
|
||||
setup_pre_force_respa: same as setup_pre_force, but for rRESPA (optional)
|
||||
initial_integrate_respa: same as initial_integrate, but for rRESPA (optional)
|
||||
post_integrate_respa: called after the first half integration step is done in rRESPA (optional)
|
||||
pre_force_respa: same as pre_force, but for rRESPA (optional)
|
||||
post_force_respa: same as post_force, but for rRESPA (optional)
|
||||
final_integrate_respa: same as final_integrate, but for rRESPA (optional)
|
||||
min_pre_force: called after pair & molecular forces are computed in minimizer (optional)
|
||||
min_post_force: called after pair & molecular forces are computed and communicated in minmizer (optional)
|
||||
min_store: store extra data for linesearch based minimization on a LIFO stack (optional)
|
||||
min_pushstore: push the minimization LIFO stack one element down (optional)
|
||||
min_popstore: pop the minimization LIFO stack one element up (optional)
|
||||
min_clearstore: clear minimization LIFO stack (optional)
|
||||
min_step: reset or move forward on line search minimization (optional)
|
||||
min_dof: report number of degrees of freedom {added} by this fix in minimization (optional)
|
||||
max_alpha: report maximum allowed step size during linesearch minimization (optional)
|
||||
pack_comm: pack a buffer to communicate a per-atom quantity (optional)
|
||||
unpack_comm: unpack a buffer to communicate a per-atom quantity (optional)
|
||||
pack_reverse_comm: pack a buffer to reverse communicate a per-atom quantity (optional)
|
||||
unpack_reverse_comm: unpack a buffer to reverse communicate a per-atom quantity (optional)
|
||||
dof: report number of degrees of freedom {removed} by this fix during MD (optional)
|
||||
compute_scalar: return a global scalar property that the fix computes (optional)
|
||||
compute_vector: return a component of a vector property that the fix computes (optional)
|
||||
compute_array: return a component of an array property that the fix computes (optional)
|
||||
deform: called when the box size is changed (optional)
|
||||
reset_target: called when a change of the target temperature is requested during a run (optional)
|
||||
reset_dt: is called when a change of the time step is requested during a run (optional)
|
||||
modify_param: called when a fix_modify request is executed (optional)
|
||||
memory_usage: report memory used by fix (optional)
|
||||
thermo: compute quantities for thermodynamic output (optional) :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
|
||||
@ -342,7 +382,7 @@ quantities and/or to be summed to the potential energy of the system.
|
||||
|
||||
:line
|
||||
|
||||
Input script commands :link(command),h4
|
||||
10.7 Input script commands :link(mod_7),h4
|
||||
|
||||
New commands can be added to LAMMPS input scripts by adding new
|
||||
classes that have a "command" method. For example, the create_atoms,
|
||||
@ -362,7 +402,7 @@ needed.
|
||||
|
||||
:line
|
||||
|
||||
Kspace computations :link(kspace),h4
|
||||
10.8 Kspace computations :link(mod_8),h4
|
||||
|
||||
Classes that compute long-range Coulombic interactions via K-space
|
||||
representations (Ewald, PPPM) are derived from the KSpace class. New
|
||||
@ -380,7 +420,7 @@ memory_usage: tally of memory usage :tb(s=:)
|
||||
|
||||
:line
|
||||
|
||||
Minimization solvers :link(min),h4
|
||||
10.9 Minimization styles :link(mod_9),h4
|
||||
|
||||
Classes that perform energy minimization derived from the Min class.
|
||||
New styles can be created to add new minimization algorithms to
|
||||
@ -397,7 +437,7 @@ memory_usage: tally of memory usage :tb(s=:)
|
||||
|
||||
:line
|
||||
|
||||
Pairwise potentials :link(pair),h4
|
||||
10.10 Pairwise potentials :link(mod_10),h4
|
||||
|
||||
Classes that compute pairwise interactions are derived from the Pair
|
||||
class. In LAMMPS, pairwise calculation include manybody potentials
|
||||
@ -424,7 +464,7 @@ The inner/middle/outer routines are optional.
|
||||
|
||||
:line
|
||||
|
||||
Region styles :link(region),h4
|
||||
10.11 Region styles :link(mod_11),h4
|
||||
|
||||
Classes that define geometric regions are derived from the Region
|
||||
class. Regions are used elsewhere in LAMMPS to group atoms, delete
|
||||
@ -440,7 +480,7 @@ match: determine whether a point is in the region :tb(s=:)
|
||||
|
||||
:line
|
||||
|
||||
Thermodynamic output options :link(thermo),h4
|
||||
10.12 Thermodynamic output options :link(mod_12),h4
|
||||
|
||||
There is one class that computes and prints thermodynamic information
|
||||
to the screen and log file; see the file thermo.cpp.
|
||||
@ -469,7 +509,7 @@ by adding a new keyword to the thermo command.
|
||||
|
||||
:line
|
||||
|
||||
Variable options :link(variable),h4
|
||||
10.13 Variable options :link(mod_13),h4
|
||||
|
||||
There is one class that computes and stores "variable"_variable.html
|
||||
information in LAMMPS; see the file variable.cpp. The value
|
||||
@ -507,21 +547,22 @@ Adding new "compute styles"_compute.html (whose calculated values can
|
||||
then be accessed by variables) was discussed
|
||||
"here"_Section_modify.html#compute on this page.
|
||||
|
||||
:line
|
||||
:line
|
||||
|
||||
Submitting new features to the developers to include in LAMMPS :link(package),h4
|
||||
10.14 Submitting new features for inclusion in LAMMPS :link(mod_14),h4
|
||||
|
||||
We encourage users to submit new features that they add to LAMMPS to
|
||||
"the developers"_http://lammps.sandia.gov/authors.html, especially if
|
||||
you think the features will be of interest to other users. If they
|
||||
are broadly useful we may add them as core files to LAMMPS or as part
|
||||
of a "standard package"_Section_start.html#2_3. Else we will add them
|
||||
as a user-contributed package or file. Examples of user packages are
|
||||
in src sub-directories that start with USER. The USER-MISC package is
|
||||
simply a collection of (mostly) unrelated single files, which is the
|
||||
simplest way to have your contribution quickly added to the LAMMPS
|
||||
distribution. You can see a list of the both standard and user
|
||||
packages by typing "make package" in the LAMMPS src directory.
|
||||
of a "standard package"_Section_start.html#start_3. Else we will add
|
||||
them as a user-contributed package or file. Examples of user packages
|
||||
are in src sub-directories that start with USER. The USER-MISC
|
||||
package is simply a collection of (mostly) unrelated single files,
|
||||
which is the simplest way to have your contribution quickly added to
|
||||
the LAMMPS distribution. You can see a list of the both standard and
|
||||
user packages by typing "make package" in the LAMMPS src directory.
|
||||
|
||||
With user packages and files, all we are really providing (aside from
|
||||
the fame and fortune that accompanies having your name in the source
|
||||
|
||||
404
doc/Section_packages.html
Normal file
@ -0,0 +1,404 @@
|
||||
<HTML>
|
||||
<CENTER><A HREF = "Section_commands.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> -
|
||||
<A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Section_accelerate.html">Next
|
||||
Section</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>4. Packages
|
||||
</H3>
|
||||
<P>LAMMPS includes many optional 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 all packages by typing "make package" from within the src
|
||||
directory of the LAMMPS distribution.
|
||||
</P>
|
||||
<P>See <A HREF = "Section_start.html#start_3">this section</A> of the manual for
|
||||
details on how to include/exclude specific packages as part of the
|
||||
LAMMPS build process, and for more details about the differences
|
||||
between standard packages and user packages in LAMMPS.
|
||||
</P>
|
||||
<P>Below, the packages currently availabe in LAMMPS are listed. For
|
||||
standard packages, just a one-line description is given. For user
|
||||
packages, more details are provided.
|
||||
</P>
|
||||
4.1 <A HREF = "#pkg_1">Standard packages</A><BR>
|
||||
4.2 <A HREF = "#pkg_2">User packages</A> <BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "pkg_1"></A>4.1 Standard packages
|
||||
</H4>
|
||||
<P>The current list of standard packages is as follows:
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD >Package</TD><TD > Description</TD><TD > Author(s)</TD><TD > Doc page</TD><TD > Example</TD><TD > Library</TD></TR>
|
||||
<TR ALIGN="center"><TD >ASPHERE</TD><TD > aspherical particles</TD><TD > -</TD><TD > <A HREF = "Section_howto.html#howto_14">howto</A></TD><TD > ellipse</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >CLASS2</TD><TD > class 2 force fields</TD><TD > -</TD><TD > <A HREF = "pair_class2.html">pair_style lj/class2</A></TD><TD > -</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >COLLOID</TD><TD > colloidal particles</TD><TD > -</TD><TD > <A HREF = "atom_style.html">atom_style colloid</A></TD><TD > colloid</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >DIPOLE</TD><TD > point dipole particles</TD><TD > -</TD><TD > <A HREF = "pair_dipole.html">pair_style dipole/cut</A></TD><TD > dipole</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >GPU</TD><TD > GPU-enabled potentials</TD><TD > Mike Brown (ORNL)</TD><TD > <A HREF = "Section_accelerate.html#acc_3">accelerate</A></TD><TD > gpu</TD><TD > lib/gpu</TD></TR>
|
||||
<TR ALIGN="center"><TD >GRANULAR</TD><TD > granular systems</TD><TD > -</TD><TD > <A HREF = "Section_howto.html#howto_6">howto</A></TD><TD > pour</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >KSPACE</TD><TD > long-range Coulombic solvers</TD><TD > -</TD><TD > <A HREF = "kspace_style.html">kspace_style</A></TD><TD > peptide</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >MANYBODY</TD><TD > many-body potentials</TD><TD > -</TD><TD > <A HREF = "pair_tersoff.html">pair_style tersoff</A></TD><TD > shear</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >MEAM</TD><TD > modified EAM potential</TD><TD > Greg Wagner (Sandia)</TD><TD > <A HREF = "pair_meam.html">pair_style meam</A></TD><TD > meam</TD><TD > lib/meam</TD></TR>
|
||||
<TR ALIGN="center"><TD >MC</TD><TD > Monte Carlo options</TD><TD > -</TD><TD > <A HREF = "fix_gcmc.html">fix gcmc</A></TD><TD > -</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >MOLECULE</TD><TD > molecular system force fields</TD><TD > -</TD><TD > <A HREF = "Section_howto.html#howto_3">howto</A></TD><TD > peptide</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >OPT</TD><TD > optimized pair potentials</TD><TD > Fischer & Richie & Natoli (1)</TD><TD > <A HREF = "Section_accelerate.html#acc_1">howto</A></TD><TD > -</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >PERI</TD><TD > Peridynamics models</TD><TD > Mike Parks (Sandia)</TD><TD > <A HREF = "pair_peri.html">pair_style peri</A></TD><TD > peri</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >POEMS</TD><TD > coupled rigid body motion</TD><TD > Rudra Mukherjee (JPL)</TD><TD > <A HREF = "fix_poems.html">fix poems</A></TD><TD > rigid</TD><TD > lib/poems</TD></TR>
|
||||
<TR ALIGN="center"><TD >REAX</TD><TD > ReaxFF potential</TD><TD > Aidan Thompson (Sandia)</TD><TD > <A HREF = "pair_reax.html">pair_style reax</A></TD><TD > reax</TD><TD > lib/reax</TD></TR>
|
||||
<TR ALIGN="center"><TD >REPLICA</TD><TD > multi-replica methods</TD><TD > -</TD><TD > <A HREF = "Section_howto.html#howto_5">howto</A></TD><TD > tad</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >SHOCK</TD><TD > shock loading methods</TD><TD > -</TD><TD > <A HREF = "fix_msst.html">fix msst</A></TD><TD > -</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >SRD</TD><TD > stochastic rotation dynamics</TD><TD > -</TD><TD > <A HREF = "fix_srd.html">fix srd</A></TD><TD > srd</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >XTC</TD><TD > dumps in XTC format</TD><TD > -</TD><TD > <A HREF = "dump.html">dump</A></TD><TD > -</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>The "Authors" column lists a name(s) if a specific person is
|
||||
responible for creating and maintaining the package.
|
||||
</P>
|
||||
<P>(1) The OPT package was created by James Fischer (High Performance
|
||||
Technologies), David Richie, and Vincent Natoli (Stone Ridge
|
||||
Technolgy).
|
||||
</P>
|
||||
<P>The "Doc page" column links to either a portion of the
|
||||
<A HREF = "Section_howto.html">Section_howto</A> of the manual, or an input script
|
||||
command implemented as part of the package.
|
||||
</P>
|
||||
<P>The "Example" column is a sub-directory in the examples directory of
|
||||
the distribution which has an input script that uses the package.
|
||||
E.g. "peptide" refers to the examples/peptide directory.
|
||||
</P>
|
||||
<P>The "Library" column lists an external library which must be built first and which LAMMPS links to when it is built. These are in the lib directory of the distribution. <A HREF = "Section_start.html#start_3_3">This section</A> of the manual gives details on the 2-step build process with external libraries.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "pkg_2"></A>4.2 User packages
|
||||
</H4>
|
||||
<P>The current list of user-contributed packages is as follows:
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR ALIGN="center"><TD >Package</TD><TD > Description</TD><TD > Author(s)</TD><TD > Doc page</TD><TD > Example</TD><TD > Pic/movie</TD><TD > Library</TD></TR>
|
||||
<TR ALIGN="center"><TD >USER-MISC</TD><TD > single-file contributions</TD><TD > USER-MISC/README</TD><TD > -</TD><TD > -</TD><TD > -</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >USER-ATC</TD><TD > atom-to-continuum coupling</TD><TD > Jones & Templeton & Zimmerman (2)</TD><TD > <A HREF = "fix_atc.html">fix atc</A></TD><TD > USER/atc</TD><TD > <A HREF = "http://lammps.sandia.gov/pictures.html#atc">atc</A></TD><TD > lib/atc</TD></TR>
|
||||
<TR ALIGN="center"><TD >USER-AWPMD</TD><TD > wave-packet MD</TD><TD > Ilya Valuev (JIHT)</TD><TD > <A HREF = "pair_awpmd.html">pair_style awpmd/cut</A></TD><TD > USER/awpmd</TD><TD > -</TD><TD > lib/awpmd</TD></TR>
|
||||
<TR ALIGN="center"><TD >USER-CG-CMM</TD><TD > coarse-graining model</TD><TD > Axel Kohlmeyer (Temple U)</TD><TD > <A HREF = "pair_cmm.html">pair_style cg/cmm</A></TD><TD > USER/cg-cmm</TD><TD > <A HREF = "http://lammps.sandia.gov/pictures.html#cg">cg</A></TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >USER-CUDA</TD><TD > NVIDIA GPU styles</TD><TD > Christian Trott (U Tech Ilmenau)</TD><TD > <A HREF = "Section_accelerate.html#acc_4">accelerate</A></TD><TD > USER/cuda</TD><TD > -</TD><TD > lib/cuda</TD></TR>
|
||||
<TR ALIGN="center"><TD >USER-EFF</TD><TD > electron force field</TD><TD > Andres Jaramillo-Botero (Caltech)</TD><TD > <A HREF = "pair_eff.html">pair_style eff/cut</A></TD><TD > USER/eff</TD><TD > <A HREF = "http://lammps.sandia.gov/movies.html#eff">eff</A></TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >USER-EWALDN</TD><TD > Ewald for 1/R^n</TD><TD > Pieter in' t Veld (BASF)</TD><TD > <A HREF = "kspace_style.html">kspace_style</A></TD><TD > -</TD><TD > -</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >USER-OMP</TD><TD > OpenMP threaded styles</TD><TD > Axel Kohlmeyer (Temple U)</TD><TD > <A HREF = "Section_accelerate.html#acc_2">accelerate</A></TD><TD > -</TD><TD > -</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >USER-REAXC</TD><TD > C version of ReaxFF</TD><TD > Metin Aktulga (LBNL)</TD><TD > <A HREF = "pair_reax_c.html">pair_style reaxc</A></TD><TD > reax</TD><TD > -</TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >USER-SPH</TD><TD > smoothed particle hydrodynamics</TD><TD > Georg Ganzenmuller (EMI)</TD><TD > <A HREF = "USER/sph/SPH_LAMMPS_userguide.pdf">SPH_LAMMPS_userguide.pdf</A></TD><TD > USER/sph</TD><TD > <A HREF = "http://lammps.sandia.gov/movies.html#sph">sph</A></TD><TD > -</TD></TR>
|
||||
<TR ALIGN="center"><TD >
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<P>The "Authors" column lists a name(s) if a specific person is
|
||||
responible for creating and maintaining the package.
|
||||
</P>
|
||||
<P>(2) The ATC package was created by Reese Jones, Jeremy Templeton, and Jon Zimmerman (Sandia).
|
||||
</P>
|
||||
<P>The "Doc page" column links to either a portion of the
|
||||
<A HREF = "Section_howto.html">Section_howto</A> of the manual, or an input script
|
||||
command implemented as part of the package, or to additional
|
||||
documentation provided witht he package.
|
||||
</P>
|
||||
<P>The "Example" column is a sub-directory in the examples directory of
|
||||
the distribution which has an input script that uses the package.
|
||||
E.g. "peptide" refers to the examples/peptide directory. USER/cuda
|
||||
refers to the examples/USER/cuda directory.
|
||||
</P>
|
||||
<P>The "Library" column lists an external library which must be built
|
||||
first and which LAMMPS links to when it is built. These are in the
|
||||
lib directory of the distribution. <A HREF = "Section_start.html#start_3_3">This
|
||||
section</A> of the manual gives details on
|
||||
the 2-step build process with external libraries.
|
||||
</P>
|
||||
<P>More details on each package, from the USER-blah/README file
|
||||
is given below.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4>USER-MISC package
|
||||
</H4>
|
||||
<P>The files in this package are a potpourri of (mostly) unrelated
|
||||
features contributed to LAMMPS by users. Each feature is a single
|
||||
pair of files (*.cpp and *.h).
|
||||
</P>
|
||||
<P>More information about each feature can be found by reading its doc
|
||||
page in the LAMMPS doc directory. The doc page which lists all LAMMPS
|
||||
input script commands is as follows:
|
||||
</P>
|
||||
<P><A HREF = "Section_commands.html#cmd_5">Section_commands</A>
|
||||
</P>
|
||||
<P>User-contributed features are listed at the bottom of the fix,
|
||||
compute, pair, etc sections.
|
||||
</P>
|
||||
<P>The list of features and author of each is given in the
|
||||
src/USER-MISC/README file.
|
||||
</P>
|
||||
<P>You should contact the author directly if you have specific questions
|
||||
about the feature or its coding.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4>USER-ATC package
|
||||
</H4>
|
||||
<P>This package implements a "fix atc" command which can be used in a
|
||||
LAMMPS input script. This fix can be employed to either do concurrent
|
||||
coupling of MD with FE-based physics surrogates or on-the-fly
|
||||
post-processing of atomic information to continuum fields.
|
||||
</P>
|
||||
<P>See the doc page for the fix atc command to get started. At the
|
||||
bottom of the doc page are many links to additional documentation
|
||||
contained in the doc/USER/atc directory.
|
||||
</P>
|
||||
<P>There are example scripts for using this package in examples/USER/atc.
|
||||
</P>
|
||||
<P>This package uses an external library in lib/atc which must be
|
||||
compiled before making LAMMPS. See the lib/atc/README file and the
|
||||
LAMMPS manual for information on building LAMMPS with external
|
||||
libraries.
|
||||
</P>
|
||||
<P>The primary people who created this package are Reese Jones (rjones at
|
||||
sandia.gov), Jeremy Templeton (jatempl at sandia.gov) and Jon
|
||||
Zimmerman (jzimmer at sandia.gov) at Sandia. Contact them directly if
|
||||
you have questions.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4>USER-AWPMD package
|
||||
</H4>
|
||||
<P>This package contains a LAMMPS implementation of the Antisymmetrized
|
||||
Wave Packet Molecular Dynamics (AWPMD) method.
|
||||
</P>
|
||||
<P>See the doc page for the pair_style awpmd/cut command to get started.
|
||||
</P>
|
||||
<P>There are example scripts for using this package in examples/USER/awpmd.
|
||||
</P>
|
||||
<P>This package uses an external library in lib/awpmd which must be
|
||||
compiled before making LAMMPS. See the lib/awpmd/README file and the
|
||||
LAMMPS manual for information on building LAMMPS with external
|
||||
libraries.
|
||||
</P>
|
||||
<P>The person who created this package is Ilya Valuev at the JIHT in
|
||||
Russia (valuev at physik.hu-berlin.de). Contact him directly if you
|
||||
have questions.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4>USER-CG-CMM package
|
||||
</H4>
|
||||
<P>This package implements 4 commands which can be used in a LAMMPS input
|
||||
script:
|
||||
</P>
|
||||
<UL><LI>pair_style cg/cmm
|
||||
<LI>pair_style cg/cmm/coul/cut
|
||||
<LI>pair_style cg/cmm/coul/long
|
||||
<LI>angle_style cg/cmm
|
||||
</UL>
|
||||
<P>These styles allow coarse grained MD simulations with the
|
||||
parametrization of Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007)
|
||||
(cg/cmm), with extensions to simulate ionic liquids, electrolytes,
|
||||
lipids and charged amino acids (to be published soon).
|
||||
</P>
|
||||
<P>See the doc pages for these commands for details.
|
||||
</P>
|
||||
<P>There are example scripts for using this package in
|
||||
examples/USER/cg-cmm.
|
||||
</P>
|
||||
<P>The current version of this package should be considered beta
|
||||
quality. The CG potentials work correctly and well, but there will be
|
||||
optimizations, cleanups and additional tools to aid in setting up and
|
||||
analyzing simulations with this package added in the next months.
|
||||
</P>
|
||||
<P>The person who created this package is Axel Kohlmeyer at Temple U
|
||||
(akohlmey at gmail.com). Contact him directly if you have questions.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4>USER-CUDA package
|
||||
</H4>
|
||||
<P>This package provides acceleration of various LAMMPS pair styles, fix
|
||||
styles, compute styles, and long-range Coulombics via PPPM for NVIDIA
|
||||
GPUs.
|
||||
</P>
|
||||
<P>See this section of the manual to get started:
|
||||
</P>
|
||||
<P><A HREF = "Section_accelerate.html#acc_4">Section_accelerate</A>
|
||||
</P>
|
||||
<P>There are example scripts for using this package in
|
||||
examples/USER/cuda.
|
||||
</P>
|
||||
<P>This package uses an external library in lib/cuda which must be
|
||||
compiled before making LAMMPS. See the lib/cuda/README file and the
|
||||
LAMMPS manual for information on building LAMMPS with external
|
||||
libraries.
|
||||
</P>
|
||||
<P>The person who created this package is Christian Trott at the
|
||||
University of Technology Ilmenau, Germany (christian.trott at
|
||||
tu-ilmenau.de). Contact him directly if you have questions.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4>USER-EFF package
|
||||
</H4>
|
||||
<P>This package contains a LAMMPS implementation of the electron Force
|
||||
Field (eFF) currently under development at Caltech, as described in
|
||||
A. Jaramillo-Botero, J. Su, Q. An, and W.A. Goddard III, JCC,
|
||||
2010. The eFF potential was first introduced by Su and Goddard, in
|
||||
2007.
|
||||
</P>
|
||||
<P>eFF can be viewed as an approximation to QM wave packet dynamics and
|
||||
Fermionic molecular dynamics, combining the ability of electronic
|
||||
structure methods to describe atomic structure, bonding, and chemistry
|
||||
in materials, and of plasma methods to describe nonequilibrium
|
||||
dynamics of large systems with a large number of highly excited
|
||||
electrons. We classify it as a mixed QM-classical approach rather than
|
||||
a conventional force field method, which introduces QM-based terms (a
|
||||
spin-dependent repulsion term to account for the Pauli exclusion
|
||||
principle and the electron wavefunction kinetic energy associated with
|
||||
the Heisenberg principle) that reduce, along with classical
|
||||
electrostatic terms between nuclei and electrons, to the sum of a set
|
||||
of effective pairwise potentials. This makes eFF uniquely suited to
|
||||
simulate materials over a wide range of temperatures and pressures
|
||||
where electronically excited and ionized states of matter can occur
|
||||
and coexist.
|
||||
</P>
|
||||
<P>The necessary customizations to the LAMMPS core are in place to
|
||||
enable the correct handling of explicit electron properties during
|
||||
minimization and dynamics.
|
||||
</P>
|
||||
<P>See the doc page for the pair_style eff/cut command to get started.
|
||||
</P>
|
||||
<P>There are example scripts for using this package in
|
||||
examples/USER/eff.
|
||||
</P>
|
||||
<P>There are auxiliary tools for using this package in tools/eff.
|
||||
</P>
|
||||
<P>The person who created this package is Andres Jaramillo-Botero at
|
||||
CalTech (ajaramil at wag.caltech.edu). Contact him directly if you
|
||||
have questions.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4>USER-EWALDN package
|
||||
</H4>
|
||||
<P>This package implements 3 commands which can be used in a LAMMPS input
|
||||
script: pair_style lj/coul, pair_style buck/coul, and kspace_style
|
||||
ewald/n.
|
||||
</P>
|
||||
<P>The "kspace_style ewald/n" command is similar to standard Ewald for
|
||||
charges, but also enables the Lennard-Jones interaction, or any 1/r^N
|
||||
interaction to be of infinite extent, instead of being cutoff. LAMMPS
|
||||
pair potentials for long-range Coulombic interactions, such as
|
||||
lj/cut/coul/long can be used with ewald/n. The two new pair_style
|
||||
commands provide the modifications for the short-range LJ and
|
||||
Buckingham interactions that can also be used with ewald/n.
|
||||
</P>
|
||||
<P>Another advantage of kspace_style ewald/n is that it can be used with
|
||||
non-orthogonal (triclinic symmetry) simulation boxes, either for just
|
||||
long-range Coulombic interactions, or for both Coulombic and 1/r^N LJ
|
||||
or Buckingham, which is not currently possible for other kspace styles
|
||||
such as PPPM and ewald.
|
||||
</P>
|
||||
<P>See the doc pages for these commands for details.
|
||||
</P>
|
||||
<P>The person who created these files is Pieter in' t Veld while at
|
||||
Sandia. He is now at BASF (pieter.intveld at basf.com). Contact him
|
||||
directly if you have questions.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4>USER-OMP package
|
||||
</H4>
|
||||
<P>This package provides OpenMP multi-threading support and
|
||||
other optimizations of various LAMMPS pair styles, dihedral
|
||||
styles, and fix styles.
|
||||
</P>
|
||||
<P>See this section of the manual to get started:
|
||||
</P>
|
||||
<P><A HREF = "Section_accelerate.html#acc_2">Section_accelerate</A>
|
||||
</P>
|
||||
<P>The person who created this package is Axel Kohlmeyer at Temple U
|
||||
(akohlmey at gmail.com). Contact him directly if you have questions.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4>USER-REAXC package
|
||||
</H4>
|
||||
<P>This package contains a implementation for LAMMPS of the ReaxFF force
|
||||
field. ReaxFF uses distance-dependent bond-order functions to
|
||||
represent the contributions of chemical bonding to the potential
|
||||
energy. It was originally developed by Adri van Duin and the Goddard
|
||||
group at CalTech.
|
||||
</P>
|
||||
<P>The USER-REAXC version of ReaxFF (pair_style reax/c), implemented in
|
||||
C, should give identical or very similar results to pair_style reax,
|
||||
which is a ReaxFF implementation on top of a Fortran library, a
|
||||
version of which library was originally authored by Adri van Duin.
|
||||
</P>
|
||||
<P>The reax/c version should be somewhat faster and more scalable,
|
||||
particularly with respect to the charge equilibration calculation. It
|
||||
should also be easier to build and use since there are no complicating
|
||||
issues with Fortran memory allocation or linking to a Fortran library.
|
||||
</P>
|
||||
<P>For technical details about this implemention of ReaxFF, see
|
||||
this paper:
|
||||
</P>
|
||||
<P>Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods
|
||||
and Algorithmic Techniques, H. M. Aktulga, J. C. Fogarty,
|
||||
S. A. Pandit, A. Y. Grama, Parallel Computing, in press (2011).
|
||||
</P>
|
||||
<P>See the doc page for the pair_style reax/c command for details
|
||||
of how to use it in LAMMPS.
|
||||
</P>
|
||||
<P>The person who created this package is Hasan Metin Aktulga (hmaktulga
|
||||
at lbl.gov), while at Purdue University. Contact him directly, or
|
||||
Aidan Thompson at Sandia (athomps at sandia.gov), if you have
|
||||
questions.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4>USER-SPH package
|
||||
</H4>
|
||||
<P>This package implements smoothed particle hydrodynamics (SPH) in
|
||||
LAMMPS. Currently, the package has the following features:
|
||||
</P>
|
||||
<P>* Tait, ideal gas, Lennard-Jones equation of states, full support for
|
||||
complete (i.e. internal-energy dependent) equations of state
|
||||
* plain or Monaghans XSPH integration of the equations of motion
|
||||
* density continuity or density summation to propagate the density field
|
||||
* commands to set internal energy and density of particles from the
|
||||
input script
|
||||
* output commands to access internal energy and density for dumping and
|
||||
thermo output
|
||||
</P>
|
||||
<P>See the file doc/USER/sph/SPH_LAMMPS_userguide.pdf to get started.
|
||||
</P>
|
||||
<P>There are example scripts for using this package in examples/USER/sph.
|
||||
</P>
|
||||
<P>The person who created this package is Georg Ganzenmuller at the
|
||||
Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in
|
||||
Germany (georg.ganzenmueller at emi.fhg.de). Contact him directly if
|
||||
you have questions.
|
||||
</P>
|
||||
</HTML>
|
||||
390
doc/Section_packages.txt
Normal file
@ -0,0 +1,390 @@
|
||||
"Previous Section"_Section_commands.html - "LAMMPS WWW Site"_lws -
|
||||
"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
|
||||
Section"_Section_accelerate.html :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
4. Packages :h3
|
||||
|
||||
LAMMPS includes many optional 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 all packages by typing "make package" from within the src
|
||||
directory of the LAMMPS distribution.
|
||||
|
||||
See "this section"_Section_start.html#start_3 of the manual for
|
||||
details on how to include/exclude specific packages as part of the
|
||||
LAMMPS build process, and for more details about the differences
|
||||
between standard packages and user packages in LAMMPS.
|
||||
|
||||
Below, the packages currently availabe in LAMMPS are listed. For
|
||||
standard packages, just a one-line description is given. For user
|
||||
packages, more details are provided.
|
||||
|
||||
4.1 "Standard packages"_#pkg_1
|
||||
4.2 "User packages"_#pkg_2 :all(b)
|
||||
|
||||
:line
|
||||
:line
|
||||
|
||||
4.1 Standard packages :h4,link(pkg_1)
|
||||
|
||||
The current list of standard packages is as follows:
|
||||
|
||||
Package, Description, Author(s), Doc page, Example, Library
|
||||
ASPHERE, aspherical particles, -, "howto"_Section_howto.html#howto_14, ellipse, -
|
||||
CLASS2, class 2 force fields, -, "pair_style lj/class2"_pair_class2.html, -, -
|
||||
COLLOID, colloidal particles, -, "atom_style colloid"_atom_style.html, colloid, -
|
||||
DIPOLE, point dipole particles, -, "pair_style dipole/cut"_pair_dipole.html, dipole, -
|
||||
GPU, GPU-enabled potentials, Mike Brown (ORNL), "accelerate"_Section_accelerate.html#acc_3, gpu, lib/gpu
|
||||
GRANULAR, granular systems, -, "howto"_Section_howto.html#howto_6, pour, -
|
||||
KSPACE, long-range Coulombic solvers, -, "kspace_style"_kspace_style.html, peptide, -
|
||||
MANYBODY, many-body potentials, -, "pair_style tersoff"_pair_tersoff.html, shear, -
|
||||
MEAM, modified EAM potential, Greg Wagner (Sandia), "pair_style meam"_pair_meam.html, meam, lib/meam
|
||||
MC, Monte Carlo options, -, "fix gcmc"_fix_gcmc.html, -, -
|
||||
MOLECULE, molecular system force fields, -, "howto"_Section_howto.html#howto_3, peptide, -
|
||||
OPT, optimized pair potentials, Fischer & Richie & Natoli (1), "howto"_Section_accelerate.html#acc_1, -, -
|
||||
PERI, Peridynamics models, Mike Parks (Sandia), "pair_style peri"_pair_peri.html, peri, -
|
||||
POEMS, coupled rigid body motion, Rudra Mukherjee (JPL), "fix poems"_fix_poems.html, rigid, lib/poems
|
||||
REAX, ReaxFF potential, Aidan Thompson (Sandia), "pair_style reax"_pair_reax.html, reax, lib/reax
|
||||
REPLICA, multi-replica methods, -, "howto"_Section_howto.html#howto_5, tad, -
|
||||
SHOCK, shock loading methods, -, "fix msst"_fix_msst.html, -, -
|
||||
SRD, stochastic rotation dynamics, -, "fix srd"_fix_srd.html, srd, -
|
||||
XTC, dumps in XTC format, -, "dump"_dump.html, -, -
|
||||
:tb(ea=c)
|
||||
|
||||
The "Authors" column lists a name(s) if a specific person is
|
||||
responible for creating and maintaining the package.
|
||||
|
||||
(1) The OPT package was created by James Fischer (High Performance
|
||||
Technologies), David Richie, and Vincent Natoli (Stone Ridge
|
||||
Technolgy).
|
||||
|
||||
The "Doc page" column links to either a portion of the
|
||||
"Section_howto"_Section_howto.html of the manual, or an input script
|
||||
command implemented as part of the package.
|
||||
|
||||
The "Example" column is a sub-directory in the examples directory of
|
||||
the distribution which has an input script that uses the package.
|
||||
E.g. "peptide" refers to the examples/peptide directory.
|
||||
|
||||
The "Library" column lists an external library which must be built first and which LAMMPS links to when it is built. These are in the lib directory of the distribution. "This section"_Section_start.html#start_3_3 of the manual gives details on the 2-step build process with external libraries.
|
||||
|
||||
:line
|
||||
:line
|
||||
|
||||
4.2 User packages :h4,link(pkg_2)
|
||||
|
||||
The current list of user-contributed packages is as follows:
|
||||
|
||||
Package, Description, Author(s), Doc page, Example, Pic/movie, Library
|
||||
USER-MISC, single-file contributions, USER-MISC/README, -, -, -, -
|
||||
USER-ATC, atom-to-continuum coupling, Jones & Templeton & Zimmerman (2), "fix atc"_fix_atc.html, USER/atc, "atc"_atc, lib/atc
|
||||
USER-AWPMD, wave-packet MD, Ilya Valuev (JIHT), "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, -, lib/awpmd
|
||||
USER-CG-CMM, coarse-graining model, Axel Kohlmeyer (Temple U), "pair_style cg/cmm"_pair_cmm.html, USER/cg-cmm, "cg"_cg, -
|
||||
USER-CUDA, NVIDIA GPU styles, Christian Trott (U Tech Ilmenau), "accelerate"_Section_accelerate.html#acc_4, USER/cuda, -, lib/cuda
|
||||
USER-EFF, electron force field, Andres Jaramillo-Botero (Caltech), "pair_style eff/cut"_pair_eff.html, USER/eff, "eff"_eff, -
|
||||
USER-EWALDN, Ewald for 1/R^n, Pieter in' t Veld (BASF), "kspace_style"_kspace_style.html, -, -, -
|
||||
USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "accelerate"_Section_accelerate.html#acc_2, -, -, -
|
||||
USER-REAXC, C version of ReaxFF, Metin Aktulga (LBNL), "pair_style reaxc"_pair_reax_c.html, reax, -, -
|
||||
USER-SPH, smoothed particle hydrodynamics, Georg Ganzenmuller (EMI), "SPH_LAMMPS_userguide.pdf"_USER/sph/SPH_LAMMPS_userguide.pdf, USER/sph, "sph"_sph, -
|
||||
:tb(ea=c)
|
||||
|
||||
:link(atc,http://lammps.sandia.gov/pictures.html#atc)
|
||||
:link(cg,http://lammps.sandia.gov/pictures.html#cg)
|
||||
:link(eff,http://lammps.sandia.gov/movies.html#eff)
|
||||
:link(sph,http://lammps.sandia.gov/movies.html#sph)
|
||||
|
||||
The "Authors" column lists a name(s) if a specific person is
|
||||
responible for creating and maintaining the package.
|
||||
|
||||
(2) The ATC package was created by Reese Jones, Jeremy Templeton, and Jon Zimmerman (Sandia).
|
||||
|
||||
The "Doc page" column links to either a portion of the
|
||||
"Section_howto"_Section_howto.html of the manual, or an input script
|
||||
command implemented as part of the package, or to additional
|
||||
documentation provided witht he package.
|
||||
|
||||
The "Example" column is a sub-directory in the examples directory of
|
||||
the distribution which has an input script that uses the package.
|
||||
E.g. "peptide" refers to the examples/peptide directory. USER/cuda
|
||||
refers to the examples/USER/cuda directory.
|
||||
|
||||
The "Library" column lists an external library which must be built
|
||||
first and which LAMMPS links to when it is built. These are in the
|
||||
lib directory of the distribution. "This
|
||||
section"_Section_start.html#start_3_3 of the manual gives details on
|
||||
the 2-step build process with external libraries.
|
||||
|
||||
More details on each package, from the USER-blah/README file
|
||||
is given below.
|
||||
|
||||
:line
|
||||
|
||||
USER-MISC package :h4
|
||||
|
||||
The files in this package are a potpourri of (mostly) unrelated
|
||||
features contributed to LAMMPS by users. Each feature is a single
|
||||
pair of files (*.cpp and *.h).
|
||||
|
||||
More information about each feature can be found by reading its doc
|
||||
page in the LAMMPS doc directory. The doc page which lists all LAMMPS
|
||||
input script commands is as follows:
|
||||
|
||||
"Section_commands"_Section_commands.html#cmd_5
|
||||
|
||||
User-contributed features are listed at the bottom of the fix,
|
||||
compute, pair, etc sections.
|
||||
|
||||
The list of features and author of each is given in the
|
||||
src/USER-MISC/README file.
|
||||
|
||||
You should contact the author directly if you have specific questions
|
||||
about the feature or its coding.
|
||||
|
||||
:line
|
||||
|
||||
USER-ATC package :h4
|
||||
|
||||
This package implements a "fix atc" command which can be used in a
|
||||
LAMMPS input script. This fix can be employed to either do concurrent
|
||||
coupling of MD with FE-based physics surrogates or on-the-fly
|
||||
post-processing of atomic information to continuum fields.
|
||||
|
||||
See the doc page for the fix atc command to get started. At the
|
||||
bottom of the doc page are many links to additional documentation
|
||||
contained in the doc/USER/atc directory.
|
||||
|
||||
There are example scripts for using this package in examples/USER/atc.
|
||||
|
||||
This package uses an external library in lib/atc which must be
|
||||
compiled before making LAMMPS. See the lib/atc/README file and the
|
||||
LAMMPS manual for information on building LAMMPS with external
|
||||
libraries.
|
||||
|
||||
The primary people who created this package are Reese Jones (rjones at
|
||||
sandia.gov), Jeremy Templeton (jatempl at sandia.gov) and Jon
|
||||
Zimmerman (jzimmer at sandia.gov) at Sandia. Contact them directly if
|
||||
you have questions.
|
||||
|
||||
:line
|
||||
|
||||
USER-AWPMD package :h4
|
||||
|
||||
This package contains a LAMMPS implementation of the Antisymmetrized
|
||||
Wave Packet Molecular Dynamics (AWPMD) method.
|
||||
|
||||
See the doc page for the pair_style awpmd/cut command to get started.
|
||||
|
||||
There are example scripts for using this package in examples/USER/awpmd.
|
||||
|
||||
This package uses an external library in lib/awpmd which must be
|
||||
compiled before making LAMMPS. See the lib/awpmd/README file and the
|
||||
LAMMPS manual for information on building LAMMPS with external
|
||||
libraries.
|
||||
|
||||
The person who created this package is Ilya Valuev at the JIHT in
|
||||
Russia (valuev at physik.hu-berlin.de). Contact him directly if you
|
||||
have questions.
|
||||
|
||||
:line
|
||||
|
||||
USER-CG-CMM package :h4
|
||||
|
||||
This package implements 4 commands which can be used in a LAMMPS input
|
||||
script:
|
||||
|
||||
pair_style cg/cmm
|
||||
pair_style cg/cmm/coul/cut
|
||||
pair_style cg/cmm/coul/long
|
||||
angle_style cg/cmm :ul
|
||||
|
||||
These styles allow coarse grained MD simulations with the
|
||||
parametrization of Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007)
|
||||
(cg/cmm), with extensions to simulate ionic liquids, electrolytes,
|
||||
lipids and charged amino acids (to be published soon).
|
||||
|
||||
See the doc pages for these commands for details.
|
||||
|
||||
There are example scripts for using this package in
|
||||
examples/USER/cg-cmm.
|
||||
|
||||
The current version of this package should be considered beta
|
||||
quality. The CG potentials work correctly and well, but there will be
|
||||
optimizations, cleanups and additional tools to aid in setting up and
|
||||
analyzing simulations with this package added in the next months.
|
||||
|
||||
The person who created this package is Axel Kohlmeyer at Temple U
|
||||
(akohlmey at gmail.com). Contact him directly if you have questions.
|
||||
|
||||
:line
|
||||
|
||||
USER-CUDA package :h4
|
||||
|
||||
This package provides acceleration of various LAMMPS pair styles, fix
|
||||
styles, compute styles, and long-range Coulombics via PPPM for NVIDIA
|
||||
GPUs.
|
||||
|
||||
See this section of the manual to get started:
|
||||
|
||||
"Section_accelerate"_Section_accelerate.html#acc_4
|
||||
|
||||
There are example scripts for using this package in
|
||||
examples/USER/cuda.
|
||||
|
||||
This package uses an external library in lib/cuda which must be
|
||||
compiled before making LAMMPS. See the lib/cuda/README file and the
|
||||
LAMMPS manual for information on building LAMMPS with external
|
||||
libraries.
|
||||
|
||||
The person who created this package is Christian Trott at the
|
||||
University of Technology Ilmenau, Germany (christian.trott at
|
||||
tu-ilmenau.de). Contact him directly if you have questions.
|
||||
|
||||
:line
|
||||
|
||||
USER-EFF package :h4
|
||||
|
||||
This package contains a LAMMPS implementation of the electron Force
|
||||
Field (eFF) currently under development at Caltech, as described in
|
||||
A. Jaramillo-Botero, J. Su, Q. An, and W.A. Goddard III, JCC,
|
||||
2010. The eFF potential was first introduced by Su and Goddard, in
|
||||
2007.
|
||||
|
||||
eFF can be viewed as an approximation to QM wave packet dynamics and
|
||||
Fermionic molecular dynamics, combining the ability of electronic
|
||||
structure methods to describe atomic structure, bonding, and chemistry
|
||||
in materials, and of plasma methods to describe nonequilibrium
|
||||
dynamics of large systems with a large number of highly excited
|
||||
electrons. We classify it as a mixed QM-classical approach rather than
|
||||
a conventional force field method, which introduces QM-based terms (a
|
||||
spin-dependent repulsion term to account for the Pauli exclusion
|
||||
principle and the electron wavefunction kinetic energy associated with
|
||||
the Heisenberg principle) that reduce, along with classical
|
||||
electrostatic terms between nuclei and electrons, to the sum of a set
|
||||
of effective pairwise potentials. This makes eFF uniquely suited to
|
||||
simulate materials over a wide range of temperatures and pressures
|
||||
where electronically excited and ionized states of matter can occur
|
||||
and coexist.
|
||||
|
||||
The necessary customizations to the LAMMPS core are in place to
|
||||
enable the correct handling of explicit electron properties during
|
||||
minimization and dynamics.
|
||||
|
||||
See the doc page for the pair_style eff/cut command to get started.
|
||||
|
||||
There are example scripts for using this package in
|
||||
examples/USER/eff.
|
||||
|
||||
There are auxiliary tools for using this package in tools/eff.
|
||||
|
||||
The person who created this package is Andres Jaramillo-Botero at
|
||||
CalTech (ajaramil at wag.caltech.edu). Contact him directly if you
|
||||
have questions.
|
||||
|
||||
:line
|
||||
|
||||
USER-EWALDN package :h4
|
||||
|
||||
This package implements 3 commands which can be used in a LAMMPS input
|
||||
script: pair_style lj/coul, pair_style buck/coul, and kspace_style
|
||||
ewald/n.
|
||||
|
||||
The "kspace_style ewald/n" command is similar to standard Ewald for
|
||||
charges, but also enables the Lennard-Jones interaction, or any 1/r^N
|
||||
interaction to be of infinite extent, instead of being cutoff. LAMMPS
|
||||
pair potentials for long-range Coulombic interactions, such as
|
||||
lj/cut/coul/long can be used with ewald/n. The two new pair_style
|
||||
commands provide the modifications for the short-range LJ and
|
||||
Buckingham interactions that can also be used with ewald/n.
|
||||
|
||||
Another advantage of kspace_style ewald/n is that it can be used with
|
||||
non-orthogonal (triclinic symmetry) simulation boxes, either for just
|
||||
long-range Coulombic interactions, or for both Coulombic and 1/r^N LJ
|
||||
or Buckingham, which is not currently possible for other kspace styles
|
||||
such as PPPM and ewald.
|
||||
|
||||
See the doc pages for these commands for details.
|
||||
|
||||
The person who created these files is Pieter in' t Veld while at
|
||||
Sandia. He is now at BASF (pieter.intveld at basf.com). Contact him
|
||||
directly if you have questions.
|
||||
|
||||
:line
|
||||
|
||||
USER-OMP package :h4
|
||||
|
||||
This package provides OpenMP multi-threading support and
|
||||
other optimizations of various LAMMPS pair styles, dihedral
|
||||
styles, and fix styles.
|
||||
|
||||
See this section of the manual to get started:
|
||||
|
||||
"Section_accelerate"_Section_accelerate.html#acc_2
|
||||
|
||||
The person who created this package is Axel Kohlmeyer at Temple U
|
||||
(akohlmey at gmail.com). Contact him directly if you have questions.
|
||||
|
||||
:line
|
||||
|
||||
USER-REAXC package :h4
|
||||
|
||||
This package contains a implementation for LAMMPS of the ReaxFF force
|
||||
field. ReaxFF uses distance-dependent bond-order functions to
|
||||
represent the contributions of chemical bonding to the potential
|
||||
energy. It was originally developed by Adri van Duin and the Goddard
|
||||
group at CalTech.
|
||||
|
||||
The USER-REAXC version of ReaxFF (pair_style reax/c), implemented in
|
||||
C, should give identical or very similar results to pair_style reax,
|
||||
which is a ReaxFF implementation on top of a Fortran library, a
|
||||
version of which library was originally authored by Adri van Duin.
|
||||
|
||||
The reax/c version should be somewhat faster and more scalable,
|
||||
particularly with respect to the charge equilibration calculation. It
|
||||
should also be easier to build and use since there are no complicating
|
||||
issues with Fortran memory allocation or linking to a Fortran library.
|
||||
|
||||
For technical details about this implemention of ReaxFF, see
|
||||
this paper:
|
||||
|
||||
Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods
|
||||
and Algorithmic Techniques, H. M. Aktulga, J. C. Fogarty,
|
||||
S. A. Pandit, A. Y. Grama, Parallel Computing, in press (2011).
|
||||
|
||||
See the doc page for the pair_style reax/c command for details
|
||||
of how to use it in LAMMPS.
|
||||
|
||||
The person who created this package is Hasan Metin Aktulga (hmaktulga
|
||||
at lbl.gov), while at Purdue University. Contact him directly, or
|
||||
Aidan Thompson at Sandia (athomps at sandia.gov), if you have
|
||||
questions.
|
||||
|
||||
:line
|
||||
|
||||
USER-SPH package :h4
|
||||
|
||||
This package implements smoothed particle hydrodynamics (SPH) in
|
||||
LAMMPS. Currently, the package has the following features:
|
||||
|
||||
* Tait, ideal gas, Lennard-Jones equation of states, full support for
|
||||
complete (i.e. internal-energy dependent) equations of state
|
||||
* plain or Monaghans XSPH integration of the equations of motion
|
||||
* density continuity or density summation to propagate the density field
|
||||
* commands to set internal energy and density of particles from the
|
||||
input script
|
||||
* output commands to access internal energy and density for dumping and
|
||||
thermo output
|
||||
|
||||
See the file doc/USER/sph/SPH_LAMMPS_userguide.pdf to get started.
|
||||
|
||||
There are example scripts for using this package in examples/USER/sph.
|
||||
|
||||
The person who created this package is Georg Ganzenmuller at the
|
||||
Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in
|
||||
Germany (georg.ganzenmueller at emi.fhg.de). Contact him directly if
|
||||
you have questions.
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>6. Performance & scalability
|
||||
<H3>8. Performance & scalability
|
||||
</H3>
|
||||
<P>LAMMPS performance on several prototypical benchmarks and machines is
|
||||
discussed on the Benchmarks page of the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> where
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
:line
|
||||
|
||||
6. Performance & scalability :h3
|
||||
8. Performance & scalability :h3
|
||||
|
||||
LAMMPS performance on several prototypical benchmarks and machines is
|
||||
discussed on the Benchmarks page of the "LAMMPS WWW Site"_lws where
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<HTML>
|
||||
<CENTER><A HREF = "Section_modify.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Section_accelerate.html">Next Section</A>
|
||||
<CENTER><A HREF = "Section_modify.html">Previous Section</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> - <A HREF = "Section_errors.html">Next Section</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>9. Python interface to LAMMPS
|
||||
<H3>11. Python interface to LAMMPS
|
||||
</H3>
|
||||
<P>The LAMMPS distribution includes some Python code in its python
|
||||
directory which wraps the library interface to LAMMPS. This makes it
|
||||
@ -20,16 +20,17 @@ either from a Python script or interactively from a Python prompt.
|
||||
<P><A HREF = "http://www.python.org">Python</A> is a powerful scripting and programming
|
||||
language which can be used to wrap software like LAMMPS and other
|
||||
packages. It can be used to glue multiple pieces of software
|
||||
together, e.g. to run a coupled or multiscale model. See <A HREF = "Section_howto.html#4_10">this
|
||||
together, e.g. to run a coupled or multiscale model. See <A HREF = "Section_howto.html#howto_10">this
|
||||
section</A> of the manual and the couple
|
||||
directory of the distribution for more ideas about coupling LAMMPS to
|
||||
other codes. See <A HREF = "Section_start.html#2_4">this section</A> about how to
|
||||
build LAMMPS as a library, and <A HREF = "Section_howto.html#4_19">this section</A>
|
||||
for a description of the library interface provided in src/library.cpp
|
||||
and src/library.h and how to extend it for your needs. As described
|
||||
below, that interface is what is exposed to Python. It is designed to
|
||||
be easy to add functions to. This has the effect of extending the
|
||||
Python inteface as well. See details below.
|
||||
other codes. See <A HREF = "Section_start.html#start_4">this section</A> about how
|
||||
to build LAMMPS as a library, and <A HREF = "Section_howto.html#howto_19">this
|
||||
section</A> for a description of the library
|
||||
interface provided in src/library.cpp and src/library.h and how to
|
||||
extend it for your needs. As described below, that interface is what
|
||||
is exposed to Python. It is designed to be easy to add functions to.
|
||||
This has the effect of extending the Python inteface as well. See
|
||||
details below.
|
||||
</P>
|
||||
<P>By using the Python interface LAMMPS can also be coupled with a GUI or
|
||||
visualization tools that display graphs or animations in real time as
|
||||
@ -88,13 +89,13 @@ setup discussion. The next to last sub-section describes the Python
|
||||
syntax used to invoke LAMMPS. The last sub-section describes example
|
||||
Python scripts included in the python directory.
|
||||
</P>
|
||||
<UL><LI><A HREF = "#9_1">Extending Python with a serial version of LAMMPS</A>
|
||||
<LI><A HREF = "#9_2">Creating a shared MPI library</A>
|
||||
<LI><A HREF = "#9_3">Extending Python with a parallel version of LAMMPS</A>
|
||||
<LI><A HREF = "#9_4">Extending Python with MPI</A>
|
||||
<LI><A HREF = "#9_5">Testing the Python-LAMMPS interface</A>
|
||||
<LI><A HREF = "#9_6">Using LAMMPS from Python</A>
|
||||
<LI><A HREF = "#9_7">Example Python scripts that use LAMMPS</A>
|
||||
<UL><LI>11.1 <A HREF = "#py_1">Extending Python with a serial version of LAMMPS</A>
|
||||
<LI>11.2 <A HREF = "#py_2">Creating a shared MPI library</A>
|
||||
<LI>11.3 <A HREF = "#py_3">Extending Python with a parallel version of LAMMPS</A>
|
||||
<LI>11.4 <A HREF = "#py_4">Extending Python with MPI</A>
|
||||
<LI>11.5 <A HREF = "#py_5">Testing the Python-LAMMPS interface</A>
|
||||
<LI>11.6 <A HREF = "#py_6">Using LAMMPS from Python</A>
|
||||
<LI>11.7 <A HREF = "#py_7">Example Python scripts that use LAMMPS</A>
|
||||
</UL>
|
||||
<P>Before proceeding, there are 2 items to note.
|
||||
</P>
|
||||
@ -116,7 +117,7 @@ code, you are not building shared versions of these libraries.
|
||||
</P>
|
||||
<P>The discussion below describes how to create a shared MPI library. I
|
||||
suggest you start by configuing LAMMPS without packages installed that
|
||||
require any libraries besides MPI. See <A HREF = "Section_start.html#2_3">this
|
||||
require any libraries besides MPI. See <A HREF = "Section_start.html#start_3">this
|
||||
section</A> of the manual for a discussion of
|
||||
LAMMPS pacakges. E.g. do not use the KSPACE, GPU, MEAM, POEMS, or
|
||||
REAX packages.
|
||||
@ -134,7 +135,7 @@ LAMMPS wrapper.
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "9_1"></A><H4>Extending Python with a serial version of LAMMPS
|
||||
<A NAME = "py_1"></A><H4>11.1 Extending Python with a serial version of LAMMPS
|
||||
</H4>
|
||||
<P>From the python directory in the LAMMPS distribution, type
|
||||
</P>
|
||||
@ -164,7 +165,7 @@ this, where you should replace "foo" with your directory of choice.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "9_2"></A><H4>Creating a shared MPI library
|
||||
<A NAME = "py_2"></A><H4>11.2 Creating a shared MPI library
|
||||
</H4>
|
||||
<P>A shared library is one that is dynamically loadable, which is what
|
||||
Python requires. On Linux this is a library file that ends in ".so",
|
||||
@ -195,7 +196,7 @@ stand-alone code.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "9_3"></A><H4>Extending Python with a parallel version of LAMMPS
|
||||
<A NAME = "py_3"></A><H4>11.3 Extending Python with a parallel version of LAMMPS
|
||||
</H4>
|
||||
<P>From the python directory, type
|
||||
</P>
|
||||
@ -233,7 +234,7 @@ will be put in the appropriate directory.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "9_4"></A><H4>Extending Python with MPI
|
||||
<A NAME = "py_4"></A><H4>11.4 Extending Python with MPI
|
||||
</H4>
|
||||
<P>There are several Python packages available that purport to wrap MPI
|
||||
as a library and allow MPI functions to be called from Python.
|
||||
@ -308,7 +309,7 @@ print "Proc %d out of %d procs" % (pypar.rank(),pypar.size())
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "9_5"></A><H4>Testing the Python-LAMMPS interface
|
||||
<A NAME = "py_5"></A><H4>11.5 Testing the Python-LAMMPS interface
|
||||
</H4>
|
||||
<P>Before using LAMMPS in a Python program, one more step is needed. The
|
||||
interface to LAMMPS is via the Python ctypes package, which loads the
|
||||
@ -402,7 +403,7 @@ Python on a single processor, not in parallel.
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "9_6"></A><H4>Using LAMMPS from Python
|
||||
<A NAME = "py_6"></A><H4>11.6 Using LAMMPS from Python
|
||||
</H4>
|
||||
<P>The Python interface to LAMMPS consists of a Python "lammps" module,
|
||||
the source code for which is in python/lammps.py, which creates a
|
||||
@ -498,7 +499,7 @@ subscripting. The one exception is that for a fix that calculates a
|
||||
global vector or array, a single double value from the vector or array
|
||||
is returned, indexed by I (vector) or I and J (array). I,J are
|
||||
zero-based indices. The I,J arguments can be left out if not needed.
|
||||
See <A HREF = "Section_howto.html#4_15">this section</A> of the manual for a
|
||||
See <A HREF = "Section_howto.html#howto_15">this section</A> of the manual for a
|
||||
discussion of global, per-atom, and local data, and of scalar, vector,
|
||||
and array data types. See the doc pages for individual
|
||||
<A HREF = "compute.html">computes</A> and <A HREF = "fix.html">fixes</A> for a description of what
|
||||
@ -578,7 +579,7 @@ following steps:
|
||||
src/library.h.
|
||||
|
||||
<LI>Verify the new function is syntactically correct by building LAMMPS as
|
||||
a library - see <A HREF = "Section_start.html#2_4">this section</A> of the
|
||||
a library - see <A HREF = "Section_start.html#start_4">this section</A> of the
|
||||
manual.
|
||||
|
||||
<LI>Add a wrapper method in the Python LAMMPS module to python/lammps.py
|
||||
@ -594,7 +595,7 @@ Python script. Isn't ctypes amazing?
|
||||
|
||||
<HR>
|
||||
|
||||
<A NAME = "9_7"></A><H4>Example Python scripts that use LAMMPS
|
||||
<A NAME = "py_7"></A><H4>11.7 Example Python scripts that use LAMMPS
|
||||
</H4>
|
||||
<P>These are the Python scripts included as demos in the python/examples
|
||||
directory of the LAMMPS distribution, to illustrate the kinds of
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
"Previous Section"_Section_modify.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_accelerate.html :c
|
||||
"Previous Section"_Section_modify.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)
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
:line
|
||||
|
||||
9. Python interface to LAMMPS :h3
|
||||
11. Python interface to LAMMPS :h3
|
||||
|
||||
The LAMMPS distribution includes some Python code in its python
|
||||
directory which wraps the library interface to LAMMPS. This makes it
|
||||
@ -18,15 +18,16 @@ either from a Python script or interactively from a Python prompt.
|
||||
language which can be used to wrap software like LAMMPS and other
|
||||
packages. It can be used to glue multiple pieces of software
|
||||
together, e.g. to run a coupled or multiscale model. See "this
|
||||
section"_Section_howto.html#4_10 of the manual and the couple
|
||||
section"_Section_howto.html#howto_10 of the manual and the couple
|
||||
directory of the distribution for more ideas about coupling LAMMPS to
|
||||
other codes. See "this section"_Section_start.html#2_4 about how to
|
||||
build LAMMPS as a library, and "this section"_Section_howto.html#4_19
|
||||
for a description of the library interface provided in src/library.cpp
|
||||
and src/library.h and how to extend it for your needs. As described
|
||||
below, that interface is what is exposed to Python. It is designed to
|
||||
be easy to add functions to. This has the effect of extending the
|
||||
Python inteface as well. See details below.
|
||||
other codes. See "this section"_Section_start.html#start_4 about how
|
||||
to build LAMMPS as a library, and "this
|
||||
section"_Section_howto.html#howto_19 for a description of the library
|
||||
interface provided in src/library.cpp and src/library.h and how to
|
||||
extend it for your needs. As described below, that interface is what
|
||||
is exposed to Python. It is designed to be easy to add functions to.
|
||||
This has the effect of extending the Python inteface as well. See
|
||||
details below.
|
||||
|
||||
By using the Python interface LAMMPS can also be coupled with a GUI or
|
||||
visualization tools that display graphs or animations in real time as
|
||||
@ -85,13 +86,13 @@ setup discussion. The next to last sub-section describes the Python
|
||||
syntax used to invoke LAMMPS. The last sub-section describes example
|
||||
Python scripts included in the python directory.
|
||||
|
||||
"Extending Python with a serial version of LAMMPS"_#9_1
|
||||
"Creating a shared MPI library"_#9_2
|
||||
"Extending Python with a parallel version of LAMMPS"_#9_3
|
||||
"Extending Python with MPI"_#9_4
|
||||
"Testing the Python-LAMMPS interface"_#9_5
|
||||
"Using LAMMPS from Python"_#9_6
|
||||
"Example Python scripts that use LAMMPS"_#9_7 :ul
|
||||
11.1 "Extending Python with a serial version of LAMMPS"_#py_1
|
||||
11.2 "Creating a shared MPI library"_#py_2
|
||||
11.3 "Extending Python with a parallel version of LAMMPS"_#py_3
|
||||
11.4 "Extending Python with MPI"_#py_4
|
||||
11.5 "Testing the Python-LAMMPS interface"_#py_5
|
||||
11.6 "Using LAMMPS from Python"_#py_6
|
||||
11.7 "Example Python scripts that use LAMMPS"_#py_7 :ul
|
||||
|
||||
Before proceeding, there are 2 items to note.
|
||||
|
||||
@ -114,7 +115,7 @@ code, you are not building shared versions of these libraries.
|
||||
The discussion below describes how to create a shared MPI library. I
|
||||
suggest you start by configuing LAMMPS without packages installed that
|
||||
require any libraries besides MPI. See "this
|
||||
section"_Section_start.html#2_3 of the manual for a discussion of
|
||||
section"_Section_start.html#start_3 of the manual for a discussion of
|
||||
LAMMPS pacakges. E.g. do not use the KSPACE, GPU, MEAM, POEMS, or
|
||||
REAX packages.
|
||||
|
||||
@ -130,7 +131,7 @@ LAMMPS wrapper.
|
||||
:line
|
||||
:line
|
||||
|
||||
Extending Python with a serial version of LAMMPS :link(9_1),h4
|
||||
11.1 Extending Python with a serial version of LAMMPS :link(py_1),h4
|
||||
|
||||
From the python directory in the LAMMPS distribution, type
|
||||
|
||||
@ -160,7 +161,7 @@ If these commands are successful, a {lammps.py} and
|
||||
|
||||
:line
|
||||
|
||||
Creating a shared MPI library :link(9_2),h4
|
||||
11.2 Creating a shared MPI library :link(py_2),h4
|
||||
|
||||
A shared library is one that is dynamically loadable, which is what
|
||||
Python requires. On Linux this is a library file that ends in ".so",
|
||||
@ -191,7 +192,7 @@ stand-alone code.
|
||||
|
||||
:line
|
||||
|
||||
Extending Python with a parallel version of LAMMPS :link(9_3),h4
|
||||
11.3 Extending Python with a parallel version of LAMMPS :link(py_3),h4
|
||||
|
||||
From the python directory, type
|
||||
|
||||
@ -229,7 +230,7 @@ will be put in the appropriate directory.
|
||||
|
||||
:line
|
||||
|
||||
Extending Python with MPI :link(9_4),h4
|
||||
11.4 Extending Python with MPI :link(py_4),h4
|
||||
|
||||
There are several Python packages available that purport to wrap MPI
|
||||
as a library and allow MPI functions to be called from Python.
|
||||
@ -304,7 +305,7 @@ and see one line of output for each processor you ran on.
|
||||
|
||||
:line
|
||||
|
||||
Testing the Python-LAMMPS interface :link(9_5),h4
|
||||
11.5 Testing the Python-LAMMPS interface :link(py_5),h4
|
||||
|
||||
Before using LAMMPS in a Python program, one more step is needed. The
|
||||
interface to LAMMPS is via the Python ctypes package, which loads the
|
||||
@ -397,7 +398,7 @@ Python on a single processor, not in parallel.
|
||||
:line
|
||||
:line
|
||||
|
||||
Using LAMMPS from Python :link(9_6),h4
|
||||
11.6 Using LAMMPS from Python :link(py_6),h4
|
||||
|
||||
The Python interface to LAMMPS consists of a Python "lammps" module,
|
||||
the source code for which is in python/lammps.py, which creates a
|
||||
@ -493,7 +494,7 @@ subscripting. The one exception is that for a fix that calculates a
|
||||
global vector or array, a single double value from the vector or array
|
||||
is returned, indexed by I (vector) or I and J (array). I,J are
|
||||
zero-based indices. The I,J arguments can be left out if not needed.
|
||||
See "this section"_Section_howto.html#4_15 of the manual for a
|
||||
See "this section"_Section_howto.html#howto_15 of the manual for a
|
||||
discussion of global, per-atom, and local data, and of scalar, vector,
|
||||
and array data types. See the doc pages for individual
|
||||
"computes"_compute.html and "fixes"_fix.html for a description of what
|
||||
@ -573,7 +574,7 @@ Add a new interface function to src/library.cpp and
|
||||
src/library.h. :ulb,l
|
||||
|
||||
Verify the new function is syntactically correct by building LAMMPS as
|
||||
a library - see "this section"_Section_start.html#2_4 of the
|
||||
a library - see "this section"_Section_start.html#start_4 of the
|
||||
manual. :l
|
||||
|
||||
Add a wrapper method in the Python LAMMPS module to python/lammps.py
|
||||
@ -588,7 +589,7 @@ Python script. Isn't ctypes amazing? :l,ule
|
||||
:line
|
||||
:line
|
||||
|
||||
Example Python scripts that use LAMMPS :link(9_7),h4
|
||||
11.7 Example Python scripts that use LAMMPS :link(py_7),h4
|
||||
|
||||
These are the Python scripts included as demos in the python/examples
|
||||
directory of the LAMMPS distribution, to illustrate the kinds of
|
||||
|
||||
@ -14,18 +14,18 @@
|
||||
<P>This section describes how to build and run LAMMPS, for both new and
|
||||
experienced users.
|
||||
</P>
|
||||
2.1 <A HREF = "#2_1">What's in the LAMMPS distribution</A><BR>
|
||||
2.2 <A HREF = "#2_2">Making LAMMPS</A><BR>
|
||||
2.3 <A HREF = "#2_3">Making LAMMPS with optional packages</A><BR>
|
||||
2.4 <A HREF = "#2_4">Building LAMMPS as a library</A><BR>
|
||||
2.5 <A HREF = "#2_5">Running LAMMPS</A><BR>
|
||||
2.6 <A HREF = "#2_6">Command-line options</A><BR>
|
||||
2.7 <A HREF = "#2_7">Screen output</A><BR>
|
||||
2.8 <A HREF = "#2_8">Tips for users of previous versions</A> <BR>
|
||||
2.1 <A HREF = "#start_1">What's in the LAMMPS distribution</A><BR>
|
||||
2.2 <A HREF = "#start_2">Making LAMMPS</A><BR>
|
||||
2.3 <A HREF = "#start_3">Making LAMMPS with optional packages</A><BR>
|
||||
2.4 <A HREF = "#start_4">Building LAMMPS as a library</A><BR>
|
||||
2.5 <A HREF = "#start_5">Running LAMMPS</A><BR>
|
||||
2.6 <A HREF = "#start_6">Command-line options</A><BR>
|
||||
2.7 <A HREF = "#start_7">Screen output</A><BR>
|
||||
2.8 <A HREF = "#start_8">Tips for users of previous versions</A> <BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "2_1"></A>2.1 What's in the LAMMPS distribution
|
||||
<H4><A NAME = "start_1"></A>2.1 What's in the LAMMPS distribution
|
||||
</H4>
|
||||
<P>When you download LAMMPS you will need to unzip and untar the
|
||||
downloaded file with the following commands, after placing the file in
|
||||
@ -54,8 +54,8 @@ then you just get a single file:
|
||||
</P>
|
||||
<PRE>lmp_windows.exe
|
||||
</PRE>
|
||||
<P>Skip to the <A HREF = "#2_5">Running LAMMPS</A> sections for info on how to launch
|
||||
these executables on a Windows box.
|
||||
<P>Skip to the <A HREF = "#start_5">Running LAMMPS</A> sections for info on how to
|
||||
launch these executables on a Windows box.
|
||||
</P>
|
||||
<P>The Windows executables for serial or parallel only include certain
|
||||
packages and bug-fixes/upgrades listed on <A HREF = "http://lammps.sandia.gov/bug.html">this
|
||||
@ -67,20 +67,20 @@ as described in the next section.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "2_2"></A>2.2 Making LAMMPS
|
||||
<H4><A NAME = "start_2"></A>2.2 Making LAMMPS
|
||||
</H4>
|
||||
<P>This section has the following sub-sections:
|
||||
</P>
|
||||
<UL><LI><A HREF = "#2_2_1">Read this first</A>
|
||||
<LI><A HREF = "#2_2_2">Steps to build a LAMMPS executable</A>
|
||||
<LI><A HREF = "#2_2_3">Common errors that can occur when making LAMMPS</A>
|
||||
<LI><A HREF = "#2_2_4">Additional build tips</A>
|
||||
<LI><A HREF = "#2_2_5">Building for a Mac</A>
|
||||
<LI><A HREF = "#2_2_6">Building for Windows</A>
|
||||
<UL><LI><A HREF = "#start_2_1">Read this first</A>
|
||||
<LI><A HREF = "#start_2_2">Steps to build a LAMMPS executable</A>
|
||||
<LI><A HREF = "#start_2_3">Common errors that can occur when making LAMMPS</A>
|
||||
<LI><A HREF = "#start_2_4">Additional build tips</A>
|
||||
<LI><A HREF = "#start_2_5">Building for a Mac</A>
|
||||
<LI><A HREF = "#start_2_6">Building for Windows</A>
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<A NAME = "2_2_1"></A><B><I>Read this first:</I></B>
|
||||
<A NAME = "start_2_1"></A><B><I>Read this first:</I></B>
|
||||
|
||||
<P>Building LAMMPS can be non-trivial. You may need to edit a makefile,
|
||||
there are compiler options to consider, additional libraries can be
|
||||
@ -106,7 +106,7 @@ to the developers and we'll include it in future LAMMPS releases.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "2_2_2"></A><B><I>Steps to build a LAMMPS executable:</I></B>
|
||||
<A NAME = "start_2_2"></A><B><I>Steps to build a LAMMPS executable:</I></B>
|
||||
|
||||
<P><B>Step 0</B>
|
||||
</P>
|
||||
@ -129,7 +129,7 @@ will build LAMMPS more quickly.
|
||||
produced, you're done; it's your lucky day.
|
||||
</P>
|
||||
<P>Note that by default only a few of LAMMPS optional pacakges are
|
||||
installed. To build LAMMPS with optional packages, see <A HREF = "#2_3">this
|
||||
installed. To build LAMMPS with optional packages, see <A HREF = "#start_3">this
|
||||
section</A> below.
|
||||
</P>
|
||||
<P><B>Step 1</B>
|
||||
@ -248,14 +248,15 @@ vendor-provided MPI which the compiler has no trouble finding.
|
||||
file (MPI_INC) and the MPI library file (MPI_PATH) are found and the
|
||||
name of the library file (MPI_LIB).
|
||||
</P>
|
||||
<P>If you are installing MPI yourself, we recommend Argonne's MPICH 1.2
|
||||
or 2.0 or OpenMPI. MPICH can be downloaded from the <A HREF = "http://www-unix.mcs.anl.gov/mpi">Argonne MPI
|
||||
site</A>. OpenMPI can be downloaded the
|
||||
<A HREF = "http://www.open-mpi.org">OpenMPI site</A>. 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 OpenMPI or LAM, so find out how to build and link
|
||||
with it. If you use MPICH or OpenMPI or LAM, you will have to
|
||||
<P>If you are installing MPI yourself, we recommend Argonne's MPICH2
|
||||
or OpenMPI. MPICH can be downloaded from the <A HREF = "http://www.mcs.anl.gov/research/projects/mpich2/">Argonne MPI
|
||||
site</A>. OpenMPI can
|
||||
be downloaded from the <A HREF = "http://www.open-mpi.org">OpenMPI site</A>.
|
||||
Other MPI packages 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 is likely to be faster
|
||||
than a self-installed MPICH or OpenMPI, so find out how to build
|
||||
and link with it. If you use MPICH or OpenMPI, 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 can
|
||||
@ -329,7 +330,7 @@ truncation errors and thus do not always need to be performed in
|
||||
double precision. Using the -DFFT_SINGLE setting trades off a little
|
||||
accuracy for reduced memory use and parallel communication costs for
|
||||
transposing 3d FFT data. Note that single precision FFTs have only
|
||||
been tested with the FFTW3, FFTW2, MKL, and KISS FFT packages.
|
||||
been tested with the FFTW3, FFTW2, MKL, and KISS FFT options.
|
||||
</P>
|
||||
<P><B>Step 7</B>
|
||||
</P>
|
||||
@ -350,7 +351,7 @@ your machine, you may not need to set these variables.
|
||||
<P><B>Step 8</B>
|
||||
</P>
|
||||
<P>Note that by default only a few of LAMMPS optional pacakges are
|
||||
installed. To build LAMMPS with optional packages, see <A HREF = "#2_3">this
|
||||
installed. To build LAMMPS with optional packages, see <A HREF = "#start_3">this
|
||||
section</A> below, before proceeding to Step 9.
|
||||
</P>
|
||||
<P><B>Step 9</B>
|
||||
@ -369,7 +370,7 @@ gmake foo
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "2_2_3"></A><B><I>Errors that can occur when making LAMMPS:</I></B>
|
||||
<A NAME = "start_2_3"></A><B><I>Errors that can occur when making LAMMPS:</I></B>
|
||||
|
||||
<P>IMPORTANT NOTE: If an error occurs when building LAMMPS, the compiler
|
||||
or linker will state very explicitly what the problem is. The error
|
||||
@ -407,7 +408,7 @@ above in Step 4.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "2_2_4"></A><B><I>Additional build tips:</I></B>
|
||||
<A NAME = "start_2_4"></A><B><I>Additional build tips:</I></B>
|
||||
|
||||
<P>(1) Building LAMMPS for multiple platforms.
|
||||
</P>
|
||||
@ -462,18 +463,18 @@ secs/timestep.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "2_2_5"></A><B><I>Building for a Mac:</I></B>
|
||||
<A NAME = "start_2_5"></A><B><I>Building for a Mac:</I></B>
|
||||
|
||||
<P>OS X is BSD Unix, so it should just work. See the Makefile.mac file.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "2_2_6"></A><B><I>Building for Windows:</I></B>
|
||||
<A NAME = "start_2_6"></A><B><I>Building for Windows:</I></B>
|
||||
|
||||
<P>The LAMMPS download page has an option to download both a serial and
|
||||
parallel pre-built Windows exeutable. See the <A HREF = "#2_5">Running LAMMPS</A>
|
||||
section for instructions for running these executables on a Windows
|
||||
box.
|
||||
parallel pre-built Windows exeutable. See the <A HREF = "#start_5">Running
|
||||
LAMMPS</A> section for instructions for running these
|
||||
executables on a Windows box.
|
||||
</P>
|
||||
<P>If the pre-built executable doesn't have the options you want, then
|
||||
you can build LAMMPS from its source files on a Windows box. One way
|
||||
@ -498,72 +499,63 @@ and USER-REAXC. The fourth project includes the USER-AWPMD package.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "2_3"></A>2.3 Making LAMMPS with optional packages
|
||||
<H4><A NAME = "start_3"></A>2.3 Making LAMMPS with optional packages
|
||||
</H4>
|
||||
<P>This section has the following sub-sections:
|
||||
</P>
|
||||
<UL><LI><A HREF = "#2_3_1">Package basics</A>
|
||||
<LI><A HREF = "#2_3_2">Including/excluding packages</A>
|
||||
<LI><A HREF = "#2_3_3">Packages that require extra LAMMPS libraries</A>
|
||||
<LI><A HREF = "#2_3_4">Additional Makefile settings for extra libraries</A>
|
||||
<UL><LI><A HREF = "#start_3_1">Package basics</A>
|
||||
<LI><A HREF = "#start_3_2">Including/excluding packages</A>
|
||||
<LI><A HREF = "#start_3_3">Packages that require extra libraries</A>
|
||||
<LI><A HREF = "#start_3_4">Additional Makefile settings for extra libraries</A>
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<A NAME = "2_3_1"></A><B><I>Package basics:</I></B>
|
||||
<A NAME = "start_3_1"></A><B><I>Package basics:</I></B>
|
||||
|
||||
<P>The source code for LAMMPS is structured as a set of core files which
|
||||
are always included, plus optional packages. Packages 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 all packages by typing "make package".
|
||||
can see the list of all packages by typing "make package" from within
|
||||
the src directory of the LAMMPS distribution.
|
||||
</P>
|
||||
<P>The current list of standard packages is as follows:
|
||||
<P>If you use a command in a LAMMPS input script that is specific to a
|
||||
particular package, you must have built LAMMPS with that package, else
|
||||
you will get an error that the style is invalid or the command is
|
||||
unknown. Every command's doc page specfies if it is part of a
|
||||
package. You can also type
|
||||
</P>
|
||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||
<TR><TD >asphere </TD><TD > aspherical particles and force fields</TD></TR>
|
||||
<TR><TD >class2 </TD><TD > class 2 force fields</TD></TR>
|
||||
<TR><TD >colloid </TD><TD > colloidal particle force fields</TD></TR>
|
||||
<TR><TD >dipole </TD><TD > point dipole particles and force fields</TD></TR>
|
||||
<TR><TD >dsmc </TD><TD > Direct Simulation Monte Carlo (DMSC) pair style</TD></TR>
|
||||
<TR><TD >gpu </TD><TD > GPU-enabled force field styles</TD></TR>
|
||||
<TR><TD >granular </TD><TD > force fields and boundary conditions for granular systems</TD></TR>
|
||||
<TR><TD >kspace </TD><TD > long-range Ewald and particle-mesh (PPPM) solvers</TD></TR>
|
||||
<TR><TD >manybody </TD><TD > metal, 3-body, bond-order potentials</TD></TR>
|
||||
<TR><TD >meam </TD><TD > modified embedded atom method (MEAM) potential</TD></TR>
|
||||
<TR><TD >molecule </TD><TD > force fields for molecular systems</TD></TR>
|
||||
<TR><TD >opt </TD><TD > optimized versions of a few pair potentials</TD></TR>
|
||||
<TR><TD >peri </TD><TD > Peridynamics model and potential</TD></TR>
|
||||
<TR><TD >poems </TD><TD > coupled rigid body motion</TD></TR>
|
||||
<TR><TD >reax </TD><TD > ReaxFF potential</TD></TR>
|
||||
<TR><TD >replica </TD><TD > multi-replica methods</TD></TR>
|
||||
<TR><TD >shock </TD><TD > methods for MD simulations of shock loading</TD></TR>
|
||||
<TR><TD >srd </TD><TD > stochastic rotation dynamics (SRD)</TD></TR>
|
||||
<TR><TD >xtc </TD><TD > dump atom snapshots in XTC format
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>There are also several user-contributed packages which may be as
|
||||
simple as a single additional file (see the src/USER-MISC directory)
|
||||
or many files grouped together which add a specific functionality to
|
||||
the code.
|
||||
<PRE>lmp_machine -h
|
||||
</PRE>
|
||||
<P>to run your executable with the optional <A HREF = "#start_6">-h command-line
|
||||
switch</A> for "help", which will list the styles and commands
|
||||
known to your executable.
|
||||
</P>
|
||||
<P>The difference between a <I>standard</I> package versus a <I>user</I> package is
|
||||
as follows:
|
||||
<P>There are two kinds of packages in LAMMPS, standard and user packages.
|
||||
More information about the contents of standard and user packages is
|
||||
given in <A HREF = "Section_packages.html">this section</A> of the manual. The
|
||||
difference between standard and user packages is as follows:
|
||||
</P>
|
||||
<P>Standard packages are supported by the LAMMPS developers and are
|
||||
written in a syntax and style consistent with the rest of LAMMPS.
|
||||
This means we will answer questions about them, debug and fix them if
|
||||
necessary, and keep them compatible with future changes to LAMMPS.
|
||||
</P>
|
||||
<P>User packages don't necessarily meet these requirements. If you have
|
||||
problems using a feature provided in a user package, you will likely
|
||||
need to contact the contributor directly to get help. Information on
|
||||
how to submit additions you make to LAMMPS as a user-contributed
|
||||
package is given in <A HREF = "Section_modify.html#package">this section</A> of the
|
||||
documentation.
|
||||
<P>User packages have been contributed by users, and always begin with
|
||||
the user prefix. If they are a single command (single file), they are
|
||||
typically in the user-misc package. Otherwise, they are a a set of
|
||||
files grouped together which add a specific functionality to the code.
|
||||
</P>
|
||||
<P>User packages don't necessarily meet the requirements of the standard
|
||||
packages. If you have problems using a feature provided in a user
|
||||
package, you will likely need to contact the contributor directly to
|
||||
get help. Information on how to submit additions you make to LAMMPS
|
||||
as a user-contributed package is given in <A HREF = "Section_modify.html#mod_14">this
|
||||
section</A> of the documentation.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "2_3_2"></A><B><I>Including/excluding packages:</I></B>
|
||||
<A NAME = "start_3_2"></A><B><I>Including/excluding packages:</I></B>
|
||||
|
||||
<P>To use or not use a package you must include or exclude it before
|
||||
building LAMMPS. From the src directory, this is typically as simple
|
||||
@ -588,15 +580,18 @@ of simulations. For some packages, this will keep you from having to
|
||||
build auxiliary libraries (see below), and will also produce a smaller
|
||||
executable which may run a bit faster.
|
||||
</P>
|
||||
<P>By default, LAMMPS includes only the "kspace", "manybody", and
|
||||
"molecule" packages.
|
||||
<P>When you download a LAMMPS tarball, these packages are pre-installed
|
||||
in the src directory: KSPACE, MANYBODY,MOLECULE. When you download
|
||||
LAMMPS source files from the SVN or Git repositories, no packages are
|
||||
pre-installed.
|
||||
</P>
|
||||
<P>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-standard", "make no-standard", "make yes-user", "make
|
||||
no-user", "make yes-all" or "make no-all" to include/exclude various
|
||||
sets of packages. Type "make package" to see the all of the
|
||||
package-related make options.
|
||||
no-name", where "name" is the name of the package in lower-case, e.g.
|
||||
name = kspace for the KSPACE package or name = user-atc for the
|
||||
USER-ATC package. You can also type "make yes-standard", "make
|
||||
no-standard", "make yes-user", "make no-user", "make yes-all" or "make
|
||||
no-all" to include/exclude various sets of packages. Type "make
|
||||
package" to see the all of the package-related make options.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: Inclusion/exclusion of a package works by simply
|
||||
moving files back and forth between the main src directory and
|
||||
@ -625,17 +620,18 @@ type "make package" to see all of the package-related make options.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "2_3_3"></A><B><I>Packages that require extra LAMMPS libraries:</I></B>
|
||||
<A NAME = "start_3_3"></A><B><I>Packages that require extra libraries:</I></B>
|
||||
|
||||
<P>A few of the standard and user packages require additional auxiliary
|
||||
libraries be compiled first. If you get a LAMMPS build error about a
|
||||
missing library, this is likely the reason. The source code for these
|
||||
libraries is included in the LAMMPS distribution under the "lib"
|
||||
directory. Look at the lib/README file for a list of these.
|
||||
libraries to be compiled first. If you get a LAMMPS build error about
|
||||
a missing library, this is likely the reason. The source code for
|
||||
these libraries is included in the LAMMPS distribution under the "lib"
|
||||
directory. Look at the lib/README file for a list of these or see
|
||||
<A HREF = "Section_packages.html">this section</A> of the doc pages.
|
||||
</P>
|
||||
<P>Each lib directly has a README file (e.g. lib/reax/README) with
|
||||
instructions on how to build that library. Typically this is done by
|
||||
typing something like:
|
||||
<P>Each lib directory has a README file (e.g. lib/reax/README) with
|
||||
instructions on how to build that library. Typically this is done
|
||||
in this manner:
|
||||
</P>
|
||||
<PRE>make -f Makefile.g++
|
||||
</PRE>
|
||||
@ -679,12 +675,12 @@ build will likely fail.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "2_4"></A>2.4 Building LAMMPS as a library
|
||||
<H4><A NAME = "start_4"></A>2.4 Building LAMMPS as a library
|
||||
</H4>
|
||||
<P>LAMMPS itself can be built as a library, which can then be called from
|
||||
another application or a scripting language. See <A HREF = "Section_howto.html#4_10">this
|
||||
section</A> for more info on coupling LAMMPS to
|
||||
other codes. Building LAMMPS as a library is done by typing
|
||||
another application or a scripting language. See <A HREF = "Section_howto.html#howto_10">this
|
||||
section</A> for more info on coupling LAMMPS
|
||||
to other codes. Building LAMMPS as a library is done by typing
|
||||
</P>
|
||||
<PRE>make makelib
|
||||
make -f Makefile.lib foo
|
||||
@ -710,19 +706,19 @@ src/library.cpp and src/library.h.
|
||||
<P>See the sample codes couple/simple/simple.cpp and simple.c as examples
|
||||
of C++ and C codes that invoke LAMMPS thru its library interface.
|
||||
There are other examples as well in the couple directory which are
|
||||
discussed in <A HREF = "Section_howto.html#4_10">this section</A> of the manual.
|
||||
discussed in <A HREF = "Section_howto.html#howto_10">this section</A> of the manual.
|
||||
See <A HREF = "Section_python.html">this section</A> of the manual for a description
|
||||
of the Python wrapper provided with LAMMPS that operates through the
|
||||
LAMMPS library interface.
|
||||
</P>
|
||||
<P>The files src/library.cpp and library.h contain the C-style interface
|
||||
to LAMMPS. See <A HREF = "Section_howto.html#4_19">this section</A> of the manual
|
||||
for a description of the interface and how to extend it for your
|
||||
needs.
|
||||
to LAMMPS. See <A HREF = "Section_howto.html#howto_19">this section</A> of the
|
||||
manual for a description of the interface and how to extend it for
|
||||
your needs.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "2_5"></A>2.5 Running LAMMPS
|
||||
<H4><A NAME = "start_5"></A>2.5 Running LAMMPS
|
||||
</H4>
|
||||
<P>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)
|
||||
@ -832,7 +828,7 @@ more processors or setup a smaller problem.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "2_6"></A>2.6 Command-line options
|
||||
<H4><A NAME = "start_6"></A>2.6 Command-line options
|
||||
</H4>
|
||||
<P>At run time, LAMMPS recognizes several optional command-line switches
|
||||
which may be used in any order. Either the full word or a one-or-two
|
||||
@ -861,13 +857,13 @@ mpirun -np 16 lmp_ibm -var f tmp.out -log my.log -screen none < in.alloy
|
||||
</PRE>
|
||||
<P>Explicitly enable or disable CUDA support, as provided by the
|
||||
USER-CUDA package. If LAMMPS is built with this package, as described
|
||||
above in <A HREF = "#2_3">Section 2.3</A>, then by default LAMMPS will run in CUDA
|
||||
mode. If this switch is set to "off", then it will not, even if it
|
||||
was built with the USER-CUDA package, which means you can run standard
|
||||
LAMMPS or with the GPU package for testing or benchmarking purposes.
|
||||
The only reason to set the switch to "on", is to check if LAMMPS was
|
||||
built with the USER-CUDA package, since an error will be generated if
|
||||
it was not.
|
||||
above in <A HREF = "#start_3">Section 2.3</A>, then by default LAMMPS will run in
|
||||
CUDA mode. If this switch is set to "off", then it will not, even if
|
||||
it was built with the USER-CUDA package, which means you can run
|
||||
standard LAMMPS or with the GPU package for testing or benchmarking
|
||||
purposes. The only reason to set the switch to "on", is to check if
|
||||
LAMMPS was built with the USER-CUDA package, since an error will be
|
||||
generated if it was not.
|
||||
</P>
|
||||
<PRE>-echo style
|
||||
</PRE>
|
||||
@ -925,13 +921,13 @@ processors.
|
||||
</P>
|
||||
<P>Note that with MPI installed on a machine (e.g. your desktop), you can
|
||||
run on more (virtual) processors than you have physical processors.
|
||||
This can be useful for running <A HREF = "Section_howto.html#4_5">multi-replica
|
||||
This can be useful for running <A HREF = "Section_howto.html#howto_5">multi-replica
|
||||
simulations</A>, on one or a few processors.
|
||||
</P>
|
||||
<P>The input script specifies what simulation is run on which partition;
|
||||
see the <A HREF = "variable.html">variable</A> and <A HREF = "next.html">next</A> commands. This
|
||||
<A HREF = "Section_howto.html#4_4">howto section</A> gives examples of how to use
|
||||
these commands in this way. Simulations running on different
|
||||
<A HREF = "Section_howto.html#howto_4">howto section</A> gives examples of how to
|
||||
use these commands in this way. Simulations running on different
|
||||
partitions can also communicate with each other; see the
|
||||
<A HREF = "temper.html">temper</A> command.
|
||||
</P>
|
||||
@ -982,17 +978,18 @@ partition screen files file.N.
|
||||
<PRE>-suffix style
|
||||
</PRE>
|
||||
<P>Use variants of various styles if they exist. The specified style can
|
||||
be <I>opt</I> or <I>gpu</I> or <I>cuda</I>. These refer to optional packages that
|
||||
LAMMPS can be built with, as described above in <A HREF = "#2_3">Section 2.3</A>.
|
||||
The "opt" style corrsponds to the OPT package, the "gpu" style to the
|
||||
GPU package, and the "cuda" style to the USER-CUDA package.
|
||||
be <I>opt</I>, <I>omp</I>, <I>gpu</I>, or <I>cuda</I>. These refer to optional packages that
|
||||
LAMMPS can be built with, as described above in <A HREF = "#start_3">Section
|
||||
2.3</A>. The "opt" style corrsponds to the OPT package, the
|
||||
"omp" style to the USER-OMP package, the "gpu" style to the GPU
|
||||
package, and the "cuda" style to the USER-CUDA package.
|
||||
</P>
|
||||
<P>As an example, all of the packages provide a <A HREF = "pair_lj.html">pair_style
|
||||
lj/cut</A> variant, with style names lj/cut/opt or
|
||||
lj/cut/gpu or lj/cut/cuda. A variant styles can be specified
|
||||
lj/cut</A> variant, with style names lj/cut/opt, lj/cut/omp,
|
||||
lj/cut/gpu, or lj/cut/cuda. A variant styles can be specified
|
||||
explicitly in your input script, e.g. pair_style lj/cut/gpu. If the
|
||||
-suffix switch is used, you do not need to modify your input script.
|
||||
The specified suffix (opt,gpu,cuda) is automatically appended whenever
|
||||
The specified suffix (opt,omp,gpu,cuda) is automatically appended whenever
|
||||
your input script command creates a new <A HREF = "atom_style.html">atom</A>,
|
||||
<A HREF = "pair_style.html">pair</A>, <A HREF = "fix.html">fix</A>, <A HREF = "compute.html">compute</A>, or
|
||||
<A HREF = "run_style.html">run</A> style. atom, pair, fix, compute, or integrate
|
||||
@ -1015,13 +1012,19 @@ value2 ..." at the beginning of the input script. Defining an index
|
||||
variable as a command-line argument overrides any setting for the same
|
||||
index variable in the input script, since index variables cannot be
|
||||
re-defined. See the <A HREF = "variable.html">variable</A> command for more info on
|
||||
defining index and other kinds of variables and <A HREF = "Section_commands.html#3_2">this
|
||||
section</A> for more info on using variables in
|
||||
input scripts.
|
||||
defining index and other kinds of variables and <A HREF = "Section_commands.html#cmd_2">this
|
||||
section</A> for more info on using variables
|
||||
in input scripts.
|
||||
</P>
|
||||
<P>NOTE: Currently, the command-line parser looks for arguments that
|
||||
start with "-" to indicate new switches. Thus you cannot specify
|
||||
multiple variable values if any of they start with a "-", e.g. a
|
||||
negative numeric value. It is OK if the first value1 starts with a
|
||||
"-", since it is automatically skipped.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "2_7"></A>2.7 LAMMPS screen output
|
||||
<H4><A NAME = "start_7"></A>2.7 LAMMPS screen output
|
||||
</H4>
|
||||
<P>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
|
||||
@ -1118,7 +1121,7 @@ communication, roughly 75% in the example above.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "2_8"></A>2.8 Tips for users of previous LAMMPS versions
|
||||
<H4><A NAME = "start_8"></A>2.8 Tips for users of previous LAMMPS versions
|
||||
</H4>
|
||||
<P>The current C++ began with a complete rewrite of LAMMPS 2001, which
|
||||
was written in F90. Features of earlier versions of LAMMPS are listed
|
||||
|
||||
@ -11,18 +11,18 @@
|
||||
This section describes how to build 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 "Making LAMMPS with optional packages"_#2_3
|
||||
2.4 "Building LAMMPS as a library"_#2_4
|
||||
2.5 "Running LAMMPS"_#2_5
|
||||
2.6 "Command-line options"_#2_6
|
||||
2.7 "Screen output"_#2_7
|
||||
2.8 "Tips for users of previous versions"_#2_8 :all(b)
|
||||
2.1 "What's in the LAMMPS distribution"_#start_1
|
||||
2.2 "Making LAMMPS"_#start_2
|
||||
2.3 "Making LAMMPS with optional packages"_#start_3
|
||||
2.4 "Building LAMMPS as a library"_#start_4
|
||||
2.5 "Running LAMMPS"_#start_5
|
||||
2.6 "Command-line options"_#start_6
|
||||
2.7 "Screen output"_#start_7
|
||||
2.8 "Tips for users of previous versions"_#start_8 :all(b)
|
||||
|
||||
:line
|
||||
|
||||
2.1 What's in the LAMMPS distribution :h4,link(2_1)
|
||||
2.1 What's in the LAMMPS distribution :h4,link(start_1)
|
||||
|
||||
When you download LAMMPS you will need to unzip and untar the
|
||||
downloaded file with the following commands, after placing the file in
|
||||
@ -49,8 +49,8 @@ then you just get a single file:
|
||||
|
||||
lmp_windows.exe :pre
|
||||
|
||||
Skip to the "Running LAMMPS"_#2_5 sections for info on how to launch
|
||||
these executables on a Windows box.
|
||||
Skip to the "Running LAMMPS"_#start_5 sections for info on how to
|
||||
launch these executables on a Windows box.
|
||||
|
||||
The Windows executables for serial or parallel only include certain
|
||||
packages and bug-fixes/upgrades listed on "this
|
||||
@ -62,20 +62,20 @@ as described in the next section.
|
||||
|
||||
:line
|
||||
|
||||
2.2 Making LAMMPS :h4,link(2_2)
|
||||
2.2 Making LAMMPS :h4,link(start_2)
|
||||
|
||||
This section has the following sub-sections:
|
||||
|
||||
"Read this first"_#2_2_1
|
||||
"Steps to build a LAMMPS executable"_#2_2_2
|
||||
"Common errors that can occur when making LAMMPS"_#2_2_3
|
||||
"Additional build tips"_#2_2_4
|
||||
"Building for a Mac"_#2_2_5
|
||||
"Building for Windows"_#2_2_6 :ul
|
||||
"Read this first"_#start_2_1
|
||||
"Steps to build a LAMMPS executable"_#start_2_2
|
||||
"Common errors that can occur when making LAMMPS"_#start_2_3
|
||||
"Additional build tips"_#start_2_4
|
||||
"Building for a Mac"_#start_2_5
|
||||
"Building for Windows"_#start_2_6 :ul
|
||||
|
||||
:line
|
||||
|
||||
[{Read this first:}] :link(2_2_1)
|
||||
[{Read this first:}] :link(start_2_1)
|
||||
|
||||
Building LAMMPS can be non-trivial. You may need to edit a makefile,
|
||||
there are compiler options to consider, additional libraries can be
|
||||
@ -101,7 +101,7 @@ to the developers and we'll include it in future LAMMPS releases.
|
||||
|
||||
:line
|
||||
|
||||
[{Steps to build a LAMMPS executable:}] :link(2_2_2)
|
||||
[{Steps to build a LAMMPS executable:}] :link(start_2_2)
|
||||
|
||||
[Step 0]
|
||||
|
||||
@ -125,7 +125,7 @@ produced, you're done; it's your lucky day.
|
||||
|
||||
Note that by default only a few of LAMMPS optional pacakges are
|
||||
installed. To build LAMMPS with optional packages, see "this
|
||||
section"_#2_3 below.
|
||||
section"_#start_3 below.
|
||||
|
||||
[Step 1]
|
||||
|
||||
@ -243,14 +243,15 @@ Failing this, with these 3 variables you can specify where the mpi.h
|
||||
file (MPI_INC) and the MPI library file (MPI_PATH) are found and the
|
||||
name of the library file (MPI_LIB).
|
||||
|
||||
If you are installing MPI yourself, we recommend Argonne's MPICH 1.2
|
||||
or 2.0 or OpenMPI. MPICH can be downloaded from the "Argonne MPI
|
||||
site"_http://www-unix.mcs.anl.gov/mpi. OpenMPI can be downloaded the
|
||||
"OpenMPI site"_http://www.open-mpi.org. 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 OpenMPI or LAM, so find out how to build and link
|
||||
with it. If you use MPICH or OpenMPI or LAM, you will have to
|
||||
If you are installing MPI yourself, we recommend Argonne's MPICH2
|
||||
or OpenMPI. MPICH can be downloaded from the "Argonne MPI
|
||||
site"_http://www.mcs.anl.gov/research/projects/mpich2/. OpenMPI can
|
||||
be downloaded from the "OpenMPI site"_http://www.open-mpi.org.
|
||||
Other MPI packages 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 is likely to be faster
|
||||
than a self-installed MPICH or OpenMPI, so find out how to build
|
||||
and link with it. If you use MPICH or OpenMPI, 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 can
|
||||
@ -324,7 +325,7 @@ truncation errors and thus do not always need to be performed in
|
||||
double precision. Using the -DFFT_SINGLE setting trades off a little
|
||||
accuracy for reduced memory use and parallel communication costs for
|
||||
transposing 3d FFT data. Note that single precision FFTs have only
|
||||
been tested with the FFTW3, FFTW2, MKL, and KISS FFT packages.
|
||||
been tested with the FFTW3, FFTW2, MKL, and KISS FFT options.
|
||||
|
||||
[Step 7]
|
||||
|
||||
@ -346,7 +347,7 @@ your machine, you may not need to set these variables.
|
||||
|
||||
Note that by default only a few of LAMMPS optional pacakges are
|
||||
installed. To build LAMMPS with optional packages, see "this
|
||||
section"_#2_3 below, before proceeding to Step 9.
|
||||
section"_#start_3 below, before proceeding to Step 9.
|
||||
|
||||
[Step 9]
|
||||
|
||||
@ -364,7 +365,7 @@ You should get the executable lmp_foo when the build is complete.
|
||||
|
||||
:line
|
||||
|
||||
[{Errors that can occur when making LAMMPS:}] :link(2_2_3)
|
||||
[{Errors that can occur when making LAMMPS:}] :link(start_2_3)
|
||||
|
||||
IMPORTANT NOTE: If an error occurs when building LAMMPS, the compiler
|
||||
or linker will state very explicitly what the problem is. The error
|
||||
@ -402,7 +403,7 @@ above in Step 4.
|
||||
|
||||
:line
|
||||
|
||||
[{Additional build tips:}] :link(2_2_4)
|
||||
[{Additional build tips:}] :link(start_2_4)
|
||||
|
||||
(1) Building LAMMPS for multiple platforms.
|
||||
|
||||
@ -457,18 +458,18 @@ secs/timestep.
|
||||
|
||||
:line
|
||||
|
||||
[{Building for a Mac:}] :link(2_2_5)
|
||||
[{Building for a Mac:}] :link(start_2_5)
|
||||
|
||||
OS X is BSD Unix, so it should just work. See the Makefile.mac file.
|
||||
|
||||
:line
|
||||
|
||||
[{Building for Windows:}] :link(2_2_6)
|
||||
[{Building for Windows:}] :link(start_2_6)
|
||||
|
||||
The LAMMPS download page has an option to download both a serial and
|
||||
parallel pre-built Windows exeutable. See the "Running LAMMPS"_#2_5
|
||||
section for instructions for running these executables on a Windows
|
||||
box.
|
||||
parallel pre-built Windows exeutable. See the "Running
|
||||
LAMMPS"_#start_5 section for instructions for running these
|
||||
executables on a Windows box.
|
||||
|
||||
If the pre-built executable doesn't have the options you want, then
|
||||
you can build LAMMPS from its source files on a Windows box. One way
|
||||
@ -493,70 +494,63 @@ and USER-REAXC. The fourth project includes the USER-AWPMD package.
|
||||
|
||||
:line
|
||||
|
||||
2.3 Making LAMMPS with optional packages :h4,link(2_3)
|
||||
2.3 Making LAMMPS with optional packages :h4,link(start_3)
|
||||
|
||||
This section has the following sub-sections:
|
||||
|
||||
"Package basics"_#2_3_1
|
||||
"Including/excluding packages"_#2_3_2
|
||||
"Packages that require extra LAMMPS libraries"_#2_3_3
|
||||
"Additional Makefile settings for extra libraries"_#2_3_4 :ul
|
||||
"Package basics"_#start_3_1
|
||||
"Including/excluding packages"_#start_3_2
|
||||
"Packages that require extra libraries"_#start_3_3
|
||||
"Additional Makefile settings for extra libraries"_#start_3_4 :ul
|
||||
|
||||
:line
|
||||
|
||||
[{Package basics:}] :link(2_3_1)
|
||||
[{Package basics:}] :link(start_3_1)
|
||||
|
||||
The source code for LAMMPS is structured as a set of core files which
|
||||
are always included, plus optional packages. Packages 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 all packages by typing "make package".
|
||||
can see the list of all packages by typing "make package" from within
|
||||
the src directory of the LAMMPS distribution.
|
||||
|
||||
The current list of standard packages is as follows:
|
||||
If you use a command in a LAMMPS input script that is specific to a
|
||||
particular package, you must have built LAMMPS with that package, else
|
||||
you will get an error that the style is invalid or the command is
|
||||
unknown. Every command's doc page specfies if it is part of a
|
||||
package. You can also type
|
||||
|
||||
asphere : aspherical particles and force fields
|
||||
class2 : class 2 force fields
|
||||
colloid : colloidal particle force fields
|
||||
dipole : point dipole particles and force fields
|
||||
dsmc : Direct Simulation Monte Carlo (DMSC) pair style
|
||||
gpu : GPU-enabled force field styles
|
||||
granular : force fields and boundary conditions for granular systems
|
||||
kspace : long-range Ewald and particle-mesh (PPPM) solvers
|
||||
manybody : metal, 3-body, bond-order potentials
|
||||
meam : modified embedded atom method (MEAM) potential
|
||||
molecule : force fields for molecular systems
|
||||
opt : optimized versions of a few pair potentials
|
||||
peri : Peridynamics model and potential
|
||||
poems : coupled rigid body motion
|
||||
reax : ReaxFF potential
|
||||
replica : multi-replica methods
|
||||
shock : methods for MD simulations of shock loading
|
||||
srd : stochastic rotation dynamics (SRD)
|
||||
xtc : dump atom snapshots in XTC format :tb(s=:)
|
||||
lmp_machine -h :pre
|
||||
|
||||
There are also several user-contributed packages which may be as
|
||||
simple as a single additional file (see the src/USER-MISC directory)
|
||||
or many files grouped together which add a specific functionality to
|
||||
the code.
|
||||
to run your executable with the optional "-h command-line
|
||||
switch"_#start_6 for "help", which will list the styles and commands
|
||||
known to your executable.
|
||||
|
||||
The difference between a {standard} package versus a {user} package is
|
||||
as follows:
|
||||
There are two kinds of packages in LAMMPS, standard and user packages.
|
||||
More information about the contents of standard and user packages is
|
||||
given in "this section"_Section_packages.html of the manual. The
|
||||
difference between standard and user packages is as follows:
|
||||
|
||||
Standard packages are supported by the LAMMPS developers and are
|
||||
written in a syntax and style consistent with the rest of LAMMPS.
|
||||
This means we will answer questions about them, debug and fix them if
|
||||
necessary, and keep them compatible with future changes to LAMMPS.
|
||||
|
||||
User packages don't necessarily meet these requirements. If you have
|
||||
problems using a feature provided in a user package, you will likely
|
||||
need to contact the contributor directly to get help. Information on
|
||||
how to submit additions you make to LAMMPS as a user-contributed
|
||||
package is given in "this section"_Section_modify.html#package of the
|
||||
documentation.
|
||||
User packages have been contributed by users, and always begin with
|
||||
the user prefix. If they are a single command (single file), they are
|
||||
typically in the user-misc package. Otherwise, they are a a set of
|
||||
files grouped together which add a specific functionality to the code.
|
||||
|
||||
User packages don't necessarily meet the requirements of the standard
|
||||
packages. If you have problems using a feature provided in a user
|
||||
package, you will likely need to contact the contributor directly to
|
||||
get help. Information on how to submit additions you make to LAMMPS
|
||||
as a user-contributed package is given in "this
|
||||
section"_Section_modify.html#mod_14 of the documentation.
|
||||
|
||||
:line
|
||||
|
||||
[{Including/excluding packages:}] :link(2_3_2)
|
||||
[{Including/excluding packages:}] :link(start_3_2)
|
||||
|
||||
To use or not use a package you must include or exclude it before
|
||||
building LAMMPS. From the src directory, this is typically as simple
|
||||
@ -581,15 +575,18 @@ of simulations. For some packages, this will keep you from having to
|
||||
build auxiliary libraries (see below), and will also produce a smaller
|
||||
executable which may run a bit faster.
|
||||
|
||||
By default, LAMMPS includes only the "kspace", "manybody", and
|
||||
"molecule" packages.
|
||||
When you download a LAMMPS tarball, these packages are pre-installed
|
||||
in the src directory: KSPACE, MANYBODY,MOLECULE. When you download
|
||||
LAMMPS source files from the SVN or Git repositories, no packages are
|
||||
pre-installed.
|
||||
|
||||
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-standard", "make no-standard", "make yes-user", "make
|
||||
no-user", "make yes-all" or "make no-all" to include/exclude various
|
||||
sets of packages. Type "make package" to see the all of the
|
||||
package-related make options.
|
||||
no-name", where "name" is the name of the package in lower-case, e.g.
|
||||
name = kspace for the KSPACE package or name = user-atc for the
|
||||
USER-ATC package. You can also type "make yes-standard", "make
|
||||
no-standard", "make yes-user", "make no-user", "make yes-all" or "make
|
||||
no-all" to include/exclude various sets of packages. Type "make
|
||||
package" to see the all of the package-related make options.
|
||||
|
||||
IMPORTANT NOTE: Inclusion/exclusion of a package works by simply
|
||||
moving files back and forth between the main src directory and
|
||||
@ -618,17 +615,18 @@ type "make package" to see all of the package-related make options.
|
||||
|
||||
:line
|
||||
|
||||
[{Packages that require extra LAMMPS libraries:}] :link(2_3_3)
|
||||
[{Packages that require extra libraries:}] :link(start_3_3)
|
||||
|
||||
A few of the standard and user packages require additional auxiliary
|
||||
libraries be compiled first. If you get a LAMMPS build error about a
|
||||
missing library, this is likely the reason. The source code for these
|
||||
libraries is included in the LAMMPS distribution under the "lib"
|
||||
directory. Look at the lib/README file for a list of these.
|
||||
libraries to be compiled first. If you get a LAMMPS build error about
|
||||
a missing library, this is likely the reason. The source code for
|
||||
these libraries is included in the LAMMPS distribution under the "lib"
|
||||
directory. Look at the lib/README file for a list of these or see
|
||||
"this section"_Section_packages.html of the doc pages.
|
||||
|
||||
Each lib directly has a README file (e.g. lib/reax/README) with
|
||||
instructions on how to build that library. Typically this is done by
|
||||
typing something like:
|
||||
Each lib directory has a README file (e.g. lib/reax/README) with
|
||||
instructions on how to build that library. Typically this is done
|
||||
in this manner:
|
||||
|
||||
make -f Makefile.g++ :pre
|
||||
|
||||
@ -672,12 +670,12 @@ build will likely fail.
|
||||
|
||||
:line
|
||||
|
||||
2.4 Building LAMMPS as a library :h4,link(2_4)
|
||||
2.4 Building LAMMPS as a library :h4,link(start_4)
|
||||
|
||||
LAMMPS itself 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
|
||||
section"_Section_howto.html#howto_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
|
||||
@ -703,19 +701,19 @@ src/library.cpp and src/library.h.
|
||||
See the sample codes couple/simple/simple.cpp and simple.c as examples
|
||||
of C++ and C codes that invoke LAMMPS thru its library interface.
|
||||
There are other examples as well in the couple directory which are
|
||||
discussed in "this section"_Section_howto.html#4_10 of the manual.
|
||||
discussed in "this section"_Section_howto.html#howto_10 of the manual.
|
||||
See "this section"_Section_python.html of the manual for a description
|
||||
of the Python wrapper provided with LAMMPS that operates through the
|
||||
LAMMPS library interface.
|
||||
|
||||
The files src/library.cpp and library.h contain the C-style interface
|
||||
to LAMMPS. See "this section"_Section_howto.html#4_19 of the manual
|
||||
for a description of the interface and how to extend it for your
|
||||
needs.
|
||||
to LAMMPS. See "this section"_Section_howto.html#howto_19 of the
|
||||
manual for a description of the interface and how to extend it for
|
||||
your needs.
|
||||
|
||||
:line
|
||||
|
||||
2.5 Running LAMMPS :h4,link(2_5)
|
||||
2.5 Running LAMMPS :h4,link(start_5)
|
||||
|
||||
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)
|
||||
@ -822,7 +820,7 @@ more processors or setup a smaller problem.
|
||||
|
||||
:line
|
||||
|
||||
2.6 Command-line options :h4,link(2_6)
|
||||
2.6 Command-line options :h4,link(start_6)
|
||||
|
||||
At run time, LAMMPS recognizes several optional command-line switches
|
||||
which may be used in any order. Either the full word or a one-or-two
|
||||
@ -851,13 +849,13 @@ Here are the details on the options:
|
||||
|
||||
Explicitly enable or disable CUDA support, as provided by the
|
||||
USER-CUDA package. If LAMMPS is built with this package, as described
|
||||
above in "Section 2.3"_#2_3, then by default LAMMPS will run in CUDA
|
||||
mode. If this switch is set to "off", then it will not, even if it
|
||||
was built with the USER-CUDA package, which means you can run standard
|
||||
LAMMPS or with the GPU package for testing or benchmarking purposes.
|
||||
The only reason to set the switch to "on", is to check if LAMMPS was
|
||||
built with the USER-CUDA package, since an error will be generated if
|
||||
it was not.
|
||||
above in "Section 2.3"_#start_3, then by default LAMMPS will run in
|
||||
CUDA mode. If this switch is set to "off", then it will not, even if
|
||||
it was built with the USER-CUDA package, which means you can run
|
||||
standard LAMMPS or with the GPU package for testing or benchmarking
|
||||
purposes. The only reason to set the switch to "on", is to check if
|
||||
LAMMPS was built with the USER-CUDA package, since an error will be
|
||||
generated if it was not.
|
||||
|
||||
-echo style :pre
|
||||
|
||||
@ -916,12 +914,12 @@ processors.
|
||||
Note that with MPI installed on a machine (e.g. your desktop), you can
|
||||
run on more (virtual) processors than you have physical processors.
|
||||
This can be useful for running "multi-replica
|
||||
simulations"_Section_howto.html#4_5, on one or a few processors.
|
||||
simulations"_Section_howto.html#howto_5, on one or a few processors.
|
||||
|
||||
The input script specifies what simulation is run on which partition;
|
||||
see the "variable"_variable.html and "next"_next.html commands. This
|
||||
"howto section"_Section_howto.html#4_4 gives examples of how to use
|
||||
these commands in this way. Simulations running on different
|
||||
"howto section"_Section_howto.html#howto_4 gives examples of how to
|
||||
use these commands in this way. Simulations running on different
|
||||
partitions can also communicate with each other; see the
|
||||
"temper"_temper.html command.
|
||||
|
||||
@ -972,17 +970,18 @@ partition screen files file.N.
|
||||
-suffix style :pre
|
||||
|
||||
Use variants of various styles if they exist. The specified style can
|
||||
be {opt} or {gpu} or {cuda}. These refer to optional packages that
|
||||
LAMMPS can be built with, as described above in "Section 2.3"_#2_3.
|
||||
The "opt" style corrsponds to the OPT package, the "gpu" style to the
|
||||
GPU package, and the "cuda" style to the USER-CUDA package.
|
||||
be {opt}, {omp}, {gpu}, or {cuda}. These refer to optional packages that
|
||||
LAMMPS can be built with, as described above in "Section
|
||||
2.3"_#start_3. The "opt" style corrsponds to the OPT package, the
|
||||
"omp" style to the USER-OMP package, the "gpu" style to the GPU
|
||||
package, and the "cuda" style to the USER-CUDA package.
|
||||
|
||||
As an example, all of the packages provide a "pair_style
|
||||
lj/cut"_pair_lj.html variant, with style names lj/cut/opt or
|
||||
lj/cut/gpu or lj/cut/cuda. A variant styles can be specified
|
||||
lj/cut"_pair_lj.html variant, with style names lj/cut/opt, lj/cut/omp,
|
||||
lj/cut/gpu, or lj/cut/cuda. A variant styles can be specified
|
||||
explicitly in your input script, e.g. pair_style lj/cut/gpu. If the
|
||||
-suffix switch is used, you do not need to modify your input script.
|
||||
The specified suffix (opt,gpu,cuda) is automatically appended whenever
|
||||
The specified suffix (opt,omp,gpu,cuda) is automatically appended whenever
|
||||
your input script command creates a new "atom"_atom_style.html,
|
||||
"pair"_pair_style.html, "fix"_fix.html, "compute"_compute.html, or
|
||||
"run"_run_style.html style. atom, pair, fix, compute, or integrate
|
||||
@ -1006,12 +1005,18 @@ variable as a command-line argument overrides any setting for the same
|
||||
index variable in the input script, since index variables cannot be
|
||||
re-defined. See the "variable"_variable.html command for more info on
|
||||
defining index and other kinds of variables and "this
|
||||
section"_Section_commands.html#3_2 for more info on using variables in
|
||||
input scripts.
|
||||
section"_Section_commands.html#cmd_2 for more info on using variables
|
||||
in input scripts.
|
||||
|
||||
NOTE: Currently, the command-line parser looks for arguments that
|
||||
start with "-" to indicate new switches. Thus you cannot specify
|
||||
multiple variable values if any of they start with a "-", e.g. a
|
||||
negative numeric value. It is OK if the first value1 starts with a
|
||||
"-", since it is automatically skipped.
|
||||
|
||||
:line
|
||||
|
||||
2.7 LAMMPS screen output :h4,link(2_7)
|
||||
2.7 LAMMPS screen output :h4,link(start_7)
|
||||
|
||||
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
|
||||
@ -1108,7 +1113,7 @@ communication, roughly 75% in the example above.
|
||||
|
||||
:line
|
||||
|
||||
2.8 Tips for users of previous LAMMPS versions :h4,link(2_8)
|
||||
2.8 Tips for users of previous LAMMPS versions :h4,link(start_8)
|
||||
|
||||
The current C++ began with a complete rewrite of LAMMPS 2001, which
|
||||
was written in F90. Features of earlier versions of LAMMPS are listed
|
||||
|
||||
@ -11,7 +11,7 @@ Section</A>
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>7. Additional tools
|
||||
<H3>9. Additional tools
|
||||
</H3>
|
||||
<P>LAMMPS is designed to be a computational kernel for performing
|
||||
molecular dynamics computations. Additional pre- and post-processing
|
||||
|
||||
@ -8,7 +8,7 @@ Section"_Section_modify.html :c
|
||||
|
||||
:line
|
||||
|
||||
7. Additional tools :h3
|
||||
9. Additional tools :h3
|
||||
|
||||
LAMMPS is designed to be a computational kernel for performing
|
||||
molecular dynamics computations. Additional pre- and post-processing
|
||||
|
||||
BIN
doc/USER/sph/SPH_LAMMPS_userguide.pdf
Executable file
@ -49,7 +49,7 @@ internally; hence the units of K are in energy/radian^2.
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -46,8 +46,8 @@ internally; hence the units of K are in energy/radian^2.
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -80,9 +80,9 @@ same value from the Ea formula.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"class2" package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A>
|
||||
section for more info on packages.
|
||||
<P>This angle style can only be used if LAMMPS was built with the CLASS2
|
||||
package. See the <A HREF = "Section_start.html#start_3">Making LAMMPS</A> section
|
||||
for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
|
||||
@ -77,9 +77,9 @@ same value from the Ea formula.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"class2" package. See the "Making LAMMPS"_Section_start.html#2_3
|
||||
section for more info on packages.
|
||||
This angle style can only be used if LAMMPS was built with the CLASS2
|
||||
package. See the "Making LAMMPS"_Section_start.html#start_3 section
|
||||
for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -52,8 +52,8 @@ internally; hence the units of K are in energy/radian^2.
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"user-cg-cmm" package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section
|
||||
for more info on packages.
|
||||
USER-CG-CMM package. See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
|
||||
@ -49,8 +49,8 @@ internally; hence the units of K are in energy/radian^2.
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"user-cg-cmm" package. See the "Making LAMMPS"_Section_start.html#2_3 section
|
||||
for more info on packages.
|
||||
USER-CG-CMM package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -81,7 +81,7 @@ specified by the associated <A HREF = "angle_coeff.html">angle_coeff</A> command
|
||||
</UL>
|
||||
<P>There are also additional angle styles submitted by users which are
|
||||
included in the LAMMPS distribution. The list of these with links to
|
||||
the individual styles are given in the angle section of <A HREF = "Section_commands.html#3_5">this
|
||||
the individual styles are given in the angle section of <A HREF = "Section_commands.html#cmd_5">this
|
||||
page</A>.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
@ -79,7 +79,7 @@ specified by the associated "angle_coeff"_angle_coeff.html command:
|
||||
There are also additional angle styles submitted by users which are
|
||||
included in the LAMMPS distribution. The list of these with links to
|
||||
the individual styles are given in the angle section of "this
|
||||
page"_Section_commands.html#3_5.
|
||||
page"_Section_commands.html#cmd_5.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -35,8 +35,8 @@ K (energy) :ul
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ internally.
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -40,8 +40,8 @@ internally.
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -23,10 +23,10 @@ angle_coeff * 75.0 1 6
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>The <I>cosine/periodic</I> angle style uses the following potential, which
|
||||
is commonly used in the <A HREF = "Section_howto.html#4_4">DREIDING</A> force field,
|
||||
particularly for organometallic systems where <I>n</I> = 4 might be used
|
||||
for an octahedral complex and <I>n</I> = 3 might be used for a trigonal
|
||||
center:
|
||||
is commonly used in the <A HREF = "Section_howto.html#howto_4">DREIDING</A> force
|
||||
field, particularly for organometallic systems where <I>n</I> = 4 might be
|
||||
used for an octahedral complex and <I>n</I> = 3 might be used for a
|
||||
trigonal center:
|
||||
</P>
|
||||
<CENTER><IMG SRC = "Eqs/angle_cosine_periodic.jpg">
|
||||
</CENTER>
|
||||
@ -51,7 +51,7 @@ geometry.
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -20,10 +20,10 @@ angle_coeff * 75.0 1 6 :pre
|
||||
[Description:]
|
||||
|
||||
The {cosine/periodic} angle style uses the following potential, which
|
||||
is commonly used in the "DREIDING"_Section_howto.html#4_4 force field,
|
||||
particularly for organometallic systems where {n} = 4 might be used
|
||||
for an octahedral complex and {n} = 3 might be used for a trigonal
|
||||
center:
|
||||
is commonly used in the "DREIDING"_Section_howto.html#howto_4 force
|
||||
field, particularly for organometallic systems where {n} = 4 might be
|
||||
used for an octahedral complex and {n} = 3 might be used for a
|
||||
trigonal center:
|
||||
|
||||
:c,image(Eqs/angle_cosine_periodic.jpg)
|
||||
|
||||
@ -48,8 +48,8 @@ geometry.
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"user-misc" package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A>
|
||||
USER-MISC package. See the <A HREF = "Section_start.html#start_3">Making LAMMPS</A>
|
||||
section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -38,7 +38,7 @@ theta (angle) :ul
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"user-misc" package. See the "Making LAMMPS"_Section_start.html#2_3
|
||||
USER-MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||
section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -53,7 +53,7 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"user-misc" package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A>
|
||||
USER-MISC package. See the <A HREF = "Section_start.html#start_3">Making LAMMPS</A>
|
||||
section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -50,7 +50,7 @@ A (real number) :ul
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"user-misc" package. See the "Making LAMMPS"_Section_start.html#2_3
|
||||
USER-MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||
section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -43,7 +43,7 @@ internally.
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -40,8 +40,8 @@ internally.
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ internally; hence the units of K are in energy/radian^2.
|
||||
<P><B>Restrictions:</B> none
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -40,8 +40,8 @@ internally; hence the units of K are in energy/radian^2.
|
||||
[Restrictions:] none
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -74,10 +74,12 @@ in place of an angle style, either in a input script angle_coeff
|
||||
command or in the data file, if you desire to turn off interactions
|
||||
for specific angle types.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P>Unlike other angle styles, the hybrid angle style does not store angle
|
||||
|
||||
@ -71,11 +71,13 @@ in place of an angle style, either in a input script angle_coeff
|
||||
command or in the data file, if you desire to turn off interactions
|
||||
for specific angle types.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
Unlike other angle styles, the hybrid angle style does not store angle
|
||||
coefficient info for individual sub-styles in a "binary restart
|
||||
|
||||
@ -73,7 +73,7 @@ specified by the associated <A HREF = "angle_coeff.html">angle_coeff</A> command
|
||||
</UL>
|
||||
<P>There are also additional angle styles submitted by users which are
|
||||
included in the LAMMPS distribution. The list of these with links to
|
||||
the individual styles are given in the angle section of <A HREF = "Section_commands.html#3_5">this
|
||||
the individual styles are given in the angle section of <A HREF = "Section_commands.html#cmd_5">this
|
||||
page</A>.
|
||||
</P>
|
||||
<HR>
|
||||
@ -83,10 +83,10 @@ page</A>.
|
||||
<P>Angle styles can only be set for atom_styles that allow angles to be
|
||||
defined.
|
||||
</P>
|
||||
<P>Most angle styles are part of the "molecular" package. They are only
|
||||
enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making
|
||||
LAMMPS</A> section for more info on packages. The
|
||||
doc pages for individual bond potentials tell if it is part of a
|
||||
<P>Most angle styles are part of the MOLECULAR package. They are only
|
||||
enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
The doc pages for individual bond potentials tell if it is part of a
|
||||
package.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -72,7 +72,7 @@ specified by the associated "angle_coeff"_angle_coeff.html command:
|
||||
There are also additional angle styles submitted by users which are
|
||||
included in the LAMMPS distribution. The list of these with links to
|
||||
the individual styles are given in the angle section of "this
|
||||
page"_Section_commands.html#3_5.
|
||||
page"_Section_commands.html#cmd_5.
|
||||
|
||||
:line
|
||||
|
||||
@ -81,10 +81,10 @@ page"_Section_commands.html#3_5.
|
||||
Angle styles can only be set for atom_styles that allow angles to be
|
||||
defined.
|
||||
|
||||
Most angle styles are part of the "molecular" package. They are only
|
||||
Most 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_3 section for more info on packages. The
|
||||
doc pages for individual bond potentials tell if it is part of a
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
The doc pages for individual bond potentials tell if it is part of a
|
||||
package.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -124,7 +124,7 @@ one that matches the specified keyword.
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -121,8 +121,8 @@ one that matches the specified keyword.
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</P>
|
||||
<PRE>atom_style style args
|
||||
</PRE>
|
||||
<UL><LI>style = <I>angle</I> or <I>atomic</I> or <I>bond</I> or <I>charge</I> or <I>dipole</I> or <I>electron</I> or <I>ellipsoid</I> or <I>full</I> or <I>molecular</I> or <I>peri</I> or <I>sphere</I> or <I>hybrid</I>
|
||||
<UL><LI>style = <I>angle</I> or <I>atomic</I> or <I>bond</I> or <I>charge</I> or <I>dipole</I> or <I>electron</I> or <I>ellipsoid</I> or <I>full</I> or <I>line</I> or <I>meso</I> or <I>molecular</I> or <I>peri</I> or <I>sphere</I> or <I>tri</I> or <I>hybrid</I>
|
||||
</UL>
|
||||
<PRE> args = none for any style except <I>hybrid</I>
|
||||
<I>hybrid</I> args = list of one or more sub-styles
|
||||
@ -61,9 +61,12 @@ quantities.
|
||||
<TR><TD ><I>electron</I> </TD><TD > charge and spin and eradius </TD><TD > electronic force field </TD></TR>
|
||||
<TR><TD ><I>ellipsoid</I> </TD><TD > shape, quaternion for particle orientation, angular momentum </TD><TD > extended aspherical particles </TD></TR>
|
||||
<TR><TD ><I>full</I> </TD><TD > molecular + charge </TD><TD > bio-molecules </TD></TR>
|
||||
<TR><TD ><I>line</I> </TD><TD > end points, angular velocity </TD><TD > rigid bodies </TD></TR>
|
||||
<TR><TD ><I>meso</I> </TD><TD > rho, e, cv </TD><TD > SPH particles </TD></TR>
|
||||
<TR><TD ><I>molecular</I> </TD><TD > bonds, angles, dihedrals, impropers </TD><TD > uncharged molecules </TD></TR>
|
||||
<TR><TD ><I>peri</I> </TD><TD > mass, volume </TD><TD > mesocopic Peridynamic models </TD></TR>
|
||||
<TR><TD ><I>sphere</I> </TD><TD > diameter, mass, angular velocity </TD><TD > granular models </TD></TR>
|
||||
<TR><TD ><I>tri</I> </TD><TD > corner points, angular momentum </TD><TD > rigid bodies </TD></TR>
|
||||
<TR><TD ><I>wavepacket</I> </TD><TD > charge, spin, eradius, etag, cs_re, cs_im </TD><TD > AWPMD
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
@ -72,8 +75,8 @@ the <A HREF = "mass.html">mass</A> command, except for the finite-size particle
|
||||
styles discussed below. They assign mass on a per-atom basis.
|
||||
</P>
|
||||
<P>All of the styles define point particles, except the <I>sphere</I>,
|
||||
<I>ellipsoid</I>, <I>electron</I>, <I>peri</I>, and <I>wavepacket</I> styles, which define
|
||||
finite-size particles.
|
||||
<I>ellipsoid</I>, <I>electron</I>, <I>peri</I>, <I>wavepacket</I>, <I>line</I>, and <I>tri</I>
|
||||
styles, which define finite-size particles.
|
||||
</P>
|
||||
<P>For the <I>sphere</I> style, the particles are spheres and each stores a
|
||||
per-particle diameter and mass. If the diameter > 0.0, the particle
|
||||
@ -93,12 +96,24 @@ position, which is represented by the eradius = electron size.
|
||||
<P>For the <I>peri</I> style, the particles are spherical and each stores a
|
||||
per-particle mass and volume.
|
||||
</P>
|
||||
<P>The <I>meso</I> style is for smoothed particle hydrodynamics (SPH)
|
||||
particles which store a density (rho), energy (e), and heat capacity
|
||||
(cv).
|
||||
</P>
|
||||
<P>The <I>wavepacket</I> style is similar to <I>electron</I>, but the electrons may
|
||||
consist of several Gaussian wave packets, summed up with coefficients
|
||||
cs= (cs_re,cs_im). Each of the wave packets is treated as a separate
|
||||
particle in LAMMPS, wave packets belonging to the same electron must
|
||||
have identical <I>etag</I> values.
|
||||
</P>
|
||||
<P>For the <I>line</I> style, the particles are idealized line segments and
|
||||
each stores a per-particle mass and length and orientation (i.e. the
|
||||
end points of the line segment).
|
||||
</P>
|
||||
<P>For the <I>tri</I> style, the particles are planar triangles and each
|
||||
stores a per-particle mass and size and orientation (i.e. the corner
|
||||
points of the triangle).
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>Typically, simulations require only a single (non-hybrid) atom style.
|
||||
@ -124,15 +139,16 @@ section</A>.
|
||||
<A HREF = "read_data.html">read_data</A> or <A HREF = "create_box.html">create_box</A> command.
|
||||
</P>
|
||||
<P>The <I>angle</I>, <I>bond</I>, <I>full</I>, and <I>molecular</I> styles are part of the
|
||||
"molecular" package. The <I>dipole</I> style is part of the "dipole"
|
||||
package. The <I>ellipsoid</I> style is part of the "asphere" package. The
|
||||
<I>peri</I> style is part of the "peri" package for Peridynamics. The
|
||||
<I>electron</I> style is part of the "user-eff" package for <A HREF = "pair_eff.html">electronic
|
||||
force fields</A>. The <I>wavepacket</I> style is part of the
|
||||
"user-awpmd" package for the <A HREF = "pair_awpmd.html">antisymmetrized wave packet MD
|
||||
method</A>. They are only enabled if LAMMPS was built
|
||||
with that package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A>
|
||||
section for more info.
|
||||
MOLECULAR package. The <I>dipole</I> style is part of the "dipole"
|
||||
package. The <I>peri</I> style is part of the PERI package for
|
||||
Peridynamics. The <I>electron</I> style is part of the USER-EFF package
|
||||
for <A HREF = "pair_eff.html">electronic force fields</A>. The <I>meso</I> style is part
|
||||
of the USER-SPH package for smoothed particle hydrodyanmics (SPH).
|
||||
See <A HREF = "USER/sph/SPH_LAMMPS_userguide.pdf">this PDF guide</A> to using SPH in
|
||||
LAMMPS. The <I>wavepacket</I> style is part of the USER-AWPMD package for
|
||||
the <A HREF = "pair_awpmd.html">antisymmetrized wave packet MD method</A>. They are
|
||||
only enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
|
||||
@ -13,8 +13,8 @@ atom_style command :h3
|
||||
atom_style style args :pre
|
||||
|
||||
style = {angle} or {atomic} or {bond} or {charge} or {dipole} or \
|
||||
{electron} or {ellipsoid} or {full} or {molecular} or \
|
||||
{peri} or {sphere} or {hybrid} :ul
|
||||
{electron} or {ellipsoid} or {full} or {line} or {meso} or \
|
||||
{molecular} or {peri} or {sphere} or {tri} or {hybrid} :ul
|
||||
args = none for any style except {hybrid}
|
||||
{hybrid} args = list of one or more sub-styles :pre
|
||||
|
||||
@ -58,9 +58,12 @@ quantities.
|
||||
{electron} | charge and spin and eradius | electronic force field |
|
||||
{ellipsoid} | shape, quaternion for particle orientation, angular momentum | extended aspherical particles |
|
||||
{full} | molecular + charge | bio-molecules |
|
||||
{line} | end points, angular velocity | rigid bodies |
|
||||
{meso} | rho, e, cv | SPH particles |
|
||||
{molecular} | bonds, angles, dihedrals, impropers | uncharged molecules |
|
||||
{peri} | mass, volume | mesocopic Peridynamic models |
|
||||
{sphere} | diameter, mass, angular velocity | granular models |
|
||||
{tri} | corner points, angular momentum | rigid bodies |
|
||||
{wavepacket} | charge, spin, eradius, etag, cs_re, cs_im | AWPMD :tb(c=3,s=|)
|
||||
|
||||
All of the styles assign mass to particles on a per-type basis, using
|
||||
@ -68,8 +71,8 @@ the "mass"_mass.html command, except for the finite-size particle
|
||||
styles discussed below. They assign mass on a per-atom basis.
|
||||
|
||||
All of the styles define point particles, except the {sphere},
|
||||
{ellipsoid}, {electron}, {peri}, and {wavepacket} styles, which define
|
||||
finite-size particles.
|
||||
{ellipsoid}, {electron}, {peri}, {wavepacket}, {line}, and {tri}
|
||||
styles, which define finite-size particles.
|
||||
|
||||
For the {sphere} style, the particles are spheres and each stores a
|
||||
per-particle diameter and mass. If the diameter > 0.0, the particle
|
||||
@ -89,12 +92,24 @@ position, which is represented by the eradius = electron size.
|
||||
For the {peri} style, the particles are spherical and each stores a
|
||||
per-particle mass and volume.
|
||||
|
||||
The {meso} style is for smoothed particle hydrodynamics (SPH)
|
||||
particles which store a density (rho), energy (e), and heat capacity
|
||||
(cv).
|
||||
|
||||
The {wavepacket} style is similar to {electron}, but the electrons may
|
||||
consist of several Gaussian wave packets, summed up with coefficients
|
||||
cs= (cs_re,cs_im). Each of the wave packets is treated as a separate
|
||||
particle in LAMMPS, wave packets belonging to the same electron must
|
||||
have identical {etag} values.
|
||||
|
||||
For the {line} style, the particles are idealized line segments and
|
||||
each stores a per-particle mass and length and orientation (i.e. the
|
||||
end points of the line segment).
|
||||
|
||||
For the {tri} style, the particles are planar triangles and each
|
||||
stores a per-particle mass and size and orientation (i.e. the corner
|
||||
points of the triangle).
|
||||
|
||||
:line
|
||||
|
||||
Typically, simulations require only a single (non-hybrid) atom style.
|
||||
@ -120,15 +135,16 @@ 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 {dipole} style is part of the "dipole"
|
||||
package. The {ellipsoid} style is part of the "asphere" package. The
|
||||
{peri} style is part of the "peri" package for Peridynamics. The
|
||||
{electron} style is part of the "user-eff" package for "electronic
|
||||
force fields"_pair_eff.html. The {wavepacket} style is part of the
|
||||
"user-awpmd" package for the "antisymmetrized wave packet MD
|
||||
method"_pair_awpmd.html. They are only enabled if LAMMPS was built
|
||||
with that package. See the "Making LAMMPS"_Section_start.html#2_3
|
||||
section for more info.
|
||||
MOLECULAR package. The {dipole} style is part of the "dipole"
|
||||
package. The {peri} style is part of the PERI package for
|
||||
Peridynamics. The {electron} style is part of the USER-EFF package
|
||||
for "electronic force fields"_pair_eff.html. The {meso} style is part
|
||||
of the USER-SPH package for smoothed particle hydrodyanmics (SPH).
|
||||
See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in
|
||||
LAMMPS. The {wavepacket} style is part of the USER-AWPMD package for
|
||||
the "antisymmetrized wave packet MD method"_pair_awpmd.html. They are
|
||||
only enabled if LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -42,9 +42,9 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
</UL>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the "class2"
|
||||
package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for
|
||||
more info on packages.
|
||||
<P>This bond style can only be used if LAMMPS was built with the CLASS2
|
||||
package. See the <A HREF = "Section_start.html#start_3">Making LAMMPS</A> section
|
||||
for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
|
||||
@ -39,9 +39,9 @@ K4 (energy/distance^4) :ul
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the "class2"
|
||||
package. See the "Making LAMMPS"_Section_start.html#2_3 section for
|
||||
more info on packages.
|
||||
This bond style can only be used if LAMMPS was built with the CLASS2
|
||||
package. See the "Making LAMMPS"_Section_start.html#start_3 section
|
||||
for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -77,7 +77,7 @@ specified by the associated <A HREF = "bond_coeff.html">bond_coeff</A> command:
|
||||
</UL>
|
||||
<P>There are also additional bond styles submitted by users which are
|
||||
included in the LAMMPS distribution. The list of these with links to
|
||||
the individual styles are given in the bond section of <A HREF = "Section_commands.html#3_5">this
|
||||
the individual styles are given in the bond section of <A HREF = "Section_commands.html#cmd_5">this
|
||||
page</A>.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
@ -75,7 +75,7 @@ specified by the associated "bond_coeff"_bond_coeff.html command:
|
||||
There are also additional bond styles submitted by users which are
|
||||
included in the LAMMPS distribution. The list of these with links to
|
||||
the individual styles are given in the bond section of "this
|
||||
page"_Section_commands.html#3_5.
|
||||
page"_Section_commands.html#cmd_5.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P>You typically should specify <A HREF = "special_bonds.html"">special_bonds fene</A>
|
||||
|
||||
@ -42,8 +42,8 @@ sigma (distance) :ul
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
You typically should specify "special_bonds fene"_special_bonds.html"
|
||||
or "special_bonds lj/coul 0 1 1"_special_bonds.html to use this bond
|
||||
|
||||
@ -50,7 +50,7 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P>You typically should specify <A HREF = "special_bonds.html"">special_bonds fene</A>
|
||||
|
||||
@ -47,8 +47,8 @@ delta (distance) :ul
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
You typically should specify "special_bonds fene"_special_bonds.html"
|
||||
or "special_bonds lj/coul 0 1 1"_special_bonds.html to use this bond
|
||||
|
||||
@ -40,7 +40,7 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -37,8 +37,8 @@ r0 (distance) :ul
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the
|
||||
"user-misc" package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A>
|
||||
USER-MISC package. See the <A HREF = "Section_start.html#start_3">Making LAMMPS</A>
|
||||
section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -40,7 +40,7 @@ rc (distance) :ul
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
"user-misc" package. See the "Making LAMMPS"_Section_start.html#2_3
|
||||
USER-MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||
section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -43,7 +43,7 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the
|
||||
"user-misc" package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A>
|
||||
USER-MISC package. See the <A HREF = "Section_start.html#start_3">Making LAMMPS</A>
|
||||
section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -40,7 +40,7 @@ rc (distance) :ul
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
"user-misc" package. See the "Making LAMMPS"_Section_start.html#2_3
|
||||
USER-MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||
section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -57,10 +57,12 @@ place of a bond style, either in a input script bond_coeff command or
|
||||
in the data file, if you desire to turn off interactions for specific
|
||||
bond types.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P>Unlike other bond styles, the hybrid bond style does not store bond
|
||||
|
||||
@ -54,11 +54,13 @@ place of a bond style, either in a input script bond_coeff command or
|
||||
in the data file, if you desire to turn off interactions for specific
|
||||
bond types.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
Unlike other bond styles, the hybrid bond style does not store bond
|
||||
coefficient info for individual sub-styles in a "binary restart
|
||||
|
||||
@ -41,7 +41,7 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -38,8 +38,8 @@ r0 (distance) :ul
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ or <A HREF = "read_restart.html">read_restart</A> commands:
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -38,8 +38,8 @@ lamda (distance) :ul
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -76,7 +76,7 @@ delete_bonds all bond 0 remove
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P>The <I>quartic</I> style requires that <A HREF = "special_bonds.html">special_bonds</A>
|
||||
|
||||
@ -73,8 +73,8 @@ delete_bonds all bond 0 remove :pre
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
The {quartic} style requires that "special_bonds"_special_bonds.html
|
||||
parameters be set to 1,1,1. Three- and four-body interactions (angle,
|
||||
|
||||
@ -82,7 +82,7 @@ specified by the associated <A HREF = "bond_coeff.html">bond_coeff</A> command:
|
||||
</UL>
|
||||
<P>There are also additional bond styles submitted by users which are
|
||||
included in the LAMMPS distribution. The list of these with links to
|
||||
the individual styles are given in the bond section of <A HREF = "Section_commands.html#3_5">this
|
||||
the individual styles are given in the bond section of <A HREF = "Section_commands.html#cmd_5">this
|
||||
page</A>.
|
||||
</P>
|
||||
<HR>
|
||||
@ -92,10 +92,10 @@ page</A>.
|
||||
<P>Bond styles can only be set for atom styles that allow bonds to be
|
||||
defined.
|
||||
</P>
|
||||
<P>Most bond styles are part of the "molecular" package. They are only
|
||||
enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making
|
||||
LAMMPS</A> section for more info on packages. The
|
||||
doc pages for individual bond potentials tell if it is part of a
|
||||
<P>Most bond styles are part of the MOLECULAR package. They are only
|
||||
enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
The doc pages for individual bond potentials tell if it is part of a
|
||||
package.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -80,7 +80,7 @@ specified by the associated "bond_coeff"_bond_coeff.html command:
|
||||
There are also additional bond styles submitted by users which are
|
||||
included in the LAMMPS distribution. The list of these with links to
|
||||
the individual styles are given in the bond section of "this
|
||||
page"_Section_commands.html#3_5.
|
||||
page"_Section_commands.html#cmd_5.
|
||||
|
||||
:line
|
||||
|
||||
@ -89,10 +89,10 @@ page"_Section_commands.html#3_5.
|
||||
Bond styles can only be set for atom styles that allow bonds to be
|
||||
defined.
|
||||
|
||||
Most bond styles are part of the "molecular" package. They are only
|
||||
Most 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_3 section for more info on packages. The
|
||||
doc pages for individual bond potentials tell if it is part of a
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
The doc pages for individual bond potentials tell if it is part of a
|
||||
package.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -121,7 +121,7 @@ one that matches the specified keyword.
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the <A HREF = "Section_start.html#2_3">Making
|
||||
MOLECULAR package (which it is by default). See the <A HREF = "Section_start.html#start_3">Making
|
||||
LAMMPS</A> section for more info on packages.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
|
||||
@ -118,8 +118,8 @@ one that matches the specified keyword.
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
"molecular" package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||||
MOLECULAR package (which it is by default). See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||