sync GHub with SVN
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
<!-- HTML_ONLY -->
|
<!-- HTML_ONLY -->
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<TITLE>LAMMPS Users Manual</TITLE>
|
<TITLE>LAMMPS Users Manual</TITLE>
|
||||||
<META NAME="docnumber" CONTENT="20 Jan 2017 version">
|
<META NAME="docnumber" CONTENT="26 Jan 2017 version">
|
||||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||||
</HEAD>
|
</HEAD>
|
||||||
@ -21,7 +21,7 @@
|
|||||||
<H1></H1>
|
<H1></H1>
|
||||||
|
|
||||||
LAMMPS Documentation :c,h3
|
LAMMPS Documentation :c,h3
|
||||||
20 Jan 2017 version :c,h4
|
26 Jan 2017 version :c,h4
|
||||||
|
|
||||||
Version info: :h4
|
Version info: :h4
|
||||||
|
|
||||||
|
|||||||
13
potentials/WL.meam
Normal file
13
potentials/WL.meam
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# DATE: 2017-01-25 CONTRIBUTOR: Aidan Thompson, athomps@sandia.gov, CITATION: Lee, Baskes, Kim, Cho. Phys. Rev. B, 64, 184102 (2001)
|
||||||
|
rc = 3.8
|
||||||
|
delr = 0.1
|
||||||
|
augt1 = 0
|
||||||
|
erose_form = 2
|
||||||
|
zbl(1,1) = 0
|
||||||
|
nn2(1,1) = 1
|
||||||
|
Ec(1,1) = 8.66
|
||||||
|
re(1,1) = 2.74
|
||||||
|
attrac(1,1) = 0
|
||||||
|
repuls(1,1) = 0
|
||||||
|
Cmin(1,1,1) = 0.49
|
||||||
|
Cmax(1,1,1) = 2.8
|
||||||
@ -104,7 +104,7 @@ void AngleHybrid::compute(int eflag, int vflag)
|
|||||||
// accumulate sub-style global/peratom energy/virial in hybrid
|
// accumulate sub-style global/peratom energy/virial in hybrid
|
||||||
|
|
||||||
if (eflag || vflag) ev_setup(eflag,vflag);
|
if (eflag || vflag) ev_setup(eflag,vflag);
|
||||||
else evflag = 0;
|
else evflag = eflag_global = vflag_global = eflag_atom = vflag_atom = 0;
|
||||||
|
|
||||||
for (m = 0; m < nstyles; m++) {
|
for (m = 0; m < nstyles; m++) {
|
||||||
neighbor->nanglelist = nanglelist[m];
|
neighbor->nanglelist = nanglelist[m];
|
||||||
|
|||||||
@ -103,7 +103,7 @@ void BondHybrid::compute(int eflag, int vflag)
|
|||||||
// accumulate sub-style global/peratom energy/virial in hybrid
|
// accumulate sub-style global/peratom energy/virial in hybrid
|
||||||
|
|
||||||
if (eflag || vflag) ev_setup(eflag,vflag);
|
if (eflag || vflag) ev_setup(eflag,vflag);
|
||||||
else evflag = 0;
|
else evflag = eflag_global = vflag_global = eflag_atom = vflag_atom = 0;
|
||||||
|
|
||||||
for (m = 0; m < nstyles; m++) {
|
for (m = 0; m < nstyles; m++) {
|
||||||
neighbor->nbondlist = nbondlist[m];
|
neighbor->nbondlist = nbondlist[m];
|
||||||
|
|||||||
@ -105,7 +105,7 @@ void DihedralHybrid::compute(int eflag, int vflag)
|
|||||||
// accumulate sub-style global/peratom energy/virial in hybrid
|
// accumulate sub-style global/peratom energy/virial in hybrid
|
||||||
|
|
||||||
if (eflag || vflag) ev_setup(eflag,vflag);
|
if (eflag || vflag) ev_setup(eflag,vflag);
|
||||||
else evflag = 0;
|
else evflag = eflag_global = vflag_global = eflag_atom = vflag_atom = 0;
|
||||||
|
|
||||||
for (m = 0; m < nstyles; m++) {
|
for (m = 0; m < nstyles; m++) {
|
||||||
neighbor->ndihedrallist = ndihedrallist[m];
|
neighbor->ndihedrallist = ndihedrallist[m];
|
||||||
|
|||||||
@ -105,7 +105,7 @@ void ImproperHybrid::compute(int eflag, int vflag)
|
|||||||
// accumulate sub-style global/peratom energy/virial in hybrid
|
// accumulate sub-style global/peratom energy/virial in hybrid
|
||||||
|
|
||||||
if (eflag || vflag) ev_setup(eflag,vflag);
|
if (eflag || vflag) ev_setup(eflag,vflag);
|
||||||
else evflag = 0;
|
else evflag = eflag_global = vflag_global = eflag_atom = vflag_atom = 0;
|
||||||
|
|
||||||
for (m = 0; m < nstyles; m++) {
|
for (m = 0; m < nstyles; m++) {
|
||||||
neighbor->nimproperlist = nimproperlist[m];
|
neighbor->nimproperlist = nimproperlist[m];
|
||||||
|
|||||||
@ -46,7 +46,7 @@ NeighRequest::NeighRequest(LAMMPS *lmp) : Pointers(lmp)
|
|||||||
command_style = NULL;
|
command_style = NULL;
|
||||||
|
|
||||||
// combination of settings, mutiple can be set to 1
|
// combination of settings, mutiple can be set to 1
|
||||||
// default is every reneighboring
|
// default is every reneighboring, not occasional
|
||||||
// default is use newton_pair setting in force
|
// default is use newton_pair setting in force
|
||||||
// default is no size history (when gran = 1)
|
// default is no size history (when gran = 1)
|
||||||
// default is no one-sided sphere/surface interactions (when gran = 1)
|
// default is no one-sided sphere/surface interactions (when gran = 1)
|
||||||
@ -55,6 +55,7 @@ NeighRequest::NeighRequest(LAMMPS *lmp) : Pointers(lmp)
|
|||||||
// default is no multi-threaded neighbor list build
|
// default is no multi-threaded neighbor list build
|
||||||
// default is no Kokkos neighbor list build
|
// default is no Kokkos neighbor list build
|
||||||
// default is no Shardlow Splitting Algorithm (SSA) neighbor list build
|
// default is no Shardlow Splitting Algorithm (SSA) neighbor list build
|
||||||
|
// default is neighbors of atoms, not bonds
|
||||||
|
|
||||||
occasional = 0;
|
occasional = 0;
|
||||||
newton = 0;
|
newton = 0;
|
||||||
@ -65,6 +66,7 @@ NeighRequest::NeighRequest(LAMMPS *lmp) : Pointers(lmp)
|
|||||||
intel = 0;
|
intel = 0;
|
||||||
kokkos_host = kokkos_device = 0;
|
kokkos_host = kokkos_device = 0;
|
||||||
ssa = 0;
|
ssa = 0;
|
||||||
|
bond = 0;
|
||||||
|
|
||||||
// copy/skip/derive info, default is no copy or skip
|
// copy/skip/derive info, default is no copy or skip
|
||||||
// none or only one option is set
|
// none or only one option is set
|
||||||
@ -142,6 +144,7 @@ int NeighRequest::identical(NeighRequest *other)
|
|||||||
if (kokkos_host != other->kokkos_host) same = 0;
|
if (kokkos_host != other->kokkos_host) same = 0;
|
||||||
if (kokkos_device != other->kokkos_device) same = 0;
|
if (kokkos_device != other->kokkos_device) same = 0;
|
||||||
if (ssa != other->ssa) same = 0;
|
if (ssa != other->ssa) same = 0;
|
||||||
|
if (bond != other->bond) same = 0;
|
||||||
|
|
||||||
if (copy != other->copy_original) same = 0;
|
if (copy != other->copy_original) same = 0;
|
||||||
if (same_skip(other) == 0) same = 0;
|
if (same_skip(other) == 0) same = 0;
|
||||||
@ -182,6 +185,7 @@ int NeighRequest::same_kind(NeighRequest *other)
|
|||||||
if (kokkos_host != other->kokkos_host) same = 0;
|
if (kokkos_host != other->kokkos_host) same = 0;
|
||||||
if (kokkos_device != other->kokkos_device) same = 0;
|
if (kokkos_device != other->kokkos_device) same = 0;
|
||||||
if (ssa != other->ssa) same = 0;
|
if (ssa != other->ssa) same = 0;
|
||||||
|
if (bond != other->bond) same = 0;
|
||||||
|
|
||||||
// copy/skip/derive info does not need to be the same
|
// copy/skip/derive info does not need to be the same
|
||||||
|
|
||||||
@ -237,4 +241,5 @@ void NeighRequest::copy_request(NeighRequest *other)
|
|||||||
kokkos_host = other->kokkos_host;
|
kokkos_host = other->kokkos_host;
|
||||||
kokkos_device = other->kokkos_device;
|
kokkos_device = other->kokkos_device;
|
||||||
ssa = other->ssa;
|
ssa = other->ssa;
|
||||||
|
bond = other->bond;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -95,6 +95,10 @@ class NeighRequest : protected Pointers {
|
|||||||
|
|
||||||
int ssa;
|
int ssa;
|
||||||
|
|
||||||
|
// 1 if bond neighbors, not atom neighbors
|
||||||
|
|
||||||
|
int bond;
|
||||||
|
|
||||||
// -----------------
|
// -----------------
|
||||||
// end of optional settings
|
// end of optional settings
|
||||||
// -----------------
|
// -----------------
|
||||||
|
|||||||
@ -1411,11 +1411,11 @@ int Neighbor::choose_pair(NeighRequest *rq)
|
|||||||
|
|
||||||
int copyflag,skipflag,halfflag,fullflag,halffullflag,sizeflag,respaflag,
|
int copyflag,skipflag,halfflag,fullflag,halffullflag,sizeflag,respaflag,
|
||||||
ghostflag,off2onflag,onesideflag,ssaflag,ompflag,intelflag,
|
ghostflag,off2onflag,onesideflag,ssaflag,ompflag,intelflag,
|
||||||
kokkos_device_flag,kokkos_host_flag;
|
kokkos_device_flag,kokkos_host_flag,bondflag;
|
||||||
|
|
||||||
copyflag = skipflag = halfflag = fullflag = halffullflag = sizeflag =
|
copyflag = skipflag = halfflag = fullflag = halffullflag = sizeflag =
|
||||||
ghostflag = respaflag = off2onflag = onesideflag = ssaflag =
|
ghostflag = respaflag = off2onflag = onesideflag = ssaflag =
|
||||||
ompflag = intelflag = kokkos_device_flag = kokkos_host_flag = 0;
|
ompflag = intelflag = kokkos_device_flag = kokkos_host_flag = bondflag = 0;
|
||||||
|
|
||||||
if (rq->copy) copyflag = NP_COPY;
|
if (rq->copy) copyflag = NP_COPY;
|
||||||
if (rq->skip) skipflag = NP_SKIP;
|
if (rq->skip) skipflag = NP_SKIP;
|
||||||
@ -1447,6 +1447,7 @@ int Neighbor::choose_pair(NeighRequest *rq)
|
|||||||
if (rq->intel) intelflag = NP_INTEL;
|
if (rq->intel) intelflag = NP_INTEL;
|
||||||
if (rq->kokkos_device) kokkos_device_flag = NP_KOKKOS_DEVICE;
|
if (rq->kokkos_device) kokkos_device_flag = NP_KOKKOS_DEVICE;
|
||||||
if (rq->kokkos_host) kokkos_host_flag = NP_KOKKOS_HOST;
|
if (rq->kokkos_host) kokkos_host_flag = NP_KOKKOS_HOST;
|
||||||
|
if (rq->bond) bondflag = NP_BOND;
|
||||||
|
|
||||||
int newtflag;
|
int newtflag;
|
||||||
if (rq->newton == 0 && newton_pair) newtflag = 1;
|
if (rq->newton == 0 && newton_pair) newtflag = 1;
|
||||||
@ -1459,10 +1460,10 @@ int Neighbor::choose_pair(NeighRequest *rq)
|
|||||||
|
|
||||||
int mask;
|
int mask;
|
||||||
|
|
||||||
//printf("FLAGS: %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",
|
//printf("FLAGS: %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",
|
||||||
// copyflag,skipflag,halfflag,fullflag,halffullflag,
|
// copyflag,skipflag,halfflag,fullflag,halffullflag,
|
||||||
// sizeflag,respaflag,ghostflag,off2onflag,onesideflag,ssaflag,
|
// sizeflag,respaflag,ghostflag,off2onflag,onesideflag,ssaflag,
|
||||||
// ompflag,intelflag,newtflag);
|
// ompflag,intelflag,newtflag,bondflag);
|
||||||
|
|
||||||
for (int i = 0; i < npclass; i++) {
|
for (int i = 0; i < npclass; i++) {
|
||||||
mask = pairmasks[i];
|
mask = pairmasks[i];
|
||||||
@ -1496,6 +1497,7 @@ int Neighbor::choose_pair(NeighRequest *rq)
|
|||||||
if (off2onflag != (mask & NP_OFF2ON)) continue;
|
if (off2onflag != (mask & NP_OFF2ON)) continue;
|
||||||
if (onesideflag != (mask & NP_ONESIDE)) continue;
|
if (onesideflag != (mask & NP_ONESIDE)) continue;
|
||||||
if (ssaflag != (mask & NP_SSA)) continue;
|
if (ssaflag != (mask & NP_SSA)) continue;
|
||||||
|
if (bondflag != (mask & NP_BOND)) continue;
|
||||||
if (ompflag != (mask & NP_OMP)) continue;
|
if (ompflag != (mask & NP_OMP)) continue;
|
||||||
if (intelflag != (mask & NP_INTEL)) continue;
|
if (intelflag != (mask & NP_INTEL)) continue;
|
||||||
|
|
||||||
|
|||||||
@ -267,6 +267,7 @@ namespace NeighConst {
|
|||||||
static const int NP_TRI = 1<<19;
|
static const int NP_TRI = 1<<19;
|
||||||
static const int NP_KOKKOS_DEVICE = 1<<20;
|
static const int NP_KOKKOS_DEVICE = 1<<20;
|
||||||
static const int NP_KOKKOS_HOST = 1<<21;
|
static const int NP_KOKKOS_HOST = 1<<21;
|
||||||
|
static const int NP_BOND = 1<<22;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
#define LAMMPS_VERSION "20 Jan 2017"
|
#define LAMMPS_VERSION "26 Jan 2017"
|
||||||
|
|||||||
Reference in New Issue
Block a user