Merge pull request #839 from oywg11/master

New registry dependent interlayer potential in LAMMPS
This commit is contained in:
Steve Plimpton 2018-03-23 13:38:48 -06:00 committed by GitHub
commit 318877ada3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
56 changed files with 15073 additions and 29 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -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,

View File

@ -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

View File

@ -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).

View File

@ -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.

View File

@ -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)

View File

@ -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,

View File

@ -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

View File

@ -0,0 +1 @@
../../../../potentials/BNC.tersoff

View File

@ -0,0 +1 @@
../../../../potentials/BNCH-old.ILP

View File

@ -0,0 +1 @@
../../../../../potentials/BNCH-old.ILP

View File

@ -0,0 +1 @@
../../../../../potentials/CH.airebo

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1 @@
../../../../../potentials/BNC.tersoff

View File

@ -0,0 +1 @@
../../../../../potentials/BNCH-old.ILP

View File

@ -0,0 +1 @@
../../../../../potentials/CH.airebo

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1 @@
../../../../potentials/CC.KC-full

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1 @@
../../../../potentials/CC.KC

View File

@ -0,0 +1 @@
../../../../potentials/CH.airebo

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

21
potentials/BNCH-old.ILP Normal file
View File

@ -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

8
potentials/CC.KC-full Normal file
View File

@ -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

6
src/.gitignore vendored
View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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.
*/