forked from lijiext/lammps
Merge pull request #839 from oywg11/master
New registry dependent interlayer potential in LAMMPS
This commit is contained in:
commit
318877ada3
Binary file not shown.
After Width: | Height: | Size: 186 KiB |
|
@ -0,0 +1,33 @@
|
|||
\documentclass[aps,pr,onecolumn,superscriptaddress,noshowpacs,a4paper,15pt]{revtex4}
|
||||
\pdfoutput=1
|
||||
\bibliographystyle{apsrev4}
|
||||
\usepackage{color}
|
||||
\usepackage{dcolumn} %Align table columns on decimal point
|
||||
\usepackage{amssymb}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amsthm}
|
||||
\usepackage{graphicx}
|
||||
\usepackage[pdftex]{hyperref}
|
||||
\hypersetup{colorlinks=true,citecolor=blue,linkcolor=red,urlcolor=blue}
|
||||
\usepackage[all]{hypcap}
|
||||
\newcommand{\red}{\color{red}}
|
||||
\newcommand{\blue}{\color{blue}}
|
||||
\definecolor{green}{rgb}{0,0.5,0}
|
||||
\newcommand{\green}{\color{green}}
|
||||
\newcommand{\white}{\color{white}}
|
||||
%\newcommand{\cite}[1]{\hspace{-1 ex} % \nocite{#1}\citenum{#1}}
|
||||
\thickmuskip=0.5\thickmuskip %shorter spaces in math
|
||||
|
||||
\begin{document}
|
||||
\begingroup
|
||||
\Large
|
||||
\begin{eqnarray*}
|
||||
E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\[15pt]
|
||||
V_{ij} & = & {\rm Tap}(r_{ij})\frac{\kappa q_i q_j}{\sqrt[3]{r_{ij}^3+(1/\lambda_{ij})^3}}\\[15pt]
|
||||
{\rm Tap}(r_{ij}) & = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 -
|
||||
70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 +
|
||||
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
|
||||
35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1
|
||||
\end{eqnarray*}
|
||||
\endgroup
|
||||
\end{document}
|
Binary file not shown.
After Width: | Height: | Size: 301 KiB |
|
@ -0,0 +1,42 @@
|
|||
\documentclass[aps,pr,onecolumn,superscriptaddress,noshowpacs,a4paper,15pt]{revtex4}
|
||||
\pdfoutput=1
|
||||
\bibliographystyle{apsrev4}
|
||||
\usepackage{color}
|
||||
\usepackage{dcolumn} %Align table columns on decimal point
|
||||
\usepackage{amssymb}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amsthm}
|
||||
\usepackage{graphicx}
|
||||
\usepackage[pdftex]{hyperref}
|
||||
\hypersetup{colorlinks=true,citecolor=blue,linkcolor=red,urlcolor=blue}
|
||||
\usepackage[all]{hypcap}
|
||||
\newcommand{\red}{\color{red}}
|
||||
\newcommand{\blue}{\color{blue}}
|
||||
\definecolor{green}{rgb}{0,0.5,0}
|
||||
\newcommand{\green}{\color{green}}
|
||||
\newcommand{\white}{\color{white}}
|
||||
%\newcommand{\cite}[1]{\hspace{-1 ex} % \nocite{#1}\citenum{#1}}
|
||||
\thickmuskip=0.5\thickmuskip %shorter spaces in math
|
||||
%
|
||||
\begin{document}
|
||||
%
|
||||
\begingroup
|
||||
\Large
|
||||
\begin{eqnarray*}
|
||||
E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\[15pt]
|
||||
V_{ij} & = & {\rm Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)}
|
||||
\left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] -
|
||||
\frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}}
|
||||
\cdot \frac{C_6}{r^6_{ij}} \right \}\\[15pt]
|
||||
\rho_{ij}^2 & = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\[15pt]
|
||||
\rho_{ji}^2 & = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\[15pt]
|
||||
f(\rho) & = & C e^{ -( \rho / \delta )^2 }\\[15pt]
|
||||
{\rm Tap}(r_{ij}) & = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 -
|
||||
70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 +
|
||||
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
|
||||
35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1
|
||||
\end{eqnarray*}
|
||||
\endgroup
|
||||
%
|
||||
\end{document}
|
||||
%
|
Binary file not shown.
After Width: | Height: | Size: 178 KiB |
|
@ -0,0 +1,33 @@
|
|||
\documentclass[aps,pr,onecolumn,superscriptaddress,noshowpacs,a4paper,15pt]{revtex4}
|
||||
\pdfoutput=1
|
||||
\bibliographystyle{apsrev4}
|
||||
\usepackage{color}
|
||||
\usepackage{dcolumn} %Align table columns on decimal point
|
||||
\usepackage{amssymb}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amsthm}
|
||||
\usepackage{graphicx}
|
||||
\usepackage[pdftex]{hyperref}
|
||||
\hypersetup{colorlinks=true,citecolor=blue,linkcolor=red,urlcolor=blue}
|
||||
\usepackage[all]{hypcap}
|
||||
\newcommand{\red}{\color{red}}
|
||||
\newcommand{\blue}{\color{blue}}
|
||||
\definecolor{green}{rgb}{0,0.5,0}
|
||||
\newcommand{\green}{\color{green}}
|
||||
\newcommand{\white}{\color{white}}
|
||||
%\newcommand{\cite}[1]{\hspace{-1 ex} % \nocite{#1}\citenum{#1}}
|
||||
\thickmuskip=0.5\thickmuskip %shorter spaces in math
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begingroup
|
||||
\Large
|
||||
\begin{eqnarray*}
|
||||
E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\[15pt]
|
||||
V_{ij} & = & e^{-\lambda (r_{ij} -z_0)} \left [ C + f(\rho_{ij}) + f(\rho_{ji}) - A \left ( \frac{r_{ij}}{z_0}\right )^{-6} \right ] \\
|
||||
\rho_{ij}^2 & = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{i})^2 \\[15pt]
|
||||
\rho_{ji}^2 & = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{j})^2 \\[15pt]
|
||||
f(\rho) & = & e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} { \rho/\delta }^{2n}
|
||||
\end{eqnarray*}
|
||||
\endgroup
|
||||
\end{document}
|
|
@ -1040,6 +1040,7 @@ package"_Section_start.html#start_3.
|
|||
"coul/cut/soft (o)"_pair_lj_soft.html,
|
||||
"coul/diel (o)"_pair_coul_diel.html,
|
||||
"coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"coul/shield"_pair_coul_shield.html,
|
||||
"dpd/fdt"_pair_dpd_fdt.html,
|
||||
"dpd/fdt/energy (k)"_pair_dpd_fdt.html,
|
||||
"eam/cd (o)"_pair_eam.html,
|
||||
|
@ -1050,6 +1051,8 @@ package"_Section_start.html#start_3.
|
|||
"exp6/rx (k)"_pair_exp6_rx.html,
|
||||
"extep"_pair_extep.html,
|
||||
"gauss/cut"_pair_gauss.html,
|
||||
"ilp/graphene/hbn"_pair_ilp_graphene_hbn.html,
|
||||
"kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html,
|
||||
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
|
||||
"lennard/mdf"_pair_mdf.html,
|
||||
"list"_pair_list.html,
|
||||
|
|
|
@ -437,6 +437,7 @@ pair_colloid.html
|
|||
pair_comb.html
|
||||
pair_coul.html
|
||||
pair_coul_diel.html
|
||||
pair_coul_shield.html
|
||||
pair_cs.html
|
||||
pair_dipole.html
|
||||
pair_dpd.html
|
||||
|
@ -453,9 +454,11 @@ pair_gayberne.html
|
|||
pair_gran.html
|
||||
pair_gromacs.html
|
||||
pair_gw.html
|
||||
pair_ilp_graphene_hbn.html
|
||||
pair_hbond_dreiding.html
|
||||
pair_hybrid.html
|
||||
pair_kim.html
|
||||
pair_kolmogorov_crespi_full.html
|
||||
pair_kolmogorov_crespi_z.html
|
||||
pair_lcbop.html
|
||||
pair_line_lj.html
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
pair_style coul/shield command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style coul/shield cutoff tap_flag :pre
|
||||
|
||||
cutoff = global cutoff (distance units)
|
||||
tap_flag = 0/1 to turn off/on the taper function
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style coul/shield 16.0 1
|
||||
pair_coeff 1 2 0.70 :pre
|
||||
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {coul/shield} computes a Coulomb interaction for boron and
|
||||
nitrogen atoms located in different layers of hexagonal boron
|
||||
nitride. This potential is designed be used in combination with
|
||||
the pair style "ilp/graphene/hbn"_pair_ilp_graphene_hbn.html
|
||||
|
||||
NOTE: This potential is intended for electrostatic interactions between
|
||||
two different layers of hexagonal boron nitride. Therefore, to avoid
|
||||
interaction within the same layers, each layer should have a separate
|
||||
molecule id and is recommended to use the "full" atom style, so that
|
||||
charge and molecule ID information is included.
|
||||
|
||||
:c,image(Eqs/pair_coul_shield.jpg)
|
||||
|
||||
Where Tap(r_ij) is the taper function which provides a continuous cutoff
|
||||
(up to third derivative) for inter-atomic separations larger than r_c
|
||||
"(Maaravi)"_#Maaravi1. Here {lambda} is the shielding parameter that
|
||||
eliminates the short-range singularity of the classical mono-polar
|
||||
electrostatic interaction expression "(Maaravi)"_#Maaravi1.
|
||||
|
||||
The shielding parameter {lambda} (1/distance units) must be defined for
|
||||
each pair of atom types via the "pair_coeff"_pair_coeff.html command as
|
||||
in the example above, or in the data file or restart files read by the
|
||||
"read_data"_read_data.html or "read_restart"_read_restart.html commands:
|
||||
|
||||
The global cutoff (r_c) specified in the pair_style command is used.
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
This pair style does not support parameter mixing. Coefficients must
|
||||
be given explicitly for each type of particle pairs.
|
||||
|
||||
The "pair_modify"_pair_modify.html {table} option is not relevant
|
||||
for this pair style.
|
||||
|
||||
This pair style does not support the "pair_modify"_pair_modify.html
|
||||
{tail} option for adding long-range tail corrections to energy and
|
||||
pressure.
|
||||
|
||||
This pair style can only be used via the {pair} keyword of the
|
||||
"run_style respa"_run_style.html command. It does not support the
|
||||
{inner}, {middle}, {outer} keywords.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This style is part of the USER-MISC package. It is only enabled
|
||||
if LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_2_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html
|
||||
|
||||
[Default:] tap_flag = 1
|
||||
|
||||
:line
|
||||
|
||||
:link(Maaravi1)
|
||||
[(Maaravi)] T. Maaravi et al, J. Phys. Chem. C 121, 22826-22835 (2017).
|
|
@ -0,0 +1,125 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
pair_style ilp/graphene/hbn command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style hybrid/overlay ilp/graphene/hbn cutoff tap_flag :pre
|
||||
|
||||
cutoff = global cutoff (distance units)
|
||||
tap_flag = 0/1 to turn off/on the taper function
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style hybrid/overlay ilp/graphene/hbn 16.0 1
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C :pre
|
||||
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
pair_coeff * * rebo CH.airebo NULL NULL C
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C :pre
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
pair_coeff 1 2 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 2 coul/shield 0.69
|
||||
|
||||
[Description:]
|
||||
|
||||
The {ilp/graphene/hbn} style computes the registry-dependent interlayer
|
||||
potential (RDILP) potential as described in "(Leven)"_#Leven and
|
||||
"(Maaravi)"_#Maaravi2. The normals are calculated in the way as described
|
||||
in "(Kolmogorov)"_#Kolmogorov2.
|
||||
|
||||
:c,image(Eqs/pair_ilp_graphene_hbn.jpg)
|
||||
|
||||
Where Tap(r_ij) is the taper function which provides a continuous
|
||||
cutoff (up to third derivative) for interatomic separations larger than
|
||||
r_c "(Maaravi)"_#Maaravi2. The definitons of each parameter in the above
|
||||
equation can be found in "(Leven)"_#Leven and "(Maaravi)"_#Maaravi2.
|
||||
|
||||
It is important to include all the pairs to build the neighbor list for
|
||||
calculating the normals.
|
||||
|
||||
NOTE: This potential is intended for interactions between two different
|
||||
layers of graphene or hexagonal boron nitride. Therefore, to avoid
|
||||
interaction within the same layers, each layer should have a separate
|
||||
molecule id and is recommended to use "full" atom style in the data
|
||||
file.
|
||||
|
||||
The parameter file (e.g. BNCH.ILP), is intended for use with {metal}
|
||||
"units"_units.html, with energies in meV. Two additional parameters,
|
||||
{S}, and {rcut} are included in the parameter file. {S} is designed to
|
||||
facilitate scaling of energies. {rcut} is designed to build the neighbor
|
||||
list for calculating the normals for each atom pair.
|
||||
|
||||
NOTE: The parameters presented in the parameter file (e.g. BNCH.ILP),
|
||||
are fitted with taper function by setting the cutoff equal to 16.0
|
||||
Angstrom. Using different cutoff or taper function should be careful.
|
||||
|
||||
NOTE: Two parameter files (BNCH.ILP and BNCH-old.ILP) are presented,
|
||||
BNCH-old.ILP contains the parameters published in "(Leven)"_#Leven and
|
||||
"(Maaravi)"_#Maaravi2, which is only suitable for long-range
|
||||
interaction. The parameters in BNCH.ILP provides a good description both
|
||||
for short- and long-range interaction. This is useful for simulations in
|
||||
the high pressure (small interlayer distances) regime. The comparison of
|
||||
two sets of parameters can be found in "(Ouyang)"_#Ouyang.
|
||||
|
||||
This potential must be used in combination with hybrid/overlay.
|
||||
Other interactions can be set to zero using pair_style {none}.
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
This pair style does not support the pair_modify mix, shift, table, and
|
||||
tail options.
|
||||
|
||||
This pair style does not write their information to binary restart
|
||||
files, since it is stored in potential files. Thus, you need to
|
||||
re-specify the pair_style and pair_coeff commands in an input script
|
||||
that reads a restart file.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
This pair potential requires the newton setting to be {on} for pair
|
||||
interactions.
|
||||
|
||||
The BNCH.ILP potential file provided with LAMMPS (see the potentials
|
||||
directory) are parameterized for {metal} units. You can use this
|
||||
potential with any LAMMPS units, but you would need to create your
|
||||
BNCH.ILP potential file with coefficients listed in the appropriate
|
||||
units, if your simulation does not use {metal} units.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
"pair_none"_pair_none.html
|
||||
"pair_style hybrid/overlay"_pair_hybrid.html
|
||||
"pair_style pair_kolmogorov_crespi_z"_pair_kolmogorov_crespi_z.html
|
||||
"pair_style pair_kolmogorov_crespi_full"_pair_kolmogorov_crespi_full.html
|
||||
"pair_style pair_coul_shield"_pair_coul_shield.html
|
||||
|
||||
[Default:] tap_flag = 1
|
||||
|
||||
:line
|
||||
|
||||
:link(Leven)
|
||||
[(Leven)] I. Leven et al, J. Chem.Theory Comput. 12, 2896-905 (2016)
|
||||
|
||||
:link(Maaravi2)
|
||||
[(Maaravi)] T. Maaravi et al, J. Phys. Chem. C 121, 22826-22835 (2017).
|
||||
|
||||
:link(Kolmogorov2)
|
||||
[(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005)
|
||||
|
||||
:link(Ouyang)
|
||||
[(Ouyang)] W. Ouyang, D. Mandelli, O. Hod, M. Urbakh, In preparation.
|
|
@ -0,0 +1,97 @@
|
|||
"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 kolmogorov/crespi/full command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style hybrid/overlay kolmogorov/crespi/full cutoff tap_flag :pre
|
||||
|
||||
cutoff = global cutoff (distance units)
|
||||
tap_flag = 0/1 to turn off/on the taper function
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style hybrid/overlay kolmogorov/crespi/full 20.0 0
|
||||
pair_coeff * * none
|
||||
pair_coeff * * kolmogorov/crespi/full CC.KC C C :pre
|
||||
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0
|
||||
pair_coeff * * rebo CH.airebo C C
|
||||
pair_coeff * * kolmogorov/crespi/full CC.KC C C :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {kolmogorov/crespi/full} style computes the Kolmogorov-Crespi
|
||||
interaction potential as described in "(Kolmogorov)"_#Kolmogorov1.
|
||||
No simplification is made,
|
||||
|
||||
:c,image(Eqs/pair_kolmogorov_crespi_full.jpg)
|
||||
|
||||
It is important to have a sufficiently large cutoff to ensure smooth
|
||||
forces and to include all the pairs to build the neighbor list for
|
||||
calculating the normals. Energies are shifted so that they go
|
||||
continuously to zero at the cutoff assuming that the exponential part of
|
||||
{Vij} (first term) decays sufficiently fast. This shift is achieved by
|
||||
the last term in the equation for {Vij} above.
|
||||
|
||||
NOTE: This potential is intended for interactions between two different
|
||||
graphene layers. Therefore, to avoid interaction within the same layers,
|
||||
each layer should have a separate molecule id and is recommended to use
|
||||
"full" atom style in the data file.
|
||||
|
||||
The parameter file (e.g. CC.KC), is intended for use with {metal}
|
||||
"units"_units.html, with energies in meV. Two additional parameters, {S},
|
||||
and {rcut} are included in the parameter file. {S} is designed to
|
||||
facilitate scaling of energies. {rcut} is designed to build the neighbor
|
||||
list for calculating the normals for each atom pair.
|
||||
|
||||
This potential must be used in combination with hybrid/overlay.
|
||||
Other interactions can be set to zero using pair_style {none}.
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
This pair style does not support the pair_modify mix, shift, table,
|
||||
and tail options.
|
||||
|
||||
This pair style does not write their information to binary restart
|
||||
files, since it is stored in potential files. Thus, you need to
|
||||
re-specify the pair_style and pair_coeff commands in an input script
|
||||
that reads a restart file.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
This pair potential requires the newton setting to be {on} for pair
|
||||
interactions.
|
||||
|
||||
The CC.KC potential file provided with LAMMPS (see the potentials
|
||||
folder) are parameterized for metal units. You can use this potential
|
||||
with any LAMMPS units, but you would need to create your own custom
|
||||
CC.KC potential file with all coefficients converted to the appropriate
|
||||
units.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
"pair_none"_pair_none.html
|
||||
"pair_style hybrid/overlay"_pair_hybrid.html
|
||||
"pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html
|
||||
"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html
|
||||
|
||||
[Default:] tap_flag = 0
|
||||
|
||||
:line
|
||||
|
||||
:link(Kolmogorov1)
|
||||
[(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005)
|
|
@ -25,7 +25,7 @@ pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C :pre
|
|||
[Description:]
|
||||
|
||||
The {kolmogorov/crespi/z} style computes the Kolmogorov-Crespi interaction
|
||||
potential as described in "(KC05)"_#KC05. An important simplification is made,
|
||||
potential as described in "(Kolmogorov)"_#KC05. An important simplification is made,
|
||||
which is to take all normals along the z-axis.
|
||||
|
||||
:c,image(Eqs/pair_kolmogorov_crespi_z.jpg)
|
||||
|
@ -65,7 +65,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
|||
:line
|
||||
|
||||
:link(KC05)
|
||||
[(KC05)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005)
|
||||
[(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005)
|
||||
|
||||
:link(vanWijk)
|
||||
[(vanWijk)] M. M. van Wijk, A. Schuring, M. I. Katsnelson, and A. Fasolino,
|
||||
|
|
|
@ -24,6 +24,7 @@ Pair Styles :h1
|
|||
pair_comb
|
||||
pair_coul
|
||||
pair_coul_diel
|
||||
pair_coul_shield
|
||||
pair_cs
|
||||
pair_dipole
|
||||
pair_dpd
|
||||
|
@ -42,7 +43,9 @@ Pair Styles :h1
|
|||
pair_gw
|
||||
pair_hbond_dreiding
|
||||
pair_hybrid
|
||||
pair_ilp_graphene_hbn
|
||||
pair_kim
|
||||
pair_kolmogorov_crespi_full
|
||||
pair_kolmogorov_crespi_z
|
||||
pair_lcbop
|
||||
pair_line_lj
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../../../../potentials/BNC.tersoff
|
|
@ -0,0 +1 @@
|
|||
../../../../potentials/BNCH-old.ILP
|
|
@ -0,0 +1 @@
|
|||
../../../../../potentials/BNCH-old.ILP
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
../../../../../potentials/CH.airebo
|
|
@ -0,0 +1,61 @@
|
|||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
# read lammps data file
|
||||
read_data Bi_gr_AB_stack_2L_noH_300K.data
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
group adsorbate type 2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo ilp/graphene/hbn 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL C # chemical
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair ilp/graphene/hbn
|
||||
variable REBO equal c_0
|
||||
variable ILP equal c_1
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_ILP temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
|
@ -0,0 +1,137 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
# read lammps data file
|
||||
read_data Bi_gr_AB_stack_2L_noH_300K.data
|
||||
orthogonal box = (0 0 0) to (42.6 41.8117 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 2
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo ilp/graphene/hbn 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair ilp/graphene/hbn
|
||||
variable REBO equal c_0
|
||||
variable ILP equal c_1
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_ILP temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair rebo, perpetual, skip from (2)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 16.96 | 16.96 | 16.96 Mbytes
|
||||
Step TotEng PotEng KinEng v_REBO v_ILP Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
0 -5029.3801131277 -5044.0700799791 14.6899668514 -5011.2636297759 -32.8064502032 83.6251135127 22.0155657205 20.2812150219 3.4623630945 0.0282287195 0.0535565745 0.2193320108
|
||||
100 -5029.3895815657 -5045.3201249690 15.9305434033 -5012.4897058028 -32.8304191662 90.6873047362 22.0181751545 20.2867946176 3.4502536831 0.0239131349 0.0576557373 -0.4387830564
|
||||
200 -5029.3874064119 -5045.8119502228 16.4245438109 -5012.7276250747 -33.0843251481 93.4994853617 22.0202931358 20.2926890775 3.3883512918 0.0180268639 0.0596894423 -0.6964675465
|
||||
300 -5029.3851410393 -5044.9928147367 15.6076736974 -5012.1131531405 -32.8796615962 88.8493144891 22.0216852689 20.2985091183 3.3368274018 0.0093519893 0.0546775051 -0.2110676539
|
||||
400 -5029.3900102082 -5045.6706717598 16.2806615516 -5012.7330095297 -32.9376622301 92.6804113372 22.0220931529 20.3035219616 3.3560233852 -0.0015365116 0.0454268927 0.5478139709
|
||||
500 -5029.3985510533 -5046.0433160610 16.6447650078 -5013.0924334585 -32.9508826025 94.7531316612 22.0214795944 20.3074656871 3.4232399722 -0.0107212024 0.0332249366 0.6595923534
|
||||
600 -5029.3929936746 -5045.4367231195 16.0437294449 -5012.7046931021 -32.7320300174 91.3316353653 22.0200027176 20.3101652565 3.4651727438 -0.0178110391 0.0210056002 0.1144372537
|
||||
700 -5029.3934435811 -5045.6074608403 16.2140172592 -5012.7886962164 -32.8187646239 92.3010274644 22.0178838793 20.3116257077 3.4432436715 -0.0242636237 0.0078323424 -0.5162836955
|
||||
800 -5029.3892931255 -5046.2270462380 16.8377531124 -5013.2383770824 -32.9886691555 95.8517489911 22.0151485191 20.3116305041 3.3780520461 -0.0302821178 -0.0083184719 -0.6710801515
|
||||
900 -5029.3930414672 -5046.0272003818 16.6341589146 -5013.2317798384 -32.7954205434 94.6927546874 22.0119224940 20.3099187654 3.3350551183 -0.0341747588 -0.0256858066 -0.0799872839
|
||||
1000 -5029.3908907831 -5045.6437703691 16.2528795861 -5012.6800867885 -32.9636835807 92.5222578135 22.0084902521 20.3065746721 3.3658243730 -0.0336536245 -0.0406018547 0.6191660974
|
||||
Loop time of 137.46 on 1 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 0.629 ns/day, 38.183 hours/ns, 7.275 timesteps/s
|
||||
95.1% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 137.33 | 137.33 | 137.33 | 0.0 | 99.90
|
||||
Bond | 0.00071788 | 0.00071788 | 0.00071788 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.067907 | 0.067907 | 0.067907 | 0.0 | 0.05
|
||||
Output | 0.0016029 | 0.0016029 | 0.0016029 | 0.0 | 0.00
|
||||
Modify | 0.036542 | 0.036542 | 0.036542 | 0.0 | 0.03
|
||||
Other | | 0.02574 | | | 0.02
|
||||
|
||||
Nlocal: 1360 ave 1360 max 1360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7964 ave 7964 max 7964 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 265206 ave 265206 max 265206 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 265206
|
||||
Ave neighs/atom = 195.004
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:17
|
|
@ -0,0 +1,137 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
# read lammps data file
|
||||
read_data Bi_gr_AB_stack_2L_noH_300K.data
|
||||
orthogonal box = (0 0 0) to (42.6 41.8117 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 2
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo ilp/graphene/hbn 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair ilp/graphene/hbn
|
||||
variable REBO equal c_0
|
||||
variable ILP equal c_1
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_ILP temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair rebo, perpetual, skip from (2)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.13 | 11.13 | 11.13 Mbytes
|
||||
Step TotEng PotEng KinEng v_REBO v_ILP Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
0 -5029.3801131277 -5044.0700799791 14.6899668514 -5011.2636297759 -32.8064502032 83.6251135127 22.0155657205 20.2812150219 3.4623630945 0.0282287195 0.0535565745 0.2193320108
|
||||
100 -5029.3895815657 -5045.3201249690 15.9305434033 -5012.4897058028 -32.8304191662 90.6873047362 22.0181751545 20.2867946176 3.4502536831 0.0239131349 0.0576557373 -0.4387830564
|
||||
200 -5029.3874064119 -5045.8119502228 16.4245438109 -5012.7276250747 -33.0843251481 93.4994853617 22.0202931358 20.2926890775 3.3883512918 0.0180268639 0.0596894423 -0.6964675465
|
||||
300 -5029.3851410393 -5044.9928147367 15.6076736974 -5012.1131531405 -32.8796615962 88.8493144891 22.0216852689 20.2985091183 3.3368274018 0.0093519893 0.0546775051 -0.2110676539
|
||||
400 -5029.3900102082 -5045.6706717598 16.2806615516 -5012.7330095297 -32.9376622301 92.6804113371 22.0220931529 20.3035219616 3.3560233852 -0.0015365116 0.0454268927 0.5478139709
|
||||
500 -5029.3985510533 -5046.0433160611 16.6447650078 -5013.0924334585 -32.9508826025 94.7531316612 22.0214795944 20.3074656871 3.4232399722 -0.0107212024 0.0332249366 0.6595923534
|
||||
600 -5029.3929936746 -5045.4367231195 16.0437294449 -5012.7046931021 -32.7320300174 91.3316353653 22.0200027176 20.3101652565 3.4651727438 -0.0178110391 0.0210056002 0.1144372537
|
||||
700 -5029.3934435811 -5045.6074608403 16.2140172592 -5012.7886962164 -32.8187646239 92.3010274643 22.0178838793 20.3116257077 3.4432436715 -0.0242636237 0.0078323424 -0.5162836955
|
||||
800 -5029.3892931255 -5046.2270462380 16.8377531124 -5013.2383770824 -32.9886691555 95.8517489911 22.0151485191 20.3116305041 3.3780520461 -0.0302821178 -0.0083184719 -0.6710801515
|
||||
900 -5029.3930414671 -5046.0272003818 16.6341589146 -5013.2317798384 -32.7954205434 94.6927546874 22.0119224940 20.3099187654 3.3350551183 -0.0341747588 -0.0256858066 -0.0799872839
|
||||
1000 -5029.3908907831 -5045.6437703692 16.2528795861 -5012.6800867885 -32.9636835807 92.5222578135 22.0084902521 20.3065746721 3.3658243730 -0.0336536245 -0.0406018547 0.6191660974
|
||||
Loop time of 36.0917 on 4 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 2.394 ns/day, 10.025 hours/ns, 27.707 timesteps/s
|
||||
97.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 33.204 | 34.289 | 35.893 | 17.3 | 95.01
|
||||
Bond | 0.00038719 | 0.00065947 | 0.00097609 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.1539 | 1.7595 | 2.8464 | 76.7 | 4.88
|
||||
Output | 0.0013447 | 0.0014529 | 0.0016887 | 0.4 | 0.00
|
||||
Modify | 0.010811 | 0.012037 | 0.013764 | 1.0 | 0.03
|
||||
Other | | 0.0287 | | | 0.08
|
||||
|
||||
Nlocal: 340 ave 344 max 334 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
Nghost: 4628 ave 4634 max 4624 min
|
||||
Histogram: 1 0 1 0 1 0 0 0 0 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 66301.5 ave 67860 max 63963 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
|
||||
Total # of neighbors = 265206
|
||||
Ave neighs/atom = 195.004
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:36
|
|
@ -0,0 +1 @@
|
|||
../../../../../potentials/BNC.tersoff
|
|
@ -0,0 +1 @@
|
|||
../../../../../potentials/BNCH-old.ILP
|
|
@ -0,0 +1 @@
|
|||
../../../../../potentials/CH.airebo
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,71 @@
|
|||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data gr_hBN_Cstack_2L_noH.data
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | membrane
|
||||
mass 3 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
group adsorbate type 3
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL NULL C # chemical
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL # chemical
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N C # long range
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
pair_coeff 1 2 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 2 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair tersoff
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
compute 3 all pair coul/shield
|
||||
variable REBO equal c_0
|
||||
variable Tersoff equal c_1
|
||||
variable EILP equal c_2
|
||||
variable Ecoul equal c_3
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_REBO v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
|
@ -0,0 +1,171 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data gr_hBN_Cstack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (44.583 42.9 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1440 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | membrane
|
||||
mass 3 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
720 atoms in group membrane
|
||||
group adsorbate type 3
|
||||
720 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL NULL C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N C # long range
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
pair_coeff 1 2 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 2 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair tersoff
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
compute 3 all pair coul/shield
|
||||
variable REBO equal c_0
|
||||
variable Tersoff equal c_1
|
||||
variable EILP equal c_2
|
||||
variable Ecoul equal c_3
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_REBO v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
7 neighbor lists, perpetual/occasional/extra = 6 1 0
|
||||
(1) pair rebo, perpetual, skip from (3)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair tersoff, perpetual, skip from (6)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(4) pair coul/shield, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton/skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) compute group/group, occasional, copy from (7)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) neighbor class addition, perpetual, copy from (3)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(7) neighbor class addition, perpetual, half/full from (6)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 25.93 | 25.93 | 25.93 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_REBO v_EILP v_Ecoul Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
0 -10708.4531746010 -10764.2547791975 55.8016045965 -66.8250335416 -5401.7347845703 -5322.2780762734 -40.2419183538 0.0000000000 300.0000000000 21.6722857297 22.1650000000 3.3300000000 0.1682661410 -0.0842226772 0.1056563755
|
||||
100 -10708.2491256387 -10738.4532793285 30.2041536898 -68.8603937785 -5389.4304136167 -5309.6361134033 -39.3867523085 0.0000000000 162.3832535368 21.6879886706 22.1574778199 3.3223279482 0.1346509596 -0.0580689194 -0.1274433614
|
||||
200 -10708.1985754490 -10736.7142682477 28.5156927987 -70.0276479251 -5388.8677096501 -5308.3263464524 -39.5202121452 0.0000000000 153.3057678444 21.6968427596 22.1541506320 3.3143666142 0.0334706445 -0.0081639882 -0.0055006321
|
||||
300 -10708.1878214116 -10736.9033486636 28.7155272520 -68.2422175765 -5388.5952548022 -5308.9505338445 -39.3575600169 0.0000000000 154.3801157314 21.6939171741 22.1551483321 3.3251666346 -0.0896064591 0.0248921781 0.1717740196
|
||||
400 -10708.2036103906 -10738.2295882994 30.0259779088 -67.4993928655 -5389.4510311345 -5309.1985887571 -39.5799684078 0.0000000000 161.4253467759 21.6806789605 22.1589742804 3.3300374170 -0.1615300496 0.0532638209 -0.1185426799
|
||||
500 -10708.1853082161 -10736.0245173060 27.8392090900 -69.9737746636 -5387.9379921501 -5308.5551693329 -39.5313558230 0.0000000000 149.6688632411 21.6641276776 22.1655659011 3.3143210751 -0.1579504334 0.0766822604 -0.1154029266
|
||||
600 -10708.1781001285 -10736.4254568396 28.2473567110 -69.9368770273 -5388.3515507737 -5308.6700567475 -39.4038493184 0.0000000000 151.8631421907 21.6516789999 22.1733266592 3.3149997184 -0.0805825343 0.0684349609 0.1419617624
|
||||
700 -10708.1867253590 -10736.6143955088 28.4276701498 -67.1597096579 -5387.8570063253 -5309.0676141640 -39.6897750195 0.0000000000 152.8325414049 21.6489884054 22.1774523945 3.3315351816 0.0259900263 0.0094570835 0.0707953688
|
||||
800 -10708.1733385055 -10736.0277775931 27.8544390876 -68.6354557276 -5388.1933954711 -5308.5094712719 -39.3249108500 0.0000000000 149.7507425941 21.6565725156 22.1751617515 3.3227650180 0.1222442823 -0.0531420670 -0.1677749693
|
||||
900 -10708.1827888042 -10737.2646739167 29.0818851126 -70.2218493216 -5387.9824857335 -5309.6527953488 -39.6293928345 0.0000000000 156.3497250098 21.6716950833 22.1680989334 3.3131455846 0.1650154385 -0.0820901425 0.0072049300
|
||||
1000 -10708.1804322657 -10736.1966428009 28.0162105352 -68.3753745517 -5388.2611029662 -5308.4521913187 -39.4833485160 0.0000000000 150.6204565501 21.6865468141 22.1602434319 3.3246621699 0.1213363701 -0.0688593023 0.1701174943
|
||||
Loop time of 149.449 on 1 procs for 1000 steps with 1440 atoms
|
||||
|
||||
Performance: 0.578 ns/day, 41.514 hours/ns, 6.691 timesteps/s
|
||||
96.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 149.06 | 149.06 | 149.06 | 0.0 | 99.74
|
||||
Bond | 0.00082946 | 0.00082946 | 0.00082946 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.068351 | 0.068351 | 0.068351 | 0.0 | 0.05
|
||||
Output | 0.25935 | 0.25935 | 0.25935 | 0.0 | 0.17
|
||||
Modify | 0.030915 | 0.030915 | 0.030915 | 0.0 | 0.02
|
||||
Other | | 0.02702 | | | 0.02
|
||||
|
||||
Nlocal: 1440 ave 1440 max 1440 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 8180 ave 8180 max 8180 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 140400 ave 140400 max 140400 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 280800 ave 280800 max 280800 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 280800
|
||||
Ave neighs/atom = 195
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:29
|
|
@ -0,0 +1,171 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data gr_hBN_Cstack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (44.583 42.9 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1440 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | membrane
|
||||
mass 3 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
720 atoms in group membrane
|
||||
group adsorbate type 3
|
||||
720 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL NULL C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N C # long range
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
pair_coeff 1 2 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 2 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair tersoff
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
compute 3 all pair coul/shield
|
||||
variable REBO equal c_0
|
||||
variable Tersoff equal c_1
|
||||
variable EILP equal c_2
|
||||
variable Ecoul equal c_3
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_REBO v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
7 neighbor lists, perpetual/occasional/extra = 6 1 0
|
||||
(1) pair rebo, perpetual, skip from (3)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair tersoff, perpetual, skip from (6)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(4) pair coul/shield, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton/skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) compute group/group, occasional, copy from (7)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) neighbor class addition, perpetual, copy from (3)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(7) neighbor class addition, perpetual, half/full from (6)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 14.25 | 14.25 | 14.25 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_REBO v_EILP v_Ecoul Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
0 -10708.4531746011 -10764.2547791976 55.8016045965 -66.8250335415 -5401.7347845703 -5322.2780762735 -40.2419183538 0.0000000000 300.0000000000 21.6722857297 22.1650000000 3.3300000000 0.1682661410 -0.0842226772 0.1056563755
|
||||
100 -10708.2491256387 -10738.4532793285 30.2041536898 -68.8603937785 -5389.4304136167 -5309.6361134033 -39.3867523085 0.0000000000 162.3832535368 21.6879886706 22.1574778199 3.3223279482 0.1346509596 -0.0580689194 -0.1274433614
|
||||
200 -10708.1985754490 -10736.7142682477 28.5156927987 -70.0276479251 -5388.8677096501 -5308.3263464524 -39.5202121452 0.0000000000 153.3057678444 21.6968427596 22.1541506320 3.3143666142 0.0334706445 -0.0081639882 -0.0055006321
|
||||
300 -10708.1878214116 -10736.9033486636 28.7155272520 -68.2422175765 -5388.5952548022 -5308.9505338445 -39.3575600169 0.0000000000 154.3801157314 21.6939171741 22.1551483321 3.3251666346 -0.0896064591 0.0248921781 0.1717740196
|
||||
400 -10708.2036103906 -10738.2295882994 30.0259779088 -67.4993928655 -5389.4510311345 -5309.1985887571 -39.5799684078 0.0000000000 161.4253467759 21.6806789605 22.1589742804 3.3300374170 -0.1615300496 0.0532638209 -0.1185426799
|
||||
500 -10708.1853082161 -10736.0245173060 27.8392090900 -69.9737746636 -5387.9379921501 -5308.5551693329 -39.5313558230 0.0000000000 149.6688632411 21.6641276776 22.1655659011 3.3143210751 -0.1579504334 0.0766822604 -0.1154029266
|
||||
600 -10708.1781001285 -10736.4254568396 28.2473567110 -69.9368770273 -5388.3515507736 -5308.6700567475 -39.4038493184 0.0000000000 151.8631421907 21.6516789999 22.1733266592 3.3149997184 -0.0805825343 0.0684349609 0.1419617624
|
||||
700 -10708.1867253590 -10736.6143955089 28.4276701498 -67.1597096579 -5387.8570063253 -5309.0676141640 -39.6897750195 0.0000000000 152.8325414049 21.6489884054 22.1774523945 3.3315351816 0.0259900263 0.0094570835 0.0707953688
|
||||
800 -10708.1733385055 -10736.0277775930 27.8544390876 -68.6354557276 -5388.1933954711 -5308.5094712719 -39.3249108500 0.0000000000 149.7507425941 21.6565725156 22.1751617515 3.3227650180 0.1222442823 -0.0531420670 -0.1677749693
|
||||
900 -10708.1827888042 -10737.2646739167 29.0818851126 -70.2218493216 -5387.9824857335 -5309.6527953488 -39.6293928345 0.0000000000 156.3497250098 21.6716950833 22.1680989334 3.3131455846 0.1650154385 -0.0820901425 0.0072049300
|
||||
1000 -10708.1804322657 -10736.1966428009 28.0162105352 -68.3753745517 -5388.2611029662 -5308.4521913187 -39.4833485160 0.0000000000 150.6204565501 21.6865468141 22.1602434319 3.3246621699 0.1213363701 -0.0688593023 0.1701174943
|
||||
Loop time of 39.6206 on 4 procs for 1000 steps with 1440 atoms
|
||||
|
||||
Performance: 2.181 ns/day, 11.006 hours/ns, 25.239 timesteps/s
|
||||
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 34.948 | 37.122 | 39.309 | 31.6 | 93.69
|
||||
Bond | 0.00046444 | 0.0005914 | 0.00089121 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.20131 | 2.3895 | 4.565 | 124.7 | 6.03
|
||||
Output | 0.069107 | 0.069157 | 0.069264 | 0.0 | 0.17
|
||||
Modify | 0.010056 | 0.010403 | 0.010688 | 0.3 | 0.03
|
||||
Other | | 0.02875 | | | 0.07
|
||||
|
||||
Nlocal: 360 ave 380 max 340 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 4716 ave 4736 max 4696 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 35100 ave 37050 max 33150 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
FullNghs: 70200 ave 74100 max 66300 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 280800
|
||||
Ave neighs/atom = 195
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:39
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,72 @@
|
|||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data hBN_AB_stack_2L_noH_equi_300K.data
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
mass 3 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 4 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
group adsorbate type 3 4
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * tersoff BNC.tersoff NULL NULL B N # chemical
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N B N # long range
|
||||
pair_coeff 1 3 coul/shield 0.70
|
||||
pair_coeff 1 4 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 3 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 4 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair tersoff
|
||||
compute 1 all pair coul/shield ecoul
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0
|
||||
variable Ecoul equal c_1
|
||||
variable EILP equal c_2
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom f_subf[1] f_subf[2] f_subf[3]
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
|
@ -0,0 +1,168 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data hBN_AB_stack_2L_noH_equi_300K.data
|
||||
orthogonal box = (0 0 0) to (43.38 42.5773 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
mass 3 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 4 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 3 4
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * tersoff BNC.tersoff NULL NULL B N # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N B N # long range
|
||||
pair_coeff 1 3 coul/shield 0.70
|
||||
pair_coeff 1 4 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 3 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 4 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair tersoff
|
||||
compute 1 all pair coul/shield ecoul
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0
|
||||
variable Ecoul equal c_1
|
||||
variable EILP equal c_2
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom f_subf[1] f_subf[2] f_subf[3]
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
6 neighbor lists, perpetual/occasional/extra = 5 1 0
|
||||
(1) pair tersoff, perpetual, skip from (5)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(3) pair coul/shield, perpetual, skip from (6)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) compute group/group, occasional, copy from (6)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) neighbor class addition, perpetual, copy from (2)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) neighbor class addition, perpetual, half/full from (5)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 57.85 | 57.85 | 57.85 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_EILP v_Ecoul Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom f_subf[1] f_subf[2] f_subf[3]
|
||||
0 -5114.6628078598 -5127.8586355055 13.1958276458 -75.3652234209 -5091.4120857465 -36.0831137829 -0.3634359761 75.1194741238 20.9113202537 20.6582215878 3.2895976612 -0.0495147937 -0.0552233516 -0.0166592619 -0.1742790202 -0.0884665936 -0.8010816801
|
||||
100 -5114.6620580583 -5127.6958349342 13.0337768758 -75.2249487778 -5091.2407919311 -36.0927601416 -0.3622828614 74.1969727889 20.9076129631 20.6534162972 3.2908118318 -0.0234802196 -0.0397832410 0.0332404745 -0.2430042439 -0.1598109185 -0.5351246275
|
||||
200 -5114.6630637865 -5127.5945140906 12.9314503041 -74.6445167393 -5091.1507571912 -36.0866688941 -0.3570880053 73.6144615235 20.9067696105 20.6505240051 3.2976575241 0.0078967872 -0.0170385302 0.0850447973 -0.2934041648 -0.2405295165 0.2309200807
|
||||
300 -5114.6693830121 -5128.3286231421 13.6592401300 -74.2223518942 -5091.8645555419 -36.1107860098 -0.3532815904 77.7575278367 20.9090146500 20.6502445717 3.3024525026 0.0352437329 0.0112279015 -0.0021399216 -0.2166516175 -0.2410661267 0.9007458614
|
||||
400 -5114.6614035404 -5127.6423784754 12.9809749350 -74.6548295432 -5091.2348011465 -36.0496340516 -0.3579432773 73.8963888364 20.9136276183 20.6526810045 3.2977225951 0.0556629502 0.0358324354 -0.0738287296 -0.1431221016 -0.1626739623 0.0673046122
|
||||
500 -5114.6599876234 -5127.4097813122 12.7497936887 -75.2268687829 -5090.9284608504 -36.1195707042 -0.3617497575 72.5803506074 20.9197050770 20.6571510311 3.2909058903 0.0631939085 0.0530269602 -0.0516940297 -0.0112976844 -0.1217009147 -0.4713422319
|
||||
600 -5114.6672773464 -5128.0912983829 13.4240210364 -75.3848112535 -5091.6338883189 -36.0938401510 -0.3635699131 76.4185034811 20.9258252862 20.6628322031 3.2892805234 0.0573396226 0.0579085440 0.0291853982 0.1059950758 0.0102266125 -0.7683214794
|
||||
700 -5114.6609647250 -5127.7466720637 13.0857073388 -74.7981789470 -5091.2811095008 -36.1066385732 -0.3589239897 74.4925957063 20.9307092134 20.6683554324 3.2957959411 0.0396744013 0.0503347378 0.0818267711 0.1737903706 0.1258761156 0.1307185989
|
||||
800 -5114.6622627667 -5128.0130406264 13.3507778597 -74.2952448854 -5091.5693975625 -36.0897180314 -0.3539250325 76.0015543464 20.9334441079 20.6725125240 3.3019570181 0.0142277646 0.0313116646 0.0291673132 0.2457478793 0.1912082770 0.7239823553
|
||||
900 -5114.6675469561 -5128.1496933801 13.4821464240 -74.3644898573 -5091.6703861750 -36.1246785145 -0.3546286905 76.7493920516 20.9334403558 20.6744181494 3.3005582394 -0.0141399355 0.0063543986 -0.0561206619 0.2370151923 0.2115707560 0.7822017606
|
||||
1000 -5114.6683146144 -5128.3364609113 13.6681462969 -75.1091579020 -5091.9370210069 -36.0375964349 -0.3618434694 77.8082276935 20.9306643096 20.6737238853 3.2922181699 -0.0411219854 -0.0200694204 -0.0788193565 0.2225175431 0.2377413412 -0.5875288557
|
||||
Loop time of 202.063 on 1 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 0.428 ns/day, 56.129 hours/ns, 4.949 timesteps/s
|
||||
91.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 201.4 | 201.4 | 201.4 | 0.0 | 99.67
|
||||
Bond | 0.00092697 | 0.00092697 | 0.00092697 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.086005 | 0.086005 | 0.086005 | 0.0 | 0.04
|
||||
Output | 0.50438 | 0.50438 | 0.50438 | 0.0 | 0.25
|
||||
Modify | 0.038846 | 0.038846 | 0.038846 | 0.0 | 0.02
|
||||
Other | | 0.03093 | | | 0.02
|
||||
|
||||
Nlocal: 1360 ave 1360 max 1360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7840 ave 7840 max 7840 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 249628 ave 249628 max 249628 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 253390 ave 253390 max 253390 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 253390
|
||||
Ave neighs/atom = 186.316
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:03:22
|
|
@ -0,0 +1,168 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data hBN_AB_stack_2L_noH_equi_300K.data
|
||||
orthogonal box = (0 0 0) to (43.38 42.5773 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
mass 3 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 4 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 3 4
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * tersoff BNC.tersoff NULL NULL B N # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N B N # long range
|
||||
pair_coeff 1 3 coul/shield 0.70
|
||||
pair_coeff 1 4 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 3 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 4 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair tersoff
|
||||
compute 1 all pair coul/shield ecoul
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0
|
||||
variable Ecoul equal c_1
|
||||
variable EILP equal c_2
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom f_subf[1] f_subf[2] f_subf[3]
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
6 neighbor lists, perpetual/occasional/extra = 5 1 0
|
||||
(1) pair tersoff, perpetual, skip from (5)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(3) pair coul/shield, perpetual, skip from (6)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) compute group/group, occasional, copy from (6)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) neighbor class addition, perpetual, copy from (2)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) neighbor class addition, perpetual, half/full from (5)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 30.63 | 30.63 | 30.64 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_EILP v_Ecoul Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom f_subf[1] f_subf[2] f_subf[3]
|
||||
0 -5114.6628078598 -5127.8586355055 13.1958276458 -75.3652234209 -5091.4120857465 -36.0831137829 -0.3634359761 75.1194741238 20.9113202537 20.6582215878 3.2895976612 -0.0495147937 -0.0552233516 -0.0166592619 -0.1742790202 -0.0884665936 -0.8010816801
|
||||
100 -5114.6620580583 -5127.6958349342 13.0337768758 -75.2249487778 -5091.2407919311 -36.0927601416 -0.3622828614 74.1969727889 20.9076129631 20.6534162972 3.2908118318 -0.0234802196 -0.0397832410 0.0332404745 -0.2430042439 -0.1598109185 -0.5351246275
|
||||
200 -5114.6630637865 -5127.5945140906 12.9314503041 -74.6445167393 -5091.1507571912 -36.0866688941 -0.3570880053 73.6144615235 20.9067696105 20.6505240051 3.2976575241 0.0078967872 -0.0170385302 0.0850447973 -0.2934041648 -0.2405295165 0.2309200807
|
||||
300 -5114.6693830121 -5128.3286231421 13.6592401300 -74.2223518942 -5091.8645555419 -36.1107860098 -0.3532815904 77.7575278367 20.9090146500 20.6502445717 3.3024525026 0.0352437329 0.0112279015 -0.0021399216 -0.2166516175 -0.2410661267 0.9007458614
|
||||
400 -5114.6614035404 -5127.6423784754 12.9809749350 -74.6548295432 -5091.2348011465 -36.0496340516 -0.3579432773 73.8963888364 20.9136276183 20.6526810045 3.2977225951 0.0556629502 0.0358324354 -0.0738287296 -0.1431221016 -0.1626739623 0.0673046122
|
||||
500 -5114.6599876234 -5127.4097813122 12.7497936887 -75.2268687829 -5090.9284608504 -36.1195707042 -0.3617497575 72.5803506074 20.9197050770 20.6571510311 3.2909058903 0.0631939085 0.0530269602 -0.0516940297 -0.0112976844 -0.1217009147 -0.4713422319
|
||||
600 -5114.6672773464 -5128.0912983829 13.4240210364 -75.3848112535 -5091.6338883189 -36.0938401510 -0.3635699131 76.4185034811 20.9258252862 20.6628322031 3.2892805234 0.0573396226 0.0579085440 0.0291853982 0.1059950758 0.0102266125 -0.7683214794
|
||||
700 -5114.6609647250 -5127.7466720637 13.0857073388 -74.7981789470 -5091.2811095008 -36.1066385732 -0.3589239897 74.4925957063 20.9307092134 20.6683554324 3.2957959411 0.0396744013 0.0503347378 0.0818267711 0.1737903706 0.1258761156 0.1307185989
|
||||
800 -5114.6622627667 -5128.0130406264 13.3507778597 -74.2952448854 -5091.5693975625 -36.0897180314 -0.3539250325 76.0015543464 20.9334441079 20.6725125240 3.3019570181 0.0142277646 0.0313116646 0.0291673132 0.2457478793 0.1912082770 0.7239823553
|
||||
900 -5114.6675469561 -5128.1496933801 13.4821464240 -74.3644898573 -5091.6703861750 -36.1246785145 -0.3546286905 76.7493920516 20.9334403558 20.6744181494 3.3005582394 -0.0141399355 0.0063543986 -0.0561206619 0.2370151923 0.2115707560 0.7822017606
|
||||
1000 -5114.6683146144 -5128.3364609113 13.6681462969 -75.1091579020 -5091.9370210069 -36.0375964349 -0.3618434694 77.8082276935 20.9306643096 20.6737238853 3.2922181699 -0.0411219854 -0.0200694204 -0.0788193565 0.2225175431 0.2377413412 -0.5875288557
|
||||
Loop time of 53.3155 on 4 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 1.621 ns/day, 14.810 hours/ns, 18.756 timesteps/s
|
||||
97.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 49.475 | 50.978 | 52.988 | 18.0 | 95.62
|
||||
Bond | 0.00045061 | 0.00066602 | 0.00086665 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.16491 | 2.1759 | 3.679 | 87.0 | 4.08
|
||||
Output | 0.11871 | 0.11882 | 0.11911 | 0.0 | 0.22
|
||||
Modify | 0.012956 | 0.013504 | 0.01387 | 0.3 | 0.03
|
||||
Other | | 0.02828 | | | 0.05
|
||||
|
||||
Nlocal: 340 ave 346 max 336 min
|
||||
Histogram: 1 0 1 0 1 0 0 0 0 1
|
||||
Nghost: 4537.5 ave 4540 max 4534 min
|
||||
Histogram: 1 0 0 0 0 0 2 0 0 1
|
||||
Neighs: 62407 ave 62413 max 62402 min
|
||||
Histogram: 1 0 0 1 1 0 0 0 0 1
|
||||
FullNghs: 63347.5 ave 65585 max 61866 min
|
||||
Histogram: 1 1 0 1 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 253926
|
||||
Ave neighs/atom = 186.71
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:53
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
../../../../potentials/CC.KC-full
|
|
@ -0,0 +1,60 @@
|
|||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
# read lammps data file
|
||||
read_data Bi_gr_AB_stack_2L_noH_300K.data
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
group adsorbate type 2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL C # chemical
|
||||
pair_coeff * * kolmogorov/crespi/full CC.KC-full C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair kolmogorov/crespi/full
|
||||
variable REBO equal c_0
|
||||
variable KC equal c_1
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_KC temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
|
@ -0,0 +1,136 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
# read lammps data file
|
||||
read_data Bi_gr_AB_stack_2L_noH_300K.data
|
||||
orthogonal box = (0 0 0) to (42.6 41.8117 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 2
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff * * kolmogorov/crespi/full CC.KC-full C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair kolmogorov/crespi/full
|
||||
variable REBO equal c_0
|
||||
variable KC equal c_1
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_KC temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair rebo, perpetual, skip from (2)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair kolmogorov/crespi/full, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 16.96 | 16.96 | 16.96 Mbytes
|
||||
Step TotEng PotEng KinEng v_REBO v_KC Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
0 -5025.3867722725 -5040.0767391239 14.6899668514 -5011.2636297759 -28.8131093480 83.6251135127 22.0155657205 20.2812150219 3.4623630945 0.0282287195 0.0535565745 0.2193320108
|
||||
100 -5025.3962433293 -5041.3829775585 15.9867342292 -5012.5109377234 -28.8720398351 91.0071804888 22.0181858078 20.2867731676 3.4456714402 0.0241525932 0.0573807336 -0.5235069014
|
||||
200 -5025.3942568861 -5041.9638220670 16.5695651809 -5012.7804299195 -29.1833921475 94.3250439654 22.0203529515 20.2926376511 3.3740502908 0.0186420748 0.0595018114 -0.7867265577
|
||||
300 -5025.3919463074 -5040.9705419367 15.5785956293 -5012.0510295102 -28.9195124265 88.6837826830 22.0218424095 20.2984380400 3.3199036613 0.0106250874 0.0544668352 -0.1513745908
|
||||
400 -5025.3965376948 -5041.6929964127 16.2964587179 -5012.6418090677 -29.0511873450 92.7703393702 22.0224243957 20.3034636122 3.3515794172 0.0006844935 0.0458598502 0.6967704496
|
||||
500 -5025.4050172900 -5042.1712310053 16.7662137153 -5013.1850218645 -28.9862091408 95.4444989087 22.0220673443 20.3074634962 3.4286173278 -0.0078273439 0.0340764532 0.6845095066
|
||||
600 -5025.3985715734 -5041.2158947893 15.8173232159 -5012.4875319345 -28.7283628548 90.0427797270 22.0209262700 20.3103065099 3.4653840648 -0.0141442608 0.0229602847 0.0009001093
|
||||
700 -5025.3997561572 -5041.6276721306 16.2279159734 -5012.7093581188 -28.9183140118 92.3801482386 22.0191651506 20.3120184840 3.4291788224 -0.0208485646 0.0104216414 -0.6668311564
|
||||
800 -5025.3967603736 -5042.3401685987 16.9434082251 -5013.3044877099 -29.0356808888 96.4532085367 22.0167259920 20.3122737443 3.3535033285 -0.0279747378 -0.0060833621 -0.7003492925
|
||||
900 -5025.3984542801 -5042.2820667481 16.8836124680 -5013.4066841442 -28.8753826039 96.1128111061 22.0136711877 20.3107854823 3.3206430872 -0.0331979094 -0.0237440547 0.1335648638
|
||||
1000 -5025.3988185618 -5041.9160822433 16.5172636815 -5012.8147737982 -29.1013084450 94.0273088606 22.0102627032 20.3075977018 3.3736867454 -0.0340065996 -0.0390649991 0.7872380119
|
||||
Loop time of 156.142 on 1 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 0.553 ns/day, 43.373 hours/ns, 6.404 timesteps/s
|
||||
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 155.99 | 155.99 | 155.99 | 0.0 | 99.90
|
||||
Bond | 0.00075769 | 0.00075769 | 0.00075769 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.084217 | 0.084217 | 0.084217 | 0.0 | 0.05
|
||||
Output | 0.0016122 | 0.0016122 | 0.0016122 | 0.0 | 0.00
|
||||
Modify | 0.034797 | 0.034797 | 0.034797 | 0.0 | 0.02
|
||||
Other | | 0.02838 | | | 0.02
|
||||
|
||||
Nlocal: 1360 ave 1360 max 1360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7964 ave 7964 max 7964 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 265206 ave 265206 max 265206 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 265206
|
||||
Ave neighs/atom = 195.004
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:36
|
|
@ -0,0 +1,136 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
# read lammps data file
|
||||
read_data Bi_gr_AB_stack_2L_noH_300K.data
|
||||
orthogonal box = (0 0 0) to (42.6 41.8117 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 2
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff * * kolmogorov/crespi/full CC.KC-full C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair kolmogorov/crespi/full
|
||||
variable REBO equal c_0
|
||||
variable KC equal c_1
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_KC temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair rebo, perpetual, skip from (2)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair kolmogorov/crespi/full, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.13 | 11.13 | 11.13 Mbytes
|
||||
Step TotEng PotEng KinEng v_REBO v_KC Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
0 -5025.3867722725 -5040.0767391239 14.6899668514 -5011.2636297759 -28.8131093480 83.6251135127 22.0155657205 20.2812150219 3.4623630945 0.0282287195 0.0535565745 0.2193320108
|
||||
100 -5025.3962433293 -5041.3829775585 15.9867342292 -5012.5109377234 -28.8720398351 91.0071804888 22.0181858078 20.2867731676 3.4456714402 0.0241525932 0.0573807336 -0.5235069014
|
||||
200 -5025.3942568861 -5041.9638220670 16.5695651809 -5012.7804299195 -29.1833921475 94.3250439654 22.0203529515 20.2926376511 3.3740502908 0.0186420748 0.0595018114 -0.7867265577
|
||||
300 -5025.3919463074 -5040.9705419367 15.5785956293 -5012.0510295103 -28.9195124265 88.6837826830 22.0218424095 20.2984380400 3.3199036613 0.0106250874 0.0544668352 -0.1513745908
|
||||
400 -5025.3965376948 -5041.6929964127 16.2964587179 -5012.6418090677 -29.0511873450 92.7703393702 22.0224243957 20.3034636122 3.3515794172 0.0006844935 0.0458598502 0.6967704496
|
||||
500 -5025.4050172900 -5042.1712310053 16.7662137153 -5013.1850218645 -28.9862091408 95.4444989088 22.0220673443 20.3074634962 3.4286173278 -0.0078273439 0.0340764532 0.6845095066
|
||||
600 -5025.3985715734 -5041.2158947893 15.8173232159 -5012.4875319345 -28.7283628548 90.0427797270 22.0209262700 20.3103065099 3.4653840648 -0.0141442608 0.0229602847 0.0009001093
|
||||
700 -5025.3997561572 -5041.6276721306 16.2279159734 -5012.7093581188 -28.9183140118 92.3801482386 22.0191651506 20.3120184840 3.4291788224 -0.0208485646 0.0104216414 -0.6668311564
|
||||
800 -5025.3967603736 -5042.3401685987 16.9434082251 -5013.3044877099 -29.0356808888 96.4532085367 22.0167259920 20.3122737443 3.3535033285 -0.0279747378 -0.0060833621 -0.7003492925
|
||||
900 -5025.3984542801 -5042.2820667481 16.8836124680 -5013.4066841442 -28.8753826039 96.1128111061 22.0136711877 20.3107854823 3.3206430872 -0.0331979094 -0.0237440547 0.1335648638
|
||||
1000 -5025.3988185618 -5041.9160822433 16.5172636815 -5012.8147737983 -29.1013084450 94.0273088606 22.0102627032 20.3075977018 3.3736867454 -0.0340065996 -0.0390649991 0.7872380119
|
||||
Loop time of 42.5422 on 4 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 2.031 ns/day, 11.817 hours/ns, 23.506 timesteps/s
|
||||
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 39.928 | 40.992 | 42.377 | 15.8 | 96.36
|
||||
Bond | 0.0003643 | 0.00043392 | 0.00048113 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.12253 | 1.5076 | 2.5698 | 82.1 | 3.54
|
||||
Output | 0.0012577 | 0.0013637 | 0.0016453 | 0.4 | 0.00
|
||||
Modify | 0.010833 | 0.012247 | 0.013317 | 0.9 | 0.03
|
||||
Other | | 0.02864 | | | 0.07
|
||||
|
||||
Nlocal: 340 ave 344 max 334 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
Nghost: 4628 ave 4634 max 4624 min
|
||||
Histogram: 1 0 1 0 1 0 0 0 0 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 66301.5 ave 67860 max 63963 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
|
||||
Total # of neighbors = 265206
|
||||
Ave neighs/atom = 195.004
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:42
|
|
@ -0,0 +1 @@
|
|||
../../../../potentials/CC.KC
|
|
@ -0,0 +1 @@
|
|||
../../../../potentials/CH.airebo
|
|
@ -1,4 +1,5 @@
|
|||
LAMMPS (17 Nov 2016)
|
||||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
|
@ -51,13 +52,23 @@ thermo_modify line one format float %14.8f
|
|||
###### Run molecular dynamics ######
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
2 neighbor list requests
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8 -> bins = 3 3 7
|
||||
Memory usage per processor = 2.48399 Mbytes
|
||||
binsize = 8, bins = 3 3 7
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair kolmogorov/crespi/z, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) neighbor class addition, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.206 | 3.206 | 3.206 Mbytes
|
||||
Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3]
|
||||
0 0.00000000 -0.02562011 -0.02562011 0.00000000 0.00000000 3.30000000
|
||||
100 0.01000000 -0.02562011 -0.02584808 0.01377831 0.00000000 3.30302413
|
||||
|
@ -160,20 +171,20 @@ Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3]
|
|||
9800 0.98000000 -0.02562012 -0.05705439 1.89989139 0.00000000 3.27725394
|
||||
9900 0.99000000 -0.02562012 -0.05592079 1.83137685 0.00000000 3.25026233
|
||||
10000 1.00000000 -0.02562012 -0.05404919 1.71825669 0.00000000 3.22110695
|
||||
Loop time of 0.381846 on 1 procs for 10000 steps with 129 atoms
|
||||
Loop time of 0.34689 on 1 procs for 10000 steps with 129 atoms
|
||||
|
||||
Performance: 226.269 ns/day, 0.106 hours/ns, 26188.568 timesteps/s
|
||||
131.8% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 249.070 ns/day, 0.096 hours/ns, 28827.585 timesteps/s
|
||||
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.30936 | 0.30936 | 0.30936 | 0.0 | 81.02
|
||||
Neigh | 0.000139 | 0.000139 | 0.000139 | 0.0 | 0.04
|
||||
Comm | 0.051287 | 0.051287 | 0.051287 | 0.0 | 13.43
|
||||
Output | 0.00181 | 0.00181 | 0.00181 | 0.0 | 0.47
|
||||
Modify | 0.005645 | 0.005645 | 0.005645 | 0.0 | 1.48
|
||||
Other | | 0.01361 | | | 3.56
|
||||
Pair | 0.2028 | 0.2028 | 0.2028 | 0.0 | 58.46
|
||||
Neigh | 0.00021529 | 0.00021529 | 0.00021529 | 0.0 | 0.06
|
||||
Comm | 0.10656 | 0.10656 | 0.10656 | 0.0 | 30.72
|
||||
Output | 0.0015109 | 0.0015109 | 0.0015109 | 0.0 | 0.44
|
||||
Modify | 0.011605 | 0.011605 | 0.011605 | 0.0 | 3.35
|
||||
Other | | 0.0242 | | | 6.98
|
||||
|
||||
Nlocal: 129 ave 129 max 129 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
@ -0,0 +1,200 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data data.graphene-adsorbant # read lammps data file
|
||||
orthogonal box = (0 0 -10) to (17.04 19.6761 40)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
129 atoms
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
128 atoms in group membrane
|
||||
group adsorbant type 2
|
||||
1 atoms in group adsorbant
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay kolmogorov/crespi/z 14.0
|
||||
####################################################################
|
||||
pair_coeff * * none
|
||||
pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range
|
||||
####################################################################
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.0001
|
||||
fix thermostat adsorbant nve
|
||||
fix rigid_membrane membrane setforce 0 0 0
|
||||
compute COM1 membrane com
|
||||
compute COM2 adsorbant com
|
||||
############################
|
||||
|
||||
# Output
|
||||
#dump 1 all xyz 100 trajec.xyz
|
||||
#dump_modify 1 format line "%s %12.6f %12.6f %12.6f" element "C" "C"
|
||||
thermo 100
|
||||
thermo_style custom step time etotal pe temp c_COM1[3] c_COM2[3] # spcpu
|
||||
thermo_modify line one format float %14.8f
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 3 3 7
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair kolmogorov/crespi/z, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) neighbor class addition, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.167 | 3.167 | 3.168 Mbytes
|
||||
Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3]
|
||||
0 0.00000000 -0.02562011 -0.02562011 0.00000000 0.00000000 3.30000000
|
||||
100 0.01000000 -0.02562011 -0.02584808 0.01377831 0.00000000 3.30302413
|
||||
200 0.02000000 -0.02562011 -0.02650010 0.05318658 0.00000000 3.31198892
|
||||
300 0.03000000 -0.02562011 -0.02748822 0.11290898 0.00000000 3.32658305
|
||||
400 0.04000000 -0.02562011 -0.02868854 0.18545625 0.00000000 3.34632324
|
||||
500 0.05000000 -0.02562011 -0.02996656 0.26269978 0.00000000 3.37059992
|
||||
600 0.06000000 -0.02562011 -0.03120006 0.33725276 0.00000000 3.39872815
|
||||
700 0.07000000 -0.02562011 -0.03229421 0.40338328 0.00000000 3.42999603
|
||||
800 0.08000000 -0.02562011 -0.03318758 0.45737874 0.00000000 3.46370507
|
||||
900 0.09000000 -0.02562011 -0.03385069 0.49745690 0.00000000 3.49919977
|
||||
1000 0.10000000 -0.02562011 -0.03428002 0.52340564 0.00000000 3.53588638
|
||||
1100 0.11000000 -0.02562011 -0.03449041 0.53612164 0.00000000 3.57324216
|
||||
1200 0.12000000 -0.02562011 -0.03450775 0.53717016 0.00000000 3.61081749
|
||||
1300 0.13000000 -0.02562011 -0.03436312 0.52842859 0.00000000 3.64823296
|
||||
1400 0.14000000 -0.02562011 -0.03408851 0.51183115 0.00000000 3.68517357
|
||||
1500 0.15000000 -0.02562011 -0.03371417 0.48920613 0.00000000 3.72138134
|
||||
1600 0.16000000 -0.02562011 -0.03326714 0.46218758 0.00000000 3.75664759
|
||||
1700 0.17000000 -0.02562011 -0.03277063 0.43217815 0.00000000 3.79080541
|
||||
1800 0.18000000 -0.02562011 -0.03224395 0.40034589 0.00000000 3.82372274
|
||||
1900 0.19000000 -0.02562011 -0.03170282 0.36763982 0.00000000 3.85529629
|
||||
2000 0.20000000 -0.02562011 -0.03115972 0.33481494 0.00000000 3.88544626
|
||||
2100 0.21000000 -0.02562011 -0.03062440 0.30246010 0.00000000 3.91411185
|
||||
2200 0.22000000 -0.02562011 -0.03010433 0.27102702 0.00000000 3.94124749
|
||||
2300 0.23000000 -0.02562011 -0.02960514 0.24085558 0.00000000 3.96681976
|
||||
2400 0.24000000 -0.02562011 -0.02913096 0.21219623 0.00000000 3.99080483
|
||||
2500 0.25000000 -0.02562011 -0.02868478 0.18522907 0.00000000 4.01318637
|
||||
2600 0.26000000 -0.02562011 -0.02826867 0.16007955 0.00000000 4.03395384
|
||||
2700 0.27000000 -0.02562011 -0.02788403 0.13683143 0.00000000 4.05310113
|
||||
2800 0.28000000 -0.02562011 -0.02753171 0.11553708 0.00000000 4.07062542
|
||||
2900 0.29000000 -0.02562011 -0.02721220 0.09622581 0.00000000 4.08652629
|
||||
3000 0.30000000 -0.02562011 -0.02692571 0.07891041 0.00000000 4.10080498
|
||||
3100 0.31000000 -0.02562011 -0.02667226 0.06359229 0.00000000 4.11346382
|
||||
3200 0.32000000 -0.02562011 -0.02645177 0.05026555 0.00000000 4.12450573
|
||||
3300 0.33000000 -0.02562011 -0.02626406 0.03892009 0.00000000 4.13393390
|
||||
3400 0.34000000 -0.02562011 -0.02610893 0.02954399 0.00000000 4.14175142
|
||||
3500 0.35000000 -0.02562011 -0.02598618 0.02212545 0.00000000 4.14796110
|
||||
3600 0.36000000 -0.02562011 -0.02589566 0.01665409 0.00000000 4.15256529
|
||||
3700 0.37000000 -0.02562011 -0.02583722 0.01312208 0.00000000 4.15556569
|
||||
3800 0.38000000 -0.02562011 -0.02581079 0.01152492 0.00000000 4.15696329
|
||||
3900 0.39000000 -0.02562011 -0.02581636 0.01186148 0.00000000 4.15675830
|
||||
4000 0.40000000 -0.02562011 -0.02585398 0.01413478 0.00000000 4.15495012
|
||||
4100 0.41000000 -0.02562011 -0.02592375 0.01835185 0.00000000 4.15153731
|
||||
4200 0.42000000 -0.02562011 -0.02602587 0.02452390 0.00000000 4.14651764
|
||||
4300 0.43000000 -0.02562011 -0.02616057 0.03266513 0.00000000 4.13988811
|
||||
4400 0.44000000 -0.02562011 -0.02632813 0.04279292 0.00000000 4.13164506
|
||||
4500 0.45000000 -0.02562011 -0.02652889 0.05492664 0.00000000 4.12178432
|
||||
4600 0.46000000 -0.02562011 -0.02676317 0.06908643 0.00000000 4.11030130
|
||||
4700 0.47000000 -0.02562011 -0.02703129 0.08529164 0.00000000 4.09719124
|
||||
4800 0.48000000 -0.02562011 -0.02733352 0.10355859 0.00000000 4.08244950
|
||||
4900 0.49000000 -0.02562011 -0.02767004 0.12389788 0.00000000 4.06607186
|
||||
5000 0.50000000 -0.02562011 -0.02804086 0.14631034 0.00000000 4.04805502
|
||||
5100 0.51000000 -0.02562011 -0.02844575 0.17078211 0.00000000 4.02839708
|
||||
5200 0.52000000 -0.02562011 -0.02888415 0.19727899 0.00000000 4.00709829
|
||||
5300 0.53000000 -0.02562011 -0.02935502 0.22573844 0.00000000 3.98416189
|
||||
5400 0.54000000 -0.02562011 -0.02985670 0.25605986 0.00000000 3.95959511
|
||||
5500 0.55000000 -0.02562011 -0.03038669 0.28809268 0.00000000 3.93341053
|
||||
5600 0.56000000 -0.02562011 -0.03094143 0.32162137 0.00000000 3.90562766
|
||||
5700 0.57000000 -0.02562011 -0.03151597 0.35634628 0.00000000 3.87627492
|
||||
5800 0.58000000 -0.02562011 -0.03210361 0.39186361 0.00000000 3.84539210
|
||||
5900 0.59000000 -0.02562011 -0.03269556 0.42764084 0.00000000 3.81303330
|
||||
6000 0.60000000 -0.02562011 -0.03328042 0.46299030 0.00000000 3.77927044
|
||||
6100 0.61000000 -0.02562011 -0.03384380 0.49704060 0.00000000 3.74419758
|
||||
6200 0.62000000 -0.02562011 -0.03436783 0.52871353 0.00000000 3.70793588
|
||||
6300 0.63000000 -0.02562011 -0.03483104 0.55670974 0.00000000 3.67063945
|
||||
6400 0.64000000 -0.02562011 -0.03520832 0.57951248 0.00000000 3.63250187
|
||||
6500 0.65000000 -0.02562011 -0.03547159 0.59542438 0.00000000 3.59376331
|
||||
6600 0.66000000 -0.02562011 -0.03559125 0.60265655 0.00000000 3.55471782
|
||||
6700 0.67000000 -0.02562011 -0.03553879 0.59948637 0.00000000 3.51572023
|
||||
6800 0.68000000 -0.02562011 -0.03529110 0.58451568 0.00000000 3.47719153
|
||||
6900 0.69000000 -0.02562011 -0.03483635 0.55703035 0.00000000 3.43962129
|
||||
7000 0.70000000 -0.02562011 -0.03418150 0.51745146 0.00000000 3.40356509
|
||||
7100 0.71000000 -0.02562011 -0.03336032 0.46781889 0.00000000 3.36963482
|
||||
7200 0.72000000 -0.02562011 -0.03243997 0.41219328 0.00000000 3.33847933
|
||||
7300 0.73000000 -0.02562011 -0.03152342 0.35679665 0.00000000 3.31075400
|
||||
7400 0.74000000 -0.02562011 -0.03074422 0.30970201 0.00000000 3.28707906
|
||||
7500 0.75000000 -0.02562011 -0.03025182 0.27994115 0.00000000 3.26798907
|
||||
7600 0.76000000 -0.02562011 -0.03018799 0.27608346 0.00000000 3.25387900
|
||||
7700 0.77000000 -0.02562011 -0.03065928 0.30456818 0.00000000 3.24495492
|
||||
7800 0.78000000 -0.02562011 -0.03171321 0.36826788 0.00000000 3.24119821
|
||||
7900 0.79000000 -0.02562011 -0.03332635 0.46576624 0.00000000 3.24235091
|
||||
8000 0.80000000 -0.02562011 -0.03540847 0.59160963 0.00000000 3.24792582
|
||||
8100 0.81000000 -0.02562011 -0.03782107 0.73742737 0.00000000 3.25723999
|
||||
8200 0.82000000 -0.02562011 -0.04040358 0.89351498 0.00000000 3.26946524
|
||||
8300 0.83000000 -0.02562011 -0.04299943 1.05040805 0.00000000 3.28368734
|
||||
8400 0.84000000 -0.02562011 -0.04547588 1.20008497 0.00000000 3.29896495
|
||||
8500 0.85000000 -0.02562011 -0.04773539 1.33664998 0.00000000 3.31438148
|
||||
8600 0.86000000 -0.02562011 -0.04971913 1.45654768 0.00000000 3.32908572
|
||||
8700 0.87000000 -0.02562011 -0.05140498 1.55844058 0.00000000 3.34231951
|
||||
8800 0.88000000 -0.02562011 -0.05280154 1.64284923 0.00000000 3.35343297
|
||||
8900 0.89000000 -0.02562011 -0.05394019 1.71166905 0.00000000 3.36188901
|
||||
9000 0.90000000 -0.02562011 -0.05486563 1.76760281 0.00000000 3.36725955
|
||||
9100 0.91000000 -0.02562011 -0.05562624 1.81357448 0.00000000 3.36921674
|
||||
9200 0.92000000 -0.02562011 -0.05626439 1.85214388 0.00000000 3.36752214
|
||||
9300 0.93000000 -0.02562011 -0.05680723 1.88495335 0.00000000 3.36201704
|
||||
9400 0.94000000 -0.02562011 -0.05725852 1.91222952 0.00000000 3.35261669
|
||||
9500 0.95000000 -0.02562011 -0.05759110 1.93233038 0.00000000 3.33931122
|
||||
9600 0.96000000 -0.02562011 -0.05774152 1.94142215 0.00000000 3.32217490
|
||||
9700 0.97000000 -0.02562011 -0.05760814 1.93336063 0.00000000 3.30138553
|
||||
9800 0.98000000 -0.02562012 -0.05705439 1.89989139 0.00000000 3.27725394
|
||||
9900 0.99000000 -0.02562012 -0.05592079 1.83137685 0.00000000 3.25026233
|
||||
10000 1.00000000 -0.02562012 -0.05404919 1.71825669 0.00000000 3.22110695
|
||||
Loop time of 0.524797 on 4 procs for 10000 steps with 129 atoms
|
||||
|
||||
Performance: 164.635 ns/day, 0.146 hours/ns, 19054.971 timesteps/s
|
||||
97.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.043099 | 0.060851 | 0.10153 | 9.7 | 11.60
|
||||
Neigh | 6.2704e-05 | 6.628e-05 | 6.8188e-05 | 0.0 | 0.01
|
||||
Comm | 0.35059 | 0.39384 | 0.41232 | 4.0 | 75.05
|
||||
Output | 0.0028515 | 0.0031345 | 0.0037408 | 0.6 | 0.60
|
||||
Modify | 0.0063083 | 0.0065277 | 0.0066838 | 0.2 | 1.24
|
||||
Other | | 0.06038 | | | 11.50
|
||||
|
||||
Nlocal: 32.25 ave 33 max 32 min
|
||||
Histogram: 3 0 0 0 0 0 0 0 0 1
|
||||
Nghost: 1305.75 ave 1306 max 1305 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 3
|
||||
Neighs: 72.5 ave 144 max 43 min
|
||||
Histogram: 2 1 0 0 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 290
|
||||
Ave neighs/atom = 2.24806
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
|
@ -0,0 +1,208 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data data.bilayer-graphene # read lammps data file
|
||||
orthogonal box = (0 0 -20) to (17.04 19.6761 40)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
256 atoms
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
128 atoms in group membrane
|
||||
group adsorbant type 2
|
||||
128 atoms in group adsorbant
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo C C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range
|
||||
####################################################################
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.0001
|
||||
velocity all create 300.0 12345
|
||||
fix thermostat all nve
|
||||
compute COM1 membrane com
|
||||
compute COM2 adsorbant com
|
||||
############################
|
||||
|
||||
# Output
|
||||
#dump 1 all xyz 100 trajec.xyz
|
||||
#dump_modify 1 format line "%s %12.6f %12.6f %12.6f" element "C" "C"
|
||||
thermo 10
|
||||
thermo_style custom step time etotal pe temp c_COM1[3] c_COM2[3] # spcpu
|
||||
thermo_modify line one format float %14.8f
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 3 3 8
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair rebo, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(2) pair kolmogorov/crespi/z, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.998 | 4.998 | 4.998 Mbytes
|
||||
Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3]
|
||||
0 0.00000000 -1888.67041214 -1898.55881323 300.00000000 0.00000000 3.30000000
|
||||
10 0.00100000 -1888.67037221 -1898.21029897 289.42778520 -0.00020126 3.30020126
|
||||
20 0.00200000 -1888.67021541 -1897.22943612 259.67456089 -0.00041357 3.30041357
|
||||
30 0.00300000 -1888.66999308 -1895.86681311 218.34126559 -0.00063673 3.30063673
|
||||
40 0.00400000 -1888.66978354 -1894.47163830 176.02000692 -0.00087055 3.30087055
|
||||
50 0.00500000 -1888.66966068 -1893.37123377 142.63902862 -0.00111486 3.30111486
|
||||
60 0.00600000 -1888.66966132 -1892.75822749 124.04127205 -0.00136952 3.30136952
|
||||
70 0.00700000 -1888.66976974 -1892.63445751 120.28297808 -0.00163441 3.30163441
|
||||
80 0.00800000 -1888.66992867 -1892.83467462 126.35245792 -0.00190946 3.30190946
|
||||
90 0.00900000 -1888.67006868 -1893.11387069 134.81862145 -0.00219458 3.30219458
|
||||
100 0.01000000 -1888.67013621 -1893.25481851 139.09272853 -0.00248973 3.30248973
|
||||
110 0.01100000 -1888.67011201 -1893.15155790 135.96068294 -0.00279489 3.30279489
|
||||
120 0.01200000 -1888.67001496 -1892.84002960 126.51230266 -0.00311004 3.30311004
|
||||
130 0.01300000 -1888.66988997 -1892.47004238 115.29120968 -0.00343519 3.30343519
|
||||
140 0.01400000 -1888.66979230 -1892.23503116 108.16426723 -0.00377038 3.30377038
|
||||
150 0.01500000 -1888.66976478 -1892.28630583 109.72070257 -0.00411562 3.30411562
|
||||
160 0.01600000 -1888.66982054 -1892.66640611 121.25071190 -0.00447099 3.30447099
|
||||
170 0.01700000 -1888.66993790 -1893.28862637 140.12442721 -0.00483654 3.30483654
|
||||
180 0.01800000 -1888.67007017 -1893.97029258 160.80119589 -0.00521235 3.30521235
|
||||
190 0.01900000 -1888.67016712 -1894.50458787 177.00801243 -0.00559851 3.30559851
|
||||
200 0.02000000 -1888.67019459 -1894.73890106 184.11590729 -0.00599512 3.30599512
|
||||
210 0.02100000 -1888.67014420 -1894.62906014 180.78501932 -0.00640230 3.30640230
|
||||
220 0.02200000 -1888.67003680 -1894.25249103 169.36370738 -0.00682016 3.30682016
|
||||
230 0.02300000 -1888.66991386 -1893.77601613 154.91186767 -0.00724883 3.30724883
|
||||
240 0.02400000 -1888.66982525 -1893.38995084 143.20188490 -0.00768845 3.30768845
|
||||
250 0.02500000 -1888.66980630 -1893.23138936 138.39193056 -0.00813913 3.30813913
|
||||
260 0.02600000 -1888.66986130 -1893.32993923 141.38012476 -0.00860097 3.30860097
|
||||
270 0.02700000 -1888.66996305 -1893.60070606 149.59171763 -0.00907408 3.30907408
|
||||
280 0.02800000 -1888.67006686 -1893.88587226 158.24010433 -0.00955849 3.30955849
|
||||
290 0.02900000 -1888.67012981 -1894.02402669 162.42960292 -0.01005424 3.31005424
|
||||
300 0.03000000 -1888.67012722 -1893.91715234 159.18726627 -0.01056129 3.31056129
|
||||
310 0.03100000 -1888.67005731 -1893.57037242 148.66857852 -0.01107957 3.31107957
|
||||
320 0.03200000 -1888.66994573 -1893.09358619 134.20694883 -0.01160898 3.31160898
|
||||
330 0.03300000 -1888.66983589 -1892.66132663 121.09614207 -0.01214935 3.31214935
|
||||
340 0.03400000 -1888.66977410 -1892.44446345 114.51869676 -0.01270046 3.31270046
|
||||
350 0.03500000 -1888.66978826 -1892.53901235 117.38674604 -0.01326207 3.31326207
|
||||
360 0.03600000 -1888.66987439 -1892.92337288 129.04508371 -0.01383390 3.31383390
|
||||
370 0.03700000 -1888.66999800 -1893.46445570 145.45701555 -0.01441561 3.31441561
|
||||
380 0.03800000 -1888.67010960 -1893.97065516 160.81100020 -0.01500688 3.31500688
|
||||
390 0.03900000 -1888.67016540 -1894.26835818 169.84119247 -0.01560734 3.31560734
|
||||
400 0.04000000 -1888.67014667 -1894.26967975 169.88185546 -0.01621664 3.31621664
|
||||
410 0.04100000 -1888.67006166 -1894.00321069 161.80014280 -0.01683442 3.31683442
|
||||
420 0.04200000 -1888.66994367 -1893.60086324 149.59707418 -0.01746033 3.31746033
|
||||
430 0.04300000 -1888.66984058 -1893.24559841 138.82197275 -0.01809405 3.31809405
|
||||
440 0.04400000 -1888.66979399 -1893.09727874 134.32357877 -0.01873527 3.31873527
|
||||
450 0.04500000 -1888.66982139 -1893.22837442 138.30000378 -0.01938373 3.31938373
|
||||
460 0.04600000 -1888.66990972 -1893.59670383 149.47191354 -0.02003918 3.32003918
|
||||
470 0.04700000 -1888.67002173 -1894.06542598 163.68887743 -0.02070143 3.32070143
|
||||
480 0.04800000 -1888.67011389 -1894.46010842 175.66018439 -0.02137030 3.32137030
|
||||
490 0.04900000 -1888.67015175 -1894.63688098 181.02206322 -0.02204565 3.32204565
|
||||
500 0.05000000 -1888.67012158 -1894.53632221 177.97216882 -0.02272740 3.32272740
|
||||
510 0.05100000 -1888.67003762 -1894.20444731 167.90610436 -0.02341547 3.32341547
|
||||
520 0.05200000 -1888.66993151 -1893.77231066 154.79891353 -0.02410981 3.32410981
|
||||
530 0.05300000 -1888.66984505 -1893.40525927 143.66572038 -0.02481040 3.32481040
|
||||
540 0.05400000 -1888.66981408 -1893.23762083 138.58074854 -0.02551724 3.32551724
|
||||
550 0.05500000 -1888.66985005 -1893.31793594 141.01630317 -0.02623032 3.32623032
|
||||
560 0.05600000 -1888.66993737 -1893.59069013 149.28862751 -0.02694963 3.32694963
|
||||
570 0.05700000 -1888.67003852 -1893.92089571 159.30352588 -0.02767517 3.32767517
|
||||
580 0.05800000 -1888.67011322 -1894.15124753 166.28980524 -0.02840691 3.32840691
|
||||
590 0.05900000 -1888.67013192 -1894.16548041 166.72104345 -0.02914478 3.32914478
|
||||
600 0.06000000 -1888.67008713 -1893.93443318 159.71275856 -0.02988871 3.32988871
|
||||
610 0.06100000 -1888.66999438 -1893.52841656 147.39760646 -0.03063856 3.33063856
|
||||
620 0.06200000 -1888.66988809 -1893.09235021 134.17119963 -0.03139416 3.33139416
|
||||
630 0.06300000 -1888.66980996 -1892.79172016 125.05288240 -0.03215531 3.33215531
|
||||
640 0.06400000 -1888.66979261 -1892.74755390 123.71346730 -0.03292176 3.33292176
|
||||
650 0.06500000 -1888.66984332 -1892.98665459 130.96590324 -0.03369323 3.33369323
|
||||
660 0.06600000 -1888.66994245 -1893.42999868 144.41332389 -0.03446937 3.33446937
|
||||
670 0.06700000 -1888.67005233 -1893.92310681 159.37018806 -0.03524986 3.33524986
|
||||
680 0.06800000 -1888.67013309 -1894.29451581 170.63575808 -0.03603430 3.33603430
|
||||
690 0.06900000 -1888.67015452 -1894.41878117 174.40514192 -0.03682229 3.33682229
|
||||
700 0.07000000 -1888.67010897 -1894.26288036 169.67671530 -0.03761343 3.33761343
|
||||
710 0.07100000 -1888.67001367 -1893.89812904 158.61357114 -0.03840729 3.33840729
|
||||
720 0.07200000 -1888.66990378 -1893.47348746 145.73388454 -0.03920344 3.33920344
|
||||
730 0.07300000 -1888.66982212 -1893.15984839 136.22099960 -0.04000148 3.34000148
|
||||
740 0.07400000 -1888.66980109 -1893.08373746 133.91254029 -0.04080098 3.34080098
|
||||
750 0.07500000 -1888.66984794 -1893.27755511 139.79127024 -0.04160156 3.34160156
|
||||
760 0.07600000 -1888.66994215 -1893.66837365 151.64528967 -0.04240282 3.34240282
|
||||
770 0.07700000 -1888.67004554 -1894.10941206 165.02263027 -0.04320441 3.34320441
|
||||
780 0.07800000 -1888.67011702 -1894.43947545 175.03411436 -0.04400599 3.34400599
|
||||
790 0.07900000 -1888.67013297 -1894.54590471 178.26254255 -0.04480726 3.34480726
|
||||
800 0.08000000 -1888.67008751 -1894.40384142 173.95392406 -0.04560792 3.34560792
|
||||
810 0.08100000 -1888.66999923 -1894.08389003 164.24973321 -0.04640773 3.34640773
|
||||
820 0.08200000 -1888.66990447 -1893.72313979 153.30795965 -0.04720647 3.34720647
|
||||
830 0.08300000 -1888.66984367 -1893.46839190 145.58111626 -0.04800393 3.34800393
|
||||
840 0.08400000 -1888.66984156 -1893.41412536 143.93481093 -0.04879995 3.34879995
|
||||
850 0.08500000 -1888.66989670 -1893.56426154 148.48805553 -0.04959439 3.34959439
|
||||
860 0.08600000 -1888.66998222 -1893.83463719 156.68827294 -0.05038713 3.35038713
|
||||
870 0.08700000 -1888.67006171 -1894.09325045 164.53181920 -0.05117805 3.35117805
|
||||
880 0.08800000 -1888.67010273 -1894.21712661 168.28880100 -0.05196706 3.35196706
|
||||
890 0.08900000 -1888.67008993 -1894.14263950 166.02935656 -0.05275408 3.35275408
|
||||
900 0.09000000 -1888.67002891 -1893.89014571 158.37090587 -0.05353904 3.35353904
|
||||
910 0.09100000 -1888.66994326 -1893.55535709 148.21649469 -0.05432186 3.35432186
|
||||
920 0.09200000 -1888.66986526 -1893.27257949 139.63979178 -0.05510247 3.35510247
|
||||
930 0.09300000 -1888.66982730 -1893.16330891 136.32582949 -0.05588078 3.35588078
|
||||
940 0.09400000 -1888.66984631 -1893.28643285 140.06065785 -0.05665670 3.35665670
|
||||
950 0.09500000 -1888.66991503 -1893.61245342 149.94957268 -0.05743015 3.35743015
|
||||
960 0.09600000 -1888.67000691 -1894.03423922 162.74316516 -0.05820101 3.35820101
|
||||
970 0.09700000 -1888.67008649 -1894.40848025 174.09469037 -0.05896915 3.35896915
|
||||
980 0.09800000 -1888.67012436 -1894.61056767 180.22458605 -0.05973444 3.35973444
|
||||
990 0.09900000 -1888.67010608 -1894.58107659 179.33042338 -0.06049672 3.36049672
|
||||
1000 0.10000000 -1888.67003981 -1894.34773305 172.25312330 -0.06125581 3.36125581
|
||||
Loop time of 3.90147 on 1 procs for 1000 steps with 256 atoms
|
||||
|
||||
Performance: 2.215 ns/day, 10.837 hours/ns, 256.314 timesteps/s
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.8786 | 3.8786 | 3.8786 | 0.0 | 99.41
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.010816 | 0.010816 | 0.010816 | 0.0 | 0.28
|
||||
Output | 0.002461 | 0.002461 | 0.002461 | 0.0 | 0.06
|
||||
Modify | 0.0051703 | 0.0051703 | 0.0051703 | 0.0 | 0.13
|
||||
Other | | 0.004447 | | | 0.11
|
||||
|
||||
Nlocal: 256 ave 256 max 256 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1721 ave 1721 max 1721 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 37312 ave 37312 max 37312 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 94592 ave 94592 max 94592 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 94592
|
||||
Ave neighs/atom = 369.5
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:03
|
|
@ -1,4 +1,5 @@
|
|||
LAMMPS (17 Nov 2016)
|
||||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
|
@ -52,13 +53,28 @@ thermo_modify line one format float %14.8f
|
|||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
3 neighbor list requests
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8 -> bins = 3 3 8
|
||||
Memory usage per processor = 3.22197 Mbytes
|
||||
binsize = 8, bins = 3 3 8
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair rebo, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(2) pair kolmogorov/crespi/z, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.572 | 4.572 | 4.572 Mbytes
|
||||
Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3]
|
||||
0 0.00000000 -1888.67041214 -1898.55881323 300.00000000 0.00000000 3.30000000
|
||||
10 0.00100000 -1888.67037221 -1898.21029897 289.42778520 -0.00020126 3.30020126
|
||||
|
@ -161,26 +177,26 @@ Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3]
|
|||
980 0.09800000 -1888.67012436 -1894.61056767 180.22458605 -0.05973444 3.35973444
|
||||
990 0.09900000 -1888.67010608 -1894.58107659 179.33042338 -0.06049672 3.36049672
|
||||
1000 0.10000000 -1888.67003981 -1894.34773305 172.25312330 -0.06125581 3.36125581
|
||||
Loop time of 2.21183 on 4 procs for 1000 steps with 256 atoms
|
||||
Loop time of 1.32192 on 4 procs for 1000 steps with 256 atoms
|
||||
|
||||
Performance: 3.906 ns/day, 6.144 hours/ns, 452.115 timesteps/s
|
||||
120.2% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
Performance: 6.536 ns/day, 3.672 hours/ns, 756.476 timesteps/s
|
||||
98.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.9363 | 1.9928 | 2.0303 | 2.5 | 90.10
|
||||
Pair | 1.1157 | 1.172 | 1.2369 | 4.0 | 88.66
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.16714 | 0.20465 | 0.26123 | 7.8 | 9.25
|
||||
Output | 0.002469 | 0.0028505 | 0.003949 | 1.2 | 0.13
|
||||
Modify | 0.002423 | 0.0026275 | 0.002853 | 0.4 | 0.12
|
||||
Other | | 0.008904 | | | 0.40
|
||||
Comm | 0.071678 | 0.13667 | 0.19304 | 11.8 | 10.34
|
||||
Output | 0.0029244 | 0.0031272 | 0.0035112 | 0.4 | 0.24
|
||||
Modify | 0.0016961 | 0.0017477 | 0.0017846 | 0.1 | 0.13
|
||||
Other | | 0.008334 | | | 0.63
|
||||
|
||||
Nlocal: 64 ave 64 max 64 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1265 ave 1265 max 1265 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 11824 ave 11824 max 11824 min
|
||||
Neighs: 9328 ave 9328 max 9328 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 23648 ave 23648 max 23648 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
@ -189,4 +205,4 @@ Total # of neighbors = 94592
|
|||
Ave neighs/atom = 369.5
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:02
|
||||
Total wall time: 0:00:01
|
|
@ -0,0 +1,21 @@
|
|||
# Interlayer Potential for graphitic and boron nitride systems
|
||||
#
|
||||
# Cite J. Chem.Theory Comput. 2016, 12, 2896-905 and J. Phys. Chem. C 2017, 121, 22826-22835.
|
||||
|
||||
# beta alpha delta epsilon C d sR reff C6 S rcut
|
||||
C C 3.22 9.200 1.20 0.010 0.800 15.0 0.704 3.586 522.915 43.363442016573508 2.0
|
||||
B B 3.10 8.000 1.60 0.460 0.450 15.0 0.800 3.786 1037.322 43.363442016573508 2.0
|
||||
N N 3.34 8.000 1.20 0.210 0.680 15.0 0.800 3.365 310.433 43.363442016573508 2.0
|
||||
H H 2.70 9.000 20.0 0.310 0.130 15.0 0.784 2.798 37.870 43.363442016573508 1.2
|
||||
C B 3.02 10.00 1.20 0.370 0.180 15.0 0.784 3.691 657.408 43.363442016573508 2.0
|
||||
B C 3.02 10.00 1.20 0.370 0.180 15.0 0.784 3.691 657.408 43.363442016573508 2.0
|
||||
C N 3.40 10.00 1.20 0.210 0.360 15.0 0.784 3.481 366.955 43.363442016573508 2.0
|
||||
N C 3.40 10.00 1.20 0.210 0.360 15.0 0.784 3.481 366.955 43.363442016573508 2.0
|
||||
B N 3.17 7.500 1.80 0.200 0.130 15.0 0.800 3.576 516.681 43.363442016573508 2.0
|
||||
N B 3.17 7.500 1.80 0.200 0.130 15.0 0.800 3.576 516.681 43.363442016573508 2.0
|
||||
C H 2.80 9.000 20.0 0.310 0.130 15.0 0.784 3.197 131.989 43.363442016573508 1.5
|
||||
H C 2.80 9.000 20.0 0.310 0.130 15.0 0.784 3.197 131.989 43.363442016573508 2.2
|
||||
B H 2.80 9.000 20.0 0.310 0.130 15.0 0.784 3.292 185.686 43.363442016573508 1.5
|
||||
H B 2.80 9.000 20.0 0.310 0.130 15.0 0.784 3.292 185.686 43.363442016573508 2.2
|
||||
N H 2.70 9.000 20.0 0.250 0.130 15.0 0.784 3.082 90.589 43.363442016573508 1.5
|
||||
H N 2.70 9.000 20.0 0.250 0.130 15.0 0.784 3.082 90.589 43.363442016573508 2.2
|
|
@ -0,0 +1,8 @@
|
|||
# Kolmogorov-Crespi Potential
|
||||
#
|
||||
# Cite as A.N. Kolmogorov & V. H. Crespi,
|
||||
# Registry-dependent interlayer potential for graphitic systems
|
||||
# Physical Review B 71, 235415 (2005)
|
||||
#
|
||||
# z0 C0 C2 C4 C delta lambda A S rcut
|
||||
C C 3.34 15.71 12.29 4.933 3.030 0.578 3.629 10.238 1.0 2.0
|
|
@ -685,6 +685,8 @@
|
|||
/pair_coul_long.h
|
||||
/pair_coul_msm.cpp
|
||||
/pair_coul_msm.h
|
||||
/pair_coul_shield.cpp
|
||||
/pair_coul_shield.h
|
||||
/pair_dipole_cut.cpp
|
||||
/pair_dipole_cut.h
|
||||
/pair_dipole_sf.cpp
|
||||
|
@ -728,6 +730,10 @@
|
|||
/pair_hbond_dreiding_lj.h
|
||||
/pair_hbond_dreiding_morse.cpp
|
||||
/pair_hbond_dreiding_morse.h
|
||||
/pair_ilp_graphene_hbn.cpp
|
||||
/pair_ilp_graphene_hbn.h
|
||||
/pair_kolmogorov_crespi_full.cpp
|
||||
/pair_kolmogorov_crespi_full.h
|
||||
/pair_kolmogorov_crespi_z.cpp
|
||||
/pair_kolmogorov_crespi_z.h
|
||||
/pair_lcbop.cpp
|
||||
|
|
|
@ -0,0 +1,372 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Wengen Ouyang (Tel Aviv University)
|
||||
e-mail: w.g.ouyang at gmail dot com
|
||||
|
||||
This is a Coulomb potential described in
|
||||
[Maaravi et al, J. Phys. Chem. C 121, 22826-22835 (2017)]
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "pair_coul_shield.h"
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "neighbor.h"
|
||||
#include "neigh_list.h"
|
||||
#include "memory.h"
|
||||
#include "math_special.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairCoulShield::PairCoulShield(LAMMPS *lmp) : Pair(lmp) {
|
||||
tap_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairCoulShield::~PairCoulShield()
|
||||
{
|
||||
if (allocated) {
|
||||
memory->destroy(setflag);
|
||||
memory->destroy(sigmae);
|
||||
memory->destroy(offset);
|
||||
memory->destroy(cutsq);
|
||||
memory->destroy(cut);
|
||||
allocated = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void PairCoulShield::compute(int eflag, int vflag)
|
||||
{
|
||||
int i,j,ii,jj,inum,jnum,itype,jtype;
|
||||
double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul,fpair,Tap,dTap;
|
||||
double rsq,r,r3,rarg,th,depsdr,epsr,forcecoul,factor_coul,Vc,fvc;
|
||||
int *ilist,*jlist,*numneigh,**firstneigh;
|
||||
|
||||
ecoul = 0.0;
|
||||
if (eflag || vflag) ev_setup(eflag,vflag);
|
||||
else evflag = vflag_fdotr = 0;
|
||||
|
||||
double **x = atom->x;
|
||||
double **f = atom->f;
|
||||
double *q = atom->q;
|
||||
int *type = atom->type;
|
||||
int nlocal = atom->nlocal;
|
||||
double *special_coul = force->special_coul;
|
||||
int newton_pair = force->newton_pair;
|
||||
double qqrd2e = force->qqrd2e;
|
||||
|
||||
inum = list->inum;
|
||||
ilist = list->ilist;
|
||||
numneigh = list->numneigh;
|
||||
firstneigh = list->firstneigh;
|
||||
|
||||
// loop over neighbors of my atoms
|
||||
|
||||
for (ii = 0; ii < inum; ii++) {
|
||||
i = ilist[ii];
|
||||
qtmp = q[i];
|
||||
xtmp = x[i][0];
|
||||
ytmp = x[i][1];
|
||||
ztmp = x[i][2];
|
||||
itype = type[i];
|
||||
jlist = firstneigh[i];
|
||||
jnum = numneigh[i];
|
||||
|
||||
for (jj = 0; jj < jnum; jj++) {
|
||||
j = jlist[jj];
|
||||
|
||||
factor_coul = special_coul[sbmask(j)];
|
||||
j &= NEIGHMASK;
|
||||
|
||||
delx = xtmp - x[j][0];
|
||||
dely = ytmp - x[j][1];
|
||||
delz = ztmp - x[j][2];
|
||||
rsq = delx*delx + dely*dely + delz*delz;
|
||||
jtype = type[j];
|
||||
|
||||
// only include the interation between different layers
|
||||
if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) {
|
||||
r = sqrt(rsq);
|
||||
r3 = rsq*r;
|
||||
rarg = 1.0/sigmae[itype][jtype];
|
||||
th = r3 + MathSpecial::cube(rarg);
|
||||
epsr = 1.0/pow(th,0.333333333333333333333333);
|
||||
depsdr = MathSpecial::square(epsr);
|
||||
depsdr *= depsdr;
|
||||
Vc = qqrd2e*qtmp*q[j]*epsr;
|
||||
|
||||
// turn on/off taper function
|
||||
if (tap_flag) {
|
||||
Tap = calc_Tap(r,sqrt(cutsq[itype][jtype]));
|
||||
dTap = calc_dTap(r,sqrt(cutsq[itype][jtype]));
|
||||
} else {Tap = 1.0; dTap = 0.0;}
|
||||
|
||||
forcecoul = qqrd2e*qtmp*q[j]*r*depsdr;
|
||||
fvc = forcecoul*Tap - Vc*dTap/r;
|
||||
fpair = factor_coul*fvc;
|
||||
|
||||
f[i][0] += delx*fpair;
|
||||
f[i][1] += dely*fpair;
|
||||
f[i][2] += delz*fpair;
|
||||
if (newton_pair || j < nlocal) {
|
||||
f[j][0] -= delx*fpair;
|
||||
f[j][1] -= dely*fpair;
|
||||
f[j][2] -= delz*fpair;
|
||||
}
|
||||
|
||||
if (eflag) {
|
||||
if (tap_flag) ecoul = Vc*Tap;
|
||||
else ecoul = Vc - offset[itype][jtype];
|
||||
ecoul *= factor_coul;
|
||||
}
|
||||
|
||||
if (evflag) ev_tally(i,j,nlocal,newton_pair,0.0,
|
||||
ecoul,fpair,delx,dely,delz);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (vflag_fdotr) virial_fdotr_compute();
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
allocate all arrays
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairCoulShield::allocate()
|
||||
{
|
||||
allocated = 1;
|
||||
int n = atom->ntypes;
|
||||
|
||||
memory->create(setflag,n+1,n+1,"pair:setflag");
|
||||
for (int i = 1; i <= n; i++)
|
||||
for (int j = i; j <= n; j++)
|
||||
setflag[i][j] = 0;
|
||||
|
||||
memory->create(cutsq,n+1,n+1,"pair:cutsq");
|
||||
memory->create(cut,n+1,n+1,"pair:cut");
|
||||
memory->create(sigmae,n+1,n+1,"pair:sigmae");
|
||||
memory->create(offset,n+1,n+1,"pair:offset");
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
global settings
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairCoulShield::settings(int narg, char **arg)
|
||||
{
|
||||
if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command");
|
||||
|
||||
cut_global = force->numeric(FLERR,arg[0]);
|
||||
if (narg == 2) tap_flag = force->numeric(FLERR,arg[1]);
|
||||
|
||||
// reset cutoffs that have been explicitly set
|
||||
|
||||
if (allocated) {
|
||||
int i,j;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i+1; j <= atom->ntypes; j++)
|
||||
if (setflag[i][j]) cut[i][j] = cut_global;
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
set coeffs for one or more type pairs
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairCoulShield::coeff(int narg, char **arg)
|
||||
{
|
||||
if (narg < 3 || narg > 4) error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
if (!allocated) allocate();
|
||||
|
||||
int ilo,ihi,jlo,jhi;
|
||||
force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi);
|
||||
force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi);
|
||||
|
||||
double sigmae_one = force->numeric(FLERR,arg[2]);
|
||||
|
||||
double cut_one = cut_global;
|
||||
if (narg == 4) cut_one = force->numeric(FLERR,arg[3]);
|
||||
|
||||
int count = 0;
|
||||
for (int i = ilo; i <= ihi; i++) {
|
||||
for (int j = MAX(jlo,i); j <= jhi; j++) {
|
||||
sigmae[i][j] = sigmae_one;
|
||||
cut[i][j] = cut_one;
|
||||
setflag[i][j] = 1;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
}
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
init specific to this pair style
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairCoulShield::init_style()
|
||||
{
|
||||
if (!atom->q_flag)
|
||||
error->all(FLERR,"Pair style coul/shield requires atom attribute q");
|
||||
|
||||
neighbor->request(this,instance_me);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
init for one type pair i,j and corresponding j,i
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double PairCoulShield::init_one(int i, int j)
|
||||
{
|
||||
if (setflag[i][j] == 0) {
|
||||
error->all(FLERR,"for pair style coul/shield, parameters need to be set explicitly for all pairs.");
|
||||
}
|
||||
|
||||
double *q = atom->q;
|
||||
double qqrd2e = force->qqrd2e;
|
||||
double r,r3,rarg,th,epsr;
|
||||
|
||||
if (offset_flag) {
|
||||
r = cut[i][j];
|
||||
r3 = r*r*r;
|
||||
rarg = 1.0/sigmae[i][j];
|
||||
th = r3 + MathSpecial::cube(rarg);
|
||||
epsr = 1.0/pow(th,0.333333333333333333);
|
||||
offset[i][j] = qqrd2e*q[i]*q[j]*epsr;
|
||||
} else offset[i][j] = 0.0;
|
||||
|
||||
|
||||
sigmae[j][i] = sigmae[i][j];
|
||||
offset[j][i] = offset[i][j];
|
||||
cut[j][i] = cut[i][j];
|
||||
|
||||
return cut[i][j];
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairCoulShield::write_restart(FILE *fp)
|
||||
{
|
||||
write_restart_settings(fp);
|
||||
|
||||
int i,j;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i; j <= atom->ntypes; j++) {
|
||||
fwrite(&setflag[i][j],sizeof(int),1,fp);
|
||||
if (setflag[i][j]) {
|
||||
fwrite(&sigmae[i][j],sizeof(double),1,fp);
|
||||
fwrite(&cut[i][j],sizeof(double),1,fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairCoulShield::read_restart(FILE *fp)
|
||||
{
|
||||
read_restart_settings(fp);
|
||||
allocate();
|
||||
|
||||
int i,j;
|
||||
int me = comm->me;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i; j <= atom->ntypes; j++) {
|
||||
if (setflag[i][j]) {
|
||||
if (me == 0) {
|
||||
fread(&sigmae[i][j],sizeof(double),1,fp);
|
||||
fread(&cut[i][j],sizeof(double),1,fp);
|
||||
}
|
||||
MPI_Bcast(&sigmae[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairCoulShield::write_restart_settings(FILE *fp)
|
||||
{
|
||||
fwrite(&cut_global,sizeof(double),1,fp);
|
||||
fwrite(&offset_flag,sizeof(int),1,fp);
|
||||
fwrite(&mix_flag,sizeof(int),1,fp);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairCoulShield::read_restart_settings(FILE *fp)
|
||||
{
|
||||
if (comm->me == 0) {
|
||||
fread(&cut_global,sizeof(double),1,fp);
|
||||
fread(&offset_flag,sizeof(int),1,fp);
|
||||
fread(&mix_flag,sizeof(int),1,fp);
|
||||
}
|
||||
MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&offset_flag,1,MPI_INT,0,world);
|
||||
MPI_Bcast(&mix_flag,1,MPI_INT,0,world);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double PairCoulShield::single(int i, int j, int itype, int jtype,
|
||||
double rsq, double factor_coul, double factor_lj,
|
||||
double &fforce)
|
||||
{
|
||||
double r, rarg,Vc,fvc,forcecoul,phishieldec;
|
||||
double r3,th,epsr,depsdr,Tap,dTap;
|
||||
double *q = atom->q;
|
||||
double qqrd2e = force->qqrd2e;
|
||||
|
||||
r = sqrt(rsq);
|
||||
r3 = rsq*r;
|
||||
rarg = 1.0/sigmae[itype][jtype];
|
||||
th = r3 + MathSpecial::cube(rarg);
|
||||
epsr = 1.0/pow(th,0.333333333333333333);
|
||||
depsdr = epsr*epsr;
|
||||
depsdr *= depsdr;
|
||||
Vc = qqrd2e*q[i]*q[j]*epsr;
|
||||
|
||||
// turn on/off taper function
|
||||
if (tap_flag) {
|
||||
Tap = calc_Tap(r,sqrt(cutsq[itype][jtype]));
|
||||
dTap = calc_dTap(r,sqrt(cutsq[itype][jtype]));
|
||||
} else {Tap = 1.0; dTap = 0.0;}
|
||||
|
||||
forcecoul = qqrd2e*q[i]*q[j]*r*depsdr;
|
||||
fvc = forcecoul*Tap - Vc*dTap/r;
|
||||
fforce = factor_coul*fvc;
|
||||
|
||||
if (tap_flag) phishieldec = factor_coul*Vc*Tap;
|
||||
else phishieldec = Vc - offset[itype][jtype];
|
||||
return factor_coul*phishieldec;
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef PAIR_CLASS
|
||||
|
||||
PairStyle(coul/shield,PairCoulShield)
|
||||
|
||||
#else
|
||||
|
||||
#ifndef LMP_PAIR_COUL_SHIELD_H
|
||||
#define LMP_PAIR_COUL_SHIELD_H
|
||||
|
||||
#include "pair.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairCoulShield : public Pair {
|
||||
public:
|
||||
PairCoulShield(class LAMMPS *);
|
||||
virtual ~PairCoulShield();
|
||||
|
||||
virtual void compute(int, int);
|
||||
|
||||
virtual void settings(int, char **);
|
||||
virtual void coeff(int, char **);
|
||||
virtual void init_style();
|
||||
virtual double init_one(int, int);
|
||||
virtual void write_restart(FILE *);
|
||||
virtual void read_restart(FILE *);
|
||||
virtual void write_restart_settings(FILE *);
|
||||
virtual void read_restart_settings(FILE *);
|
||||
|
||||
virtual double single(int, int, int, int, double, double, double, double &);
|
||||
|
||||
protected:
|
||||
double cut_global;
|
||||
double **cut;
|
||||
double **sigmae, **offset;
|
||||
//double a_eps, b_eps, eps_s;
|
||||
int tap_flag;
|
||||
|
||||
void allocate();
|
||||
|
||||
/* ----Calculate the long-range cutoff term */
|
||||
inline double calc_Tap(double r_ij, double Rcut) {
|
||||
double Tap,r;
|
||||
//int Tap_coeff[8] = {1,0,0,0,-35,84,-70,20};
|
||||
double Tap_coeff[8] = {1.0,0.0,0.0,0.0,-35.0,84.0,-70.0,20.0};
|
||||
|
||||
r = r_ij/Rcut;
|
||||
Tap = 0.0;
|
||||
|
||||
Tap = Tap_coeff[7] * r + Tap_coeff[6];
|
||||
Tap = Tap * r + Tap_coeff[5];
|
||||
Tap = Tap * r + Tap_coeff[4];
|
||||
Tap = Tap * r + Tap_coeff[3];
|
||||
Tap = Tap * r + Tap_coeff[2];
|
||||
Tap = Tap * r + Tap_coeff[1];
|
||||
Tap = Tap * r + Tap_coeff[0];
|
||||
|
||||
return(Tap);
|
||||
}
|
||||
|
||||
/* ----Calculate the derivatives of long-range cutoff term */
|
||||
inline double calc_dTap(double r_ij, double Rcut) {
|
||||
double dTap,r;
|
||||
double Tap_coeff[8] = {1.0,0.0,0.0,0.0,-35.0,84.0,-70.0,20.0};
|
||||
|
||||
r = r_ij/Rcut;
|
||||
dTap = 0.0;
|
||||
|
||||
dTap = 7.0*Tap_coeff[7] * r + 6.0*Tap_coeff[6];
|
||||
dTap = dTap * r + 5.0*Tap_coeff[5];
|
||||
dTap = dTap * r + 4.0*Tap_coeff[4];
|
||||
dTap = dTap * r + 3.0*Tap_coeff[3];
|
||||
dTap = dTap * r + 2.0*Tap_coeff[2];
|
||||
dTap = dTap * r + Tap_coeff[1];
|
||||
dTap = dTap/Rcut;
|
||||
|
||||
return(dTap);
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,143 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef PAIR_CLASS
|
||||
|
||||
PairStyle(ilp/graphene/hbn,PairILPGrapheneHBN)
|
||||
|
||||
#else
|
||||
|
||||
#ifndef LMP_PAIR_ILP_GRAPHENE_HBN_H
|
||||
#define LMP_PAIR_ILP_GRAPHENE_HBN_H
|
||||
|
||||
#include "pair.h"
|
||||
#include "my_page.h"
|
||||
#include <math.h>
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairILPGrapheneHBN : public Pair {
|
||||
public:
|
||||
PairILPGrapheneHBN(class LAMMPS *);
|
||||
virtual ~PairILPGrapheneHBN();
|
||||
|
||||
virtual void compute(int, int);
|
||||
void settings(int, char **);
|
||||
void coeff(int, char **);
|
||||
double init_one(int, int);
|
||||
void init_style();
|
||||
void calc_normal();
|
||||
int pack_forward_comm(int, int *, double *, int, int *);
|
||||
void unpack_forward_comm(int, int, double *);
|
||||
double single(int, int, int, int, double, double, double, double &);
|
||||
|
||||
protected:
|
||||
int me;
|
||||
int maxlocal; // size of numneigh, firstneigh arrays
|
||||
int pgsize; // size of neighbor page
|
||||
int oneatom; // max # of neighbors for one atom
|
||||
MyPage<int> *ipage; // neighbor list pages
|
||||
int *ILP_numneigh; // # of pair neighbors for each atom
|
||||
int **ILP_firstneigh; // ptr to 1st neighbor of each atom
|
||||
int tap_flag; // flag to turn on/off taper function
|
||||
|
||||
struct Param {
|
||||
double z0,alpha,epsilon,C,delta,d,sR,reff,C6,S;
|
||||
double delta2inv,seff,lambda,rcut;
|
||||
int ielement,jelement;
|
||||
};
|
||||
Param *params; // parameter set for I-J interactions
|
||||
char **elements; // names of unique elements
|
||||
int **elem2param; // mapping from element pairs to parameters
|
||||
int *map; // mapping from atom types to elements
|
||||
int nelements; // # of unique elements
|
||||
int nparams; // # of stored parameter sets
|
||||
int maxparam; // max # of parameter sets
|
||||
int nmax; // max # of atoms
|
||||
|
||||
double cut_global;
|
||||
double cut_normal;
|
||||
double **cut;
|
||||
double **cutILPsq; // mapping the cutoff from element pairs to parameters
|
||||
double **offset;
|
||||
double **normal;
|
||||
double ***dnormdri;
|
||||
double ****dnormal;
|
||||
|
||||
void read_file( char * );
|
||||
void allocate();
|
||||
void ILP_neigh();
|
||||
|
||||
/* ----Calculate the long-range cutoff term */
|
||||
inline double calc_Tap(double r_ij, double Rcut) {
|
||||
double Tap,r;
|
||||
double Tap_coeff[8] = {1.0,0.0,0.0,0.0,-35.0,84.0,-70.0,20.0};
|
||||
|
||||
r = r_ij/Rcut;
|
||||
if(r >= 1.0) {Tap = 0.0;}
|
||||
else {
|
||||
Tap = Tap_coeff[7] * r + Tap_coeff[6];
|
||||
Tap = Tap * r + Tap_coeff[5];
|
||||
Tap = Tap * r + Tap_coeff[4];
|
||||
Tap = Tap * r + Tap_coeff[3];
|
||||
Tap = Tap * r + Tap_coeff[2];
|
||||
Tap = Tap * r + Tap_coeff[1];
|
||||
Tap = Tap * r + Tap_coeff[0];
|
||||
}
|
||||
return(Tap);
|
||||
}
|
||||
|
||||
/* ----Calculate the derivatives of long-range cutoff term */
|
||||
inline double calc_dTap(double r_ij, double Rcut) {
|
||||
double dTap,r;
|
||||
double Tap_coeff[8] = {1.0,0.0,0.0,0.0,-35.0,84.0,-70.0,20.0};
|
||||
|
||||
r = r_ij/Rcut;
|
||||
if(r >= 1.0) {dTap = 0.0;}
|
||||
else {
|
||||
dTap = 7.0*Tap_coeff[7] * r + 6.0*Tap_coeff[6];
|
||||
dTap = dTap * r + 5.0*Tap_coeff[5];
|
||||
dTap = dTap * r + 4.0*Tap_coeff[4];
|
||||
dTap = dTap * r + 3.0*Tap_coeff[3];
|
||||
dTap = dTap * r + 2.0*Tap_coeff[2];
|
||||
dTap = dTap * r + Tap_coeff[1];
|
||||
dTap = dTap/Rcut;
|
||||
}
|
||||
return(dTap);
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
Self-explanatory. Check the input script syntax and compare to the
|
||||
documentation for the command. You can use -echo screen as a
|
||||
command-line option when running LAMMPS to see the offending line.
|
||||
|
||||
E: Incorrect args for pair coefficients
|
||||
|
||||
Self-explanatory. Check the input script or data file.
|
||||
|
||||
E: All pair coeffs are not set
|
||||
|
||||
All pair coefficients must be set in the data file or by the
|
||||
pair_coeff command before running a simulation.
|
||||
|
||||
*/
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,147 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef PAIR_CLASS
|
||||
|
||||
PairStyle(kolmogorov/crespi/full,PairKolmogorovCrespiFull)
|
||||
|
||||
#else
|
||||
|
||||
#ifndef LMP_PAIR_KolmogorovCrespi_FULL_H
|
||||
#define LMP_PAIR_KolmogorovCrespi_FULL_H
|
||||
|
||||
#include "pair.h"
|
||||
#include "my_page.h"
|
||||
#include <math.h>
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairKolmogorovCrespiFull : public Pair {
|
||||
public:
|
||||
PairKolmogorovCrespiFull(class LAMMPS *);
|
||||
virtual ~PairKolmogorovCrespiFull();
|
||||
|
||||
virtual void compute(int, int);
|
||||
void settings(int, char **);
|
||||
void coeff(int, char **);
|
||||
double init_one(int, int);
|
||||
void init_style();
|
||||
void calc_normal();
|
||||
int pack_forward_comm(int, int *, double *, int, int *);
|
||||
void unpack_forward_comm(int, int, double *);
|
||||
double single(int, int, int, int, double, double, double, double &);
|
||||
|
||||
protected:
|
||||
int me;
|
||||
int maxlocal; // size of numneigh, firstneigh arrays
|
||||
int pgsize; // size of neighbor page
|
||||
int oneatom; // max # of neighbors for one atom
|
||||
MyPage<int> *ipage; // neighbor list pages
|
||||
int *KC_numneigh; // # of pair neighbors for each atom
|
||||
int **KC_firstneigh; // ptr to 1st neighbor of each atom
|
||||
int tap_flag; // flag to turn on/off taper function
|
||||
|
||||
|
||||
struct Param {
|
||||
double z0,C0,C2,C4,C,delta,lambda,A,S;
|
||||
double delta2inv,z06,rcut;
|
||||
int ielement,jelement;
|
||||
};
|
||||
Param *params; // parameter set for I-J interactions
|
||||
char **elements; // names of unique elements
|
||||
int **elem2param; // mapping from element pairs to parameters
|
||||
int *map; // mapping from atom types to elements
|
||||
int nelements; // # of unique elements
|
||||
int nparams; // # of stored parameter sets
|
||||
int maxparam; // max # of parameter sets
|
||||
int nmax; // max # of atoms
|
||||
|
||||
double cut_global;
|
||||
double cut_normal;
|
||||
double **cut;
|
||||
double **cutKCsq;
|
||||
double **offset;
|
||||
double **normal;
|
||||
double ***dnormdri;
|
||||
double ****dnormal;
|
||||
|
||||
void read_file( char * );
|
||||
void allocate();
|
||||
void KC_neigh();
|
||||
|
||||
|
||||
/* ----Calculate the long-range cutoff term */
|
||||
inline double calc_Tap(double r_ij, double Rcut) {
|
||||
double Tap,r;
|
||||
double Tap_coeff[8] = {1.0,0.0,0.0,0.0,-35.0,84.0,-70.0,20.0};
|
||||
|
||||
r = r_ij/Rcut;
|
||||
if(r >= 1.0) {Tap = 0.0;}
|
||||
else{
|
||||
Tap = Tap_coeff[7] * r + Tap_coeff[6];
|
||||
Tap = Tap * r + Tap_coeff[5];
|
||||
Tap = Tap * r + Tap_coeff[4];
|
||||
Tap = Tap * r + Tap_coeff[3];
|
||||
Tap = Tap * r + Tap_coeff[2];
|
||||
Tap = Tap * r + Tap_coeff[1];
|
||||
Tap = Tap * r + Tap_coeff[0];
|
||||
}
|
||||
|
||||
return(Tap);
|
||||
}
|
||||
|
||||
/* ----Calculate the derivatives of long-range cutoff term */
|
||||
inline double calc_dTap(double r_ij, double Rcut) {
|
||||
double dTap,r;
|
||||
double Tap_coeff[8] = {1.0,0.0,0.0,0.0,-35.0,84.0,-70.0,20.0};
|
||||
|
||||
r = r_ij/Rcut;
|
||||
if(r >= 1.0) {dTap = 0.0;}
|
||||
else {
|
||||
dTap = 7.0*Tap_coeff[7] * r + 6.0*Tap_coeff[6];
|
||||
dTap = dTap * r + 5.0*Tap_coeff[5];
|
||||
dTap = dTap * r + 4.0*Tap_coeff[4];
|
||||
dTap = dTap * r + 3.0*Tap_coeff[3];
|
||||
dTap = dTap * r + 2.0*Tap_coeff[2];
|
||||
dTap = dTap * r + Tap_coeff[1];
|
||||
dTap = dTap/Rcut;
|
||||
}
|
||||
|
||||
return(dTap);
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
Self-explanatory. Check the input script syntax and compare to the
|
||||
documentation for the command. You can use -echo screen as a
|
||||
command-line option when running LAMMPS to see the offending line.
|
||||
|
||||
E: Incorrect args for pair coefficients
|
||||
|
||||
Self-explanatory. Check the input script or data file.
|
||||
|
||||
E: All pair coeffs are not set
|
||||
|
||||
All pair coefficients must be set in the data file or by the
|
||||
pair_coeff command before running a simulation.
|
||||
|
||||
*/
|
||||
|
Loading…
Reference in New Issue