Merge remote-tracking branch 'lammps-ro/master' into lammps-icms

Resolved Conflicts:
	doc/Manual.html
	doc/Manual.txt
This commit is contained in:
Axel Kohlmeyer
2015-02-25 17:03:53 -05:00
29 changed files with 27200 additions and 50 deletions

View File

@ -1,7 +1,7 @@
<HTML>
<HEAD>
<TITLE>LAMMPS-ICMS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="19 Feb 2015 version">
<META NAME="docnumber" CONTENT="24 Feb 2015 version">
<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.">
</HEAD>
@ -22,7 +22,7 @@
<CENTER><H3>LAMMPS-ICMS Documentation
</H3></CENTER>
<CENTER><H4>19 Feb 2015 version
<CENTER><H4>24 Feb 2015 version
</H4></CENTER>
<H4>Version info:
</H4>

View File

@ -1,7 +1,7 @@
<HEAD>
<TITLE>LAMMPS-ICMS Users Manual</TITLE>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="19 Feb 2015 version">
<META NAME="docnumber" CONTENT="24 Feb 2015 version">
<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.">
</HEAD>
@ -19,7 +19,7 @@
<H1></H1>
LAMMPS-ICMS Documentation :c,h3
19 Feb 2015 version :c,h4
24 Feb 2015 version :c,h4
Version info: :h4

View File

@ -514,9 +514,9 @@ package</A>.
<TR ALIGN="center"><TD ><A HREF = "pair_list.html">list</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/soft (o)</A></TD><TD ><A HREF = "pair_lj_soft.html">lj/cut/coul/cut/soft (o)</A></TD><TD ><A HREF = "pair_lj_soft.html">lj/cut/coul/long/soft (o)</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_dipole.html">lj/cut/dipole/sf (go)</A></TD><TD ><A HREF = "pair_lj_soft.html">lj/cut/soft (o)</A></TD><TD ><A HREF = "pair_lj_soft.html">lj/cut/tip4p/long/soft (o)</A></TD><TD ><A HREF = "pair_sdk.html">lj/sdk (go)</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_sdk.html">lj/sdk/coul/long (go)</A></TD><TD ><A HREF = "pair_sdk.html">lj/sdk/coul/msm (o)</A></TD><TD ><A HREF = "pair_lj_sf.html">lj/sf (o)</A></TD><TD ><A HREF = "pair_meam_spline.html">meam/spline</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_meam_sw_spline.html">meam/sw/spline</A></TD><TD ><A HREF = "pair_reax_c.html">reax/c</A></TD><TD ><A HREF = "pair_sph_heatconduction.html">sph/heatconduction</A></TD><TD ><A HREF = "pair_sph_idealgas.html">sph/idealgas</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_sph_lj.html">sph/lj</A></TD><TD ><A HREF = "pair_sph_rhosum.html">sph/rhosum</A></TD><TD ><A HREF = "pair_sph_taitwater.html">sph/taitwater</A></TD><TD ><A HREF = "pair_sph_taitwater_morris.html">sph/taitwater/morris</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_srp.html">srp</A></TD><TD ><A HREF = "pair_tersoff.html">tersoff/table (o)</A></TD><TD ><A HREF = "pair_lj_soft.html">tip4p/long/soft (o)</A>
<TR ALIGN="center"><TD ><A HREF = "pair_meam_sw_spline.html">meam/sw/spline</A></TD><TD ><A HREF = "pair_quip.html">quip</A></TD><TD ><A HREF = "pair_reax_c.html">reax/c</A></TD><TD ><A HREF = "pair_sph_heatconduction.html">sph/heatconduction</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_sph_idealgas.html">sph/idealgas</A></TD><TD ><A HREF = "pair_sph_lj.html">sph/lj</A></TD><TD ><A HREF = "pair_sph_rhosum.html">sph/rhosum</A></TD><TD ><A HREF = "pair_sph_taitwater.html">sph/taitwater</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_sph_taitwater_morris.html">sph/taitwater/morris</A></TD><TD ><A HREF = "pair_srp.html">srp</A></TD><TD ><A HREF = "pair_tersoff.html">tersoff/table (o)</A></TD><TD ><A HREF = "pair_lj_soft.html">tip4p/long/soft (o)</A>
</TD></TR></TABLE></DIV>
<HR>

View File

@ -850,6 +850,7 @@ package"_Section_start.html#start_3.
"lj/sf (o)"_pair_lj_sf.html,
"meam/spline"_pair_meam_spline.html,
"meam/sw/spline"_pair_meam_sw_spline.html,
"quip"_pair_quip.html,
"reax/c"_pair_reax_c.html,
"sph/heatconduction"_pair_sph_heatconduction.html,
"sph/idealgas"_pair_sph_idealgas.html,

View File

@ -132,7 +132,8 @@ on how to build LAMMPS with both kinds of auxiliary libraries.
<TR ALIGN="center"><TD >USER-MOLFILE</TD><TD > <A HREF = "http://www.ks.uiuc.edu/Research/vmd">VMD</A> molfile plug-ins</TD><TD > Axel Kohlmeyer (Temple U)</TD><TD > <A HREF = "dump_molfile.html">dump molfile</A></TD><TD > -</TD><TD > -</TD><TD > VMD-MOLFILE</TD></TR>
<TR ALIGN="center"><TD >USER-OMP</TD><TD > OpenMP threaded styles</TD><TD > Axel Kohlmeyer (Temple U)</TD><TD > <A HREF = "Section_accelerate.html#acc_5">Section accelerate</A></TD><TD > -</TD><TD > -</TD><TD > -</TD></TR>
<TR ALIGN="center"><TD >USER-PHONON</TD><TD > phonon dynamical matrix</TD><TD > Ling-Ti Kong (Shanghai Jiao Tong U)</TD><TD > <A HREF = "fix_phonon.html">fix phonon</A></TD><TD > USER/phonon</TD><TD > -</TD><TD > -</TD></TR>
<TR ALIGN="center"><TD >USER-QMMM</TD><TD > QM/MM coupling</TD><TD > Axel Kohlmeyer (Temple U)</TD><TD > <A HREF = "fix_qmmm.html">fix qmmm</A></TD><TD > lib/qmmm/example1</TD><TD > -</TD><TD > lib/qmmm</TD></TR>
<TR ALIGN="center"><TD >USER-QMMM</TD><TD > QM/MM coupling</TD><TD > Axel Kohlmeyer (Temple U)</TD><TD > <A HREF = "fix_qmmm.html">fix qmmm</A></TD><TD > USER/qmmm</TD><TD > -</TD><TD > lib/qmmm</TD></TR>
<TR ALIGN="center"><TD >USER-QUIP</TD><TD > QM/MM coupling</TD><TD > Albert Bartok-Partay (U Cambridge)</TD><TD > <A HREF = "fix_quip.html">fix quip</A></TD><TD > USER/quip</TD><TD > -</TD><TD > lib/quip</TD></TR>
<TR ALIGN="center"><TD >USER-REAXC</TD><TD > C version of ReaxFF</TD><TD > Metin Aktulga (LBNL)</TD><TD > <A HREF = "pair_reax_c.html">pair_style reaxc</A></TD><TD > reax</TD><TD > -</TD><TD > -</TD></TR>
<TR ALIGN="center"><TD >USER-SPH</TD><TD > smoothed particle hydrodynamics</TD><TD > Georg Ganzenmuller (EMI)</TD><TD > <A HREF = "USER/sph/SPH_LAMMPS_userguide.pdf">userguide.pdf</A></TD><TD > USER/sph</TD><TD > <A HREF = "http://lammps.sandia.gov/movies.html#sph">sph</A></TD><TD > -</TD></TR>
<TR ALIGN="center"><TD >

View File

@ -124,7 +124,8 @@ USER-MISC, single-file contributions, USER-MISC/README, USER-MISC/README, -, -,
USER-MOLFILE, "VMD"_VMD molfile plug-ins, Axel Kohlmeyer (Temple U), "dump molfile"_dump_molfile.html, -, -, VMD-MOLFILE
USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "Section accelerate"_Section_accelerate.html#acc_5, -, -, -
USER-PHONON, phonon dynamical matrix, Ling-Ti Kong (Shanghai Jiao Tong U), "fix phonon"_fix_phonon.html, USER/phonon, -, -
USER-QMMM, QM/MM coupling, Axel Kohlmeyer (Temple U), "fix qmmm"_fix_qmmm.html, lib/qmmm/example1, -, lib/qmmm
USER-QMMM, QM/MM coupling, Axel Kohlmeyer (Temple U), "fix qmmm"_fix_qmmm.html, USER/qmmm, -, lib/qmmm
USER-QUIP, QM/MM coupling, Albert Bartok-Partay (U Cambridge), "fix quip"_fix_quip.html, USER/quip, -, lib/quip
USER-REAXC, C version of ReaxFF, Metin Aktulga (LBNL), "pair_style reaxc"_pair_reax_c.html, reax, -, -
USER-SPH, smoothed particle hydrodynamics, Georg Ganzenmuller (EMI), "userguide.pdf"_USER/sph/SPH_LAMMPS_userguide.pdf, USER/sph, "sph"_sph, -
:tb(ea=c)

102
doc/pair_quip.html Normal file
View File

@ -0,0 +1,102 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>pair_style quip command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>pair_style quip
</PRE>
<P><B>Examples:</B>
</P>
<PRE>pair_style quip
pair_coeff * * gap_example.xml "Potential xml_label=GAP_2014_5_8_60_17_10_38_466" 14
pair_coeff * * sw_example.xml "IP SW" 14
</PRE>
<P><B>Description:</B>
</P>
<P>Style <I>quip</I> provides an interface for calling potential routines from
the QUIP package. QUIP is built separately, and then linked to
LAMMPS. The most recent version of the QUIP package can be downloaded
from GitHub:
<A HREF = "https://github.com/libAtoms/QUIP">https://github.com/libAtoms/QUIP</A>. The
interface is chiefly intended to be used to run Gaussian Approximation
Potentials (GAP), which are described in the following publications:
<A HREF = "#Bartok_2010">(Bartok et al)</A> and <A HREF = "#Bartok_PhD">(PhD thesis of
Bartok)</A>.
</P>
<P>Only a single pair_coeff command is used with the <I>quip</I> style that
specifies a QUIP potential file containing the parameters of the
potential for all needed elements in XML format. This is followed by a
QUIP initialization string. Finally, the QUIP elements are mapped to
LAMMPS atom types by specifying N atomic numbers, where N is the
number of LAMMPS atom types:
</P>
<UL><LI>QUIP filename
<LI>QUIP initialization string
<LI>N atomic numbers = mapping of QUIP elements to atom types
</UL>
<P>See the <A HREF = "pair_coeff.html">pair_coeff</A> doc page for alternate ways
to specify the path for the potential file.
</P>
<P>A QUIP potential is fully specified by the filename which contains the
parameters of the potential in XML format, the initialisation string,
and the map of atomic numbers.
</P>
<P>GAP potentials can be obtained from the Data repository section of
<A HREF = "http://www.libatoms.org">http://www.libatoms.org</A>, where the
appropriate initialisation strings are also advised. The list of
atomic numbers must be matched to the LAMMPS atom types specified in
the LAMMPS data file or elsewhere.
</P>
<P>Two examples input scripts are provided in the examples/USER/quip
directory.
</P>
<P><B>Mixing, shift, table, tail correction, restart, rRESPA info</B>:
</P>
<P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A>
mix, shift, table, and tail options.
</P>
<P>This pair style does not write its information to <A HREF = "restart.html">binary restart
files</A>, 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.
</P>
<P>This pair style can only be used via the <I>pair</I> keyword of the
<A HREF = "run_style.html">run_style respa</A> command. It does not support the
<I>inner</I>, <I>middle</I>, <I>outer</I> keywords.
</P>
<P><B>Restrictions:</B>
</P>
<P>This pair style is part of the USER-QUIP package. It is only enabled
if LAMMPS was built with that package. See the <A HREF = "Section_start.html#start_3">Making
LAMMPS</A> section for more info.
</P>
<P>QUIP potentials are parametrized in electron-volts and Angstroms and
therefore should be used with LAMMPS metal <A HREF = "units.html">units</A>.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "pair_coeff.html">pair_coeff</A>
</P>
<HR>
<A NAME = "Bartok_2010"></A>
<P><B>(Bartok_2010)</B> AP Bartok, MC Payne, R Kondor, and G Csanyi, Physical
Review Letters 104, 136403 (2010).
</P>
<A NAME = "Bartok_PhD"></A>
<P><B>(Bartok_PhD)</B> A Bartok-Partay, PhD Thesis, University of Cambridge,
(2010).
</P>
</HTML>

96
doc/pair_quip.txt Normal file
View File

@ -0,0 +1,96 @@
"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 quip command :h3
[Syntax:]
pair_style quip :pre
[Examples:]
pair_style quip
pair_coeff * * gap_example.xml "Potential xml_label=GAP_2014_5_8_60_17_10_38_466" 14
pair_coeff * * sw_example.xml "IP SW" 14 :pre
[Description:]
Style {quip} provides an interface for calling potential routines from
the QUIP package. QUIP is built separately, and then linked to
LAMMPS. The most recent version of the QUIP package can be downloaded
from GitHub:
"https://github.com/libAtoms/QUIP"_https://github.com/libAtoms/QUIP. The
interface is chiefly intended to be used to run Gaussian Approximation
Potentials (GAP), which are described in the following publications:
"(Bartok et al)"_#Bartok_2010 and "(PhD thesis of
Bartok)"_#Bartok_PhD.
Only a single pair_coeff command is used with the {quip} style that
specifies a QUIP potential file containing the parameters of the
potential for all needed elements in XML format. This is followed by a
QUIP initialization string. Finally, the QUIP elements are mapped to
LAMMPS atom types by specifying N atomic numbers, where N is the
number of LAMMPS atom types:
QUIP filename
QUIP initialization string
N atomic numbers = mapping of QUIP elements to atom types :ul
See the "pair_coeff"_pair_coeff.html doc page for alternate ways
to specify the path for the potential file.
A QUIP potential is fully specified by the filename which contains the
parameters of the potential in XML format, the initialisation string,
and the map of atomic numbers.
GAP potentials can be obtained from the Data repository section of
"http://www.libatoms.org"_http://www.libatoms.org, where the
appropriate initialisation strings are also advised. The list of
atomic numbers must be matched to the LAMMPS atom types specified in
the LAMMPS data file or elsewhere.
Two examples input scripts are provided in the examples/USER/quip
directory.
[Mixing, shift, table, tail correction, restart, rRESPA info]:
This pair style does not support the "pair_modify"_pair_modify.html
mix, shift, table, and tail options.
This pair style does not write its information to "binary restart
files"_restart.html, 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.
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 pair style is part of the USER-QUIP 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.
QUIP potentials are parametrized in electron-volts and Angstroms and
therefore should be used with LAMMPS metal "units"_units.html.
[Related commands:]
"pair_coeff"_pair_coeff.html
:line
:link(Bartok_2010)
[(Bartok_2010)] AP Bartok, MC Payne, R Kondor, and G Csanyi, Physical
Review Letters 104, 136403 (2010).
:link(Bartok_PhD)
[(Bartok_PhD)] A Bartok-Partay, PhD Thesis, University of Cambridge,
(2010).

View File

@ -0,0 +1,78 @@
Position data for Silicon system
64 atoms
1 atom types
0.00 10.968476161 xlo xhi
0.00 10.968476161 ylo yhi
0.00 10.968476161 zlo zhi
Masses
1 28.0000
Atoms
1 1 4.1342 7.7779 2.6819
2 1 3.8227 4.8354 8.5466
3 1 3.3367 5.6117 3.2337
4 1 7.3383 4.1429 7.1334
5 1 5.2910 3.1335 7.8493
6 1 8.1878 7.7574 7.8028
7 1 6.1818 0.4249 10.5615
8 1 9.1403 2.7125 0.5025
9 1 6.1226 5.5502 5.6825
10 1 6.5245 10.6025 3.3104
11 1 8.2568 5.6311 8.7584
12 1 6.4173 8.2115 2.8958
13 1 3.2696 9.4267 6.1683
14 1 8.8185 10.6128 2.8109
15 1 9.1383 7.7201 5.6200
16 1 2.9562 9.4480 3.8264
17 1 4.9564 4.1652 4.2213
18 1 4.5523 2.4166 5.6766
19 1 7.5887 6.6794 4.2710
20 1 3.0825 0.6677 2.9952
21 1 3.8820 7.8988 0.3445
22 1 3.7083 4.3355 1.2749
23 1 1.6428 8.4303 10.8359
24 1 10.0218 1.5852 2.3550
25 1 9.9128 10.3677 10.2253
26 1 6.9276 5.7429 10.7359
27 1 0.7388 8.7933 3.7372
28 1 8.3962 1.1772 9.8375
29 1 6.3129 0.8043 5.3560
30 1 1.1391 5.3208 3.9628
31 1 0.1480 7.9404 1.6436
32 1 8.1491 2.2614 5.8950
33 1 2.3851 1.7006 5.0877
34 1 0.7199 3.3948 5.2624
35 1 5.2010 0.8339 1.7756
36 1 2.0562 3.2183 8.9577
37 1 0.5238 7.0741 5.3607
38 1 0.8347 7.3680 8.8659
39 1 5.9322 8.3676 8.0954
40 1 9.5288 1.6806 7.7323
41 1 9.2224 9.1364 1.0783
42 1 2.5214 0.9185 8.8916
43 1 1.2933 1.1758 1.5612
44 1 10.5698 5.3114 9.0911
45 1 10.1242 8.9562 8.4044
46 1 5.5419 3.1240 2.1335
47 1 5.7385 9.0604 10.3366
48 1 4.5726 6.6481 7.1382
49 1 7.4725 4.1120 1.3191
50 1 7.2648 7.8923 0.7153
51 1 4.8518 0.9400 8.6860
52 1 1.8862 3.1393 0.3805
53 1 1.8559 0.1787 6.7949
54 1 9.8477 9.8585 4.7997
55 1 2.2623 7.4090 6.9539
56 1 10.5601 10.6960 6.8908
57 1 0.1288 3.5134 7.5873
58 1 4.5534 5.7282 10.5966
59 1 10.8612 4.3183 0.2217
60 1 10.6960 5.6883 2.1032
61 1 5.3321 10.3488 6.9890
62 1 1.2772 10.7874 10.6074
63 1 8.7088 4.9646 3.1069
64 1 9.6083 3.0215 4.1879

View File

@ -0,0 +1,22 @@
Position data for Silicon SW test system
8 atoms
1 atom types
0.00 5.431 xlo xhi
0.00 5.431 ylo yhi
0.00 5.431 zlo zhi
Masses
1 28.0000
Atoms
1 1 0.00000000 0.00000000 0.00000000
2 1 1.35775000 1.35775000 1.35775000
3 1 2.71550000 2.71550000 0.00000000
4 1 4.07325000 4.07325000 1.35775000
5 1 2.71550000 0.00000000 2.71550000
6 1 4.07325000 1.35775000 4.07325000
7 1 0.00000000 2.71550000 2.71550000
8 1 1.35775000 4.07325000 4.07325000

View File

@ -0,0 +1,707 @@
<GAP_2015_2_20_0_10_54_35_765>
<Potential label="GAP_2015_2_20_0_10_54_35_765" init_args="Sum init_args_pot1={IP Glue} init_args_pot2={IP GAP label=GAP_2015_2_20_0_10_54_35_765}"/>
<Glue_params n_types="2">
<per_type_data atomic_num="14" type="1">
<!-- Si -->
<density num_points="14" density_y1="-0.4144" density_yn="0.0">
<point a="0.821917808219178" rho="0.258391"/>
<point a="1.027397260273973" rho="0.173248"/>
<point a="1.232876712328767" rho="0.097399"/>
<point a="1.438356164383562" rho="0.050254"/>
<point a="1.643835616438357" rho="0.025066"/>
<point a="1.849315068493151" rho="0.012652"/>
<point a="2.054794520547945" rho="0.006107"/>
<point a="2.260273972602740" rho="0.003182"/>
<point a="2.465753424657535" rho="0.001524"/>
<point a="2.671232876712329" rho="0.000913"/>
<point a="2.876712328767124" rho="0.000383"/>
<point a="3.082191780821919" rho="0.000295"/>
<point a="3.287671232876713" rho="0.000080"/>
<point a="3.493150684931507" rho="0.000000"/>
</density>
<potential_density num_points="12">
<point rho="0.0000000000000" E="0.0"/>
<point rho="0.0572259106295" E="0.0"/>
<point rho="0.0633096739107" E="0.0"/>
<point rho="0.0689221129285" E="0.0"/>
<point rho="0.0741074612625" E="0.0"/>
<point rho="0.0789857895134" E="0.0"/>
<point rho="0.0835293161324" E="0.0"/>
<point rho="0.1529969346048" E="0.0"/>
<point rho="0.2168736082455" E="0.0"/>
<point rho="0.2697341539351" E="0.0"/>
<point rho="0.3158337343334" E="0.0"/>
<point rho="0.3570433660014" E="0.0"/>
</potential_density>
</per_type_data>
<per_type_data atomic_num="8" type="2">
<!-- O -->
<density num_points="13" density_y1="-12.096333" density_yn="0.0">
<point a="0.275229" rho="5.207325"/>
<point a="0.412844" rho="3.542692"/>
<point a="0.550458" rho="1.841125"/>
<point a="0.688073" rho="0.878272"/>
<point a="0.825688" rho="0.407461"/>
<point a="0.963302" rho="0.201061"/>
<point a="1.100917" rho="0.096121"/>
<point a="1.238532" rho="0.047733"/>
<point a="1.376146" rho="0.021994"/>
<point a="1.513761" rho="0.013445"/>
<point a="1.651376" rho="0.005751"/>
<point a="1.788990" rho="0.004175"/>
<point a="2.000000" rho="0.000000"/>
</density>
<potential_density num_points="6">
<point rho="0.000000000000" E="-162.5696"/>
<point rho="0.007455445248" E="-162.6855"/>
<point rho="0.017732566824" E="-162.2040"/>
<point rho="0.030441208637" E="-160.5319"/>
<point rho="0.056284772194" E="-156.7397"/>
<point rho="0.074786922252" E="-153.6122"/>
</potential_density>
</per_type_data>
<per_pair_data type1="1" type2="1">
<!-- Si -->
<potential_pair num_points="11" density_y1="0.0" density_yn="0.0">
<point r=" 1.2" E=" 13.4896897268455"/>
<point r="1.33" E=" 6.35102226195354"/>
<point r="1.46" E=" 2.85261290997884"/>
<point r="1.59" E=" 1.17069139864555"/>
<point r="1.72" E=" 0.410915649591501"/>
<point r="1.85" E=" 0.11009036654669"/>
<point r="1.98" E=" 0.0180148277318245"/>
<point r="2.11" E=" 0.00107543820001212"/>
<point r="2.24" E=" 5.0184779157859e-06"/>
<point r="2.37" E=" 8.33906077334409e-13"/>
<point r=" 2.5" E="0.00000000000000000"/>
</potential_pair>
</per_pair_data>
</Glue_params>
<GAP_params label="GAP_2015_2_20_0_10_54_35_765" gap_version="1423607965">
<GAP_data do_core="T">
<e0 Z="1" value="-160.84226687963743530"/>
<e0 Z="2" value="-160.84226687963743530"/>
<e0 Z="3" value="-160.84226687963743530"/>
<e0 Z="4" value="-160.84226687963743530"/>
<e0 Z="5" value="-160.84226687963743530"/>
<e0 Z="6" value="-160.84226687963743530"/>
<e0 Z="7" value="-160.84226687963743530"/>
<e0 Z="8" value="-160.84226687963743530"/>
<e0 Z="9" value="-160.84226687963743530"/>
<e0 Z="10" value="-160.84226687963743530"/>
<e0 Z="11" value="-160.84226687963743530"/>
<e0 Z="12" value="-160.84226687963743530"/>
<e0 Z="13" value="-160.84226687963743530"/>
<e0 Z="14" value="-160.84226687963743530"/>
<e0 Z="15" value="-160.84226687963743530"/>
<e0 Z="16" value="-160.84226687963743530"/>
<e0 Z="17" value="-160.84226687963743530"/>
<e0 Z="18" value="-160.84226687963743530"/>
<e0 Z="19" value="-160.84226687963743530"/>
<e0 Z="20" value="-160.84226687963743530"/>
<e0 Z="21" value="-160.84226687963743530"/>
<e0 Z="22" value="-160.84226687963743530"/>
<e0 Z="23" value="-160.84226687963743530"/>
<e0 Z="24" value="-160.84226687963743530"/>
<e0 Z="25" value="-160.84226687963743530"/>
<e0 Z="26" value="-160.84226687963743530"/>
<e0 Z="27" value="-160.84226687963743530"/>
<e0 Z="28" value="-160.84226687963743530"/>
<e0 Z="29" value="-160.84226687963743530"/>
<e0 Z="30" value="-160.84226687963743530"/>
<e0 Z="31" value="-160.84226687963743530"/>
<e0 Z="32" value="-160.84226687963743530"/>
<e0 Z="33" value="-160.84226687963743530"/>
<e0 Z="34" value="-160.84226687963743530"/>
<e0 Z="35" value="-160.84226687963743530"/>
<e0 Z="36" value="-160.84226687963743530"/>
<e0 Z="37" value="-160.84226687963743530"/>
<e0 Z="38" value="-160.84226687963743530"/>
<e0 Z="39" value="-160.84226687963743530"/>
<e0 Z="40" value="-160.84226687963743530"/>
<e0 Z="41" value="-160.84226687963743530"/>
<e0 Z="42" value="-160.84226687963743530"/>
<e0 Z="43" value="-160.84226687963743530"/>
<e0 Z="44" value="-160.84226687963743530"/>
<e0 Z="45" value="-160.84226687963743530"/>
<e0 Z="46" value="-160.84226687963743530"/>
<e0 Z="47" value="-160.84226687963743530"/>
<e0 Z="48" value="-160.84226687963743530"/>
<e0 Z="49" value="-160.84226687963743530"/>
<e0 Z="50" value="-160.84226687963743530"/>
<e0 Z="51" value="-160.84226687963743530"/>
<e0 Z="52" value="-160.84226687963743530"/>
<e0 Z="53" value="-160.84226687963743530"/>
<e0 Z="54" value="-160.84226687963743530"/>
<e0 Z="55" value="-160.84226687963743530"/>
<e0 Z="56" value="-160.84226687963743530"/>
<e0 Z="57" value="-160.84226687963743530"/>
<e0 Z="58" value="-160.84226687963743530"/>
<e0 Z="59" value="-160.84226687963743530"/>
<e0 Z="60" value="-160.84226687963743530"/>
<e0 Z="61" value="-160.84226687963743530"/>
<e0 Z="62" value="-160.84226687963743530"/>
<e0 Z="63" value="-160.84226687963743530"/>
<e0 Z="64" value="-160.84226687963743530"/>
<e0 Z="65" value="-160.84226687963743530"/>
<e0 Z="66" value="-160.84226687963743530"/>
<e0 Z="67" value="-160.84226687963743530"/>
<e0 Z="68" value="-160.84226687963743530"/>
<e0 Z="69" value="-160.84226687963743530"/>
<e0 Z="70" value="-160.84226687963743530"/>
<e0 Z="71" value="-160.84226687963743530"/>
<e0 Z="72" value="-160.84226687963743530"/>
<e0 Z="73" value="-160.84226687963743530"/>
<e0 Z="74" value="-160.84226687963743530"/>
<e0 Z="75" value="-160.84226687963743530"/>
<e0 Z="76" value="-160.84226687963743530"/>
<e0 Z="77" value="-160.84226687963743530"/>
<e0 Z="78" value="-160.84226687963743530"/>
<e0 Z="79" value="-160.84226687963743530"/>
<e0 Z="80" value="-160.84226687963743530"/>
<e0 Z="81" value="-160.84226687963743530"/>
<e0 Z="82" value="-160.84226687963743530"/>
<e0 Z="83" value="-160.84226687963743530"/>
<e0 Z="84" value="-160.84226687963743530"/>
<e0 Z="85" value="-160.84226687963743530"/>
<e0 Z="86" value="-160.84226687963743530"/>
<e0 Z="87" value="-160.84226687963743530"/>
<e0 Z="88" value="-160.84226687963743530"/>
<e0 Z="89" value="-160.84226687963743530"/>
<e0 Z="90" value="-160.84226687963743530"/>
<e0 Z="91" value="-160.84226687963743530"/>
<e0 Z="92" value="-160.84226687963743530"/>
<e0 Z="93" value="-160.84226687963743530"/>
<e0 Z="94" value="-160.84226687963743530"/>
<e0 Z="95" value="-160.84226687963743530"/>
<e0 Z="96" value="-160.84226687963743530"/>
<e0 Z="97" value="-160.84226687963743530"/>
<e0 Z="98" value="-160.84226687963743530"/>
<e0 Z="99" value="-160.84226687963743530"/>
<e0 Z="100" value="-160.84226687963743530"/>
<e0 Z="101" value="-160.84226687963743530"/>
<e0 Z="102" value="-160.84226687963743530"/>
<e0 Z="103" value="-160.84226687963743530"/>
<e0 Z="104" value="-160.84226687963743530"/>
<e0 Z="105" value="-160.84226687963743530"/>
<e0 Z="106" value="-160.84226687963743530"/>
<e0 Z="107" value="-160.84226687963743530"/>
<e0 Z="108" value="-160.84226687963743530"/>
<e0 Z="109" value="-160.84226687963743530"/>
<e0 Z="110" value="-160.84226687963743530"/>
<e0 Z="111" value="-160.84226687963743530"/>
<e0 Z="112" value="-160.84226687963743530"/>
<e0 Z="113" value="-160.84226687963743530"/>
<e0 Z="114" value="-160.84226687963743530"/>
<e0 Z="115" value="-160.84226687963743530"/>
<e0 Z="116" value="-160.84226687963743530"/>
</GAP_data>
<gpSparse label="GAP_2015_2_20_0_10_54_35_765" n_coordinate="1">
<gpCoordinates label="GAP_2015_2_20_0_10_54_35_7651" dimensions="51" signal_variance="1.00000000000000000" signal_mean="0.00000000000000000" sparsified="T" n_permutations="1" covariance_type="2" n_sparseX="500" sparseX_filename="gap_example_sparse.dat">
<theta> 0.40000000000000000E+01 </theta>
<descriptor>soap l_max=4 n_max=4 atom_sigma=0.5 zeta=4 cutoff=4.0 cutoff_transition_width=0.5 central_weight=0.2 n_sparseX=500 delta=1.0 f0=0.0 covariance_type=dot_product sparse_method=kmeans</descriptor>
<permutation i="1">1 </permutation>
<sparseX i="1" alpha="106.17653604010637025" sparseCutoff="1.00000000000000000"/>
<sparseX i="2" alpha="-1149.24999362396715696" sparseCutoff="1.00000000000000000"/>
<sparseX i="3" alpha="-853.65246921887796816" sparseCutoff="1.00000000000000000"/>
<sparseX i="4" alpha="435.92340988588159689" sparseCutoff="1.00000000000000000"/>
<sparseX i="5" alpha="-10258.11202508198948635" sparseCutoff="1.00000000000000000"/>
<sparseX i="6" alpha="-3714.81910531855100999" sparseCutoff="1.00000000000000000"/>
<sparseX i="7" alpha="491.84269493799018846" sparseCutoff="1.00000000000000000"/>
<sparseX i="8" alpha="-4919.36281039965069795" sparseCutoff="1.00000000000000000"/>
<sparseX i="9" alpha="27.89092898140464527" sparseCutoff="1.00000000000000000"/>
<sparseX i="10" alpha="-59.38179500953862799" sparseCutoff="1.00000000000000000"/>
<sparseX i="11" alpha="13154.33832189262284373" sparseCutoff="1.00000000000000000"/>
<sparseX i="12" alpha="3418.25926466242799506" sparseCutoff="1.00000000000000000"/>
<sparseX i="13" alpha="3230.48723564033662115" sparseCutoff="1.00000000000000000"/>
<sparseX i="14" alpha="-20717.79179502847546246" sparseCutoff="1.00000000000000000"/>
<sparseX i="15" alpha="17082.29282197667635046" sparseCutoff="1.00000000000000000"/>
<sparseX i="16" alpha="11227.16573493647410942" sparseCutoff="1.00000000000000000"/>
<sparseX i="17" alpha="-13677.90658173413066834" sparseCutoff="1.00000000000000000"/>
<sparseX i="18" alpha="27221.05736426793737337" sparseCutoff="1.00000000000000000"/>
<sparseX i="19" alpha="-12356.41408016897912603" sparseCutoff="1.00000000000000000"/>
<sparseX i="20" alpha="-29606.75771055730001535" sparseCutoff="1.00000000000000000"/>
<sparseX i="21" alpha="455.09004406890431937" sparseCutoff="1.00000000000000000"/>
<sparseX i="22" alpha="3889.94632718126422333" sparseCutoff="1.00000000000000000"/>
<sparseX i="23" alpha="-16602.63548036506836070" sparseCutoff="1.00000000000000000"/>
<sparseX i="24" alpha="-17851.99669216352413059" sparseCutoff="1.00000000000000000"/>
<sparseX i="25" alpha="11268.37621768598910421" sparseCutoff="1.00000000000000000"/>
<sparseX i="26" alpha="4963.00225363918161747" sparseCutoff="1.00000000000000000"/>
<sparseX i="27" alpha="-1288.29841758105681038" sparseCutoff="1.00000000000000000"/>
<sparseX i="28" alpha="2384.29725328494214409" sparseCutoff="1.00000000000000000"/>
<sparseX i="29" alpha="4462.85866805457317241" sparseCutoff="1.00000000000000000"/>
<sparseX i="30" alpha="-5490.05686020448774798" sparseCutoff="1.00000000000000000"/>
<sparseX i="31" alpha="59260.81908946414478123" sparseCutoff="1.00000000000000000"/>
<sparseX i="32" alpha="-28417.90322678111260757" sparseCutoff="1.00000000000000000"/>
<sparseX i="33" alpha="-8741.78301788397766359" sparseCutoff="1.00000000000000000"/>
<sparseX i="34" alpha="83428.46821749243827071" sparseCutoff="1.00000000000000000"/>
<sparseX i="35" alpha="13342.45945464594478835" sparseCutoff="1.00000000000000000"/>
<sparseX i="36" alpha="-8321.53924687277321937" sparseCutoff="1.00000000000000000"/>
<sparseX i="37" alpha="-4054.53155854247597745" sparseCutoff="1.00000000000000000"/>
<sparseX i="38" alpha="-8854.59565735676187614" sparseCutoff="1.00000000000000000"/>
<sparseX i="39" alpha="-12459.83852878221659921" sparseCutoff="1.00000000000000000"/>
<sparseX i="40" alpha="10511.98031913235172397" sparseCutoff="1.00000000000000000"/>
<sparseX i="41" alpha="-13837.20712432496657129" sparseCutoff="1.00000000000000000"/>
<sparseX i="42" alpha="-15830.05908374641694536" sparseCutoff="1.00000000000000000"/>
<sparseX i="43" alpha="4781.39150946977315471" sparseCutoff="1.00000000000000000"/>
<sparseX i="44" alpha="-548.70712602773801336" sparseCutoff="1.00000000000000000"/>
<sparseX i="45" alpha="-21215.46027986781336949" sparseCutoff="1.00000000000000000"/>
<sparseX i="46" alpha="-77766.79444594796223100" sparseCutoff="1.00000000000000000"/>
<sparseX i="47" alpha="-71261.43160836138122249" sparseCutoff="1.00000000000000000"/>
<sparseX i="48" alpha="-24299.59457653172648861" sparseCutoff="1.00000000000000000"/>
<sparseX i="49" alpha="-9219.72765142507159908" sparseCutoff="1.00000000000000000"/>
<sparseX i="50" alpha="59697.65439684981538448" sparseCutoff="1.00000000000000000"/>
<sparseX i="51" alpha="36714.02075817088189069" sparseCutoff="1.00000000000000000"/>
<sparseX i="52" alpha="-2510.35181268399946930" sparseCutoff="1.00000000000000000"/>
<sparseX i="53" alpha="97289.59332533848646563" sparseCutoff="1.00000000000000000"/>
<sparseX i="54" alpha="33621.06718996719428105" sparseCutoff="1.00000000000000000"/>
<sparseX i="55" alpha="26157.69710637396201491" sparseCutoff="1.00000000000000000"/>
<sparseX i="56" alpha="15402.13536033558011695" sparseCutoff="1.00000000000000000"/>
<sparseX i="57" alpha="-4220.15090710599179147" sparseCutoff="1.00000000000000000"/>
<sparseX i="58" alpha="71084.25360145958256908" sparseCutoff="1.00000000000000000"/>
<sparseX i="59" alpha="82584.30247535546368454" sparseCutoff="1.00000000000000000"/>
<sparseX i="60" alpha="28504.49292754792622873" sparseCutoff="1.00000000000000000"/>
<sparseX i="61" alpha="-84310.89525399128615391" sparseCutoff="1.00000000000000000"/>
<sparseX i="62" alpha="-154760.47560885251732543" sparseCutoff="1.00000000000000000"/>
<sparseX i="63" alpha="-19311.72338996767939534" sparseCutoff="1.00000000000000000"/>
<sparseX i="64" alpha="-14213.93735518378707638" sparseCutoff="1.00000000000000000"/>
<sparseX i="65" alpha="-61936.29352842208027141" sparseCutoff="1.00000000000000000"/>
<sparseX i="66" alpha="8442.66820012884454627" sparseCutoff="1.00000000000000000"/>
<sparseX i="67" alpha="-161785.53516917306114919" sparseCutoff="1.00000000000000000"/>
<sparseX i="68" alpha="46921.29939397869748063" sparseCutoff="1.00000000000000000"/>
<sparseX i="69" alpha="-340807.36963559722062200" sparseCutoff="1.00000000000000000"/>
<sparseX i="70" alpha="7645.70356389521384699" sparseCutoff="1.00000000000000000"/>
<sparseX i="71" alpha="-61947.07687632297165692" sparseCutoff="1.00000000000000000"/>
<sparseX i="72" alpha="74261.91940325014002156" sparseCutoff="1.00000000000000000"/>
<sparseX i="73" alpha="16618.92111602561999462" sparseCutoff="1.00000000000000000"/>
<sparseX i="74" alpha="-157282.78050363226793706" sparseCutoff="1.00000000000000000"/>
<sparseX i="75" alpha="11411.12965479235754174" sparseCutoff="1.00000000000000000"/>
<sparseX i="76" alpha="29892.68629952843184583" sparseCutoff="1.00000000000000000"/>
<sparseX i="77" alpha="47405.44600851808354491" sparseCutoff="1.00000000000000000"/>
<sparseX i="78" alpha="29895.35186994991090614" sparseCutoff="1.00000000000000000"/>
<sparseX i="79" alpha="-83794.48842741562111769" sparseCutoff="1.00000000000000000"/>
<sparseX i="80" alpha="48716.90805077087861719" sparseCutoff="1.00000000000000000"/>
<sparseX i="81" alpha="90281.47258361642889213" sparseCutoff="1.00000000000000000"/>
<sparseX i="82" alpha="-1541.23085035307826729" sparseCutoff="1.00000000000000000"/>
<sparseX i="83" alpha="-7836.92096726203726575" sparseCutoff="1.00000000000000000"/>
<sparseX i="84" alpha="10662.16577672545645328" sparseCutoff="1.00000000000000000"/>
<sparseX i="85" alpha="-5755.26942046440854028" sparseCutoff="1.00000000000000000"/>
<sparseX i="86" alpha="1374.45369092527130306" sparseCutoff="1.00000000000000000"/>
<sparseX i="87" alpha="-2865.75149341466203623" sparseCutoff="1.00000000000000000"/>
<sparseX i="88" alpha="9897.74416973054394475" sparseCutoff="1.00000000000000000"/>
<sparseX i="89" alpha="3610.91723246484343690" sparseCutoff="1.00000000000000000"/>
<sparseX i="90" alpha="9735.50894998871626740" sparseCutoff="1.00000000000000000"/>
<sparseX i="91" alpha="3871.54940826842766910" sparseCutoff="1.00000000000000000"/>
<sparseX i="92" alpha="-7420.90372322380153491" sparseCutoff="1.00000000000000000"/>
<sparseX i="93" alpha="-32135.48404109844341292" sparseCutoff="1.00000000000000000"/>
<sparseX i="94" alpha="13861.08098695992339344" sparseCutoff="1.00000000000000000"/>
<sparseX i="95" alpha="7157.06576016865074052" sparseCutoff="1.00000000000000000"/>
<sparseX i="96" alpha="-5735.15441935393300810" sparseCutoff="1.00000000000000000"/>
<sparseX i="97" alpha="77786.14455022696347442" sparseCutoff="1.00000000000000000"/>
<sparseX i="98" alpha="17740.99453125935906428" sparseCutoff="1.00000000000000000"/>
<sparseX i="99" alpha="-42017.80333551410876680" sparseCutoff="1.00000000000000000"/>
<sparseX i="100" alpha="-2114.47443029014038984" sparseCutoff="1.00000000000000000"/>
<sparseX i="101" alpha="-13307.79906515499897068" sparseCutoff="1.00000000000000000"/>
<sparseX i="102" alpha="-80852.05336983353481628" sparseCutoff="1.00000000000000000"/>
<sparseX i="103" alpha="9599.52923480090066732" sparseCutoff="1.00000000000000000"/>
<sparseX i="104" alpha="-65842.50211988411319908" sparseCutoff="1.00000000000000000"/>
<sparseX i="105" alpha="34060.00936991638445761" sparseCutoff="1.00000000000000000"/>
<sparseX i="106" alpha="-2298.63967767522262875" sparseCutoff="1.00000000000000000"/>
<sparseX i="107" alpha="9336.11679828255182656" sparseCutoff="1.00000000000000000"/>
<sparseX i="108" alpha="17750.25099423403298715" sparseCutoff="1.00000000000000000"/>
<sparseX i="109" alpha="-47501.61628023570665391" sparseCutoff="1.00000000000000000"/>
<sparseX i="110" alpha="76028.29373773228144273" sparseCutoff="1.00000000000000000"/>
<sparseX i="111" alpha="137388.31117997164255939" sparseCutoff="1.00000000000000000"/>
<sparseX i="112" alpha="20800.71919950740630156" sparseCutoff="1.00000000000000000"/>
<sparseX i="113" alpha="54054.66356426633137744" sparseCutoff="1.00000000000000000"/>
<sparseX i="114" alpha="-196590.15441258391365409" sparseCutoff="1.00000000000000000"/>
<sparseX i="115" alpha="-12121.94218514249223517" sparseCutoff="1.00000000000000000"/>
<sparseX i="116" alpha="40781.83451622346910881" sparseCutoff="1.00000000000000000"/>
<sparseX i="117" alpha="171973.29241480331984349" sparseCutoff="1.00000000000000000"/>
<sparseX i="118" alpha="-38574.74234383771545254" sparseCutoff="1.00000000000000000"/>
<sparseX i="119" alpha="-142540.81626445022993721" sparseCutoff="1.00000000000000000"/>
<sparseX i="120" alpha="-37818.11191108213097323" sparseCutoff="1.00000000000000000"/>
<sparseX i="121" alpha="-7255.99579922861448722" sparseCutoff="1.00000000000000000"/>
<sparseX i="122" alpha="121996.45566102315206081" sparseCutoff="1.00000000000000000"/>
<sparseX i="123" alpha="155007.78466540799126960" sparseCutoff="1.00000000000000000"/>
<sparseX i="124" alpha="8334.38967438629515527" sparseCutoff="1.00000000000000000"/>
<sparseX i="125" alpha="-168768.96682227289420553" sparseCutoff="1.00000000000000000"/>
<sparseX i="126" alpha="-35510.02586459234589711" sparseCutoff="1.00000000000000000"/>
<sparseX i="127" alpha="2857.81944880399487374" sparseCutoff="1.00000000000000000"/>
<sparseX i="128" alpha="78174.74016440213017631" sparseCutoff="1.00000000000000000"/>
<sparseX i="129" alpha="58468.89784928083827253" sparseCutoff="1.00000000000000000"/>
<sparseX i="130" alpha="-24739.02451932257463341" sparseCutoff="1.00000000000000000"/>
<sparseX i="131" alpha="20553.17548530505155213" sparseCutoff="1.00000000000000000"/>
<sparseX i="132" alpha="66539.00035885302349925" sparseCutoff="1.00000000000000000"/>
<sparseX i="133" alpha="-14019.29357784806052223" sparseCutoff="1.00000000000000000"/>
<sparseX i="134" alpha="-5698.49847253311872919" sparseCutoff="1.00000000000000000"/>
<sparseX i="135" alpha="-19338.09212992614266113" sparseCutoff="1.00000000000000000"/>
<sparseX i="136" alpha="41018.14259037213196279" sparseCutoff="1.00000000000000000"/>
<sparseX i="137" alpha="-53050.09036210628983099" sparseCutoff="1.00000000000000000"/>
<sparseX i="138" alpha="-36057.89303878215287114" sparseCutoff="1.00000000000000000"/>
<sparseX i="139" alpha="34289.17811448853899492" sparseCutoff="1.00000000000000000"/>
<sparseX i="140" alpha="113903.12930925704131369" sparseCutoff="1.00000000000000000"/>
<sparseX i="141" alpha="64114.47743838580208831" sparseCutoff="1.00000000000000000"/>
<sparseX i="142" alpha="-5708.79582425840089854" sparseCutoff="1.00000000000000000"/>
<sparseX i="143" alpha="1713.44128159247861731" sparseCutoff="1.00000000000000000"/>
<sparseX i="144" alpha="6014.22067641102876223" sparseCutoff="1.00000000000000000"/>
<sparseX i="145" alpha="-5007.30475420764651062" sparseCutoff="1.00000000000000000"/>
<sparseX i="146" alpha="20457.52181520310114138" sparseCutoff="1.00000000000000000"/>
<sparseX i="147" alpha="-1420.86660924479724599" sparseCutoff="1.00000000000000000"/>
<sparseX i="148" alpha="-27626.15935935885863728" sparseCutoff="1.00000000000000000"/>
<sparseX i="149" alpha="-3329.21767274755757171" sparseCutoff="1.00000000000000000"/>
<sparseX i="150" alpha="-9678.18418352673143090" sparseCutoff="1.00000000000000000"/>
<sparseX i="151" alpha="16786.26152769296822953" sparseCutoff="1.00000000000000000"/>
<sparseX i="152" alpha="2827.14329232809268433" sparseCutoff="1.00000000000000000"/>
<sparseX i="153" alpha="-56137.40096424350485904" sparseCutoff="1.00000000000000000"/>
<sparseX i="154" alpha="13565.55240060310825356" sparseCutoff="1.00000000000000000"/>
<sparseX i="155" alpha="3662.12269076518077782" sparseCutoff="1.00000000000000000"/>
<sparseX i="156" alpha="1541.83674230651968173" sparseCutoff="1.00000000000000000"/>
<sparseX i="157" alpha="5727.36304504730833287" sparseCutoff="1.00000000000000000"/>
<sparseX i="158" alpha="-8491.92855172010604292" sparseCutoff="1.00000000000000000"/>
<sparseX i="159" alpha="261.53738683425780209" sparseCutoff="1.00000000000000000"/>
<sparseX i="160" alpha="28824.11466342480707681" sparseCutoff="1.00000000000000000"/>
<sparseX i="161" alpha="105645.32559779909206554" sparseCutoff="1.00000000000000000"/>
<sparseX i="162" alpha="-59304.61544694683107082" sparseCutoff="1.00000000000000000"/>
<sparseX i="163" alpha="12839.60357370214660477" sparseCutoff="1.00000000000000000"/>
<sparseX i="164" alpha="-71131.18617471431207377" sparseCutoff="1.00000000000000000"/>
<sparseX i="165" alpha="25996.70097385016561020" sparseCutoff="1.00000000000000000"/>
<sparseX i="166" alpha="9368.13615680344628345" sparseCutoff="1.00000000000000000"/>
<sparseX i="167" alpha="-2888.13998359509923830" sparseCutoff="1.00000000000000000"/>
<sparseX i="168" alpha="-61285.38854659521166468" sparseCutoff="1.00000000000000000"/>
<sparseX i="169" alpha="-21586.23858552616729867" sparseCutoff="1.00000000000000000"/>
<sparseX i="170" alpha="90211.69988398041459732" sparseCutoff="1.00000000000000000"/>
<sparseX i="171" alpha="3099.58088464730917622" sparseCutoff="1.00000000000000000"/>
<sparseX i="172" alpha="-30895.09749078164168168" sparseCutoff="1.00000000000000000"/>
<sparseX i="173" alpha="-8596.53870939739681489" sparseCutoff="1.00000000000000000"/>
<sparseX i="174" alpha="19712.96790116278498317" sparseCutoff="1.00000000000000000"/>
<sparseX i="175" alpha="-21980.75771995540344506" sparseCutoff="1.00000000000000000"/>
<sparseX i="176" alpha="132426.97947233065497130" sparseCutoff="1.00000000000000000"/>
<sparseX i="177" alpha="10502.17669244690659980" sparseCutoff="1.00000000000000000"/>
<sparseX i="178" alpha="734.02458807214236458" sparseCutoff="1.00000000000000000"/>
<sparseX i="179" alpha="-736.90709204431425405" sparseCutoff="1.00000000000000000"/>
<sparseX i="180" alpha="297.05219884894182769" sparseCutoff="1.00000000000000000"/>
<sparseX i="181" alpha="-5452.28268617325375089" sparseCutoff="1.00000000000000000"/>
<sparseX i="182" alpha="-590.70278714651544760" sparseCutoff="1.00000000000000000"/>
<sparseX i="183" alpha="-626.56498559305350682" sparseCutoff="1.00000000000000000"/>
<sparseX i="184" alpha="540.56006923275708687" sparseCutoff="1.00000000000000000"/>
<sparseX i="185" alpha="-60697.22073359117348446" sparseCutoff="1.00000000000000000"/>
<sparseX i="186" alpha="594.16331883093619126" sparseCutoff="1.00000000000000000"/>
<sparseX i="187" alpha="556.99648932114007494" sparseCutoff="1.00000000000000000"/>
<sparseX i="188" alpha="1351.14354796748693843" sparseCutoff="1.00000000000000000"/>
<sparseX i="189" alpha="464.05424539331255573" sparseCutoff="1.00000000000000000"/>
<sparseX i="190" alpha="169.55957614749172535" sparseCutoff="1.00000000000000000"/>
<sparseX i="191" alpha="-157.50400627824373601" sparseCutoff="1.00000000000000000"/>
<sparseX i="192" alpha="-1085.15211136955713300" sparseCutoff="1.00000000000000000"/>
<sparseX i="193" alpha="118.44350130323827841" sparseCutoff="1.00000000000000000"/>
<sparseX i="194" alpha="-652.13102588545041272" sparseCutoff="1.00000000000000000"/>
<sparseX i="195" alpha="408.18862108889123874" sparseCutoff="1.00000000000000000"/>
<sparseX i="196" alpha="197.86247532587907472" sparseCutoff="1.00000000000000000"/>
<sparseX i="197" alpha="249.41410461817795863" sparseCutoff="1.00000000000000000"/>
<sparseX i="198" alpha="-9.88017070845350176" sparseCutoff="1.00000000000000000"/>
<sparseX i="199" alpha="17443.15972746888655820" sparseCutoff="1.00000000000000000"/>
<sparseX i="200" alpha="-1672.63839667952879608" sparseCutoff="1.00000000000000000"/>
<sparseX i="201" alpha="57.62215606638327614" sparseCutoff="1.00000000000000000"/>
<sparseX i="202" alpha="-175.21426495560680792" sparseCutoff="1.00000000000000000"/>
<sparseX i="203" alpha="526.92130964066234355" sparseCutoff="1.00000000000000000"/>
<sparseX i="204" alpha="-166.45191962098456884" sparseCutoff="1.00000000000000000"/>
<sparseX i="205" alpha="-9.64498128036638036" sparseCutoff="1.00000000000000000"/>
<sparseX i="206" alpha="4.09545564924361649" sparseCutoff="1.00000000000000000"/>
<sparseX i="207" alpha="29.99633003874790305" sparseCutoff="1.00000000000000000"/>
<sparseX i="208" alpha="43.13644062532780765" sparseCutoff="1.00000000000000000"/>
<sparseX i="209" alpha="-22.97290021823317119" sparseCutoff="1.00000000000000000"/>
<sparseX i="210" alpha="42.43913656840000215" sparseCutoff="1.00000000000000000"/>
<sparseX i="211" alpha="22.73592337583256651" sparseCutoff="1.00000000000000000"/>
<sparseX i="212" alpha="32.96760251658128027" sparseCutoff="1.00000000000000000"/>
<sparseX i="213" alpha="137.83826470493050920" sparseCutoff="1.00000000000000000"/>
<sparseX i="214" alpha="9.88900093461802854" sparseCutoff="1.00000000000000000"/>
<sparseX i="215" alpha="5.84038144477227572" sparseCutoff="1.00000000000000000"/>
<sparseX i="216" alpha="-11.47999073361665090" sparseCutoff="1.00000000000000000"/>
<sparseX i="217" alpha="-23.96089980546094012" sparseCutoff="1.00000000000000000"/>
<sparseX i="218" alpha="-13.44350514511707750" sparseCutoff="1.00000000000000000"/>
<sparseX i="219" alpha="-236.37950361312942960" sparseCutoff="1.00000000000000000"/>
<sparseX i="220" alpha="58.49587386665219668" sparseCutoff="1.00000000000000000"/>
<sparseX i="221" alpha="29.89508952397522989" sparseCutoff="1.00000000000000000"/>
<sparseX i="222" alpha="-16.18125595423459018" sparseCutoff="1.00000000000000000"/>
<sparseX i="223" alpha="8.03009513004014863" sparseCutoff="1.00000000000000000"/>
<sparseX i="224" alpha="-2.29620106410549152" sparseCutoff="1.00000000000000000"/>
<sparseX i="225" alpha="41.04135988770628529" sparseCutoff="1.00000000000000000"/>
<sparseX i="226" alpha="-18.50106025752624461" sparseCutoff="1.00000000000000000"/>
<sparseX i="227" alpha="68.44863639489675222" sparseCutoff="1.00000000000000000"/>
<sparseX i="228" alpha="22.85581743288415169" sparseCutoff="1.00000000000000000"/>
<sparseX i="229" alpha="24.59497154920621753" sparseCutoff="1.00000000000000000"/>
<sparseX i="230" alpha="-46.10100318834044941" sparseCutoff="1.00000000000000000"/>
<sparseX i="231" alpha="74.66326389970866728" sparseCutoff="1.00000000000000000"/>
<sparseX i="232" alpha="-29.67555647481560044" sparseCutoff="1.00000000000000000"/>
<sparseX i="233" alpha="2.31326956160234820" sparseCutoff="1.00000000000000000"/>
<sparseX i="234" alpha="51.41349413919544986" sparseCutoff="1.00000000000000000"/>
<sparseX i="235" alpha="-8.44253596695286568" sparseCutoff="1.00000000000000000"/>
<sparseX i="236" alpha="-98.53655004485081292" sparseCutoff="1.00000000000000000"/>
<sparseX i="237" alpha="-44.89294351054602572" sparseCutoff="1.00000000000000000"/>
<sparseX i="238" alpha="-42.42929859256394565" sparseCutoff="1.00000000000000000"/>
<sparseX i="239" alpha="-33.03402767653595618" sparseCutoff="1.00000000000000000"/>
<sparseX i="240" alpha="-32.32965150369211926" sparseCutoff="1.00000000000000000"/>
<sparseX i="241" alpha="16.85340822465949984" sparseCutoff="1.00000000000000000"/>
<sparseX i="242" alpha="20.55521607825590280" sparseCutoff="1.00000000000000000"/>
<sparseX i="243" alpha="21.35243207094957896" sparseCutoff="1.00000000000000000"/>
<sparseX i="244" alpha="-62.81996980124116448" sparseCutoff="1.00000000000000000"/>
<sparseX i="245" alpha="60.10674396116937146" sparseCutoff="1.00000000000000000"/>
<sparseX i="246" alpha="-67.26686208466610140" sparseCutoff="1.00000000000000000"/>
<sparseX i="247" alpha="29.68952041374969042" sparseCutoff="1.00000000000000000"/>
<sparseX i="248" alpha="-66.30508096480795643" sparseCutoff="1.00000000000000000"/>
<sparseX i="249" alpha="19.35500244220728661" sparseCutoff="1.00000000000000000"/>
<sparseX i="250" alpha="14.43620641916451319" sparseCutoff="1.00000000000000000"/>
<sparseX i="251" alpha="-24.67183442001992333" sparseCutoff="1.00000000000000000"/>
<sparseX i="252" alpha="71.34456278038391019" sparseCutoff="1.00000000000000000"/>
<sparseX i="253" alpha="-5.35155005188530986" sparseCutoff="1.00000000000000000"/>
<sparseX i="254" alpha="11.69162977650217172" sparseCutoff="1.00000000000000000"/>
<sparseX i="255" alpha="-6.55284014163446038" sparseCutoff="1.00000000000000000"/>
<sparseX i="256" alpha="-29.23048297344571012" sparseCutoff="1.00000000000000000"/>
<sparseX i="257" alpha="-0.21566080405691501" sparseCutoff="1.00000000000000000"/>
<sparseX i="258" alpha="-19.46346616457722334" sparseCutoff="1.00000000000000000"/>
<sparseX i="259" alpha="2.74528892102684274" sparseCutoff="1.00000000000000000"/>
<sparseX i="260" alpha="42.13458780396399561" sparseCutoff="1.00000000000000000"/>
<sparseX i="261" alpha="21.99379096426978464" sparseCutoff="1.00000000000000000"/>
<sparseX i="262" alpha="23.22695201375268681" sparseCutoff="1.00000000000000000"/>
<sparseX i="263" alpha="-16.90129474955914901" sparseCutoff="1.00000000000000000"/>
<sparseX i="264" alpha="-47.58299766853087220" sparseCutoff="1.00000000000000000"/>
<sparseX i="265" alpha="-49.66285973825899447" sparseCutoff="1.00000000000000000"/>
<sparseX i="266" alpha="-6.12873733314824243" sparseCutoff="1.00000000000000000"/>
<sparseX i="267" alpha="-59.39197103289929913" sparseCutoff="1.00000000000000000"/>
<sparseX i="268" alpha="-30.73245625247579937" sparseCutoff="1.00000000000000000"/>
<sparseX i="269" alpha="-299.03643729526930883" sparseCutoff="1.00000000000000000"/>
<sparseX i="270" alpha="-16.12061570753765949" sparseCutoff="1.00000000000000000"/>
<sparseX i="271" alpha="-139.81699639933327717" sparseCutoff="1.00000000000000000"/>
<sparseX i="272" alpha="14.53080103999991657" sparseCutoff="1.00000000000000000"/>
<sparseX i="273" alpha="1.57836926191673466" sparseCutoff="1.00000000000000000"/>
<sparseX i="274" alpha="-40.64890161734449947" sparseCutoff="1.00000000000000000"/>
<sparseX i="275" alpha="-17.10285752754310806" sparseCutoff="1.00000000000000000"/>
<sparseX i="276" alpha="37.40970816072521643" sparseCutoff="1.00000000000000000"/>
<sparseX i="277" alpha="-21.60857274227561575" sparseCutoff="1.00000000000000000"/>
<sparseX i="278" alpha="-4.63746420313901986" sparseCutoff="1.00000000000000000"/>
<sparseX i="279" alpha="4.26159373936844954" sparseCutoff="1.00000000000000000"/>
<sparseX i="280" alpha="-5.82528251929088903" sparseCutoff="1.00000000000000000"/>
<sparseX i="281" alpha="-4.03532032659620565" sparseCutoff="1.00000000000000000"/>
<sparseX i="282" alpha="-14007.38839421738339297" sparseCutoff="1.00000000000000000"/>
<sparseX i="283" alpha="86903.15446172562951688" sparseCutoff="1.00000000000000000"/>
<sparseX i="284" alpha="-79777.39701689171488397" sparseCutoff="1.00000000000000000"/>
<sparseX i="285" alpha="-30387.30591153076238697" sparseCutoff="1.00000000000000000"/>
<sparseX i="286" alpha="-61084.70347224249417195" sparseCutoff="1.00000000000000000"/>
<sparseX i="287" alpha="-59095.56783241416269448" sparseCutoff="1.00000000000000000"/>
<sparseX i="288" alpha="-43063.48070246422867058" sparseCutoff="1.00000000000000000"/>
<sparseX i="289" alpha="-103047.42153898999094963" sparseCutoff="1.00000000000000000"/>
<sparseX i="290" alpha="-24258.51815058739521191" sparseCutoff="1.00000000000000000"/>
<sparseX i="291" alpha="124428.72231697145616636" sparseCutoff="1.00000000000000000"/>
<sparseX i="292" alpha="38052.08854681577940937" sparseCutoff="1.00000000000000000"/>
<sparseX i="293" alpha="123715.36020682725938968" sparseCutoff="1.00000000000000000"/>
<sparseX i="294" alpha="148584.50233598912018351" sparseCutoff="1.00000000000000000"/>
<sparseX i="295" alpha="131630.18073518510209396" sparseCutoff="1.00000000000000000"/>
<sparseX i="296" alpha="-42163.87385191774228588" sparseCutoff="1.00000000000000000"/>
<sparseX i="297" alpha="-87652.44902374663797673" sparseCutoff="1.00000000000000000"/>
<sparseX i="298" alpha="-3244.63969021237790002" sparseCutoff="1.00000000000000000"/>
<sparseX i="299" alpha="-460.83948400795077305" sparseCutoff="1.00000000000000000"/>
<sparseX i="300" alpha="5515.31510711656937929" sparseCutoff="1.00000000000000000"/>
<sparseX i="301" alpha="17188.52273413359216647" sparseCutoff="1.00000000000000000"/>
<sparseX i="302" alpha="-7723.03801775129704765" sparseCutoff="1.00000000000000000"/>
<sparseX i="303" alpha="0.49428761442649105" sparseCutoff="1.00000000000000000"/>
<sparseX i="304" alpha="-9.87913436883457585" sparseCutoff="1.00000000000000000"/>
<sparseX i="305" alpha="37.78859459411571464" sparseCutoff="1.00000000000000000"/>
<sparseX i="306" alpha="-46.52851674784120917" sparseCutoff="1.00000000000000000"/>
<sparseX i="307" alpha="26.92376576558327272" sparseCutoff="1.00000000000000000"/>
<sparseX i="308" alpha="-14117.22133431122711045" sparseCutoff="1.00000000000000000"/>
<sparseX i="309" alpha="3299.96387224098270963" sparseCutoff="1.00000000000000000"/>
<sparseX i="310" alpha="16472.79024719112567254" sparseCutoff="1.00000000000000000"/>
<sparseX i="311" alpha="-28309.84907660715543898" sparseCutoff="1.00000000000000000"/>
<sparseX i="312" alpha="85913.44590060070913751" sparseCutoff="1.00000000000000000"/>
<sparseX i="313" alpha="-30307.88551030347298365" sparseCutoff="1.00000000000000000"/>
<sparseX i="314" alpha="-9898.73436121353734052" sparseCutoff="1.00000000000000000"/>
<sparseX i="315" alpha="-33140.50334378898696741" sparseCutoff="1.00000000000000000"/>
<sparseX i="316" alpha="-88063.99518826727580745" sparseCutoff="1.00000000000000000"/>
<sparseX i="317" alpha="-9358.63779505069032894" sparseCutoff="1.00000000000000000"/>
<sparseX i="318" alpha="48487.95557905410532840" sparseCutoff="1.00000000000000000"/>
<sparseX i="319" alpha="19847.03003417025320232" sparseCutoff="1.00000000000000000"/>
<sparseX i="320" alpha="-9621.97933291322988225" sparseCutoff="1.00000000000000000"/>
<sparseX i="321" alpha="-41987.26316449025034672" sparseCutoff="1.00000000000000000"/>
<sparseX i="322" alpha="-4853.50437149603567377" sparseCutoff="1.00000000000000000"/>
<sparseX i="323" alpha="-88381.34729584136221092" sparseCutoff="1.00000000000000000"/>
<sparseX i="324" alpha="-53650.68848685703414958" sparseCutoff="1.00000000000000000"/>
<sparseX i="325" alpha="-54147.27585096272377996" sparseCutoff="1.00000000000000000"/>
<sparseX i="326" alpha="140256.09411844811984338" sparseCutoff="1.00000000000000000"/>
<sparseX i="327" alpha="-8153.33349409138918418" sparseCutoff="1.00000000000000000"/>
<sparseX i="328" alpha="41000.89514664688613266" sparseCutoff="1.00000000000000000"/>
<sparseX i="329" alpha="85251.64908662794914562" sparseCutoff="1.00000000000000000"/>
<sparseX i="330" alpha="-21026.78245765784959076" sparseCutoff="1.00000000000000000"/>
<sparseX i="331" alpha="159247.98117082752287388" sparseCutoff="1.00000000000000000"/>
<sparseX i="332" alpha="-63240.66407058462937130" sparseCutoff="1.00000000000000000"/>
<sparseX i="333" alpha="57928.32511409407743486" sparseCutoff="1.00000000000000000"/>
<sparseX i="334" alpha="67122.20934129695524462" sparseCutoff="1.00000000000000000"/>
<sparseX i="335" alpha="-93435.15847558624227531" sparseCutoff="1.00000000000000000"/>
<sparseX i="336" alpha="-17785.95346404176962096" sparseCutoff="1.00000000000000000"/>
<sparseX i="337" alpha="-83281.14013796909421217" sparseCutoff="1.00000000000000000"/>
<sparseX i="338" alpha="-3653.19614496904796397" sparseCutoff="1.00000000000000000"/>
<sparseX i="339" alpha="69904.17074957082513720" sparseCutoff="1.00000000000000000"/>
<sparseX i="340" alpha="-43860.80924154965759953" sparseCutoff="1.00000000000000000"/>
<sparseX i="341" alpha="23923.44396745337871835" sparseCutoff="1.00000000000000000"/>
<sparseX i="342" alpha="-15849.38561830472463043" sparseCutoff="1.00000000000000000"/>
<sparseX i="343" alpha="-112353.34683242751634680" sparseCutoff="1.00000000000000000"/>
<sparseX i="344" alpha="-98790.45439848789828829" sparseCutoff="1.00000000000000000"/>
<sparseX i="345" alpha="-25896.68431553637492470" sparseCutoff="1.00000000000000000"/>
<sparseX i="346" alpha="-15595.03039948449622898" sparseCutoff="1.00000000000000000"/>
<sparseX i="347" alpha="-61800.76647727461386239" sparseCutoff="1.00000000000000000"/>
<sparseX i="348" alpha="32984.84758295563369757" sparseCutoff="1.00000000000000000"/>
<sparseX i="349" alpha="-16125.30017653200593486" sparseCutoff="1.00000000000000000"/>
<sparseX i="350" alpha="52265.44885661421722034" sparseCutoff="1.00000000000000000"/>
<sparseX i="351" alpha="21607.07297081401338801" sparseCutoff="1.00000000000000000"/>
<sparseX i="352" alpha="32663.32793369817954954" sparseCutoff="1.00000000000000000"/>
<sparseX i="353" alpha="5538.14076467218455946" sparseCutoff="1.00000000000000000"/>
<sparseX i="354" alpha="-86856.34846777803613804" sparseCutoff="1.00000000000000000"/>
<sparseX i="355" alpha="-64896.26994783167174319" sparseCutoff="1.00000000000000000"/>
<sparseX i="356" alpha="79271.71766281472810078" sparseCutoff="1.00000000000000000"/>
<sparseX i="357" alpha="124258.57791436117258854" sparseCutoff="1.00000000000000000"/>
<sparseX i="358" alpha="-3396.66664798050487661" sparseCutoff="1.00000000000000000"/>
<sparseX i="359" alpha="-42307.85589331448136363" sparseCutoff="1.00000000000000000"/>
<sparseX i="360" alpha="-68531.54050649670534767" sparseCutoff="1.00000000000000000"/>
<sparseX i="361" alpha="150834.07792224906734191" sparseCutoff="1.00000000000000000"/>
<sparseX i="362" alpha="-8820.88870651440083748" sparseCutoff="1.00000000000000000"/>
<sparseX i="363" alpha="-166899.36663423277786933" sparseCutoff="1.00000000000000000"/>
<sparseX i="364" alpha="52606.59016931819496676" sparseCutoff="1.00000000000000000"/>
<sparseX i="365" alpha="-12552.50403238374019566" sparseCutoff="1.00000000000000000"/>
<sparseX i="366" alpha="-20203.00980794909264660" sparseCutoff="1.00000000000000000"/>
<sparseX i="367" alpha="2030.96090480565089820" sparseCutoff="1.00000000000000000"/>
<sparseX i="368" alpha="-74386.88711224628787022" sparseCutoff="1.00000000000000000"/>
<sparseX i="369" alpha="-16111.91983847728079127" sparseCutoff="1.00000000000000000"/>
<sparseX i="370" alpha="64349.21653566230088472" sparseCutoff="1.00000000000000000"/>
<sparseX i="371" alpha="292670.66761284205131233" sparseCutoff="1.00000000000000000"/>
<sparseX i="372" alpha="-52756.54793111436447361" sparseCutoff="1.00000000000000000"/>
<sparseX i="373" alpha="-28717.65865985017444473" sparseCutoff="1.00000000000000000"/>
<sparseX i="374" alpha="-22325.43480255455142469" sparseCutoff="1.00000000000000000"/>
<sparseX i="375" alpha="-741.84298998321514773" sparseCutoff="1.00000000000000000"/>
<sparseX i="376" alpha="-83643.19959530820779037" sparseCutoff="1.00000000000000000"/>
<sparseX i="377" alpha="-8600.92944452247866138" sparseCutoff="1.00000000000000000"/>
<sparseX i="378" alpha="742.00988336507634813" sparseCutoff="1.00000000000000000"/>
<sparseX i="379" alpha="17400.26296175623429008" sparseCutoff="1.00000000000000000"/>
<sparseX i="380" alpha="29846.75588792107373592" sparseCutoff="1.00000000000000000"/>
<sparseX i="381" alpha="-83821.49639108205155935" sparseCutoff="1.00000000000000000"/>
<sparseX i="382" alpha="-16227.15817893672829086" sparseCutoff="1.00000000000000000"/>
<sparseX i="383" alpha="-24304.14613655592984287" sparseCutoff="1.00000000000000000"/>
<sparseX i="384" alpha="4280.31502941172402643" sparseCutoff="1.00000000000000000"/>
<sparseX i="385" alpha="23272.32490595715353265" sparseCutoff="1.00000000000000000"/>
<sparseX i="386" alpha="94820.45937318027426954" sparseCutoff="1.00000000000000000"/>
<sparseX i="387" alpha="200552.27727812528610229" sparseCutoff="1.00000000000000000"/>
<sparseX i="388" alpha="-5639.88119871764683921" sparseCutoff="1.00000000000000000"/>
<sparseX i="389" alpha="-88524.53151122528652195" sparseCutoff="1.00000000000000000"/>
<sparseX i="390" alpha="-9468.04455782498371264" sparseCutoff="1.00000000000000000"/>
<sparseX i="391" alpha="-60558.06825459753599716" sparseCutoff="1.00000000000000000"/>
<sparseX i="392" alpha="-75213.11349603492999449" sparseCutoff="1.00000000000000000"/>
<sparseX i="393" alpha="-195898.46606718716793694" sparseCutoff="1.00000000000000000"/>
<sparseX i="394" alpha="235681.96037159569095820" sparseCutoff="1.00000000000000000"/>
<sparseX i="395" alpha="-39918.25108789937075926" sparseCutoff="1.00000000000000000"/>
<sparseX i="396" alpha="180767.90959052983089350" sparseCutoff="1.00000000000000000"/>
<sparseX i="397" alpha="14515.55860986174593563" sparseCutoff="1.00000000000000000"/>
<sparseX i="398" alpha="-13457.18215101004534517" sparseCutoff="1.00000000000000000"/>
<sparseX i="399" alpha="34236.12749651059129974" sparseCutoff="1.00000000000000000"/>
<sparseX i="400" alpha="-66291.36008971527917311" sparseCutoff="1.00000000000000000"/>
<sparseX i="401" alpha="-1643.35749250611502248" sparseCutoff="1.00000000000000000"/>
<sparseX i="402" alpha="-150691.63579455937724560" sparseCutoff="1.00000000000000000"/>
<sparseX i="403" alpha="42546.31734038400463760" sparseCutoff="1.00000000000000000"/>
<sparseX i="404" alpha="30587.89780736466855160" sparseCutoff="1.00000000000000000"/>
<sparseX i="405" alpha="-21490.81055618582104216" sparseCutoff="1.00000000000000000"/>
<sparseX i="406" alpha="-145685.29614470514934510" sparseCutoff="1.00000000000000000"/>
<sparseX i="407" alpha="54607.92749463988002390" sparseCutoff="1.00000000000000000"/>
<sparseX i="408" alpha="250830.38585178350331262" sparseCutoff="1.00000000000000000"/>
<sparseX i="409" alpha="-89525.51435157714877278" sparseCutoff="1.00000000000000000"/>
<sparseX i="410" alpha="406.03659571206196688" sparseCutoff="1.00000000000000000"/>
<sparseX i="411" alpha="161879.15594890888314694" sparseCutoff="1.00000000000000000"/>
<sparseX i="412" alpha="-67346.80647032531851437" sparseCutoff="1.00000000000000000"/>
<sparseX i="413" alpha="-32452.46808514268559520" sparseCutoff="1.00000000000000000"/>
<sparseX i="414" alpha="-79328.94539253567927517" sparseCutoff="1.00000000000000000"/>
<sparseX i="415" alpha="79437.40020344345248304" sparseCutoff="1.00000000000000000"/>
<sparseX i="416" alpha="-13148.03116859752663004" sparseCutoff="1.00000000000000000"/>
<sparseX i="417" alpha="4679.57511749625882658" sparseCutoff="1.00000000000000000"/>
<sparseX i="418" alpha="-102075.48617469792952761" sparseCutoff="1.00000000000000000"/>
<sparseX i="419" alpha="-47670.09977136604720727" sparseCutoff="1.00000000000000000"/>
<sparseX i="420" alpha="21842.58095077308826149" sparseCutoff="1.00000000000000000"/>
<sparseX i="421" alpha="-45312.30646124384657014" sparseCutoff="1.00000000000000000"/>
<sparseX i="422" alpha="-37919.39355981021071784" sparseCutoff="1.00000000000000000"/>
<sparseX i="423" alpha="-24775.10577068775455700" sparseCutoff="1.00000000000000000"/>
<sparseX i="424" alpha="-28661.09595802188414382" sparseCutoff="1.00000000000000000"/>
<sparseX i="425" alpha="-32088.97605049541016342" sparseCutoff="1.00000000000000000"/>
<sparseX i="426" alpha="151588.35433913307497278" sparseCutoff="1.00000000000000000"/>
<sparseX i="427" alpha="134135.76366856836830266" sparseCutoff="1.00000000000000000"/>
<sparseX i="428" alpha="-147148.11398373133852147" sparseCutoff="1.00000000000000000"/>
<sparseX i="429" alpha="37013.01627182785887271" sparseCutoff="1.00000000000000000"/>
<sparseX i="430" alpha="-102556.38642141534364782" sparseCutoff="1.00000000000000000"/>
<sparseX i="431" alpha="43985.57929619237256702" sparseCutoff="1.00000000000000000"/>
<sparseX i="432" alpha="-28727.70776167722942773" sparseCutoff="1.00000000000000000"/>
<sparseX i="433" alpha="155300.76653066946892068" sparseCutoff="1.00000000000000000"/>
<sparseX i="434" alpha="99022.10690675835940056" sparseCutoff="1.00000000000000000"/>
<sparseX i="435" alpha="-59712.62481514616229106" sparseCutoff="1.00000000000000000"/>
<sparseX i="436" alpha="-176457.99156664064503275" sparseCutoff="1.00000000000000000"/>
<sparseX i="437" alpha="121581.42032245700829662" sparseCutoff="1.00000000000000000"/>
<sparseX i="438" alpha="-32925.12142243200651137" sparseCutoff="1.00000000000000000"/>
<sparseX i="439" alpha="108709.49586718957289122" sparseCutoff="1.00000000000000000"/>
<sparseX i="440" alpha="39666.70534458854672266" sparseCutoff="1.00000000000000000"/>
<sparseX i="441" alpha="-26337.23264140902756481" sparseCutoff="1.00000000000000000"/>
<sparseX i="442" alpha="-43721.33238214725133730" sparseCutoff="1.00000000000000000"/>
<sparseX i="443" alpha="45709.41256832554063294" sparseCutoff="1.00000000000000000"/>
<sparseX i="444" alpha="-31630.41407195036299527" sparseCutoff="1.00000000000000000"/>
<sparseX i="445" alpha="10405.39522026136728527" sparseCutoff="1.00000000000000000"/>
<sparseX i="446" alpha="8268.46946728965122020" sparseCutoff="1.00000000000000000"/>
<sparseX i="447" alpha="3073.55508427052973275" sparseCutoff="1.00000000000000000"/>
<sparseX i="448" alpha="-2180.86718462346379965" sparseCutoff="1.00000000000000000"/>
<sparseX i="449" alpha="10947.47952698226617940" sparseCutoff="1.00000000000000000"/>
<sparseX i="450" alpha="29689.94312811012423481" sparseCutoff="1.00000000000000000"/>
<sparseX i="451" alpha="13861.94148509216211096" sparseCutoff="1.00000000000000000"/>
<sparseX i="452" alpha="3799.15285343159348486" sparseCutoff="1.00000000000000000"/>
<sparseX i="453" alpha="116283.74743292041239329" sparseCutoff="1.00000000000000000"/>
<sparseX i="454" alpha="-147509.25791724855662324" sparseCutoff="1.00000000000000000"/>
<sparseX i="455" alpha="-17923.37637812538014259" sparseCutoff="1.00000000000000000"/>
<sparseX i="456" alpha="124296.19527943442517426" sparseCutoff="1.00000000000000000"/>
<sparseX i="457" alpha="25997.75880216660152655" sparseCutoff="1.00000000000000000"/>
<sparseX i="458" alpha="-251309.26246251771226525" sparseCutoff="1.00000000000000000"/>
<sparseX i="459" alpha="-84423.06066656255279668" sparseCutoff="1.00000000000000000"/>
<sparseX i="460" alpha="42663.50646955762931611" sparseCutoff="1.00000000000000000"/>
<sparseX i="461" alpha="84306.02870250167325139" sparseCutoff="1.00000000000000000"/>
<sparseX i="462" alpha="29903.30750904292290215" sparseCutoff="1.00000000000000000"/>
<sparseX i="463" alpha="-56783.95537401636829600" sparseCutoff="1.00000000000000000"/>
<sparseX i="464" alpha="-10776.94748144408004009" sparseCutoff="1.00000000000000000"/>
<sparseX i="465" alpha="-110043.24281162866100203" sparseCutoff="1.00000000000000000"/>
<sparseX i="466" alpha="13213.84169419800491596" sparseCutoff="1.00000000000000000"/>
<sparseX i="467" alpha="4863.51727183216644335" sparseCutoff="1.00000000000000000"/>
<sparseX i="468" alpha="48728.95156826656602789" sparseCutoff="1.00000000000000000"/>
<sparseX i="469" alpha="-31002.40652746616615332" sparseCutoff="1.00000000000000000"/>
<sparseX i="470" alpha="36931.82605392077675788" sparseCutoff="1.00000000000000000"/>
<sparseX i="471" alpha="-18286.47474513803535956" sparseCutoff="1.00000000000000000"/>
<sparseX i="472" alpha="2638.30838570892137795" sparseCutoff="1.00000000000000000"/>
<sparseX i="473" alpha="-721.75482088346893761" sparseCutoff="1.00000000000000000"/>
<sparseX i="474" alpha="364.68589112093121685" sparseCutoff="1.00000000000000000"/>
<sparseX i="475" alpha="1956.71108705951291995" sparseCutoff="1.00000000000000000"/>
<sparseX i="476" alpha="1163.73702167117812678" sparseCutoff="1.00000000000000000"/>
<sparseX i="477" alpha="-2023.84041892255800121" sparseCutoff="1.00000000000000000"/>
<sparseX i="478" alpha="11689.68102499287488172" sparseCutoff="1.00000000000000000"/>
<sparseX i="479" alpha="14376.77398702469508862" sparseCutoff="1.00000000000000000"/>
<sparseX i="480" alpha="954.73611796529110052" sparseCutoff="1.00000000000000000"/>
<sparseX i="481" alpha="-4667.49532064730465208" sparseCutoff="1.00000000000000000"/>
<sparseX i="482" alpha="31811.28978706269481336" sparseCutoff="1.00000000000000000"/>
<sparseX i="483" alpha="30194.52650552743580192" sparseCutoff="1.00000000000000000"/>
<sparseX i="484" alpha="-51130.56670209251024062" sparseCutoff="1.00000000000000000"/>
<sparseX i="485" alpha="-97675.88774671782448422" sparseCutoff="1.00000000000000000"/>
<sparseX i="486" alpha="16047.08253714461534400" sparseCutoff="1.00000000000000000"/>
<sparseX i="487" alpha="35918.23931435662234435" sparseCutoff="1.00000000000000000"/>
<sparseX i="488" alpha="-51423.10984386126801837" sparseCutoff="1.00000000000000000"/>
<sparseX i="489" alpha="-20240.33083089390129317" sparseCutoff="1.00000000000000000"/>
<sparseX i="490" alpha="9561.55194048261364514" sparseCutoff="1.00000000000000000"/>
<sparseX i="491" alpha="50831.74754272408608813" sparseCutoff="1.00000000000000000"/>
<sparseX i="492" alpha="56009.58484382040478522" sparseCutoff="1.00000000000000000"/>
<sparseX i="493" alpha="-53179.39357444649067475" sparseCutoff="1.00000000000000000"/>
<sparseX i="494" alpha="-27039.24056391990598058" sparseCutoff="1.00000000000000000"/>
<sparseX i="495" alpha="160272.24580932283424772" sparseCutoff="1.00000000000000000"/>
<sparseX i="496" alpha="29415.81053817261272343" sparseCutoff="1.00000000000000000"/>
<sparseX i="497" alpha="56927.48742690990184201" sparseCutoff="1.00000000000000000"/>
<sparseX i="498" alpha="-189321.01996482998947613" sparseCutoff="1.00000000000000000"/>
<sparseX i="499" alpha="44923.10799402486736653" sparseCutoff="1.00000000000000000"/>
<sparseX i="500" alpha="-45344.06049825609079562" sparseCutoff="1.00000000000000000"/>
</gpCoordinates>
</gpSparse>
</GAP_params>
</GAP_2015_2_20_0_10_54_35_765>

File diff suppressed because it is too large Load Diff

23
examples/USER/quip/in.gap Normal file
View File

@ -0,0 +1,23 @@
# Test of GAP potential for Si system
units metal
boundary p p p
atom_style atomic
read_data data_gap
pair_style quip
pair_coeff * * gap_example.xml "Potential xml_label=GAP_2015_2_20_0_10_54_35_765" 14
neighbor 0.3 bin
neigh_modify delay 10
fix 1 all nve
thermo 10
timestep 0.001
dump 1 all custom 10 dump.gap id fx fy fz
dump_modify 1 format "%d %20.15g %20.15g %20.15g"
run 40

23
examples/USER/quip/in.sw Normal file
View File

@ -0,0 +1,23 @@
# Test of SW potential for Si system
units metal
boundary p p p
atom_style atomic
read_data data_sw
pair_style quip
pair_coeff * * sw_example.xml "IP SW" 14
neighbor 0.3 bin
neigh_modify delay 10
fix 1 all nve
thermo 10
timestep 0.001
dump 1 all custom 10 dump.sw id fx fy fz
dump_modify 1 format "%d %20.15g %20.15g %20.15g"
run 1

View File

@ -0,0 +1,46 @@
<SW_params n_types="3" label="PRB_31_plus_H_Ge">
<comment> Stillinger and Weber, Phys. Rev. B 31 p 5262 (1984), extended for other elements. Ge and Si-Ge from Ethier and Lewis '92 </comment>
<per_type_data type="1" atomic_num="1" />
<per_type_data type="2" atomic_num="14" />
<per_type_data type="3" atomic_num="32" />
<per_pair_data atnum_i="1" atnum_j="1" AA="0.0" BB="0.0"
p="0" q="0" a="1.0" sigma="1.0" eps="0.0" />
<per_pair_data atnum_i="1" atnum_j="14" AA="8.581214" BB="0.0327827"
p="4" q="0" a="1.25" sigma="2.537884" eps="2.1672" />
<per_pair_data atnum_i="14" atnum_j="14" AA="7.049556277" BB="0.6022245584"
p="4" q="0" a="1.80" sigma="2.0951" eps="2.1675" />
<!-- pair data for Ge and Si-Ge -->
<per_pair_data atnum_i="32" atnum_j="32" AA="7.049556277" BB="0.6022245584"
p="4" q="0" a="1.80" sigma="2.181" eps="1.92590365783410138248" />
<per_pair_data atnum_i="14" atnum_j="32" AA="7.049556277" BB="0.6022245584"
p="4" q="0" a="1.80" sigma="2.138" eps="2.04313391101890694121" />
<!-- triplet terms: atnum_c is the center atom, neighbours j and k -->
<per_triplet_data atnum_c="1" atnum_j="1" atnum_k="1"
lambda="21.0" gamma="1.20" eps="2.1675" />
<per_triplet_data atnum_c="1" atnum_j="1" atnum_k="14"
lambda="21.0" gamma="1.20" eps="2.1675" />
<per_triplet_data atnum_c="1" atnum_j="14" atnum_k="14"
lambda="21.0" gamma="1.20" eps="2.1675" />
<per_triplet_data atnum_c="14" atnum_j="1" atnum_k="1"
lambda="21.0" gamma="1.20" eps="2.1675" />
<per_triplet_data atnum_c="14" atnum_j="1" atnum_k="14"
lambda="21.0" gamma="1.20" eps="2.1675" />
<per_triplet_data atnum_c="14" atnum_j="14" atnum_k="14"
lambda="21.0" gamma="1.20" eps="2.1675" />
<!-- triplet data for Ge and Si-Ge -->
<per_triplet_data atnum_c="14" atnum_j="14" atnum_k="32"
lambda="23.1" gamma="1.20" eps="2.10444772465437788017" />
<per_triplet_data atnum_c="14" atnum_j="32" atnum_k="32"
lambda="25.5" gamma="1.20" eps="2.04326828917050691242" />
<per_triplet_data atnum_c="32" atnum_j="14" atnum_k="14"
lambda="25.5" gamma="1.20" eps="2.04326828917050691242" />
<per_triplet_data atnum_c="32" atnum_j="14" atnum_k="32"
lambda="28.1" gamma="1.20" eps="1.98396169354838709676" />
<per_triplet_data atnum_c="32" atnum_j="32" atnum_k="32"
lambda="31.0" gamma="1.20" eps="1.92590365783410138247" />
</SW_params>

View File

@ -1,13 +1,19 @@
This directory contains libraries that can be linked with when
building LAMMPS, if particular packages are included in a LAMMPS
build. The library itself must be built first, so that a library file
exists for LAMMPS to link against.
This directory contains libraries that can be linked to when building
LAMMPS, if particular packages are included in the LAMMPS build.
Most of these directories contain code for the library; some contain
a Makefile.lammps file that points to where the library is installed
elsewhere on your system.
In either case, the library itself must be installed and/or built
first, so that the appropriate library files exist for LAMMPS to link
against.
Each library directory contains a README with additional info about
how to acquire and/or build the library. This may require you to edit
one of the provided Makefiles to make it suitable for your machine.
The libraries included in the LAMMPS distribution are the following:
The libraries in this directory are the following:
atc atomistic-to-continuum methods, USER-ATC package
from Reese Jones, Jeremy Templeton, Jon Zimmerman (Sandia)
@ -33,6 +39,8 @@ molfile hooks to VMD molfile plugins, used by the USER-MOLFILE package
from Axel Kohlmeyer (Temple U) and the VMD development team
qmmm quantum mechanics/molecular mechanics coupling interface
from Axel Kohlmeyer (Temple U)
quip interface to QUIP/libAtoms framework, USER-QUIP package
from Albert Bartok-Partay and Gabor Csanyi (U Cambridge)
reax ReaxFF potential, REAX package
from Adri van Duin (Penn State) and Aidan Thompson (Sandia)
voronoi hooks to the Voro++ library, used by compute voronoi/atom command

20
lib/quip/Makefile.lammps Normal file
View File

@ -0,0 +1,20 @@
# Settings that the LAMMPS build will import when this package library is used
# include ${QUIP_DIR}/Makefiles/Makefile.${QUIP_ARCH}
F95=$(shell egrep 'F95[ ]*=' ${QUIP_DIR}/Makefiles/Makefile.${QUIP_ARCH} | sed 's/.*F95[ ]*=[ ]*//')
include ${QUIP_DIR}/build.${QUIP_ARCH}/Makefile.inc
quip_SYSLIB = -lquip
quip_SYSLIB += ${MATH_LINKOPTS}
ifeq (${F95},gfortran)
quip_SYSLIB += -lgfortran
else ifeq (${F95},ifort)
quip_SYSLIB += -lifcore -lifport
else
$(error fortran compiler >>${F95}<< not recognised. Edit lib/quip/Makefile.lammps to specify the fortran library your linker should link to)
endif
quip_SYSPATH = -L${QUIP_DIR}/build.${QUIP_ARCH} -L${QUIP_DIR}/FoX-4.0.3/objs.${QUIP_ARCH}/lib

88
lib/quip/README Normal file
View File

@ -0,0 +1,88 @@
QUIP library
Albert Bartok-Partay
apbartok at gmail dot com
2014
This library provides a plug-in for calling QUIP potentials from
LAMMPS. The QUIP package should be built separately, and then the
resulting libraries can be linked to the LAMMPS code. In case of some
potentials, such as BOP or GAP, third-party packages are needed, which
must be downloaded and compiled separately. NB: although GAP has to be
downloaded separately as it is licensed under a different license
agreement, it is compiled together with the rest of QUIP.
Building LAMMPS with QUIP support:
1) Building QUIP
1.1) Obtaining QUIP
The most current release of QUIP can be obtained from github:
$ git clone https://github.com/libAtoms/QUIP.git QUIP
If GAP is needed, it may be downloaded from the `Software' section of
libatoms.org, after accepting the terms and conditions of the Academic
License Agreement. Extract the tarball into the QUIP directory.
1.2) Building QUIP
There is a README file in the top-level QUIP directory, but here are
the main steps.
The Makefiles directory contains a selection of machine- and
compiler-specific makefiles,
e.g. Makefile.linux_x86_64_gfortran. Decide which one is most
appropriate for your system, and edit if necessary. The configuring
step will use the makefile based on the QUIP_ARCH environment
variable, i.e. Makefile.${QUIP_ARCH}. The script will create a build
directory, build.${QUIP_ARCH}, and all the building will happen
there. First it will ask you some questions about where you keep
libraries and other stuff.
If you don't use something it is asking for, just leave it blank. NB
make sure to answer `y' to `Do you want to compile with GAP prediction
support ? [y/n]'. The answers will be stored in Makefile.inc in the
build.${QUIP_ARCH} directory, and you can edit them later (e.g. to
change optimisation or debug options). Note that the default state is
usually with rather heavy debugging on, including bounds checking,
which makes the code quite slow. The make command has to be executed
from the top-level directory. Making `libquip' ensures all the
necessary libraries will be built.
for example:
$ cd QUIP
$ export QUIP_DIR=/path/to/QUIP
$ export QUIP_ARCH=linux_x86_64_gfortran
$ make config
$ make libquip
Optionally, do
$ make test
to run a test suite.
2) Building LAMMPS
2.1) Adding QUIP support
Obtain the most recent version of the QUIPforLAMMPS package:
$ git clone https://github.com/libAtoms/QUIPforLAMMPS
$ cd QUIPforLAMMPS
$ make LAMMPS_DIR=/path/to/lammps/directory install
Enter the LAMMPS directory:
$ cd LAMMPS
$ cd src
$ make yes-user-quip
2.2) Build LAMMPS according to the instructions on the LAMMPS website.
3) There are two example sets in examples/USER/quip:
- a set of input files to compute the energy of an 8-atom cubic
diamond cell of silicon with the Stillinger-Weber potential. Use
this to benchmark that the interface is working correctly.
- a set of input files to demonstrate how GAP potentials are specified
in a LAMMPS input file to run a short MD.

View File

@ -590,7 +590,7 @@ Syntax: Make.py switch args ...
switch for actions:
-a lib-all, lib-dir, clean, file, exe or machine
list one or more actions, in any order
machine is a Makefile.machine suffix, must be last if used
machine is a Makefile.machine suffix
one-letter switches:
-d (dir), -j (jmake), -m (makefile), -o (output),
-p (packages), -r (redo), -s (settings), -v (verbose)

View File

@ -19,10 +19,12 @@ PACKAGE = asphere body class2 colloid dipole fld gpu granular kim \
PACKUSER = user-atc user-awpmd user-cg-cmm user-colvars \
user-cuda user-eff user-fep user-intel user-lb user-misc \
user-molfile user-omp user-phonon user-qmmm user-reaxc user-sph
user-molfile user-omp user-phonon user-qmmm user-quip \
user-reaxc user-sph
PACKLIB = gpu kim meam poems reax voronoi \
user-atc user-awpmd user-colvars user-qmmm user-cuda user-molfile
PACKLIB = gpu kim kokkos meam poems reax voronoi \
user-atc user-awpmd user-colvars user-cuda user-molfile \
user-qmmm user-quip
PACKALL = $(PACKAGE) $(PACKUSER)

View File

@ -202,6 +202,10 @@ FixShake::FixShake(LAMMPS *lmp, int narg, char **arg) :
a_min_all = new double[na];
}
// SHAKE vs RATTLE
rattle = 0;
// identify all SHAKE clusters
find_clusters();
@ -428,12 +432,13 @@ void FixShake::setup(int vflag)
// half timestep constraint on pre-step, full timestep thereafter
if (strstr(update->integrate_style,"verlet")) {
dtv = update->dt;
dtfsq = 0.5 * update->dt * update->dt * force->ftm2v;
post_force(vflag);
dtfsq = update->dt * update->dt * force->ftm2v;
dtv = update->dt;
dtfsq = 0.5 * update->dt * update->dt * force->ftm2v;
FixShake::post_force(vflag);
if (!rattle) dtfsq = update->dt * update->dt * force->ftm2v;
} else {
dtv = step_respa[0];
dtv = step_respa[0];
dtf_innerhalf = 0.5 * step_respa[0] * force->ftm2v;
dtf_inner = dtf_innerhalf;
@ -441,11 +446,10 @@ void FixShake::setup(int vflag)
for (int ilevel = 0; ilevel < nlevels_respa; ilevel++) {
((Respa *) update->integrate)->copy_flevel_f(ilevel);
post_force_respa(vflag,ilevel,loop_respa[ilevel]-1);
FixShake::post_force_respa(vflag,ilevel,loop_respa[ilevel]-1);
((Respa *) update->integrate)->copy_f_flevel(ilevel);
}
dtf_inner = step_respa[0] * force->ftm2v;
if (!rattle) dtf_inner = step_respa[0] * force->ftm2v;
}
}
@ -652,8 +656,11 @@ void FixShake::find_clusters()
tagint tagprev;
double massone;
tagint *buf;
if (me == 0 && screen) fprintf(screen,"Finding SHAKE clusters ...\n");
if (me == 0 && screen) {
if (!rattle) fprintf(screen,"Finding SHAKE clusters ...\n");
else fprintf(screen,"Finding RATTLE clusters ...\n");
}
atommols = atom->avec->onemols;
@ -1625,7 +1632,7 @@ void FixShake::shake3(int m)
void FixShake::shake4(int m)
{
int nlist,list[4];
int nlist,list[4];
double v[6];
double invmass0,invmass1,invmass2,invmass3;
@ -2636,11 +2643,13 @@ void FixShake::reset_dt()
{
if (strstr(update->integrate_style,"verlet")) {
dtv = update->dt;
dtfsq = update->dt * update->dt * force->ftm2v;
if (rattle) dtfsq = 0.5 * update->dt * update->dt * force->ftm2v;
else dtfsq = update->dt * update->dt * force->ftm2v;
} else {
dtv = step_respa[0];
dtf_innerhalf = 0.5 * step_respa[0] * force->ftm2v;
dtf_inner = step_respa[0] * force->ftm2v;
if (rattle) dtf_inner = dtf_innerhalf;
else dtf_inner = step_respa[0] * force->ftm2v;
}
}

View File

@ -27,32 +27,33 @@ namespace LAMMPS_NS {
class FixShake : public Fix {
public:
FixShake(class LAMMPS *, int, char **);
~FixShake();
int setmask();
void init();
virtual ~FixShake();
virtual int setmask();
virtual void init();
void setup(int);
void pre_neighbor();
void post_force(int);
void post_force_respa(int, int, int);
virtual void post_force(int);
virtual void post_force_respa(int, int, int);
double memory_usage();
void grow_arrays(int);
void copy_arrays(int, int, int);
virtual double memory_usage();
virtual void grow_arrays(int);
virtual void copy_arrays(int, int, int);
void set_arrays(int);
void update_arrays(int, int);
virtual void update_arrays(int, int);
void set_molecule(int, tagint, int, double *, double *, double *);
int pack_exchange(int, double *);
int unpack_exchange(int, double *);
int pack_forward_comm(int, int *, double *, int, int *);
void unpack_forward_comm(int, int, double *);
virtual int pack_exchange(int, double *);
virtual int unpack_exchange(int, double *);
virtual int pack_forward_comm(int, int *, double *, int, int *);
virtual void unpack_forward_comm(int, int, double *);
int dof(int);
void reset_dt();
virtual void reset_dt();
void *extract(const char *, int &);
private:
protected:
int me,nprocs;
int rattle; // 0 = SHAKE, 1 = RATTLE
double tolerance; // SHAKE tolerance
int max_iter; // max # of SHAKE iterations
int output_every; // SHAKE stat output every so often

60
src/USER-QUIP/Install.sh Normal file
View File

@ -0,0 +1,60 @@
# Install/unInstall package files in LAMMPS
# mode = 0/1/2 for uninstall/install/update
mode=$1
# arg1 = file, arg2 = file it depends on
action () {
if (test $mode = 0) then
rm -f ../$1
elif (! cmp -s $1 ../$1) then
if (test -z "$2" || test -e ../$2) then
cp $1 ..
if (test $mode = 2) then
echo " updating src/$1"
fi
fi
elif (test -n "$2") then
if (test ! -e ../$2) then
rm -f ../$1
fi
fi
}
# all package files with no dependencies
for file in *.cpp *.h; do
action $file
done
# edit 2 Makefile.package files to include/exclude package info
if (test $1 = 1) then
if (test -e ../Makefile.package) then
sed -i -e 's/[^ \t]*quip[^ \t]* //' ../Makefile.package
sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(quip_SYSINC) |' ../Makefile.package
sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(quip_SYSLIB) |' ../Makefile.package
sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(quip_SYSPATH) |' ../Makefile.package
fi
if (test -e ../Makefile.package.settings) then
sed -i -e '/^include.*quip.*$/d' ../Makefile.package.settings
# multiline form needed for BSD sed on Macs
sed -i -e '4 i \
include ..\/..\/lib\/quip\/Makefile.lammps\
' ../Makefile.package.settings
fi
elif (test $1 = 0) then
if (test -e ../Makefile.package) then
sed -i -e 's/[^ \t]*quip[^ \t]* //' ../Makefile.package
fi
if (test -e ../Makefile.package.settings) then
sed -i -e '/^include.*quip.*$/d' ../Makefile.package.settings
fi
fi

10
src/USER-QUIP/README Normal file
View File

@ -0,0 +1,10 @@
This package provides the pair_style quip command. This pair style
provides an interface to the QUIP/libAtoms library, which includes a
variety of interatomic potentials, including Gaussian Approximation
Potential (GAP) models.
See lib/quip/README for more information on how to build LAMMPS
with this package.
See examples/USER/quip for several test examples that run QUIP
potentials.

288
src/USER-QUIP/pair_quip.cpp Normal file
View File

@ -0,0 +1,288 @@
/* ----------------------------------------------------------------------
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 authors: Albert Bartok (Cambridge University)
Aidan Thompson (Sandia, athomps@sandia.gov)
------------------------------------------------------------------------- */
#include "mpi.h"
#include "math.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "pair_quip.h"
#include "atom.h"
#include "update.h"
#include "force.h"
#include "comm.h"
#include "neighbor.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "memory.h"
#include "error.h"
#include "domain.h"
using namespace LAMMPS_NS;
/* ---------------------------------------------------------------------- */
PairQUIP::PairQUIP(LAMMPS *lmp) : Pair(lmp)
{
single_enable = 0;
one_coeff = 1;
no_virial_fdotr_compute = 1;
}
PairQUIP::~PairQUIP()
{
if (allocated) {
memory->destroy(setflag);
memory->destroy(cutsq);
delete [] map;
delete [] quip_potential;
}
}
void PairQUIP::compute(int eflag, int vflag)
{
int inum, jnum, sum_num_neigh, ii, jj, i, iquip;
int *ilist;
int *jlist;
int *numneigh, **firstneigh;
int *quip_num_neigh, *quip_neigh, *atomic_numbers;
int nlocal = atom->nlocal;
int nghost = atom->nghost;
int ntotal = nlocal + nghost;
int *type = atom->type;
double **x = atom->x;
double **f = atom->f;
double *quip_local_e, *quip_force, *quip_local_virial, *quip_virial, quip_energy, *lattice;
if (eflag || vflag) ev_setup(eflag,vflag);
else ev_unset();
inum = list->inum;
ilist = list->ilist;
numneigh = list->numneigh;
firstneigh = list->firstneigh;
sum_num_neigh = 0;
quip_num_neigh = new int [inum];
for (ii = 0; ii < inum; ii++) {
i = ilist[ii];
quip_num_neigh[ii] = numneigh[i];
sum_num_neigh += numneigh[i];
}
quip_neigh = new int [sum_num_neigh];
iquip = 0;
for (ii = 0; ii < inum; ii++) {
i = ilist[ii];
jlist = firstneigh[i];
jnum = numneigh[i];
for (jj = 0; jj < jnum; jj++) {
quip_neigh[iquip] = jlist[jj]+1;
iquip++;
}
}
atomic_numbers = new int[ntotal];
for (ii = 0; ii < ntotal; ii++)
atomic_numbers[ii] = map[type[ii]-1];
quip_local_e = new double [ntotal];
quip_force = new double [ntotal*3];
quip_local_virial = new double [ntotal*9];
quip_virial = new double [9];
lattice = new double [9];
lattice[0] = domain->xprd;
lattice[1] = 0.0;
lattice[2] = 0.0;
lattice[3] = domain->xy;
lattice[4] = domain->yprd;
lattice[5] = 0.0;
lattice[6] = domain->xz;
lattice[7] = domain->yz;
lattice[8] = domain->zprd;
quip_lammps_wrapper
(&nlocal,&nghost,atomic_numbers,
&inum,&sum_num_neigh,ilist,
quip_num_neigh,quip_neigh,lattice,
quip_potential,&n_quip_potential,&x[0][0],
&quip_energy,quip_local_e,quip_virial,quip_local_virial,quip_force);
iquip = 0;
for (ii = 0; ii < ntotal; ii++) {
for( jj = 0; jj < 3; jj++ ) {
f[ii][jj] = quip_force[iquip];
iquip++;
}
}
if(eflag_global) {
eng_vdwl = quip_energy;
}
if(eflag_atom) {
for (ii = 0; ii < ntotal; ii++) {
eatom[ii] = quip_local_e[ii];
}
}
if (vflag_global) {
virial[0] = quip_virial[0];
virial[1] = quip_virial[4];
virial[2] = quip_virial[8];
virial[3] = (quip_virial[3] + quip_virial[1])*0.5;
virial[4] = (quip_virial[2] + quip_virial[6])*0.5;
virial[5] = (quip_virial[5] + quip_virial[7])*0.5;
}
if(vflag_atom) {
int iatom = 0;
for(ii = 0; ii < ntotal; ii++) {
vatom[ii][0] += quip_local_virial[iatom+0];
vatom[ii][1] += quip_local_virial[iatom+4];
vatom[ii][2] += quip_local_virial[iatom+8];
vatom[ii][3] += (quip_local_virial[iatom+3] +
quip_local_virial[iatom+1])*0.5;
vatom[ii][4] += (quip_local_virial[iatom+2] +
quip_local_virial[iatom+6])*0.5;
vatom[ii][5] += (quip_local_virial[iatom+5] +
quip_local_virial[iatom+7])*0.5;
iatom += 9;
}
}
delete [] atomic_numbers;
delete [] quip_num_neigh;
delete [] quip_neigh;
delete [] quip_local_e;
delete [] quip_force;
delete [] quip_virial;
delete [] quip_local_virial;
delete [] lattice;
}
/* ----------------------------------------------------------------------
global settings
------------------------------------------------------------------------- */
void PairQUIP::settings(int narg, char **arg)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
/* ----------------------------------------------------------------------
set coeffs for one or more type pairs
------------------------------------------------------------------------- */
void PairQUIP::allocate()
{
allocated = 1;
int n = atom->ntypes;
setflag = memory->create(setflag,n+1,n+1,"pair:setflag");
cutsq = memory->create(cutsq,n+1,n+1,"pair:cutsq");
map = new int[n];
}
void PairQUIP::coeff(int narg, char **arg)
{
if (!allocated) allocate();
int n = atom->ntypes;
// ensure I,J args are * *
for (int i = 1; i <= n; i++){
for (int j = 1; j <= n; j++) {
setflag[i][j] = 1;
}
}
if( narg != (4+n) ) {
char str[1024];
sprintf(str,"Number of arguments %d is not correct, it should be %d", narg, 4+n);
error->all(FLERR,str);
}
if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0)
error->all(FLERR,"Incorrect args for pair coefficients");
n_quip_file = strlen(arg[2]);
quip_file = new char[n_quip_file];
strcpy(quip_file,arg[2]);
n_quip_string = strlen(arg[3]);
quip_string = new char[n_quip_string];
strcpy(quip_string,arg[3]);
for (int i = 4; i < narg; i++) {
if( 0 == sscanf(arg[i],"%d",&map[i-4])) {
char str[1024];
sprintf(str,"Incorrect atomic number %s at position %d",arg[i],i);
error->all(FLERR,str);
}
}
// Initialise potential
// First call initialises potential via the fortran code in memory, and returns the necessary size
// of quip_potential. This behaviour is invoked by setting n_potential_quip to 0.
n_quip_potential = 0;
quip_potential = new int[0];
quip_lammps_potential_initialise(quip_potential,&n_quip_potential,&cutoff,quip_file,&n_quip_file,quip_string,&n_quip_string);
delete [] quip_potential;
// Allocate quip_potential integer array. This initialise call will transfer the location of the
// previously initialised potential to the quip_potential variable, and we will use it as a handle
// when calling the actual calculation routine. We return the cutoff as well.
quip_potential = new int[n_quip_potential];
quip_lammps_potential_initialise(quip_potential,&n_quip_potential,&cutoff,quip_file,&n_quip_file,quip_string,&n_quip_string);
}
/* ----------------------------------------------------------------------
init specific to this pair style
------------------------------------------------------------------------- */
void PairQUIP::init_style()
{
// Require newton pair on
if (force->newton_pair != 1)
error->all(FLERR,"Pair style quip requires newton pair on");
// Initialise neighbour list
int irequest_full = neighbor->request(this);
neighbor->requests[irequest_full]->id = 1;
neighbor->requests[irequest_full]->half = 0;
neighbor->requests[irequest_full]->full = 1;
}
/* ----------------------------------------------------------------------
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
double PairQUIP::init_one(int i, int j)
{
return cutoff;
}

64
src/USER-QUIP/pair_quip.h Normal file
View File

@ -0,0 +1,64 @@
/* ----------------------------------------------------------------------
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(quip,PairQUIP)
#else
#ifndef LMP_PAIR_QUIP_H
#define LMP_PAIR_QUIP_H
#include "pair.h"
extern "C"
{
void quip_lammps_wrapper(int*, int*, int*,
int*, int*, int*,
int*, int*, double*,
int*, int*, double*,
double*, double*, double*, double*, double*);
void quip_lammps_potential_initialise(int*, int*, double*, char*, int*, char*, int*);
}
namespace LAMMPS_NS {
class PairQUIP : public Pair {
public:
PairQUIP(class LAMMPS *);
~PairQUIP();
void compute(int, int);
void settings(int, char **);
void coeff(int, char **);
void init_style();
double init_one(int, int);
void allocate();
private:
double cutoff;
int* quip_potential;
int n_quip_potential;
int *map; // mapping from atom types to elements
char *quip_file; // mapping from atom types to elements
int n_quip_file;
char *quip_string; // mapping from atom types to elements
int n_quip_string;
};
}
#endif
#endif

View File

@ -14,9 +14,8 @@
#include "stdlib.h"
#include "fix_respa.h"
#include "atom.h"
#include "memory.h"
#include "error.h"
#include "force.h"
#include "memory.h"
using namespace LAMMPS_NS;
using namespace FixConst;

View File

@ -27,7 +27,7 @@ namespace LAMMPS_NS {
class FixRespa : public Fix {
friend class Respa;
friend class FixShake;
friend class FixShake2;
friend class FixRattle;
public:
FixRespa(class LAMMPS *, int, char **);
@ -50,6 +50,7 @@ class FixRespa : public Fix {
#endif
#endif
/* ERROR/WARNING messages:
*/

View File

@ -1 +1 @@
#define LAMMPS_VERSION "19 Feb 2015"
#define LAMMPS_VERSION "24 Feb 2015"