diff --git a/doc/Eqs/pair_eim1.jpg b/doc/Eqs/pair_eim1.jpg new file mode 100644 index 0000000000..9e4a560b1c Binary files /dev/null and b/doc/Eqs/pair_eim1.jpg differ diff --git a/doc/Eqs/pair_eim1.tex b/doc/Eqs/pair_eim1.tex new file mode 100644 index 0000000000..bfa5b6ebc4 --- /dev/null +++ b/doc/Eqs/pair_eim1.tex @@ -0,0 +1,9 @@ +\documentstyle[12pt]{article} + +\begin{document} + +$$ +E = \frac{1}{2} \sum_{i=1}^{N} \sum_{j=i_1}^{i_N} \phi_{ij} \left(r_{ij}\right) + \sum_{i=1}^{N}E_i\left(q_i,\sigma_i\right) +$$ + +\end{document} diff --git a/doc/Eqs/pair_eim2.jpg b/doc/Eqs/pair_eim2.jpg new file mode 100644 index 0000000000..accb638d99 Binary files /dev/null and b/doc/Eqs/pair_eim2.jpg differ diff --git a/doc/Eqs/pair_eim2.tex b/doc/Eqs/pair_eim2.tex new file mode 100644 index 0000000000..d8c4181342 --- /dev/null +++ b/doc/Eqs/pair_eim2.tex @@ -0,0 +1,11 @@ +\documentstyle[12pt]{article} + +\begin{document} + +\begin{eqnarray*} +q_i & = & \sum_{j=i_1}^{i_N} \eta_{ji}\left(r_{ij}\right) \\ +\sigma_i & = & \sum_{j=i_1}^{i_N} q_j \cdot \psi_{ij} \left(r_{ij}\right) \\ +E_i\left(q_i,\sigma_i\right) & = & \frac{1}{2} \cdot q_i \cdot \sigma_i +\end{eqnarray*} + +\end{document} diff --git a/doc/Eqs/pair_eim3.jpg b/doc/Eqs/pair_eim3.jpg new file mode 100644 index 0000000000..8e3b47d2a7 Binary files /dev/null and b/doc/Eqs/pair_eim3.jpg differ diff --git a/doc/Eqs/pair_eim3.tex b/doc/Eqs/pair_eim3.tex new file mode 100644 index 0000000000..84343c6acf --- /dev/null +++ b/doc/Eqs/pair_eim3.tex @@ -0,0 +1,25 @@ +\documentstyle[12pt]{article} + +\begin{document} + +\begin{eqnarray*} +\phi_{ij}\left(r\right) = \left\{ \begin{array}{lr} +\left[\frac{E_{b,ij}\beta_{ij}}{\beta_{ij}-\alpha_{ij}}\exp\left(-\alpha_{ij} \frac{r-r_{e,ij}}{r_{e,ij}}\right)-\frac{E_{b,ij}\alpha_{ij}}{\beta_{ij}-\alpha_{ij}}\exp\left(-\beta_{ij} \frac{r-r_{e,ij}}{r_{e,ij}}\right)\right]f_c\left(r,r_{e,ij},r_{c,\phi,ij}\right),& p_{ij}=1 \\ +\left[\frac{E_{b,ij}\beta_{ij}}{\beta_{ij}-\alpha_{ij}} \left(\frac{r_{e,ij}}{r}\right)^{\alpha_{ij}} -\frac{E_{b,ij}\alpha_{ij}}{\beta_{ij}-\alpha_{ij}} \left(\frac{r_{e,ij}}{r}\right)^{\beta_{ij}}\right]f_c\left(r,r_{e,ij},r_{c,\phi,ij}\right),& p_{ij}=2 +\end{array} +\right. +\end{eqnarray*} + +$$ +\eta_{ji} = A_{\eta,ij}\left(\chi_j-\chi_i\right)f_c\left(r,r_{s,\eta,ij},r_{c,\eta,ij}\right) +$$ + +$$ +\psi_{ij}\left(r\right) = A_{\psi,ij}\exp\left(-\zeta_{ij}r\right)f_c\left(r,r_{s,\psi,ij},r_{c,\psi,ij}\right) +$$ + +$$ +f_{c}\left(r,r_p,r_c\right) = 0.510204 erfc\left[\frac{1.64498\left(2r-r_p-r_c\right)}{r_c-r_p}\right] - 0.010204 +$$ + +\end{document} diff --git a/doc/Eqs/pair_tersoff_1.tex b/doc/Eqs/pair_tersoff_1.tex index dd0dce0c6d..7d34712491 100644 --- a/doc/Eqs/pair_tersoff_1.tex +++ b/doc/Eqs/pair_tersoff_1.tex @@ -19,6 +19,6 @@ g(\theta) & = & \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - \frac{c^2}{\left[ d^2 + (\cos \theta - \cos \theta_0)^2\right]} \right) -\end{eqnarray*} +\end{eqnarray*} \end{document} diff --git a/doc/Section_commands.html b/doc/Section_commands.html index afebefe7a4..3a95a5f681 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -379,17 +379,17 @@ potentials. Click on the style itself for a full description:
These are pair styles contributed by users, which can be used if diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt index c48f25cecd..a527a4768d 100644 --- a/doc/Section_commands.txt +++ b/doc/Section_commands.txt @@ -551,6 +551,7 @@ potentials. Click on the style itself for a full description: "eam/alloy/opt"_pair_eam.html, "eam/fs"_pair_eam.html, "eam/fs/opt"_pair_eam.html, +"eim"_pair_eim.html, "gayberne"_pair_gayberne.html, "gayberne/gpu"_pair_gayberne.html, "gran/hertz/history"_pair_gran.html, diff --git a/doc/Section_intro.html b/doc/Section_intro.html index 4129f7e9eb..acbe342747 100644 --- a/doc/Section_intro.html +++ b/doc/Section_intro.html @@ -137,7 +137,7 @@ commands)
Syntax: +
+pair_style style ++
Examples: +
+pair_style eim +pair_coeff * * Na Cl ../potentials/ffield.eim Na Cl +pair_coeff * * Na Cl ffield.eim Na Na Na Cl +pair_coeff * * Na Cl ../potentials/ffield.eim Cl NULL Na ++
Description: +
+Style eim computes pairwise interactions for ionic compounds +using embedded-ion method (EIM) potentials (Zhou). The +energy of the system E is given by +
+
+The first term is a double pairwise sum over the J neighbors of all I +atoms, where phi_ij is a pair potential. The second term sums over +the embedding energy E_i of atom I, which is a function of its charge +q_i and the electrical potential sigma_i at its location. E_i, q_i, +and sigma_i are calculated as +
+
+where eta_ji is a pairwise function describing electron flow from atom +I to atom J, and psi_ij is another pairwise function. The multi-body +nature of the EIM potential is a result of the embedding energy term. +A complete list of all the pair functions used in EIM is summarized +below +
+
+Here E_b, r_e, r_(c,phi), alpha, beta, A_(psi), zeta, r_(s,psi), +r_(c,psi), A_(eta), r_(s,eta), r_(c,eta), chi, and pair function type +p are parameters, with subscripts ij indicating the two species of +atoms in the atomic pair. +
+IMPORTANT NOTE: Even though the EIM potential is treating atoms as +charged ions, you should not use a LAMMPS atom_style +that stores a charge on each atom and thus requires you to assign a +charge to each atom, e.g. the charge or full atom styles. This is +because the EIM potential infers the charge on an atom from the +equation above for q_i; you do not assign charges explicitly. +
+All the EIM parameters are listed in a potential file which is +specified by the pair_coeff command. This is an +ASCII text file in a format described below. The "ffield.eim" file +included in the "potentials" directory of the LAMMPS distribution +currently includes nine elements Li, Na, K, Rb, Cs, F, Cl, Br, and I. +A system with any combination of these elements can be modeled. This +file is parameterized in terms of LAMMPS metal units. +
+Note that unlike other potentials, cutoffs for EIM potentials are not +set in the pair_style or pair_coeff command; they are specified in the +EIM potential file itself. Likewise, the EIM potential file lists +atomic masses; thus you do not need to use the mass +command to specify them. +
+Only a single pair_coeff command is used with the eim style which +specifies an EIM potential file and the element(s) to extract +information for. The EIM elements are mapped to LAMMPS atom types by +specifying N additional arguments after the filename in the pair_coeff +command, where N is the number of LAMMPS atom types: +
+As an example like one of those above, suppose you want to model a +system with Na and Cl atoms. If your LAMMPS simulation has 4 atoms +types and you want the 1st 3 to be Na, and the 4th to be Cl, you would +use the following pair_coeff command: +
+pair_coeff * * Na Cl ffield.eim Na Na Na Cl ++
The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +The filename is the EIM potential file. The Na and Cl arguments +(before the file name) are the two elements for which info will be +extracted from the potentail file. The first three trailing Na +arguments map LAMMPS atom types 1,2,3 to the EIM Na element. The +final Cl argument maps LAMMPS atom type 4 to the EIM Cl element. +
+If a mapping value is specified as NULL, the mapping is not performed. +This can be used when an eim potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials. +
+The ffield.eim file in the potentials directory of the LAMMPS +distribution is formated as follows: +
+Lines starting with # are comments and are ignored by LAMMPS. Lines +starting with "global:" include three global values. The first value +divides the cations from anions, i.e., any elements with +electronegativity above this value are viewed as anions, and any +elements with electronegativity below this value are viewed as +cations. The second and third values are related to the cutoff +function - i.e. the 0.510204, 1.64498, and 0.010204 shown in the above +equation can be derived from these values. +
+Lines starting with "element:" are formatted as follows: name of +element, atomic number, atomic mass, electronic negativity, atomic +radius (LAMMPS ignores it), ionic radius (LAMMPS ignores it), cohesive +energy (LAMMPS ignores it), and q0 (must be 0). +
+Lines starting with "pair:" are entered as: element 1, element 2, +r_(c,phi), r_(c,phi) (redundant for historical reasons), E_b, r_e, +alpha, beta, r_(c,eta), A_(eta), r_(s,eta), r_(c,psi), A_(psi), zeta, +r_(s,psi), and p. +
+The lines in the file can be in any order; LAMMPS extracts the info it +needs. +
+Restrictions: +
+This style is part of the "manybody" package. It is only enabled if +LAMMPS was built with that package (which it is by default). +
+Related commands: +
+ +Default: none +
+(Zhou) Zhou, submitted for publication (2010). Please contact +Xiaowang Zhou (Sandia) for details via email at xzhou at sandia.gov. +
+ diff --git a/doc/pair_eim.txt b/doc/pair_eim.txt new file mode 100644 index 0000000000..411f64c254 --- /dev/null +++ b/doc/pair_eim.txt @@ -0,0 +1,147 @@ +"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 eim command :h3 + +[Syntax:] + +pair_style style :pre + +style = {eim} :ul + +[Examples:] + +pair_style eim +pair_coeff * * Na Cl ../potentials/ffield.eim Na Cl +pair_coeff * * Na Cl ffield.eim Na Na Na Cl +pair_coeff * * Na Cl ../potentials/ffield.eim Cl NULL Na :pre + +[Description:] + +Style {eim} computes pairwise interactions for ionic compounds +using embedded-ion method (EIM) potentials "(Zhou)"_#Zhou. The +energy of the system E is given by + +:c,image(Eqs/pair_eim1.jpg) + +The first term is a double pairwise sum over the J neighbors of all I +atoms, where phi_ij is a pair potential. The second term sums over +the embedding energy E_i of atom I, which is a function of its charge +q_i and the electrical potential sigma_i at its location. E_i, q_i, +and sigma_i are calculated as + +:c,image(Eqs/pair_eim2.jpg) + +where eta_ji is a pairwise function describing electron flow from atom +I to atom J, and psi_ij is another pairwise function. The multi-body +nature of the EIM potential is a result of the embedding energy term. +A complete list of all the pair functions used in EIM is summarized +below + +:c,image(Eqs/pair_eim3.jpg) + +Here E_b, r_e, r_(c,phi), alpha, beta, A_(psi), zeta, r_(s,psi), +r_(c,psi), A_(eta), r_(s,eta), r_(c,eta), chi, and pair function type +p are parameters, with subscripts ij indicating the two species of +atoms in the atomic pair. + +IMPORTANT NOTE: Even though the EIM potential is treating atoms as +charged ions, you should not use a LAMMPS "atom_style"_atom_style.html +that stores a charge on each atom and thus requires you to assign a +charge to each atom, e.g. the {charge} or {full} atom styles. This is +because the EIM potential infers the charge on an atom from the +equation above for q_i; you do not assign charges explicitly. + +:line + +All the EIM parameters are listed in a potential file which is +specified by the "pair_coeff"_pair_coeff.html command. This is an +ASCII text file in a format described below. The "ffield.eim" file +included in the "potentials" directory of the LAMMPS distribution +currently includes nine elements Li, Na, K, Rb, Cs, F, Cl, Br, and I. +A system with any combination of these elements can be modeled. This +file is parameterized in terms of LAMMPS "metal units"_units.html. + +Note that unlike other potentials, cutoffs for EIM potentials are not +set in the pair_style or pair_coeff command; they are specified in the +EIM potential file itself. Likewise, the EIM potential file lists +atomic masses; thus you do not need to use the "mass"_mass.html +command to specify them. + +Only a single pair_coeff command is used with the {eim} style which +specifies an EIM potential file and the element(s) to extract +information for. The EIM elements are mapped to LAMMPS atom types by +specifying N additional arguments after the filename in the pair_coeff +command, where N is the number of LAMMPS atom types: + +Elem1, Elem2, ... +EIM potential file +N element names = mapping of EIM elements to atom types :ul + +As an example like one of those above, suppose you want to model a +system with Na and Cl atoms. If your LAMMPS simulation has 4 atoms +types and you want the 1st 3 to be Na, and the 4th to be Cl, you would +use the following pair_coeff command: + +pair_coeff * * Na Cl ffield.eim Na Na Na Cl :pre + +The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +The filename is the EIM potential file. The Na and Cl arguments +(before the file name) are the two elements for which info will be +extracted from the potentail file. The first three trailing Na +arguments map LAMMPS atom types 1,2,3 to the EIM Na element. The +final Cl argument maps LAMMPS atom type 4 to the EIM Cl element. + +If a mapping value is specified as NULL, the mapping is not performed. +This can be used when an {eim} potential is used as part of the +{hybrid} pair style. The NULL values are placeholders for atom types +that will be used with other potentials. + +The ffield.eim file in the {potentials} directory of the LAMMPS +distribution is formated as follows: + +Lines starting with # are comments and are ignored by LAMMPS. Lines +starting with "global:" include three global values. The first value +divides the cations from anions, i.e., any elements with +electronegativity above this value are viewed as anions, and any +elements with electronegativity below this value are viewed as +cations. The second and third values are related to the cutoff +function - i.e. the 0.510204, 1.64498, and 0.010204 shown in the above +equation can be derived from these values. + +Lines starting with "element:" are formatted as follows: name of +element, atomic number, atomic mass, electronic negativity, atomic +radius (LAMMPS ignores it), ionic radius (LAMMPS ignores it), cohesive +energy (LAMMPS ignores it), and q0 (must be 0). + +Lines starting with "pair:" are entered as: element 1, element 2, +r_(c,phi), r_(c,phi) (redundant for historical reasons), E_b, r_e, +alpha, beta, r_(c,eta), A_(eta), r_(s,eta), r_(c,psi), A_(psi), zeta, +r_(s,psi), and p. + +The lines in the file can be in any order; LAMMPS extracts the info it +needs. + +:line + +[Restrictions:] + +This style is part of the "manybody" package. It is only enabled if +LAMMPS was built with that package (which it is by default). + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:line + +:link(Zhou) +[(Zhou)] Zhou, submitted for publication (2010). Please contact +Xiaowang Zhou (Sandia) for details via email at xzhou at sandia.gov. diff --git a/doc/pair_style.html b/doc/pair_style.html index c1002bb0e4..88957d663f 100644 --- a/doc/pair_style.html +++ b/doc/pair_style.html @@ -108,6 +108,7 @@ the pair_style command, and coefficients specified by the associated