diff --git a/doc/Eqs/pair_gayberne.jpg b/doc/Eqs/pair_gayberne.jpg new file mode 100644 index 0000000000..70862bd221 Binary files /dev/null and b/doc/Eqs/pair_gayberne.jpg differ diff --git a/doc/Eqs/pair_gayberne.tex b/doc/Eqs/pair_gayberne.tex new file mode 100644 index 0000000000..d3c199e826 --- /dev/null +++ b/doc/Eqs/pair_gayberne.tex @@ -0,0 +1,14 @@ +\documentstyle[12pt]{article} + +\begin{document} + +$$ U ( \mathbf{A}_1, \mathbf{A}_2, \mathbf{r}_{12} ) = U_r ( +\mathbf{A}_1, \mathbf{A}_2, \mathbf{r}_{12}, \gamma ) \cdot \eta_{12} ( +\mathbf{A}_1, \mathbf{A}_2, \upsilon ) \cdot \chi_{12} ( \mathbf{A}_1, +\mathbf{A}_2, \mathbf{r}_{12}, \mu ) $$ + +$$ U_r = 4 \epsilon ( \varrho^{12} - \varrho^6) $$ + +$$ \varrho = \frac{\sigma}{ h_{12} + \gamma \sigma} $$ + +\end{document} diff --git a/doc/Eqs/pair_gayberne2.jpg b/doc/Eqs/pair_gayberne2.jpg new file mode 100644 index 0000000000..2e849a4b3b Binary files /dev/null and b/doc/Eqs/pair_gayberne2.jpg differ diff --git a/doc/Eqs/pair_gayberne2.tex b/doc/Eqs/pair_gayberne2.tex new file mode 100644 index 0000000000..6efb755774 --- /dev/null +++ b/doc/Eqs/pair_gayberne2.tex @@ -0,0 +1,9 @@ +\documentstyle[12pt]{article} + +\begin{document} + +$$ \epsilon_a = \sigma \cdot { \frac{a}{ b \cdot c } }; \epsilon_b = +\sigma \cdot { \frac{b}{ a \cdot c } }; \epsilon_c = \sigma \cdot { +\frac{c}{ a \cdot b } } $$ + +\end{document} diff --git a/doc/Eqs/pair_gayberne_extra.pdf b/doc/Eqs/pair_gayberne_extra.pdf new file mode 100644 index 0000000000..80109f9b25 Binary files /dev/null and b/doc/Eqs/pair_gayberne_extra.pdf differ diff --git a/doc/Eqs/pair_gayberne_extra.tex b/doc/Eqs/pair_gayberne_extra.tex new file mode 100644 index 0000000000..f9caea06cc --- /dev/null +++ b/doc/Eqs/pair_gayberne_extra.tex @@ -0,0 +1,167 @@ +\documentstyle[12pt]{article} + +\begin{document} + +\begin{center} + +\large{Additional documention for the Gay-Berne ellipsoidal potential \\ + as implemented in LAMMPS} + +\end{center} + +\centerline{Mike Brown, Sandia National Labs, April 2007} + +\vspace{0.3in} + +The Gay-Berne anisotropic LJ interaction between pairs of dissimilar +ellipsoidal particles is given by + +$$ U ( \mathbf{A}_1, \mathbf{A}_2, \mathbf{r}_{12} ) = U_r ( +\mathbf{A}_1, \mathbf{A}_2, \mathbf{r}_{12}, \gamma ) \cdot \eta_{12} ( +\mathbf{A}_1, \mathbf{A}_2, \upsilon ) \cdot \chi_{12} ( \mathbf{A}_1, +\mathbf{A}_2, \mathbf{r}_{12}, \mu ) $$ + +where $\mathbf{A}_1$ and $\mathbf{A}_2$ are the transformation matrices +from the simulation box frame to the body frame and $\mathbf{r}_{12}$ +is the center to center vectorb etween the particles. +$U_r$ controls the shifted distance dependent +interaction based on the distance of closest approach of the two +particles ($h_{12}$) and the user-specified shift parameter gamma: + +$$ U_r = 4 \epsilon ( \varrho^{12} - \varrho^6) $$ + +$$ \varrho = \frac{\sigma}{ h_{12} + \gamma \sigma} $$ + +Let the shape matrices $\mathbf{S}_i=\mbox{diag}(a_i, b_i, c_i)$ be +given by the ellipsoid radii. The $\eta$ orientation-dependent energy +based on the user-specified exponent $\upsilon$ is given by + +$$ \eta_{12} = [ \frac{ 2 s_1 s_2 }{\det ( \mathbf{G}_{12} )}]^{ +\upsilon / 2 } , $$ + +$$ s_i = [a_i b_i + c_i c_i][a_i b_i]^{ 1 / 2 }, $$ + +and + +$$ \mathbf{G}_{12} = \mathbf{A}_1^T \mathbf{S}_1^2 \mathbf{A}_1 + +\mathbf{A}_2^T \mathbf{S}_2^2 \mathbf{A}_2 = \mathbf{G}_1 + +\mathbf{G}_2. $$ + +Let the relative energy matrices $\mathbf{E}_i = \mbox{diag} +(\epsilon_{ia}, \epsilon_{ib}, \epsilon_{ic})$ be given by +the relative well depths (dimensionless energy scales +inversely proportional to the well-depths of the respective +orthogonal configurations of the interacting molecules). The +$\chi$ orientation-dependent energy based on the user-specified +exponent $\mu$ is given by + +$$ \chi_{12} = [2 \hat{\mathbf{r}}_{12}^T \mathbf{B}_{12}^{-1} +\hat{\mathbf{r}}_{12}]^\mu, $$ + +$$ \hat{\mathbf{r}}_{12} = { \mathbf{r}_{12} } / |\mathbf{r}_{12}|, $$ + +and + +$$ \mathbf{B}_{12} = \mathbf{A}_1^T \mathbf{E}_1^2 \mathbf{A}_1 + +\mathbf{A}_2^T \mathbf{E}_2^2 \mathbf{A}_2 = \mathbf{B}_1 + +\mathbf{B}_2. $$ + +Here, we use the distance of closest approach approximation given by the +Perram reference, namely + +$$ h_{12} = r - \sigma_{12} ( \mathbf{A}_1, \mathbf{A}_2, +\mathbf{r}_{12} ), $$ + +$$ r = |\mathbf{r}_{12}|, $$ + +and + +$$ \sigma_{12} = [ \frac{1}{2} \hat{\mathbf{r}}_{12}^T +\mathbf{G}_{12}^{-1} \hat{\mathbf{r}}_{12}.]^{ -1/2 } $$ + +Forces and Torques: Because the analytic forces and torques have not +been published for this potential, we list them here: + +$$ \mathbf{f} = - \eta_{12} ( U_r \cdot { \frac{\partial \chi_{12} +}{\partial r} } + \chi_{12} \cdot { \frac{\partial U_r }{\partial r} } +) $$ + +where the derivative of $U_r$ is given by (see Allen reference) + +$$ \frac{\partial U_r }{\partial r} = \frac{ \partial U_{SLJ} }{ +\partial r } \hat{\mathbf{r}}_{12} + r^{-2} \frac{ \partial U_{SLJ} }{ +\partial \varphi } [ \mathbf{\kappa} - ( \mathbf{\kappa}^T \cdot +\hat{\mathbf{r}}_{12}) \hat{\mathbf{r}}_{12} ], $$ + +$$ \frac{ \partial U_{SLJ} }{ \partial \varphi } = 24 \epsilon ( 2 +\varrho^{13} - \varrho^7 ) \sigma_{12}^3 / 2 \sigma, $$ + +$$ \frac{ \partial U_{SLJ} }{ \partial r } = 24 \epsilon ( 2 +\varrho^{13} - \varrho^7 ) / \sigma, $$ + +and + +$$ \mathbf{\kappa} = \mathbf{G}_{12}^{-1} \cdot \mathbf{r}_{12}. $$ + +The derivate of the $\chi$ term is given by + +$$ \frac{\partial \chi_{12} }{\partial r} = - r^{-2} \cdot 4.0 \cdot [ +\mathbf{\iota} - ( \mathbf{\iota}^T \cdot \hat{\mathbf{r}}_{12} ) +\hat{\mathbf{r}}_{12} ] \cdot \mu \cdot \chi_{12}^{ ( \mu -1 ) / \mu +}, $$ + +and + +$$ \mathbf{\iota} = \mathbf{B}_{12}^{-1} \cdot \mathbf{r}_{12}. $$ + +The torque is given by: + +$$ \mathbf{\tau}_i = U_r \eta_{12} \frac{ \partial \chi_{12} }{ +\partial \mathbf{q}_i } + \chi_{12} ( U_r \frac{ \partial \eta_{12} }{ +\partial \mathbf{q}_i } + \eta_{12} \frac{ \partial U_r }{ \partial +\mathbf{q}_i } ), $$ + +$$ \frac{ \partial U_r }{ \partial \mathbf{q}_i } = \mathbf{A}_i \cdot +(- \mathbf{\kappa}^T \cdot \mathbf{G}_i \times \mathbf{f}_k ), $$ + +$$ \mathbf{f}_k = - r^{-2} \frac{ \delta U_{SLJ} }{ \delta \varphi } +\mathbf{\kappa}, $$ + +and + +$$ \frac{ \partial \chi_{12} }{ \partial \mathbf{q}_i } = 4.0 \cdot +r^{-2} \cdot \mathbf{A}_i (- \mathbf{\iota}^T \cdot \mathbf{B}_i +\times \mathbf{\iota} ). $$ + +For the derivative of the $\eta$ term, we were unable to find a matrix +expression due to the determinant. Let $a_{mi}$ be the mth row of the +rotation matrix $A_i$. Then, + +$$ \frac{ \partial \eta_{12} }{ \partial \mathbf{q}_i } = \mathbf{A}_i +\cdot \sum_m \mathbf{a}_{mi} \times \frac{ \partial \eta_{12} }{ +\partial \mathbf{a}_{mi} } = \mathbf{A}_i \cdot \sum_m \mathbf{a}_{mi} +\times \mathbf{d}_{mi}, $$ + +where $d_mi$ represents the mth row of a derivative matrix $D_i$, + +$$ \mathbf{D}_i = - \frac{1}{2} \cdot ( \frac{2s1s2}{\det ( +\mathbf{G}_{12} ) } )^{ \upsilon / 2 } \cdot {\frac{\upsilon}{\det ( +\mathbf{G}_{12} ) }} \cdot \mathbf{E}, $$ + +where the matrix $E$ gives the derivate with respect to the rotation +matrix, + +$$ \mathbf{E} = [ e_{my} ] = \frac{ \partial \eta_{12} }{ \partial +\mathbf{A}_i }, $$ + +and + +$$ e_{my} = \det ( \mathbf{G}_{12} ) \cdot \mbox{trace} [ +\mathbf{G}_{12}^{-1} \cdot ( \hat{\mathbf{p}}_y \otimes \mathbf{a}_m + +\mathbf{a}_m \otimes \hat{\mathbf{p}}_y ) \cdot s_{mm}^2 ]. $$ + +Here, $p_v$ is the unit vector for the axes in the lab frame $(p1=[1, 0, +0], p2=[0, 1, 0], and p3=[0, 0, 1])$ and $s_{mm}$ gives the mth radius of +the ellipsoid $i$. + +\end{document} diff --git a/doc/Eqs/pair_lj.tex b/doc/Eqs/pair_lj.tex index 02d2fff710..011fb8b769 100644 --- a/doc/Eqs/pair_lj.tex +++ b/doc/Eqs/pair_lj.tex @@ -8,4 +8,4 @@ $$ \qquad r < r_c $$ -\end{document} \ No newline at end of file +\end{document} diff --git a/doc/Section_commands.html b/doc/Section_commands.html index 01386668ee..2324950257 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -319,11 +319,11 @@ description:
- - - - - + + + +
addforceaveforceave/spatialave/timebox/relaxcomdeformdeposit
dragefieldenforce2dfreezegran/diaggravitygyrationindent
langevinlineforcemsdmomentumnphnptnvenve/gran
nve/noforcenvtorient/fccplaneforcepoemspourprintrdf
recenterrigidsetforceshakespringspring/rgspring/selftemp/rescale
tmduniaxialviscousvolume/rescalewall/granwall/lj93wall/lj126wall/reflect
wiggle +
langevinlineforcemsdmomentumnphnptnvenve/asphere
nve/grannve/noforcenvtorient/fccplaneforcepoemspourprint
rdfrecenterrigidsetforceshakespringspring/rgspring/self
temp/rescaletmduniaxialviscousvolume/rescalewall/granwall/lj93wall/lj126
wall/reflectwiggle

@@ -334,7 +334,8 @@ description:

- +
centro/atomepair/atometotal/atomke/atompressurerotate/dipole
rotate/granstress/atomtemptemp/partialtemp/ramptemp/regionvariable/atom +
rotate/granstress/atomtemptemp/aspheretemp/partialtemp/ramp
temp/regionvariablevariable/atom

@@ -347,13 +348,13 @@ full description: nonehybridbuckbuck/coul/cut buck/coul/longdpdeameam/opt eam/alloyeam/alloy/opteam/fseam/fs/opt -gran/hertziangran/historygran/no_historylj/charmm/coul/charmm -lj/charmm/coul/charmm/implicitlj/charmm/coul/longlj/charmm/coul/long/optlj/class2 -lj/class2/coul/cutlj/class2/coul/longlj/cutlj/cut/opt -lj/cut/coul/cutlj/cut/coul/debyelj/cut/coul/longlj/cut/coul/long/tip4p -lj/expandlj/smoothmeammorse -morse/optsoftswtable -tersoffyukawa +gaybernegran/hertziangran/historygran/no_history +lj/charmm/coul/charmmlj/charmm/coul/charmm/implicitlj/charmm/coul/longlj/charmm/coul/long/opt +lj/class2lj/class2/coul/cutlj/class2/coul/longlj/cut +lj/cut/optlj/cut/coul/cutlj/cut/coul/debyelj/cut/coul/long +lj/cut/coul/long/tip4plj/expandlj/smoothmeam +morsemorse/optsoftsw +tabletersoffyukawa
diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt index 7b88959247..c6820f8012 100644 --- a/doc/Section_commands.txt +++ b/doc/Section_commands.txt @@ -394,6 +394,7 @@ description: "nph"_fix_nph.html, "npt"_fix_npt.html, "nve"_fix_nve.html, +"nve/asphere"_fix_nve_asphere.html, "nve/gran"_fix_nve_gran.html, "nve/noforce"_fix_nve_noforce.html, "nvt"_fix_nvt.html, @@ -436,9 +437,11 @@ description: "rotate/gran"_compute_rotate_gran.html, "stress/atom"_compute_stress_atom.html, "temp"_compute_temp.html, +"temp/asphere"_compute_temp_asphere.html, "temp/partial"_compute_temp_partial.html, "temp/ramp"_compute_temp_ramp.html, -"temp/region"_compute_temp_region.html +"temp/region"_compute_temp_region.html, +"variable"_compute_variable.html, "variable/atom"_compute_variable_atom.html :tb(c=6,ea=c) :line @@ -459,6 +462,7 @@ full description: "eam/alloy/opt"_pair_eam.html, "eam/fs"_pair_eam.html, "eam/fs/opt"_pair_eam.html, +"gayberne"_pair_gayberne.html, "gran/hertzian"_pair_gran.html, "gran/history"_pair_gran.html, "gran/no_history"_pair_gran.html, diff --git a/doc/Section_start.html b/doc/Section_start.html index 97150c6681..2d1c658de4 100644 --- a/doc/Section_start.html +++ b/doc/Section_start.html @@ -272,6 +272,7 @@ can see the list of packages by typing "make package". The current list of packages is as follows:

+ @@ -293,7 +294,7 @@ This will produce a smaller executable which may run a bit faster.

By default, LAMMPS includes only the "kspace", "manybody", and "molecule" packages. As described below, some packages require LAMMPS be linked to separately built library files, which will require -editing of your machine Makefile. +editing of your src/MAKE/Makefile.machine.

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 @@ -316,33 +317,19 @@ overwrite files in the package directories with src files. Typing "make package-check" will list differences between src and package versions of the same files.

-

To use the "poems" package you must build LAMMPS with the POEMS -library, which computes the constrained rigid-body motion of -articulated (jointed) multibody systems. POEMS was written and is -distributed by Prof Kurt Anderson's group at Rensselaer Polytechnic -Institute (RPI) and a version is included in the LAMMPS distribution -under the "lib" directory. To build LAMMPS with POEMS, you must use a -low-level LAMMPS Makefile that includes the POEMS directory in its -paths. See Makefile.g++_poems as an example. You must also build -POEMS itself as a library before building LAMMPS, so that LAMMPS can -link against it. The POEMS library is built by typing "make" from -within the poems directory with the appropriate Makefile, e.g. "make --f Makefile.g++". If one of the provided Makefiles is not appropriate -for your system you can edit or add one as needed. -

-

To use the "meam" package you must build LAMMPS with the MEAM library, -which computes the modified embedded atom method potential, which is a -generalization of EAM potentials that can be used to model a wider -variety of materials. This MEAM implementation was written by Greg -Wagner at Sandia and is included under the "lib" directory. To build -LAMMPS with MEAM, you must use a low-level LAMMPS Makefile that -includes the MEAM directory in its paths. See Makefile.linux_meam as -an example. You must also build MEAM itself as a library before -building LAMMPS, so that LAMMPS can link against it. This requires a -F90 compiler. The library is built by typing "make" from within the -meam directory with the appropriate Makefile, e.g. "make -f -Makefile.icc". If one of the provided Makefiles is not appropriate -for your system you can edit or add one as needed. +

To use the "meam" package you must build LAMMPS with the MEAM library +in lib/meam, which computes the modified embedded atom method +potential, which is a generalization of EAM potentials that can be +used to model a wider variety of materials. This MEAM implementation +was written by Greg Wagner at Sandia. To build LAMMPS with MEAM, you +must use a low-level LAMMPS Makefile that includes the MEAM directory +in its paths. See Makefile.linux_meam as an example. You must also +build MEAM itself as a library before building LAMMPS, so that LAMMPS +can link against it. This requires a F90 compiler. The library is +built by typing "make" from within the meam directory with the +appropriate Makefile, e.g. "make -f Makefile.icc". If one of the +provided Makefiles is not appropriate for your system you can edit or +add one as needed.

Note that linking a Fortran library to a C++ code can be problematic (e.g. Fortran routine names can't be found due to non-standard @@ -350,6 +337,19 @@ underscore rules) and typically requires additional C++ or F90 libraries be included in the link. You may need to read documentation for your compiler about how to do this correctly.

+

To use the "poems" package you must build LAMMPS with the POEMS +library in lib/poems, which computes the constrained rigid-body motion +of articulated (jointed) multibody systems. POEMS was written and is +distributed by Prof Kurt Anderson's group at Rensselaer Polytechnic +Institute (RPI). To build LAMMPS with POEMS, you must use a low-level +LAMMPS Makefile that includes the POEMS directory in its paths. See +Makefile.g++_poems as an example. You must also build POEMS itself as +a library before building LAMMPS, so that LAMMPS can link against it. +The POEMS library is built by typing "make" from within the poems +directory with the appropriate Makefile, e.g. "make -f Makefile.g++". +If one of the provided Makefiles is not appropriate for your system +you can edit or add one as needed. +

2.4 Building LAMMPS as a library

LAMMPS can be built as a library, which can then be called from diff --git a/doc/Section_start.txt b/doc/Section_start.txt index 5bbb6f6ae1..a0b6de21af 100644 --- a/doc/Section_start.txt +++ b/doc/Section_start.txt @@ -266,6 +266,7 @@ fields for molecular systems or granular systems are in packages. You can see the list of packages by typing "make package". The current list of packages is as follows: +asphere : aspherical particles class2 : class 2 force fields dpd : dissipative particle dynamics (DPD) force field granular : force fields and boundary conditions for granular systems @@ -286,7 +287,7 @@ This will produce a smaller executable which may run a bit faster. By default, LAMMPS includes only the "kspace", "manybody", and "molecule" packages. As described below, some packages require LAMMPS be linked to separately built library files, which will require -editing of your machine Makefile. +editing of your src/MAKE/Makefile.machine. 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 @@ -309,33 +310,19 @@ overwrite files in the package directories with src files. Typing "make package-check" will list differences between src and package versions of the same files. -To use the "poems" package you must build LAMMPS with the POEMS -library, which computes the constrained rigid-body motion of -articulated (jointed) multibody systems. POEMS was written and is -distributed by Prof Kurt Anderson's group at Rensselaer Polytechnic -Institute (RPI) and a version is included in the LAMMPS distribution -under the "lib" directory. To build LAMMPS with POEMS, you must use a -low-level LAMMPS Makefile that includes the POEMS directory in its -paths. See Makefile.g++_poems as an example. You must also build -POEMS itself as a library before building LAMMPS, so that LAMMPS can -link against it. The POEMS library is built by typing "make" from -within the poems directory with the appropriate Makefile, e.g. "make --f Makefile.g++". If one of the provided Makefiles is not appropriate -for your system you can edit or add one as needed. - -To use the "meam" package you must build LAMMPS with the MEAM library, -which computes the modified embedded atom method potential, which is a -generalization of EAM potentials that can be used to model a wider -variety of materials. This MEAM implementation was written by Greg -Wagner at Sandia and is included under the "lib" directory. To build -LAMMPS with MEAM, you must use a low-level LAMMPS Makefile that -includes the MEAM directory in its paths. See Makefile.linux_meam as -an example. You must also build MEAM itself as a library before -building LAMMPS, so that LAMMPS can link against it. This requires a -F90 compiler. The library is built by typing "make" from within the -meam directory with the appropriate Makefile, e.g. "make -f -Makefile.icc". If one of the provided Makefiles is not appropriate -for your system you can edit or add one as needed. +To use the "meam" package you must build LAMMPS with the MEAM library +in lib/meam, which computes the modified embedded atom method +potential, which is a generalization of EAM potentials that can be +used to model a wider variety of materials. This MEAM implementation +was written by Greg Wagner at Sandia. To build LAMMPS with MEAM, you +must use a low-level LAMMPS Makefile that includes the MEAM directory +in its paths. See Makefile.linux_meam as an example. You must also +build MEAM itself as a library before building LAMMPS, so that LAMMPS +can link against it. This requires a F90 compiler. The library is +built by typing "make" from within the meam directory with the +appropriate Makefile, e.g. "make -f Makefile.icc". If one of the +provided Makefiles is not appropriate for your system you can edit or +add one as needed. Note that linking a Fortran library to a C++ code can be problematic (e.g. Fortran routine names can't be found due to non-standard @@ -343,6 +330,19 @@ underscore rules) and typically requires additional C++ or F90 libraries be included in the link. You may need to read documentation for your compiler about how to do this correctly. +To use the "poems" package you must build LAMMPS with the POEMS +library in lib/poems, which computes the constrained rigid-body motion +of articulated (jointed) multibody systems. POEMS was written and is +distributed by Prof Kurt Anderson's group at Rensselaer Polytechnic +Institute (RPI). To build LAMMPS with POEMS, you must use a low-level +LAMMPS Makefile that includes the POEMS directory in its paths. See +Makefile.g++_poems as an example. You must also build POEMS itself as +a library before building LAMMPS, so that LAMMPS can link against it. +The POEMS library is built by typing "make" from within the poems +directory with the appropriate Makefile, e.g. "make -f Makefile.g++". +If one of the provided Makefiles is not appropriate for your system +you can edit or add one as needed. + 2.4 Building LAMMPS as a library :h4,link(2_4) LAMMPS can be built as a library, which can then be called from diff --git a/doc/atom_style.html b/doc/atom_style.html index 3007f047b4..554e27102e 100644 --- a/doc/atom_style.html +++ b/doc/atom_style.html @@ -15,7 +15,7 @@

atom_style style args 
 
- -

Typical simulations with a single pair potential will use only one of -these styles. For cases where multiple pair potentials will be used -(see the pair_style hybrid command), it may be -necessary to use multiple atom styles. Another example is doing a DPD -simulations with bonds or angles. In these cases the hybrid style -can be used to list multiple atom styles. Atoms will then store and -communicate the union of all quantities implied by the individual -styles. +

Typically, simulations require only a single (non-hybrid) atom style. +If some atoms in the simulation do not have all the properties defined +by a particular style, use the simplest style that defines all the +needed properties by any atom. For example, if some atoms in a +simulation are charged, but others are not, use the charge style. +If some atoms have bonds, but others do not, use the bond style. +The only scenario where the hybrid style is needed is if there is no +single style which defines all needed properties of all atoms. +E.g. if you want charged DPD particles, you would need to use +"atom_style hybrid dpd charge". When a hybrid style is used, atoms +store and communicate the union of all quantities implied by the +individual styles.

LAMMPS can be extended with new atom styles; see this section. diff --git a/doc/atom_style.txt b/doc/atom_style.txt index a1f2b13436..229970c100 100644 --- a/doc/atom_style.txt +++ b/doc/atom_style.txt @@ -12,7 +12,7 @@ atom_style command :h3 atom_style style args :pre -style = {angle} or {atomic} or {bond} or {charge} or {dpd} or \ +style = {angle} or {atomic} or {bond} or {charge} or {dpd} or {ellipsoid} or \ {full} or {granular} or {molecular} or {hybrid} :ul args = none for any style except {hybrid} {hybrid} args = list of one or more sub-styles :pre @@ -50,18 +50,23 @@ velocities, atom IDs and types. {bond} = bonds - e.g. bead-spring polymers {charge} = charge {dpd} = default values, also communicates velocities +{ellipsoid} = quaternion for particle orientation, angular velocity/momentum {molecular} = bonds, angles, dihedrals, impropers - e.g. all-atom polymers {full} = molecular + charge - e.g. biomolecules, charged polymers {granular} = granular atoms with rotational properties :ul -Typical simulations with a single pair potential will use only one of -these styles. For cases where multiple pair potentials will be used -(see the "pair_style"_pair_style.html {hybrid} command), it may be -necessary to use multiple atom styles. Another example is doing a DPD -simulations with bonds or angles. In these cases the {hybrid} style -can be used to list multiple atom styles. Atoms will then store and -communicate the union of all quantities implied by the individual -styles. +Typically, simulations require only a single (non-hybrid) atom style. +If some atoms in the simulation do not have all the properties defined +by a particular style, use the simplest style that defines all the +needed properties by any atom. For example, if some atoms in a +simulation are charged, but others are not, use the {charge} style. +If some atoms have bonds, but others do not, use the {bond} style. +The only scenario where the {hybrid} style is needed is if there is no +single style which defines all needed properties of all atoms. +E.g. if you want charged DPD particles, you would need to use +"atom_style hybrid dpd charge". When a hybrid style is used, atoms +store and communicate the union of all quantities implied by the +individual styles. LAMMPS can be extended with new atom styles; see "this section"_Section_modify.html. diff --git a/doc/compute.html b/doc/compute.html index 1ced3d2f53..a1bbe342a6 100644 --- a/doc/compute.html +++ b/doc/compute.html @@ -75,6 +75,7 @@ defined in LAMMPS:

  • temp/partial - temperature excluding one or more dimensions of velocity
  • temp/ramp - temperature after subtracting a ramped velocity component
  • temp/region - temperature of a region of atoms +
  • variable - calculate a scalar value from a variable
  • variable/atom - calculate a formula for each atom

    Restrictions: none diff --git a/doc/compute.txt b/doc/compute.txt index 7d624a7b4c..dd20ec69af 100644 --- a/doc/compute.txt +++ b/doc/compute.txt @@ -72,6 +72,7 @@ defined in LAMMPS: "temp/partial"_compute_temp_partial.html - temperature excluding one or more dimensions of velocity "temp/ramp"_compute_temp_ramp.html - temperature after subtracting a ramped velocity component "temp/region"_compute_temp_region.html - temperature of a region of atoms +"variable"_compute_variable.html - calculate a scalar value from a variable "variable/atom"_compute_variable_atom.html - calculate a formula for each atom :ul [Restrictions:] none diff --git a/doc/compute_temp_asphere.html b/doc/compute_temp_asphere.html new file mode 100644 index 0000000000..d5b3cb8780 --- /dev/null +++ b/doc/compute_temp_asphere.html @@ -0,0 +1,47 @@ + +

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

    compute temp/asphere command +

    +

    Syntax: +

    +
    compute ID group-ID temp/asphere 
    +
    + +

    Examples: +

    +
    compute 1 all temp/asphere
    +compute myTemp mobile temp/asphere 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of +aspherical or ellipsoidal particles. The computation is similar to +compute_temp, however, additional degrees of +freedom (2 or 3) are incorporated for particles where the principal +moments of inertia are unequal. The associated kinetic energy thus +includes a rotational term KE_rotational = 1/2 I w^2, where I is the +moment of inertia and w is the angular velocity. +

    +

    Restrictions: +

    +

    Can only be used if LAMMPS was built with the "asphere" package. Can +only be used with atom_style ellipsoid. +

    +

    Related commands: +

    +

    compute temp +

    +

    Default: none +

    + diff --git a/doc/compute_temp_asphere.txt b/doc/compute_temp_asphere.txt new file mode 100755 index 0000000000..c59f7dfb26 --- /dev/null +++ b/doc/compute_temp_asphere.txt @@ -0,0 +1,42 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +compute temp/asphere command :h3 + +[Syntax:] + +compute ID group-ID temp/asphere :pre + +ID, group-ID are documented in "compute"_compute.html command +temp/asphere = style name of this compute command :ul + +[Examples:] + +compute 1 all temp/asphere +compute myTemp mobile temp/asphere :pre + +[Description:] + +Define a computation that calculates the temperature of a group of +aspherical or ellipsoidal particles. The computation is similar to +"compute_temp"_compute_temp.html, however, additional degrees of +freedom (2 or 3) are incorporated for particles where the principal +moments of inertia are unequal. The associated kinetic energy thus +includes a rotational term KE_rotational = 1/2 I w^2, where I is the +moment of inertia and w is the angular velocity. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "asphere" package. Can +only be used with atom_style ellipsoid. + +[Related commands:] + +"compute temp"_compute_temp.html + +[Default:] none diff --git a/doc/compute_temp_region.html b/doc/compute_temp_region.html index 7a311bc188..88bcd60d9b 100644 --- a/doc/compute_temp_region.html +++ b/doc/compute_temp_region.html @@ -36,7 +36,7 @@ temp/rescale, etc.

    Note that a region-style temperature can be used to thermostat with fix temp/rescale or fix langevin, but should probably not be used with -Nose/Hoover style fixes (>fix nvt, fix +Nose/Hoover style fixes (fix nvt, fix npt, or fix nph), if the degrees-of-freedom included in the computed T varies with time.

    diff --git a/doc/compute_temp_region.txt b/doc/compute_temp_region.txt index a3d1bbfbe3..738fc98fba 100644 --- a/doc/compute_temp_region.txt +++ b/doc/compute_temp_region.txt @@ -33,7 +33,7 @@ temp/rescale"_fix_temp_rescale.html, etc. Note that a {region}-style temperature can be used to thermostat with "fix temp/rescale"_fix_temp_rescale.html or "fix langevin"_fix_langevin.html, but should probably not be used with -Nose/Hoover style fixes ("fix nvt"_fix_nvt.html, fix +Nose/Hoover style fixes ("fix nvt"_fix_nvt.html, "fix npt"_fix_npt.html, or "fix nph"_fix_nph.html), if the degrees-of-freedom included in the computed T varies with time. diff --git a/doc/compute_variable.html b/doc/compute_variable.html new file mode 100644 index 0000000000..56b9ec01b2 --- /dev/null +++ b/doc/compute_variable.html @@ -0,0 +1,55 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    + + + + + + +
    + +

    compute variable command +

    +

    Syntax: +

    +
    compute ID group-ID variable name 
    +
    + +

    Examples: +

    +
    compute 1 all variable myTemp 
    +
    +

    Description: +

    +

    Define a computation that calculates a formula that returns a scalar +quantity. This quantity can be time averaged and output via the fix +ave/time command. It could also be output via the +thermo_style custom command, although it makes +more sense to access the variable directly in this case. +

    +

    The formula is defined by the variable equal command. +A variable of style equal can access properties of the system, such +as volume or temperature, and also reference individual atom +attributes, such as its coordinates or velocity. +

    +

    For example, these 3 commands would time average the system density +(assuming the volume fluctuates) temperature and output the average +value periodically to the file den.profile: +

    +
    variable den equal div(atoms,vol)
    +compute density all variable den
    +fix 1 all ave/time 1 1000 density 0 den.profile 
    +
    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix ave/time, variable +

    +

    Default: none +

    + diff --git a/doc/compute_variable.txt b/doc/compute_variable.txt new file mode 100644 index 0000000000..5b13a12388 --- /dev/null +++ b/doc/compute_variable.txt @@ -0,0 +1,50 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +compute variable command :h3 + +[Syntax:] + +compute ID group-ID variable name :pre + +ID, group-ID are documented in "compute"_compute.html command +variable/atom = style name of this compute command +name = variable name to invoke to compute a scalar quantity :ul + +[Examples:] + +compute 1 all variable myTemp :pre + +[Description:] + +Define a computation that calculates a formula that returns a scalar +quantity. This quantity can be time averaged and output via the "fix +ave/time"_fix_ave_time.html command. It could also be output via the +"thermo_style custom"_thermo_style.html command, although it makes +more sense to access the variable directly in this case. + +The formula is defined by the "variable equal"_variable.html command. +A variable of style {equal} can access properties of the system, such +as volume or temperature, and also reference individual atom +attributes, such as its coordinates or velocity. + +For example, these 3 commands would time average the system density +(assuming the volume fluctuates) temperature and output the average +value periodically to the file den.profile: + +variable den equal div(atoms,vol) +compute density all variable den +fix 1 all ave/time 1 1000 density 0 den.profile :pre + +[Restrictions:] none + +[Related commands:] + +"fix ave/time"_fix_ave_time.html, "variable"_variable.html + +[Default:] none diff --git a/doc/dump.html b/doc/dump.html index bcd6013a0d..dd1f336ca3 100644 --- a/doc/dump.html +++ b/doc/dump.html @@ -37,7 +37,8 @@ possible attributes = tag, mol, type, x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, vx, vy, vz, fx, fy, fz, - q, mux, muy, muz, tqx, tqy, tqz, + q, mux, muy, muz, + quatw, quati, quatj, quatk, tqx, tqy, tqz, epair, ke, etotal, centro, sxx, syy, szz, sxy, sxz, syz, c_ID, c_ID[N] @@ -52,7 +53,8 @@ fx,fy,fz = forces on atoms q = atom charge mux,muy,muz = orientation of dipolar atom - tqx,tqy,tqz = torque on dipolar atoms + quatw,quati,quatj,quatk = quaternion components for aspherical particles + tqx,tqy,tqz = torque on aspherical particles epair = per-atom pairwise energy ke = per-atom kinetic energy etotal = per-atom total energy (ke + epair) @@ -228,10 +230,15 @@ directly using the ix, iy, iz keywords. The dump_modify command describes in more detail what is meant by scaled vs unscaled coordinates and the image flags.

    -

    The mux, muy, muz, tqy, tqx, tqy keywords are specific -to dipolar systems defined with an atom style of dipole. The first -3 give the orientation of the atom's dipole. The latter 3 give the -torque on the dipolar atoms. +

    The mux, muy, muz keywords are specific to dipolar systems +defined with an atom style of dipole. They give the orientation of +the atom's dipole. +

    +

    The quatw, quati, quatj, quatk, tqx, tqy, tqz keywords +are specific to aspherical particles defined with an atom style of +ellipsoid. The first 4 are the components of the quaternion that +define the orientiation of the particle. The final 3 give the +rotational torque on the particle.

    The epair, ke, etotal, centro, and sxx, etc keywords print the pairwise energy, kinetic energy, total energy (pairwise + diff --git a/doc/dump.txt b/doc/dump.txt index bfec5c466b..e7953c5f09 100644 --- a/doc/dump.txt +++ b/doc/dump.txt @@ -28,7 +28,8 @@ args = list of arguments for a particular style :l possible attributes = tag, mol, type, x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, vx, vy, vz, fx, fy, fz, - q, mux, muy, muz, tqx, tqy, tqz, + q, mux, muy, muz, + quatw, quati, quatj, quatk, tqx, tqy, tqz, epair, ke, etotal, centro, sxx, syy, szz, sxy, sxz, syz, c_ID, c_ID\[N\] @@ -43,7 +44,8 @@ args = list of arguments for a particular style :l fx,fy,fz = forces on atoms q = atom charge mux,muy,muz = orientation of dipolar atom - tqx,tqy,tqz = torque on dipolar atoms + quatw,quati,quatj,quatk = quaternion components for aspherical particles + tqx,tqy,tqz = torque on aspherical particles epair = per-atom pairwise energy ke = per-atom kinetic energy etotal = per-atom total energy (ke + epair) @@ -218,10 +220,15 @@ directly using the {ix}, {iy}, {iz} keywords. The "dump_modify"_dump_modify.html command describes in more detail what is meant by scaled vs unscaled coordinates and the image flags. -The {mux}, {muy}, {muz}, {tqy}, {tqx}, {tqy} keywords are specific -to dipolar systems defined with an atom style of {dipole}. The first -3 give the orientation of the atom's dipole. The latter 3 give the -torque on the dipolar atoms. +The {mux}, {muy}, {muz} keywords are specific to dipolar systems +defined with an atom style of {dipole}. They give the orientation of +the atom's dipole. + +The {quatw}, {quati}, {quatj}, {quatk}, {tqx}, {tqy}, {tqz} keywords +are specific to aspherical particles defined with an atom style of +{ellipsoid}. The first 4 are the components of the quaternion that +define the orientiation of the particle. The final 3 give the +rotational torque on the particle. The {epair}, {ke}, {etotal}, {centro}, and {sxx}, etc keywords print the pairwise energy, kinetic energy, total energy (pairwise + diff --git a/doc/fix_nve_asphere.html b/doc/fix_nve_asphere.html new file mode 100644 index 0000000000..78e1ebc6fb --- /dev/null +++ b/doc/fix_nve_asphere.html @@ -0,0 +1,43 @@ + +

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

    fix nve/asphere command +

    +

    Syntax: +

    +
    fix ID group-ID nve/asphere 
    +
    + +

    Examples: +

    +
    fix 1 all nve/asphere 
    +
    +

    Description: +

    +

    Perform constant NVE updates of position, velocity, and angular +velocity for aspherical or ellipsoidal particles in the group each +timestep. V is volume; E is energy. This creates a system trajectory +consistent with the microcanonical ensemble. +

    +

    Restrictions: +

    +

    Can only be used if LAMMPS was built with the "asphere" package. Can +only be used with atom_style ellipsoid. +

    +

    Related commands: +

    +

    fix nve +

    +

    Default: none +

    + diff --git a/doc/fix_nve_asphere.txt b/doc/fix_nve_asphere.txt new file mode 100755 index 0000000000..bd85d44bec --- /dev/null +++ b/doc/fix_nve_asphere.txt @@ -0,0 +1,38 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix nve/asphere command :h3 + +[Syntax:] + +fix ID group-ID nve/asphere :pre + +ID, group-ID are documented in "fix"_fix.html command +nve/asphere = style name of this fix command :ul + +[Examples:] + +fix 1 all nve/asphere :pre + +[Description:] + +Perform constant NVE updates of position, velocity, and angular +velocity for aspherical or ellipsoidal particles in the group each +timestep. V is volume; E is energy. This creates a system trajectory +consistent with the microcanonical ensemble. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "asphere" package. Can +only be used with atom_style ellipsoid. + +[Related commands:] + +"fix nve"_fix_nve.html + +[Default:] none diff --git a/doc/next.html b/doc/next.html index d2a0b201b9..0f66dc0240 100644 --- a/doc/next.html +++ b/doc/next.html @@ -77,7 +77,7 @@ finished.

    Jump and next commands can also be nested to enable multi-level loops. For example, this script will run 15 simulations in a double loop.

    -

    variable i loop 3 +

    variable i loop 3
     variable j loop 5
     clear
     ...
    @@ -87,8 +87,8 @@ run 10000
     next j
     jump in.script
     next i
    -jump in.script
    -

    +jump in.script +

    Restrictions: none

    Related commands: diff --git a/doc/next.txt b/doc/next.txt index 0125ca9e93..07e888c00d 100644 --- a/doc/next.txt +++ b/doc/next.txt @@ -84,7 +84,7 @@ run 10000 next j jump in.script next i -jump in.script +jump in.script :pre [Restrictions:] none diff --git a/doc/pair_charmm.html b/doc/pair_charmm.html index 6890064dc2..2cf3321726 100644 --- a/doc/pair_charmm.html +++ b/doc/pair_charmm.html @@ -113,6 +113,12 @@ because this CHARMM force field does not allow varying cutoffs for individual atom pairs; all pairs use the global cutoff(s) specified in the pair_style command.

    +

    If the pair_coeff command is not used to define coefficients for a +particular I != J type pair, the mixing rule for epsilon and sigma for +all CHARMM potentials is to use the arithmetic formulas documented +by the pair_modify command. The pair_modify +mix setting is thus ignored for CHARMM potentials. +

    Restrictions:

    The lj/charmm/coul/charmm and lj/charmm/coul/charmm/implicit diff --git a/doc/pair_charmm.txt b/doc/pair_charmm.txt index 3ed6b22804..abc291acae 100644 --- a/doc/pair_charmm.txt +++ b/doc/pair_charmm.txt @@ -106,6 +106,12 @@ because this CHARMM force field does not allow varying cutoffs for individual atom pairs; all pairs use the global cutoff(s) specified in the pair_style command. +If the pair_coeff command is not used to define coefficients for a +particular I != J type pair, the mixing rule for epsilon and sigma for +all CHARMM potentials is to use the {arithmetic} formulas documented +by the "pair_modify"_pair_modify.html command. The "pair_modify +mix"_pair_modify.html setting is thus ignored for CHARMM potentials. + [Restrictions:] The {lj/charmm/coul/charmm} and {lj/charmm/coul/charmm/implicit} diff --git a/doc/pair_class2.html b/doc/pair_class2.html index f744574b98..3688e7cfb4 100644 --- a/doc/pair_class2.html +++ b/doc/pair_class2.html @@ -86,6 +86,14 @@ since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command.

    +

    If the pair_coeff command is not used to define coefficients for a +particular I != J type pair, the mixing rule for epsilon and sigma for +all class2 potentials is to use the sixthpower formulas documented +by the pair_modify command. The pair_modify +mix setting is thus ignored for class2 potentials +for epsilon and sigma. However it is still followed for mixing the +cutoff distance. +

    Restrictions:

    These styles are part of the "class2" package. They are only enabled diff --git a/doc/pair_class2.txt b/doc/pair_class2.txt index d2da005415..10deb96488 100644 --- a/doc/pair_class2.txt +++ b/doc/pair_class2.txt @@ -80,6 +80,14 @@ since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command. +If the pair_coeff command is not used to define coefficients for a +particular I != J type pair, the mixing rule for epsilon and sigma for +all class2 potentials is to use the {sixthpower} formulas documented +by the "pair_modify"_pair_modify.html command. The "pair_modify +mix"_pair_modify.html setting is thus ignored for class2 potentials +for epsilon and sigma. However it is still followed for mixing the +cutoff distance. + [Restrictions:] These styles are part of the "class2" package. They are only enabled diff --git a/doc/pair_coeff.html b/doc/pair_coeff.html index 98d3fab476..2f7931a59c 100644 --- a/doc/pair_coeff.html +++ b/doc/pair_coeff.html @@ -93,6 +93,7 @@ the pair_style command, and coefficients specified by the associated

  • pair_style eam - embedded atom method (EAM)
  • pair_style eam/alloy - alloy EAM
  • pair_style eam/fs - Finnis-Sinclair EAM +
  • pair_style gayberne - Gay-Berne ellipsoidal potential
  • pair_style gran/hertzian - granular potential with Hertizain interactions
  • pair_style gran/history - granular potential with history effects
  • pair_style gran/no_history - granular potential without history effects diff --git a/doc/pair_coeff.txt b/doc/pair_coeff.txt index 63e4758a7a..a3279f5580 100644 --- a/doc/pair_coeff.txt +++ b/doc/pair_coeff.txt @@ -90,6 +90,7 @@ the pair_style command, and coefficients specified by the associated "pair_style eam"_pair_eam.html - embedded atom method (EAM) "pair_style eam/alloy"_pair_eam.html - alloy EAM "pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM +"pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential "pair_style gran/hertzian"_pair_gran.html - granular potential with Hertizain interactions "pair_style gran/history"_pair_gran.html - granular potential with history effects "pair_style gran/no_history"_pair_gran.html - granular potential without history effects diff --git a/doc/pair_gayberne.html b/doc/pair_gayberne.html new file mode 100644 index 0000000000..995043589d --- /dev/null +++ b/doc/pair_gayberne.html @@ -0,0 +1,125 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    + + + + + + +
    + +

    pair_style gayberne command +

    +

    Syntax: +

    +
    pair_style gayberne gamma upsilon mu cutoff 
    +
    + +

    Examples: +

    +
    pair_style gayberne 1.0 1.0 1.0 10.0
    +pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 
    +
    +

    Description: +

    +

    Style gayberne computes a Gay-Berne anisotropic LJ interaction +(Beradi) between pairs of ellipsoidal particles via the +formulas +

    +
    +
    +

    where A1 and A2 are the transformation matrices from the simulation +box frame to the body frame and r12 is the center to center vector +between the particles. Ur controls the shifted distance dependent +interaction based on the distance of closest approach of the two +particles (h12) and the user-specified shift parameter gamma. +

    +

    For large uniform molecules it has been shown that the energy +parameters are approximately representable in terms of local contact +curvatures (Everaers): +

    +
    +
    +

    The variable names utilized as potential parameters are for the most +part taken from (Everaers) in order to be consistent with +its RE-squared potential fix. Details on the upsilon and mu +parameters are given here. +Use of this pair style requires the +fix nve/asphere in order to integrate particle +rotation. Additionally, atom_style ellipsoid should +be used since it defines the rotation state of the ellipsoidal +particles. +

    +

    More details of the Gay-Berne formulation are given in the references +listed below and in this document. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

    + +

    The last coefficient is optional. If not specified, the global +cutoff specified in the pair_style command is used. +

    +

    The epsilon and sigma parameters are mixed for I != J atom pairings +the same as Lennard-Jones parameters; see the pair_modify +mix documentation for details. The other parameters +(except cutoff) are really specific to a single atom type, and not a +pair of atoms. Thus they are applied to atom type I only. +

    +

    Restrictions: +

    +

    Can only be used if LAMMPS was built with the "asphere" package. Can +only be used with atom_style ellipsoid. +

    +

    The use of this potential requires additional fixes as described +above. The "shift yes" option currently cannot be used with this +potential to shift energies to 0 at the cutoff due to the anisotropic +dependence of the interaction. Angular velocities are all set to zero +initially. The Gay-Berne potential does not become isotropic as r +increases (Everaers). The distance of closest approach +approximation becomes less accurate as the shape of ellipsoids becomes +more dissimilar (high aspect ratio particles). +

    +

    Related commands: +

    +

    pair_coeff, fix nve/asphere, +compute temp/asphere +

    +

    Default: none +

    +
    + + + +

    (Everaers) Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). +

    + + +

    (Berardi) Berardi, Fava, Zannoni, Chem Phys Lett, 297, 8-14 (1998). +

    + + +

    (Perram) Perram and Rasmussen, Phys Rev E, 54, 6565-6572 (1996). +

    + + +

    (Allen) Allen and Germano, Mol Phys 104, 3225-3235 (2006). +

    + diff --git a/doc/pair_gayberne.txt b/doc/pair_gayberne.txt new file mode 100755 index 0000000000..9a14e855e0 --- /dev/null +++ b/doc/pair_gayberne.txt @@ -0,0 +1,116 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style gayberne command :h3 + +[Syntax:] + +pair_style gayberne gamma upsilon mu cutoff :pre + +gamma = shift for potential minimum (typically 1) +upsilon = exponent for eta orientation-dependent energy function +mu = exponent for chi orientation-dependent energy function +cutoff = global cutoff for interactions (distance units) :ul + +[Examples:] + +pair_style gayberne 1.0 1.0 1.0 10.0 +pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 :pre + +[Description:] + +Style {gayberne} computes a Gay-Berne anisotropic LJ interaction +"(Beradi)"_#Beradi between pairs of ellipsoidal particles via the +formulas + +:c,image(Eqs/pair_gayberne.jpg) + +where A1 and A2 are the transformation matrices from the simulation +box frame to the body frame and r12 is the center to center vector +between the particles. Ur controls the shifted distance dependent +interaction based on the distance of closest approach of the two +particles (h12) and the user-specified shift parameter gamma. + +For large uniform molecules it has been shown that the energy +parameters are approximately representable in terms of local contact +curvatures "(Everaers)"_#Everaers: + +:c,image(Eqs/pair_gayberne2.jpg) + +The variable names utilized as potential parameters are for the most +part taken from "(Everaers)"_#Everaers in order to be consistent with +its RE-squared potential fix. Details on the upsilon and mu +parameters are given "here"_Eqs/pair_gayberne_extra.pdf. +Use of this pair style requires the +"fix nve/asphere"_fix_nve_asphere.html in order to integrate particle +rotation. Additionally, "atom_style ellipsoid"_atom_style.html should +be used since it defines the rotation state of the ellipsoidal +particles. + +More details of the Gay-Berne formulation are given in the references +listed below and in "this document"_Eqs/pair_gayberne_extra.pdf. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +epsilon = well depth (energy units) +sigma = minimum effective particle radii (distance units) +a = ellipsoid radius in x dimension (distance units) +b = ellipsoid radius in y dimension (distance units) +c = ellipsoid radius in z dimension (distance units) +epsilon_a = relative well depth for side-to-side interactions +epsilon_b = relative well depth for face-to-face interactions +epsilon_c = relative well depth for end-to-end interactions +cutoff (distance units) :ul + +The last coefficient is optional. If not specified, the global +cutoff specified in the pair_style command is used. + +The epsilon and sigma parameters are mixed for I != J atom pairings +the same as Lennard-Jones parameters; see the "pair_modify +mix"_pair_modify.html documentation for details. The other parameters +(except cutoff) are really specific to a single atom type, and not a +pair of atoms. Thus they are applied to atom type I only. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "asphere" package. Can +only be used with "atom_style ellipsoid"_atom_style.html. + +The use of this potential requires additional fixes as described +above. The "shift yes" option currently cannot be used with this +potential to shift energies to 0 at the cutoff due to the anisotropic +dependence of the interaction. Angular velocities are all set to zero +initially. The Gay-Berne potential does not become isotropic as r +increases "(Everaers)"_#Everaers. The distance of closest approach +approximation becomes less accurate as the shape of ellipsoids becomes +more dissimilar (high aspect ratio particles). + +[Related commands:] + +"pair_coeff"_pair_coeff.html, "fix nve/asphere"_fix_nve_asphere.html, +"compute temp/asphere"_compute_temp_asphere.html + +[Default:] none + +:line + +:link(Everaers) +[(Everaers)] Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). + +:link(Berardi) +[(Berardi)] Berardi, Fava, Zannoni, Chem Phys Lett, 297, 8-14 (1998). + +:link(Perram) +[(Perram)] Perram and Rasmussen, Phys Rev E, 54, 6565-6572 (1996). + +:link(Allen) +[(Allen)] Allen and Germano, Mol Phys 104, 3225-3235 (2006). diff --git a/doc/pair_lj_expand.html b/doc/pair_lj_expand.html index 9422b776c8..89604c17de 100644 --- a/doc/pair_lj_expand.html +++ b/doc/pair_lj_expand.html @@ -49,6 +49,13 @@ commands:

    The delta values can be positive or negative. The last coefficient is optional. If not specified, the global LJ cutoff is used.

    +

    If the pair_coeff command is not used to define coefficients for a +particular I != J type pair, the mixing rule is set by the +pair_modify command. Additionally, the delta +coefficient is always mixed by the rule +

    +
    delta_ij = (delta_i + delta_j) / 2 
    +

    Restrictions: none

    Related commands: diff --git a/doc/pair_lj_expand.txt b/doc/pair_lj_expand.txt index 8572c5916e..ed8885294a 100644 --- a/doc/pair_lj_expand.txt +++ b/doc/pair_lj_expand.txt @@ -46,6 +46,13 @@ cutoff (distance units) :ul The delta values can be positive or negative. The last coefficient is optional. If not specified, the global LJ cutoff is used. +If the pair_coeff command is not used to define coefficients for a +particular I != J type pair, the mixing rule is set by the +"pair_modify"_pair_modify.html command. Additionally, the delta +coefficient is always mixed by the rule + +delta_ij = (delta_i + delta_j) / 2 :pre + [Restrictions:] none [Related commands:] diff --git a/doc/pair_modify.html b/doc/pair_modify.html index 08770f185f..2f2c0b975b 100644 --- a/doc/pair_modify.html +++ b/doc/pair_modify.html @@ -49,13 +49,15 @@ not affected by this setting.

    The mix keyword affects how Lennard-Jones coefficients for epsilon and sigma are generated for interactions between atoms of type I and -J, when I != J. (I = J coefficients are set explicitly in the data -file or input script.) The pair_coeff command can -be used in the input script to specify epilon/sigma for a specific I,J -pairing, which overrides the setting of the mix keyword. In each -case, the LJ cutoff is mixed the same way as sigma. +J, when I != J. Coefficients for I = J are set explicitly in the data +file or input script. The pair_coeff command can be +used in the input script to specify epilon/sigma for a specific I != J +pairing, which overrides the setting of the mix keyword.

    -

    These are the formulas used by the 3 mix options: +

    These are the formulas used by the 3 mix options. In each case, the +LJ cutoff is mixed the same way as sigma. Note that some of these +options are not available for certain pair styles. See the doc page +for individual pair styles for those restrictions.

    geometric

    @@ -71,17 +73,7 @@ sigma_ij = (sigma_i + sigma_j) / 2

    epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
                  (sigma_i^6 + sigma_j^6)
    -sigma_ij=  ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) 
    -
    -

    Style soft only uses a pre-factor coefficient, which is always mixed -geometrically, regardless of the mix setting. The charmm styles -are always mixed arithmetically, regardless of the mix setting. The -class2 styles are always mixed as a sixthpower, regardless of the -mix setting, except that the cutoff is mixed according to the mix -setting. Style lj/expand always mixes its delta coefficient using -the rule -

    -
    delta_ij = (delta_i + delta_j) / 2 
    +sigma_ij = ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) 
     

    The table keyword applies to pair styles with a long-range Coulombic term (lj/cut/coul/long and lj/charmm/coul/long). If N is non-zero, a diff --git a/doc/pair_modify.txt b/doc/pair_modify.txt index f08dbaef66..bab52c22d8 100644 --- a/doc/pair_modify.txt +++ b/doc/pair_modify.txt @@ -43,13 +43,15 @@ not affected by this setting. The {mix} keyword affects how Lennard-Jones coefficients for epsilon and sigma are generated for interactions between atoms of type I and -J, when I != J. (I = J coefficients are set explicitly in the data -file or input script.) The "pair_coeff"_pair_coeff.html command can -be used in the input script to specify epilon/sigma for a specific I,J -pairing, which overrides the setting of the {mix} keyword. In each -case, the LJ cutoff is mixed the same way as sigma. +J, when I != J. Coefficients for I = J are set explicitly in the data +file or input script. The "pair_coeff"_pair_coeff.html command can be +used in the input script to specify epilon/sigma for a specific I != J +pairing, which overrides the setting of the {mix} keyword. -These are the formulas used by the 3 {mix} options: +These are the formulas used by the 3 {mix} options. In each case, the +LJ cutoff is mixed the same way as sigma. Note that some of these +options are not available for certain pair styles. See the doc page +for individual pair styles for those restrictions. {geometric} @@ -65,17 +67,7 @@ sigma_ij = (sigma_i + sigma_j) / 2 :pre epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) / (sigma_i^6 + sigma_j^6) -sigma_ij= ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) :pre - -Style {soft} only uses a pre-factor coefficient, which is always mixed -geometrically, regardless of the {mix} setting. The {charmm} styles -are always mixed arithmetically, regardless of the {mix} setting. The -{class2} styles are always mixed as a sixthpower, regardless of the -{mix} setting, except that the cutoff is mixed according to the mix -setting. Style {lj/expand} always mixes its delta coefficient using -the rule - -delta_ij = (delta_i + delta_j) / 2 :pre +sigma_ij = ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) :pre The {table} keyword applies to pair styles with a long-range Coulombic term (lj/cut/coul/long and lj/charmm/coul/long). If N is non-zero, a diff --git a/doc/pair_soft.html b/doc/pair_soft.html index 0a7ae109c2..92a970717e 100644 --- a/doc/pair_soft.html +++ b/doc/pair_soft.html @@ -54,6 +54,12 @@ or switch to a new pair style.

    The last coefficient is optional. If not specified, the global soft cutoff is used.

    +

    If the pair_coeff command is not used to define coefficients for a +particular I != J type pair, the mixing rule for Astart and Astop is +as follows: +

    +
    A_ij = sqrt(A_i * A_j) 
    +

    Restrictions: none

    Related commands: diff --git a/doc/pair_soft.txt b/doc/pair_soft.txt index 255d642124..5f1f21b895 100644 --- a/doc/pair_soft.txt +++ b/doc/pair_soft.txt @@ -51,6 +51,12 @@ or switch to a new pair style. The last coefficient is optional. If not specified, the global soft cutoff is used. +If the pair_coeff command is not used to define coefficients for a +particular I != J type pair, the mixing rule for Astart and Astop is +as follows: + +A_ij = sqrt(A_i * A_j) :pre + [Restrictions:] none [Related commands:] diff --git a/doc/pair_style.html b/doc/pair_style.html index a3ff4bbc73..132e9dc050 100644 --- a/doc/pair_style.html +++ b/doc/pair_style.html @@ -99,6 +99,7 @@ the pair_style command, and coefficients specified by the associated

  • pair_style eam - embedded atom method (EAM)
  • pair_style eam/alloy - alloy EAM
  • pair_style eam/fs - Finnis-Sinclair EAM +
  • pair_style gayberne - Gay-Berne ellipsoidal potential
  • pair_style gran/hertzian - granular potential with Hertizain interactions
  • pair_style gran/history - granular potential with history effects
  • pair_style gran/no_history - granular potential without history effects diff --git a/doc/pair_style.txt b/doc/pair_style.txt index 58169b70bf..68bdf4fe25 100644 --- a/doc/pair_style.txt +++ b/doc/pair_style.txt @@ -96,6 +96,7 @@ the pair_style command, and coefficients specified by the associated "pair_style eam"_pair_eam.html - embedded atom method (EAM) "pair_style eam/alloy"_pair_eam.html - alloy EAM "pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM +"pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential "pair_style gran/hertzian"_pair_gran.html - granular potential with Hertizain interactions "pair_style gran/history"_pair_gran.html - granular potential with history effects "pair_style gran/no_history"_pair_gran.html - granular potential without history effects diff --git a/doc/read_data.html b/doc/read_data.html index b37cde6500..dd076a27d8 100644 --- a/doc/read_data.html +++ b/doc/read_data.html @@ -253,6 +253,7 @@ line formats for each atom style in LAMMPS:
  • +
    asphere aspherical particles
    class2 class 2 force fields
    dpd dissipative particle dynamics (DPD) force field
    granular force fields and boundary conditions for granular systems
    bond atom-ID molecule-ID atom-type x y z
    charge atom-ID atom-type q x y z
    dpd atom-ID atom-type x y z
    ellipsoid atom-ID atom-type x y z quatw quati quatj quatk
    full atom-ID molecule-ID atom-type q x y z
    granular atom-ID atom-type diameter density x y z
    molecular atom-ID molecule-ID atom-type x y z @@ -266,7 +267,8 @@ line formats for each atom style in LAMMPS:
  • q = charge on atom
  • diameter = diameter of atom
  • density = density of atom -
  • x,y,z = coordinates of atom +
  • x,y,z = coordinates of atom +
  • quatw,quati,quatj,quatk = quaternion components for orientation of atom

    The units for these quantities depend on the unit style; see the units command for details. @@ -575,15 +577,25 @@ script.

  • line syntax: depends on atom style
    - - + +
    all styles except granular atom-ID vx vy vz
    granular atom-ID vx vy vz phix phiy phiz +
    all styles except those listed atom-ID vx vy vz
    ellipsoid atom-ID vx vy vz lx ly lz
    granular atom-ID vx vy vz wx wy wz
    +

    where the keywords have these meanings: +

    +
    • vx,vy,vz = translational velocity of atom +
    • lx,ly,lz = angular momentum of aspherical atom +
    • wx,wy,wz = angular velocity of granular atom +

    The velocity lines can appear in any order. This section can only be -used after an Atoms section. The Atoms section must have assigned -a unique atom ID to each atom so that velocities can be assigned in -this way. Vx,vy,vz are in units of velocity. -Phix,phiy,phiz are in units of angular velocity (radians/time). +used after an Atoms section. This is because the Atoms section +must have assigned a unique atom ID to each atom so that velocities +can be assigned to them. +

    +

    Vx,vy,vz are in units of velocity. Lx, ly, lz are in +units of angular momentum (distance-velocity-mass). Wx,Wy,Wz are in +units of angular velocity (radians/time).

    Translational velocities can also be set by the velocity command in the input script. diff --git a/doc/read_data.txt b/doc/read_data.txt index c2842839d7..8917f55eef 100644 --- a/doc/read_data.txt +++ b/doc/read_data.txt @@ -231,6 +231,7 @@ atomic: atom-ID atom-type x y z bond: atom-ID molecule-ID atom-type x y z charge: atom-ID atom-type q x y z dpd: atom-ID atom-type x y z +ellipsoid: atom-ID atom-type x y z quatw quati quatj quatk full: atom-ID molecule-ID atom-type q x y z granular: atom-ID atom-type diameter density x y z molecular: atom-ID molecule-ID atom-type x y z :tb(s=:) @@ -243,7 +244,8 @@ type-ID = type of atom (1-Ntype) q = charge on atom diameter = diameter of atom density = density of atom -x,y,z = coordinates of atom :ul +x,y,z = coordinates of atom +quatw,quati,quatj,quatk = quaternion components for orientation of atom :ul The units for these quantities depend on the unit style; see the "units"_units.html command for details. @@ -491,14 +493,24 @@ script. one line per atom line syntax: depends on atom style :ul -all styles except granular: atom-ID vx vy vz -granular: atom-ID vx vy vz phix phiy phiz :tb(s=:) +all styles except those listed: atom-ID vx vy vz +ellipsoid: atom-ID vx vy vz lx ly lz +granular: atom-ID vx vy vz wx wy wz :tb(s=:) + +where the keywords have these meanings: + +vx,vy,vz = translational velocity of atom +lx,ly,lz = angular momentum of aspherical atom +wx,wy,wz = angular velocity of granular atom :ul The velocity lines can appear in any order. This section can only be -used after an {Atoms} section. The {Atoms} section must have assigned -a unique atom ID to each atom so that velocities can be assigned in -this way. Vx,vy,vz are in "units"_units.html of velocity. -Phix,phiy,phiz are in units of angular velocity (radians/time). +used after an {Atoms} section. This is because the {Atoms} section +must have assigned a unique atom ID to each atom so that velocities +can be assigned to them. + +Vx,vy,vz are in "units"_units.html of velocity. Lx, ly, lz are in +units of angular momentum (distance-velocity-mass). Wx,Wy,Wz are in +units of angular velocity (radians/time). Translational velocities can also be set by the "velocity"_velocity.html command in the input script.