From 3675bef2b0380cfb0ce3ff500654cf1c3048b6cc Mon Sep 17 00:00:00 2001 From: tomswinburne Date: Tue, 6 Jul 2021 14:06:27 +0200 Subject: [PATCH] doc --- doc/src/fix_adapt.rst | 2 + doc/src/fix_adapt_fep.rst | 4 +- .../snap/Ni_Zuo_JPCA2020.quadratic.snapcoeff | 1 + .../snap/Ni_Zuo_JPCA2020.quadratic.snapparam | 1 + examples/snap/Ni_Zuo_JPCA2020.snapcoeff | 1 + examples/snap/Ni_Zuo_JPCA2020.snapparam | 1 + examples/snap/in.snap.scale.Ni_Zuo_JCPA2020 | 53 +++++++++++++++++++ src/SNAP/pair_snap.cpp | 1 + 8 files changed, 63 insertions(+), 1 deletion(-) create mode 120000 examples/snap/Ni_Zuo_JPCA2020.quadratic.snapcoeff create mode 120000 examples/snap/Ni_Zuo_JPCA2020.quadratic.snapparam create mode 120000 examples/snap/Ni_Zuo_JPCA2020.snapcoeff create mode 120000 examples/snap/Ni_Zuo_JPCA2020.snapparam create mode 100644 examples/snap/in.snap.scale.Ni_Zuo_JCPA2020 diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index aa34516d52..a110d93a8d 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -188,6 +188,8 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`reax/c ` | chi, eta, gamma | type global | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +| :doc:`snap ` | scale | type pairs | ++------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`spin/dmi ` | coulombic_cutoff | type global | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`spin/exchange ` | coulombic_cutoff | type global | diff --git a/doc/src/fix_adapt_fep.rst b/doc/src/fix_adapt_fep.rst index 81a34ab75e..ce374a29cb 100644 --- a/doc/src/fix_adapt_fep.rst +++ b/doc/src/fix_adapt_fep.rst @@ -173,10 +173,12 @@ styles and their energy formulas for the meaning of these parameters: +------------------------------------------------------------------------------+-------------------------+------------+ | :doc:`nm/cut/coul/cut, nm/cut/coul/long ` | e0,r0,nn,mm | type pairs | +------------------------------------------------------------------------------+-------------------------+------------+ -| :doc:`ufm ` | epsilon,sigma,scale | type pairs | +| :doc:`snap ` | scale | type pairs | +------------------------------------------------------------------------------+-------------------------+------------+ | :doc:`soft ` | a | type pairs | +------------------------------------------------------------------------------+-------------------------+------------+ +| :doc:`ufm ` | epsilon,sigma,scale | type pairs | ++------------------------------------------------------------------------------+-------------------------+------------+ .. note:: diff --git a/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapcoeff b/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapcoeff new file mode 120000 index 0000000000..9401393007 --- /dev/null +++ b/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapcoeff @@ -0,0 +1 @@ +../../potentials/Ni_Zuo_JPCA2020.quadratic.snapcoeff \ No newline at end of file diff --git a/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapparam b/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapparam new file mode 120000 index 0000000000..a47ada019b --- /dev/null +++ b/examples/snap/Ni_Zuo_JPCA2020.quadratic.snapparam @@ -0,0 +1 @@ +../../potentials/Ni_Zuo_JPCA2020.quadratic.snapparam \ No newline at end of file diff --git a/examples/snap/Ni_Zuo_JPCA2020.snapcoeff b/examples/snap/Ni_Zuo_JPCA2020.snapcoeff new file mode 120000 index 0000000000..7211856b43 --- /dev/null +++ b/examples/snap/Ni_Zuo_JPCA2020.snapcoeff @@ -0,0 +1 @@ +../../potentials/Ni_Zuo_JPCA2020.snapcoeff \ No newline at end of file diff --git a/examples/snap/Ni_Zuo_JPCA2020.snapparam b/examples/snap/Ni_Zuo_JPCA2020.snapparam new file mode 120000 index 0000000000..b7fc095fab --- /dev/null +++ b/examples/snap/Ni_Zuo_JPCA2020.snapparam @@ -0,0 +1 @@ +../../potentials/Ni_Zuo_JPCA2020.snapparam \ No newline at end of file diff --git a/examples/snap/in.snap.scale.Ni_Zuo_JCPA2020 b/examples/snap/in.snap.scale.Ni_Zuo_JCPA2020 new file mode 100644 index 0000000000..ee195c11f3 --- /dev/null +++ b/examples/snap/in.snap.scale.Ni_Zuo_JCPA2020 @@ -0,0 +1,53 @@ +# Toy demonstration of SNAP "scale" parameter, using fix/adapt and hybrid/overlay +# Mixing linear and quadratic SNAP Ni potentials by Zuo et al. JCPA 2020 + +# mixing parameter + +variable lambda equal 0.2 + + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 3 +variable a equal 3.52 +units metal + +# generate the box and atom positions using a FCC lattice +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice fcc $a +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 34. + +# choose bundled SNAP Ni potential from Zuo et al. JCPA 2020 +pair_style hybrid/overlay snap snap +pair_coeff * * snap 1 Ni_Zuo_JPCA2020.snapcoeff Ni_Zuo_JPCA2020.snapparam Ni +pair_coeff * * snap 2 Ni_Zuo_JPCA2020.quadratic.snapcoeff Ni_Zuo_JPCA2020.quadratic.snapparam Ni + +# scale according to mixing parameter +variable l1 equal ${lambda} +variable l2 equal 1.0-${lambda} +fix scale1 all adapt 1 pair snap:1 scale * * v_l1 +fix scale2 all adapt 1 pair snap:2 scale * * v_l2 + +# Setup output +thermo 1 +thermo_modify norm yes + +# Set up NVE run +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +# Run MD +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index b14f1244c6..dd023e096c 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -165,6 +165,7 @@ void PairSNAP::compute(int eflag, int vflag) // for neighbors of I within cutoff: // compute Fij = dEi/dRj = -dEi/dRi // add to Fi, subtract from Fj + // scaling is that for type I snaptr->compute_yi(beta[ii]);