diff --git a/docs/src/software/chemiscope.sec b/docs/src/software/chemiscope.sec index 8ded4143..0726bfbd 100644 --- a/docs/src/software/chemiscope.sec +++ b/docs/src/software/chemiscope.sec @@ -17,3 +17,4 @@ repository `_. - examples/pi-metad/pi-metad - examples/path-integrals/path-integrals - examples/thermostats/thermostats +- examples/pi-mts-rpc/mts-rpc diff --git a/docs/src/software/i-pi.sec b/docs/src/software/i-pi.sec index 10c69f63..1ff3be9b 100644 --- a/docs/src/software/i-pi.sec +++ b/docs/src/software/i-pi.sec @@ -12,3 +12,4 @@ it on the `ipi-code website `_, the `documentation pages - examples/path-integrals/path-integrals - examples/pi-metad/pi-metad - examples/heat-capacity/heat-capacity +- examples/pi-mts-rpc/mts-rpc diff --git a/docs/src/topics/nqes.sec b/docs/src/topics/nqes.sec index e4dc826e..4bf7be1e 100644 --- a/docs/src/topics/nqes.sec +++ b/docs/src/topics/nqes.sec @@ -9,3 +9,4 @@ statistical sampling to compute accurate statistical and dynamical properties. - examples/path-integrals/path-integrals - examples/pi-metad/pi-metad - examples/heat-capacity/heat-capacity +- examples/pi-mts-rpc/mts-rpc diff --git a/docs/src/topics/sampling.sec b/docs/src/topics/sampling.sec index 8c20d470..6364ce25 100644 --- a/docs/src/topics/sampling.sec +++ b/docs/src/topics/sampling.sec @@ -10,3 +10,4 @@ set of configurations of an atomistic system. - examples/pi-metad/pi-metad - examples/batch-cp2k/reference-trajectory - examples/heat-capacity/heat-capacity +- examples/pi-mts-rpc/mts-rpc diff --git a/examples/pi-mts-rpc/README.rst b/examples/pi-mts-rpc/README.rst new file mode 100644 index 00000000..350d9e90 --- /dev/null +++ b/examples/pi-mts-rpc/README.rst @@ -0,0 +1,30 @@ +Multiple time stepping and ring-polymer contraction +=================================================== + +This notebook provides an introduction to two closely-related techniques, +that are geared towards reducing the cost of calculations by separating +slowly-varying (and computationally-expensive) components of the potential +energy from the fast-varying (and hopefully cheaper) ones. + +The first is named `multiple time stepping`, and is a well-established technique +to avoid evaluating the slowly-varying components at every time step of a MD simulation. +It was first introduced in `LAMMPS `_. +`M. Tuckerman, B. J. Berne, and G. J. Martyna, JCP 97(3), 1990 (1992) `_ +and can be applied to classical simulations, +typically to avoid the evaluation of long-range electrostatics in classical potentials. + +The second is named `ring polymer contraction`, first introduced in +`T. E. Markland and D. E. Manolopoulos, JCP 129(2), 024105 (2008) `_ +can be seen as performing a similar simplification `in imaginary time`, +evaluating the expensive part of the potential on a smaller number of PI replicas. + +The techniques can be combined, which reduces even further the computational effort. +This dual approach, which was introduced in +`V. Kapil, J. VandeVondele, and M. Ceriotti, JCP 144(5), 054111 (2016) <(https://doi.org/10.1063/1.4941091>`_ +and `O. Marsalek and T. E. Markland, JCP 144(5), (2016) `_, +is the one that we will discuss here, allowing us to showcase two advanced features of i-PI. +It is worth stressing that MTS and/or RPC can be used very conveniently together with +machine-learning potentials +(see e.g. `V. Kapil, J. Behler, and M. Ceriotti, JCP 145(23), 234103 (2016 `_ +for an early application). + diff --git a/examples/pi-mts-rpc/data/h2o_md.xml b/examples/pi-mts-rpc/data/h2o_md.xml new file mode 100644 index 00000000..a4398f19 --- /dev/null +++ b/examples/pi-mts-rpc/data/h2o_md.xml @@ -0,0 +1,31 @@ + + + [step, time{picosecond}, conserved{electronvolt}, temperature{kelvin}, potential{electronvolt}, kinetic_md{electronvolt}, pressure_md{megapascal} ] + positions{angstrom} + + + 10000 + +
qtip4pf-md
+
+ + + data/water_32.pdb + 300 + + + + + + 300 + + + + 0.5 + + 400 + + + + +
diff --git a/examples/pi-mts-rpc/data/h2o_mts.xml b/examples/pi-mts-rpc/data/h2o_mts.xml new file mode 100644 index 00000000..45231cc7 --- /dev/null +++ b/examples/pi-mts-rpc/data/h2o_mts.xml @@ -0,0 +1,40 @@ + + + [step, time{picosecond}, conserved{electronvolt}, temperature{kelvin}, potential{electronvolt}, kinetic_md{electronvolt}, pressure_md{megapascal}, pot_component{electronvolt}(0), pot_component{electronvolt}(1) ] + positions{angstrom} + + + 2500 + +
qtip4pf-mts-full
+
+ +
qtip4pf-mts-sr
+
+ + + data/water_32.pdb + 300 + + + + [1,0] + + + [-1,1] + + + + 300 + + + + 2.0 + [1,4] + + 400 + + + + +
diff --git a/examples/pi-mts-rpc/data/h2o_pimd.xml b/examples/pi-mts-rpc/data/h2o_pimd.xml new file mode 100644 index 00000000..a50d887e --- /dev/null +++ b/examples/pi-mts-rpc/data/h2o_pimd.xml @@ -0,0 +1,182 @@ + + + [step, time{picosecond}, conserved{electronvolt}, temperature{kelvin}, potential{electronvolt}, kinetic_cv{electronvolt}, pressure_cv{megapascal}] + positions{angstrom} + + + 10000 + +
qtip4pf
+
+ + + data/water_32.pdb + 300 + + + + + + 300 + + + + 0.5 + + +[ + 1.300513766690e-2, 9.078220950722e-6, 8.180522706851e-6, 1.196620464216e-5, 1.108609196233e-4, -8.941338246404e-4, 7.817382329484e-3, -1.206049888192e-2, -5.215913547478e-2, + -9.756343549369e-6, 2.131200614277e-7, 2.972243541454e-6, -4.459298032276e-6, 2.177011229810e-7, 4.960251269751e-7, -2.083064995647e-6, -7.004617074013e-6, 2.299410255689e-5, + -1.851243089560e-6, -2.972243541454e-6, 1.956991859501e-6, 1.742357040415e-6, -2.082265548357e-6, -1.760771137012e-6, -3.733162998255e-6, -3.711884630223e-5, -3.625483838477e-5, + 1.492481502899e-5, 4.459298032276e-6, -1.742357040415e-6, 5.092476869103e-6, 2.033910859306e-6, 5.856365217540e-7, -3.020170664006e-6, 1.868034354962e-5, -5.049113665348e-6, + 1.059383195368e-4, -2.177011229810e-7, 2.082265548357e-6, -2.033910859306e-6, 5.467813757620e-5, -6.684243951800e-6, -9.770331146786e-7, -2.159991642805e-4, 4.667176340213e-4, + -7.611448585233e-4, -4.960251269751e-7, 1.760771137012e-6, -5.856365217540e-7, 6.684243951800e-6, 6.616597356640e-4, -1.637891086976e-6, -2.056652206438e-4, 2.960975881160e-4, + 7.659946833472e-3, 2.083064995647e-6, 3.733162998255e-6, 3.020170664006e-6, 9.770331146786e-7, 1.637891086976e-6, 6.390977118535e-3, -6.246090363901e-5, 5.054994461623e-4, + -1.078245092236e-2, 7.004617074013e-6, 3.711884630223e-5, -1.868034354962e-5, 2.159991642805e-4, 2.056652206438e-4, 6.246090363901e-5, 1.730397061203e-1, 1.004651317366e-4, + -5.467410217589e-2, -2.299410255689e-5, 3.625483838477e-5, 5.049113665348e-6, -4.667176340213e-4, -2.960975881160e-4, -5.054994461623e-4, -1.004651317366e-4, 1.795223909984e+0, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14 +] + + +[ + 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4 +] + + + + + +
diff --git a/examples/pi-mts-rpc/data/h2o_rpc-mts.xml b/examples/pi-mts-rpc/data/h2o_rpc-mts.xml new file mode 100644 index 00000000..01e9bf47 --- /dev/null +++ b/examples/pi-mts-rpc/data/h2o_rpc-mts.xml @@ -0,0 +1,194 @@ + + + [step, time{picosecond}, conserved{electronvolt}, temperature{kelvin}, potential{electronvolt}, kinetic_cv{electronvolt}, pressure_cv{megapascal}, pot_component{electronvolt}(0), pot_component{electronvolt}(1), pot_component{electronvolt}(2) ] + positions{angstrom} + + + 5000 + +
qtip4pf-full
+
+ +
qtip4pf-sr
+
+ + + data/water_32.pdb + 300 + + + + [1,0] + + + [1,0] + + + [0,1] + + + + 300 + + + + 1.0 + [1,2] + + +[ + 1.300513766690e-2, 9.078220950722e-6, 8.180522706851e-6, 1.196620464216e-5, 1.108609196233e-4, -8.941338246404e-4, 7.817382329484e-3, -1.206049888192e-2, -5.215913547478e-2, + -9.756343549369e-6, 2.131200614277e-7, 2.972243541454e-6, -4.459298032276e-6, 2.177011229810e-7, 4.960251269751e-7, -2.083064995647e-6, -7.004617074013e-6, 2.299410255689e-5, + -1.851243089560e-6, -2.972243541454e-6, 1.956991859501e-6, 1.742357040415e-6, -2.082265548357e-6, -1.760771137012e-6, -3.733162998255e-6, -3.711884630223e-5, -3.625483838477e-5, + 1.492481502899e-5, 4.459298032276e-6, -1.742357040415e-6, 5.092476869103e-6, 2.033910859306e-6, 5.856365217540e-7, -3.020170664006e-6, 1.868034354962e-5, -5.049113665348e-6, + 1.059383195368e-4, -2.177011229810e-7, 2.082265548357e-6, -2.033910859306e-6, 5.467813757620e-5, -6.684243951800e-6, -9.770331146786e-7, -2.159991642805e-4, 4.667176340213e-4, + -7.611448585233e-4, -4.960251269751e-7, 1.760771137012e-6, -5.856365217540e-7, 6.684243951800e-6, 6.616597356640e-4, -1.637891086976e-6, -2.056652206438e-4, 2.960975881160e-4, + 7.659946833472e-3, 2.083064995647e-6, 3.733162998255e-6, 3.020170664006e-6, 9.770331146786e-7, 1.637891086976e-6, 6.390977118535e-3, -6.246090363901e-5, 5.054994461623e-4, + -1.078245092236e-2, 7.004617074013e-6, 3.711884630223e-5, -1.868034354962e-5, 2.159991642805e-4, 2.056652206438e-4, 6.246090363901e-5, 1.730397061203e-1, 1.004651317366e-4, + -5.467410217589e-2, -2.299410255689e-5, 3.625483838477e-5, 5.049113665348e-6, -4.667176340213e-4, -2.960975881160e-4, -5.054994461623e-4, -1.004651317366e-4, 1.795223909984e+0, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14 +] + + +[ + 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4 +] + + + + + +
diff --git a/examples/pi-mts-rpc/data/h2o_rpc.xml b/examples/pi-mts-rpc/data/h2o_rpc.xml new file mode 100644 index 00000000..d7f1f6c7 --- /dev/null +++ b/examples/pi-mts-rpc/data/h2o_rpc.xml @@ -0,0 +1,190 @@ + + + [step, time{picosecond}, conserved{electronvolt}, temperature{kelvin}, potential{electronvolt}, kinetic_cv{electronvolt}, pressure_cv{megapascal}, pot_component{electronvolt}(0), pot_component{electronvolt}(1), pot_component{electronvolt}(2) ] + positions{angstrom} + + + 10000 + +
qtip4pf-full
+
+ +
qtip4pf-sr
+
+ + + data/water_32.pdb + 300 + + + + + + + + + + + 300 + + + + 0.5 + + +[ + 1.300513766690e-2, 9.078220950722e-6, 8.180522706851e-6, 1.196620464216e-5, 1.108609196233e-4, -8.941338246404e-4, 7.817382329484e-3, -1.206049888192e-2, -5.215913547478e-2, + -9.756343549369e-6, 2.131200614277e-7, 2.972243541454e-6, -4.459298032276e-6, 2.177011229810e-7, 4.960251269751e-7, -2.083064995647e-6, -7.004617074013e-6, 2.299410255689e-5, + -1.851243089560e-6, -2.972243541454e-6, 1.956991859501e-6, 1.742357040415e-6, -2.082265548357e-6, -1.760771137012e-6, -3.733162998255e-6, -3.711884630223e-5, -3.625483838477e-5, + 1.492481502899e-5, 4.459298032276e-6, -1.742357040415e-6, 5.092476869103e-6, 2.033910859306e-6, 5.856365217540e-7, -3.020170664006e-6, 1.868034354962e-5, -5.049113665348e-6, + 1.059383195368e-4, -2.177011229810e-7, 2.082265548357e-6, -2.033910859306e-6, 5.467813757620e-5, -6.684243951800e-6, -9.770331146786e-7, -2.159991642805e-4, 4.667176340213e-4, + -7.611448585233e-4, -4.960251269751e-7, 1.760771137012e-6, -5.856365217540e-7, 6.684243951800e-6, 6.616597356640e-4, -1.637891086976e-6, -2.056652206438e-4, 2.960975881160e-4, + 7.659946833472e-3, 2.083064995647e-6, 3.733162998255e-6, 3.020170664006e-6, 9.770331146786e-7, 1.637891086976e-6, 6.390977118535e-3, -6.246090363901e-5, 5.054994461623e-4, + -1.078245092236e-2, 7.004617074013e-6, 3.711884630223e-5, -1.868034354962e-5, 2.159991642805e-4, 2.056652206438e-4, 6.246090363901e-5, 1.730397061203e-1, 1.004651317366e-4, + -5.467410217589e-2, -2.299410255689e-5, 3.625483838477e-5, 5.049113665348e-6, -4.667176340213e-4, -2.960975881160e-4, -5.054994461623e-4, -1.004651317366e-4, 1.795223909984e+0, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14, + 8.489960919145e-6, 6.025944009049e-3, 0.000000000000e+0, 1.114278530598e-2, 0.000000000000e+0, 4.769695568139e-3, 0.000000000000e+0, 2.359998783547e-4, 0.000000000000e+0, + -6.025944009049e-3, 9.524825144389e-2, 9.895941549918e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, -9.895941549918e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -1.114278530598e-2, 0.000000000000e+0, 0.000000000000e+0, 1.498494261775e-2, 4.243187259028e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -4.243187259028e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + -4.769695568139e-3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 3.538265733926e-2, 8.599261067301e-3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -8.599261067301e-3, 1.901910560775e-14, 0.000000000000e+0, 0.000000000000e+0, + -2.359998783547e-4, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.213939678738e-4, 3.824048480235e-3, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, -3.824048480235e-3, 1.901910560775e-14 +] + + +[ + 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, 0.000000000000e+0, + 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 0.000000000000e+0, 2.400000000000e+3, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4, + 2.716660441800e+3, -1.377262812600e+3, -3.230955534000e+3, 8.797307079000e+2, 7.316818068000e+2, -2.529871486200e+2, -4.178612304000e+2, -1.268511427800e+3, -6.491442033000e+2, + -1.377262812600e+3, 2.985489723000e+4, 5.304130467000e-8, -5.592914814000e+0, 5.005717866000e+2, -5.964681483000e+1, 1.082485908000e+2, -8.374107552000e+1, -1.180549616100e+0, + -3.230955534000e+3, 5.303864016000e-8, 2.788746876000e+4, -1.167431188200e+3, -4.374848556000e+3, -1.245713694600e+2, -1.348170443400e+3, 3.055047561000e+0, -4.162808811000e+2, + 8.797307079000e+2, -5.592914814000e+0, -1.167431188200e+3, 1.251518517600e+3, 1.287060458100e-8, 6.010762974000e+1, -2.536939750800e+2, -9.410029386000e+2, -4.321031592000e+2, + 7.316818068000e+2, 5.005717866000e+2, -4.374848556000e+3, 1.287057127500e-8, 3.172945215000e+3, 1.251818073900e+2, -7.957865121000e+1, 4.794642717000e+2, -1.026745706700e+3, + -2.529871486200e+2, -5.964681483000e+1, -1.245713694600e+2, 6.010762974000e+1, 1.251818073900e+2, 5.290717836000e+3, 1.052580470700e-8, -1.737498433200e+2, -4.904155806000e+0, + -4.178612304000e+2, 1.082485908000e+2, -1.348170443400e+3, -2.536939750800e+2, -7.957865121000e+1, 1.052520518700e-8, 5.058945498000e+3, 1.102813321500e+1, -4.171435149000e+2, + -1.268511427800e+3, -8.374107552000e+1, 3.055047561000e+0, -9.410029386000e+2, 4.794642717000e+2, -1.737498433200e+2, 1.102813321500e+1, 6.455023428000e+4, 3.193551711000e-7, + -6.491442033000e+2, -1.180549616100e+0, -4.162808811000e+2, -4.321031592000e+2, -1.026745706700e+3, -4.904155806000e+0, -4.171435149000e+2, 3.193552068000e-7, 6.451017255000e+4 +] + + + + + +
diff --git a/examples/pi-mts-rpc/data/water_32.pdb b/examples/pi-mts-rpc/data/water_32.pdb new file mode 100644 index 00000000..014e40ff --- /dev/null +++ b/examples/pi-mts-rpc/data/water_32.pdb @@ -0,0 +1,98 @@ +CRYST1 10.260 10.260 10.260 90.00 90.00 90.00 P 1 +ATOM 1 O 1 1 3.756 4.710 9.494 0.00 0.00 O +ATOM 2 H 1 1 4.604 4.272 9.671 0.00 0.00 H +ATOM 3 H 1 1 3.998 5.320 8.788 0.00 0.00 H +ATOM 4 O 1 1 9.933 8.841 0.366 0.00 0.00 O +ATOM 5 H 1 1 10.132 8.196 1.120 0.00 0.00 H +ATOM 6 H 1 1 9.368 8.449 -0.316 0.00 0.00 H +ATOM 7 O 1 1 0.321 1.492 5.796 0.00 0.00 O +ATOM 8 H 1 1 -0.287 1.993 5.241 0.00 0.00 H +ATOM 9 H 1 1 0.791 2.061 6.364 0.00 0.00 H +ATOM 10 O 1 1 8.035 9.735 4.307 0.00 0.00 O +ATOM 11 H 1 1 7.203 9.789 4.847 0.00 0.00 H +ATOM 12 H 1 1 8.636 9.307 4.920 0.00 0.00 H +ATOM 13 O 1 1 5.663 9.082 0.660 0.00 0.00 O +ATOM 14 H 1 1 6.378 9.721 0.814 0.00 0.00 H +ATOM 15 H 1 1 5.213 8.991 1.552 0.00 0.00 H +ATOM 16 O 1 1 8.130 0.215 1.201 0.00 0.00 O +ATOM 17 H 1 1 8.196 -0.065 2.118 0.00 0.00 H +ATOM 18 H 1 1 8.938 -0.161 0.818 0.00 0.00 H +ATOM 19 O 1 1 8.177 4.165 0.716 0.00 0.00 O +ATOM 20 H 1 1 7.895 5.066 0.840 0.00 0.00 H +ATOM 21 H 1 1 7.722 3.562 1.341 0.00 0.00 H +ATOM 22 O 1 1 6.341 3.256 9.678 0.00 0.00 O +ATOM 23 H 1 1 7.133 3.423 10.189 0.00 0.00 H +ATOM 24 H 1 1 6.507 2.398 9.350 0.00 0.00 H +ATOM 25 O 1 1 0.136 7.798 2.738 0.00 0.00 O +ATOM 26 H 1 1 -0.006 8.300 3.584 0.00 0.00 H +ATOM 27 H 1 1 0.314 6.905 2.966 0.00 0.00 H +ATOM 28 O 1 1 5.027 2.563 6.169 0.00 0.00 O +ATOM 29 H 1 1 5.538 3.336 6.262 0.00 0.00 H +ATOM 30 H 1 1 5.313 2.031 6.922 0.00 0.00 H +ATOM 31 O 1 1 7.164 2.542 2.418 0.00 0.00 O +ATOM 32 H 1 1 6.248 2.467 2.667 0.00 0.00 H +ATOM 33 H 1 1 7.384 1.681 2.057 0.00 0.00 H +ATOM 34 O 1 1 3.336 9.051 3.265 0.00 0.00 O +ATOM 35 H 1 1 2.818 8.341 2.787 0.00 0.00 H +ATOM 36 H 1 1 2.733 9.794 3.398 0.00 0.00 H +ATOM 37 O 1 1 1.476 1.420 0.819 0.00 0.00 O +ATOM 38 H 1 1 1.060 0.568 0.631 0.00 0.00 H +ATOM 39 H 1 1 1.582 1.509 1.770 0.00 0.00 H +ATOM 40 O 1 1 1.222 4.946 3.218 0.00 0.00 O +ATOM 41 H 1 1 2.111 4.703 3.522 0.00 0.00 H +ATOM 42 H 1 1 1.342 4.956 2.245 0.00 0.00 H +ATOM 43 O 1 1 6.790 6.491 4.488 0.00 0.00 O +ATOM 44 H 1 1 7.083 5.755 5.074 0.00 0.00 H +ATOM 45 H 1 1 6.747 7.293 4.975 0.00 0.00 H +ATOM 46 O 1 1 9.330 3.465 4.430 0.00 0.00 O +ATOM 47 H 1 1 9.974 3.956 3.918 0.00 0.00 H +ATOM 48 H 1 1 8.583 3.143 3.966 0.00 0.00 H +ATOM 49 O 1 1 7.484 4.543 6.379 0.00 0.00 O +ATOM 50 H 1 1 7.604 4.450 7.328 0.00 0.00 H +ATOM 51 H 1 1 8.241 4.098 5.987 0.00 0.00 H +ATOM 52 O 1 1 0.448 5.701 8.219 0.00 0.00 O +ATOM 53 H 1 1 0.573 4.840 7.871 0.00 0.00 H +ATOM 54 H 1 1 0.720 5.651 9.123 0.00 0.00 H +ATOM 55 O 1 1 0.736 4.082 0.545 0.00 0.00 O +ATOM 56 H 1 1 1.032 3.147 0.501 0.00 0.00 H +ATOM 57 H 1 1 -0.250 3.978 0.476 0.00 0.00 H +ATOM 58 O 1 1 4.229 2.582 3.562 0.00 0.00 O +ATOM 59 H 1 1 4.650 2.364 4.424 0.00 0.00 H +ATOM 60 H 1 1 4.306 3.526 3.496 0.00 0.00 H +ATOM 61 O 1 1 3.749 5.318 3.591 0.00 0.00 O +ATOM 62 H 1 1 3.577 5.600 2.690 0.00 0.00 H +ATOM 63 H 1 1 4.519 5.812 3.831 0.00 0.00 H +ATOM 64 O 1 1 0.242 8.540 5.195 0.00 0.00 O +ATOM 65 H 1 1 0.243 9.452 5.454 0.00 0.00 H +ATOM 66 H 1 1 0.725 8.102 5.864 0.00 0.00 H +ATOM 67 O 1 1 6.065 0.243 8.171 0.00 0.00 O +ATOM 68 H 1 1 6.685 -0.360 8.559 0.00 0.00 H +ATOM 69 H 1 1 5.235 -0.020 8.586 0.00 0.00 H +ATOM 70 O 1 1 7.362 8.029 9.049 0.00 0.00 O +ATOM 71 H 1 1 6.719 7.831 8.312 0.00 0.00 H +ATOM 72 H 1 1 6.813 7.839 9.757 0.00 0.00 H +ATOM 73 O 1 1 1.971 1.171 3.631 0.00 0.00 O +ATOM 74 H 1 1 1.520 1.399 4.474 0.00 0.00 H +ATOM 75 H 1 1 2.821 1.577 3.533 0.00 0.00 H +ATOM 76 O 1 1 7.674 6.605 2.134 0.00 0.00 O +ATOM 77 H 1 1 7.143 6.490 2.918 0.00 0.00 H +ATOM 78 H 1 1 8.563 6.681 2.409 0.00 0.00 H +ATOM 79 O 1 1 2.769 7.384 7.275 0.00 0.00 O +ATOM 80 H 1 1 2.353 8.088 7.748 0.00 0.00 H +ATOM 81 H 1 1 2.249 6.554 7.408 0.00 0.00 H +ATOM 82 O 1 1 2.253 2.791 7.349 0.00 0.00 O +ATOM 83 H 1 1 2.718 3.230 8.076 0.00 0.00 H +ATOM 84 H 1 1 2.955 2.671 6.707 0.00 0.00 H +ATOM 85 O 1 1 3.652 9.953 9.290 0.00 0.00 O +ATOM 86 H 1 1 4.114 9.509 9.983 0.00 0.00 H +ATOM 87 H 1 1 3.199 10.639 9.784 0.00 0.00 H +ATOM 88 O 1 1 5.263 6.708 7.589 0.00 0.00 O +ATOM 89 H 1 1 4.318 7.082 7.707 0.00 0.00 H +ATOM 90 H 1 1 5.455 7.057 6.733 0.00 0.00 H +ATOM 91 O 1 1 3.507 6.721 1.020 0.00 0.00 O +ATOM 92 H 1 1 4.097 7.303 0.607 0.00 0.00 H +ATOM 93 H 1 1 3.586 5.984 0.419 0.00 0.00 H +ATOM 94 O 1 1 5.455 9.196 5.888 0.00 0.00 O +ATOM 95 H 1 1 5.473 9.602 6.758 0.00 0.00 H +ATOM 96 H 1 1 4.549 9.238 5.484 0.00 0.00 H +END diff --git a/examples/pi-mts-rpc/environment.yml b/examples/pi-mts-rpc/environment.yml new file mode 100644 index 00000000..1b93d895 --- /dev/null +++ b/examples/pi-mts-rpc/environment.yml @@ -0,0 +1,14 @@ +channels: + - conda-forge +dependencies: + - python=3.11 + - pip + - gfortran + - make + - pip: + - numpy + - ase==3.22.1 + - chemiscope>=0.8 + - git+https://github.com/i-pi/i-pi.git@main#egg=ipi + - ipi + - matplotlib diff --git a/examples/pi-mts-rpc/mts-rpc.py b/examples/pi-mts-rpc/mts-rpc.py new file mode 100644 index 00000000..1026a502 --- /dev/null +++ b/examples/pi-mts-rpc/mts-rpc.py @@ -0,0 +1,717 @@ +""" +Multiple time stepping and ring-polymer contraction +=================================================== + +:Authors: Davide Tisi `@DavideTisi `_ and + Michele Ceriotti `@ceriottm `_ + + +This notebook provides an introduction to multiple time stepping and +ring polymer contraction, two closely-related techniques, +that are geared towards reducing the cost of calculations by separating +slowly-varying (and computationally-expensive) components of the potential +energy from the fast-varying (and hopefully cheaper) ones. + +The first, `multiple time stepping` or MTS, is a well-established technique +to avoid evaluating the slowly-varying components at every time step of a MD simulation. +It was first introduced in +`M. Tuckerman, B. J. Berne, and G. J. Martyna, +JCP 97(3), 1990 (1992) `_ +and can be applied to classical simulations, +typically to avoid the evaluation of long-range electrostatics in classical +empirical potentials. + +The second, named `ring polymer contraction`, was first introduced in +`T. E. Markland and D. E. Manolopoulos, JCP 129(2), +024105 (2008) `_ and +can be seen as performing a similar simplification `in imaginary time`, +evaluating the expensive part of the potential on a smaller number +of PI replicas. + +The techniques can be combined, which reduces even further the +computational effort, which is the case we demonstrate in this +notebook. This dual approach was introduced in +`V. Kapil, J. VandeVondele, and M. Ceriotti, JCP 144(5), +054111 (2016) <(https://doi.org/10.1063/1.4941091>`_ +and `O. Marsalek and T. E. Markland, JCP 144(5), +(2016) `_. +It is worth stressing that MTS and/or RPC can also be used very conveniently +together with machine-learning potentials +(see e.g. `V. Kapil, J. Behler, and M. Ceriotti, JCP 145(23), +234103 (2016 `_ or +`K. Rossi et al., JCTC 16(8), 5139 (2020) +`_ +for early applications). + +If you need an introduction to path integral simulations, +or to the use of `i-PI `_, which is the +software which will be used to perform simulations, you can see +`this introductory recipe +`_. +""" + +import os +import subprocess +import time +import warnings + +import chemiscope +import ipi +import matplotlib.pyplot as plt +import numpy as np + + +if hasattr(__import__("builtins"), "get_ipython"): + get_ipython().run_line_magic("matplotlib", "inline") # noqa: F821 + +# sphinx_gallery_thumbnail_number = 2 + +# %% +# Multiple time stepping in real and imaginary time +# ------------------------------------------------- +# +# The core underlying assumption in these techniques is that the potential +# can be decomposed into a short-range/fast-varying/computationally-cheap +# part :math:`V_\mathrm{sr}` and a long-range/slow-varying/computationally-expensive +# part :math:`V_\mathrm{lr}`. This is usually written as +# :math:`V=V_\mathrm{sr} +V_\mathrm{lr}`, although in many cases :math:`V_\mathrm{sr}` +# is a cheap approximation of the potential, and :math:`V_\mathrm{lr}` +# is taken to be the difference between this potential and the full one. +# +# .. figure:: pimd-mts-pots.png +# :align: center +# :width: 500px +# +# A smooth and rough potential components combine to form the total potential +# energy function used in a simulation. + +# %% +# The way this is realized in practice is by splitting the propagation of +# Hamilton's equations into an inner loop that uses the fast/cheap force, +# and an outer loop that applies the slow force, using a larger time step +# (and therefore giving a larger "kick"). +# +# .. math:: +# +# \begin{split} +# &p \leftarrow p + f_\mathrm{lr} \, dt/2 \\ +# &\left. +# \begin{split} +# &p \leftarrow p + f_\mathrm{sr} \, dt/2M \\ +# &q \leftarrow q + p \, dt/M \\ +# &p \leftarrow p + f_\mathrm{sr} \, dt/2M \\ +# \end{split} +# \right\} M\ \mathrm{times}\\ +# &p \leftarrow p + f_\mathrm{lr} \, dt/2 \\ +# \end{split} +# +# .. figure:: pimd-mts-integrator.png +# :align: center +# :width: 500px +# +# Schematic representation of the application of slow and fast +# forces in a multiple time step molecular dynamics algorithm +# +# This approach can (and usually is) complemented by aggressive +# thermostatting, which helps stabilize the dynamics in the +# limit of large :math:`M`. +# For a detailed discussion on how thermostatting aids +# in this context, see: +# `J. A. Morrone, T. E. Markland, M. Ceriotti, and B. J. Berne, +# JCP 134(1), 14103 (2011) `_ + +# %% +# The idea behind ring-polymer contraction is very similar: +# it is unnecessary to evaluate on a very fine-grained discretization +# of the path integral components of the potential that are slowly-varying. +# +# .. image:: pimd-mts-rpc.png +# :align: center +# :width: 500px +# +# As shown in the figure below, ring-polymer contraction +# is realized by computing a Fourier interpolation of the bead positions, +# :math:`\tilde{\mathbf{q}}^{(k)}`, and then evaluating the total potential +# that enters the ring-polymer Hamiltonian as +# +# .. math:: +# +# V(\mathbf{q}) = \sum_{k=1}^P V_\mathrm{sr}(\mathbf{q}^{(k)}) + \frac{P}{P'} +# \sum_{k=1}^{P'} V_\mathrm{lr}(\tilde{\mathbf{q}}^{(k)}) +# +# where :math:`P` and :math:`P'` indicate the full +# and contracted discretizations of the path. +# +# .. figure:: rpc-4.png +# :align: center +# :width: 350px +# +# An example of the successive degrees of contraction of a ring polymer +# containing 16 beads (gray), interpolated down to 8 and 4. +# + +# %% +# A reference calculation using PIGLET +# ------------------------------------ +# +# First, let's run a reference calculation without RPC or MTS. +# These calculations will be performed using the q-TIP4P/f water model +# (`S. Habershon, T. E. Markland, and D. E. Manolopoulos, JCP 131(2), +# 24501 (2009) `_) +# that contains a Morse-potential anharmonic intra-molecular potential, +# and an inter-molecular potential based on a Lennard-Jones term and a 4-point +# electrostatic model (the venerable TIP4P idea). +# It is fitted to reproduce experimental properties of water +# `when performing PIMD calculations` +# and it captures nicely several subtle effects while being cheap and easy-to-implement. +# The input for this run is `h2o_pimd.xml`, and we will use the +# `-m qtip4pf` option of `i-pi-driver` to compute the appropriate potential. +# To make simulations run quickly, we use a small box containing only 32 +# water molecules, and use a `PIGLET` thermostat that yields converged +# quantum properties with only 8 beads (cf. +# `M. Ceriotti and D. E. Manolopoulos, Phys. Rev. Lett. 109(10), 100604 +# (2012) `_, +# and also this `introduction to the PIGLET method +# `_). +# For simplicity, we use the constant-volume `NVT` ensemble, but you can easily +# modify the input to perform constant-pressure simulations. +# +# The important parts of the simulation +# - which we will modify to run a RPC/MTS simulation - +# are the definition of the forcefield socket +# + +# Open and read the XML file +with open("data/h2o_pimd.xml", "r") as file: + lines = file.readlines() + +for line in lines[7:10]: + print(line, end="") + +# %% +# +# The important parts of the simulation +# - which we will modify to run a RPC/MTS simulation - +# are the definition of the forcefield socket, +# with the corresponding force definition + + +for line in lines[7:10]: + print(line, end="") + +print("\n[...]\n") + +for line in lines[15:18]: + print(line, end="") + +# %% +# ... the definition of the number of beads + +print(lines[11], end="") + +# %% +# ... and the time step + +print(lines[23], end="") + +# %% +# The `` section contains PIGLET parameters generated using the +# `GLE4MD website +# `_ +# . + +# %% +# Installing the Python driver +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# i-PI comes with a FORTRAN driver, which however has to be installed +# from source. We use a utility function to compile it. Note that this requires +# a functioning build system with `gfortran` and `make`. + +ipi.install_driver() + +# %% +# Launch the i-PI simulation +# ~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# We are going to launch i-PI from here, and put it in background +# and detach the processes from the +# jupyter instance, so we can continue with the notebook. +# On the the command line, this amounts to launching +# +# .. code-block:: bash +# +# PYTHONUNBUFFERED=1 i-pi data/h2o_pimd.xml &> log.pimd & +# sleep 5 +# for i in `seq 1 4`; do +# i-pi-driver -u -a qtip4pf -m qtip4pf -v &> log.driver.$i & +# done +# +# From a Python script, one can launch both i-PI and the driver +# using the ``subprocess`` module: + +ipi_process = None +if not os.path.exists("pimd.out"): + ipi_process = subprocess.Popen(["i-pi", "data/h2o_pimd.xml"]) + time.sleep(5) # wait for i-PI to start + lmp_process = [ + subprocess.Popen(["i-pi-driver", "-u", "-a", "qtip4pf", "-m", "qtip4pf"]) + for i in range(4) + ] + +# %% +# If you run this in a notebook, you can go ahead and start loading +# output files *before* i-PI and the driver have finished running, by +# skipping this cell + +if ipi_process is not None: + ipi_process.wait() + for i in range(4): + lmp_process[i].wait() + +# %% +# Multiple time stepping +# ---------------------- +# +# Let's now run a classical MD simulation, with and without multiple time stepping. +# We use very conservative parameters and a weak thermostat, to be able to see the +# difference in time scales between the full and short-range parts of the potential. +# Let's first run a classical MD for reference. The input file is `data/h2o_md.xml`, +# nothing exciting to see there. +# The bash command this time would be: +# +# .. code-block:: bash +# +# PYTHONUNBUFFERED=1 i-pi data/h2o_md.xml &> log.md & +# sleep 5 +# i-pi-driver -u -a qtip4pf-md -m qtip4pf -v &> log.driver.$i & +# +# From Python: + +ipi_process = None +if not os.path.exists("md.out"): + ipi_process = subprocess.Popen(["i-pi", "data/h2o_md.xml"]) + time.sleep(5) # wait for i-PI to start + lmp_process = subprocess.Popen( + ["i-pi-driver", "-u", "-a", "qtip4pf-md", "-m", "qtip4pf"] + ) + +# %% +# If you run this in a notebook, you can go ahead and start loading +# output files *before* i-PI and the driver have finished running, by +# skipping this cell + +if ipi_process is not None: + ipi_process.wait() + lmp_process.wait() + +# %% +# Let's have a look at `h2o_mts.xml`, that provides the parameters +# of the MTS calculation. We define two `ffsocket` sections: +# one will be used with the `qtip4pf` driver and the other with `qtip4pf-sr`. +# Note the different names of the sockets (that have to match the `-a` +# option in the invocation of the driver) and the internal labels that +# will be referred to in the `` section. + +with open("data/h2o_mts.xml", "r") as file: + lines = file.readlines() + +for line in lines[7:13]: + print(line, end="") + +# %% +# Each `` block contains a `` section. +# This provides a list of weights that determine which force +# components are active at each level of the MTS hierarchy. +# These weights indicate that the smooth part (full minus short-range) +# is active in the outer loop, and the short-range part is active in the inner +# loop. Note that the implementation is smart enough to re-use the short-range +# potential computed in the inner loop, multiplying it with a weight of -1 to +# compute :math:`V_\mathrm{lr}=V-V_\mathrm{sr}`. + +for line in lines[18:26]: + print(line, end="") + +# %% +# It remains to specify the MTS setup. We use an outer time step of 2 fs +# (four times the typical time step for room temperature water) +# and a splitting with `M=4`, so the fast forces are computed every 0.5 fs. + +for line in lines[31:33]: + print(line, end="") + +# %% +# One final detail, is that we print out the two components of the potential. +# This is achieved adding `pot_component{units}(idx)` to the `` field. +# The index corresponds to the order by which the `` +# components are specified in the `` list. +# NB: the time step in i-PI is the outer time step, +# so it is not possible to access directly the value of +# the potential for intermediate inner steps + +for line in lines[2]: + print(line, end="") + +# %% +# Let's get the simulation going. Notice that we need two drivers, +# computing the short and full potentials, +# connected to the proper `` on the i-PI side +# The correct `bash` command are: +# +# .. code-block:: bash +# +# PYTHONUNBUFFERED=1 i-pi data/h2o_mts.xml &> log.mts & +# sleep 5 +# i-pi-driver -u -a qtip4pf-mts-full -m qtip4pf &> log.driver.full & +# i-pi-driver -u -a qtip4pf-mts-sr -m qtip4pf-sr &> log.driver.sr & +# wait +# +# that involve launching both short-range and full potential models. +# Similarly, in Python: + +ipi_process = None +if not os.path.exists("mts.out"): + ipi_process = subprocess.Popen(["i-pi", "data/h2o_mts.xml"]) + time.sleep(5) # wait for i-PI to start + lmp_process0 = subprocess.Popen( + ["i-pi-driver", "-u", "-a", "qtip4pf-mts-full", "-m", "qtip4pf"] + ) + lmp_process1 = subprocess.Popen( + ["i-pi-driver", "-u", "-a", "qtip4pf-mts-sr", "-m", "qtip4pf-sr"] + ) + +# %% +# If you run this in a notebook, you can go ahead and start loading +# output files *before* i-PI and the drivers have finished running, by +# skipping this cell + +if ipi_process is not None: + ipi_process.wait() + lmp_process0.wait() + lmp_process1.wait() + +# %% +# Analysis of results +# ~~~~~~~~~~~~~~~~~~~ +# +# After having finished to run all simulation (might take a few minutes) +# we can load the outputs + +md_output, md_desc = ipi.read_output("md.out") +mts_output, mts_desc = ipi.read_output("mts.out") + +# %% +# We can start looking at the behavior of the two components of the potential. +# Even though this is hardly the best slow/fast mode splitting (usually +# one also includes the Lennard-Jones and short-range Coulomb components +# in :math:`V_\mathrm{sr}`) +# it is clear that the intra-molecular potential varies faster than +# the non-bonded components. +# Running the whole simulation with a 2 fs time step would lead to major +# instabilities in the trajectory. +# + +fig, ax = plt.subplots(1, 1, constrained_layout=True, figsize=(5, 2.5)) +ax.plot( + mts_output["time"], + mts_output["pot_component(0)"] + - mts_output["pot_component(1)"] + - (mts_output["pot_component(0)"] - mts_output["pot_component(1)"])[50], + "b-", + label=r"$V_\mathrm{lr}$", +) +ax.plot( + mts_output["time"], + mts_output["pot_component(1)"] - mts_output["pot_component(1)"][50], + "r-", + label=r"$V_\mathrm{sr}$", +) +ax.set_xlabel(r"$t$ / ps") +ax.set_ylabel(r"$U$ / eV") +ax.set_xlim(0.1, 0.3) +ax.set_ylim(-1, 1) +ax.legend() + +# %% +# This can be made clearer by computing the autocorrelation function, +# and seeing that the long-range term is that showing a slow decay, while +# the short-range one decays quickly to zero, rapidly oscillating + + +# a simple wrapper to np.correlate to evaluate the autocorrelation function +def autocorrelate(x, xbar=None, normalize=True): + """Computes the autocorrelation function of a trajectory. + It can be given the exact average as a parameter""" + + if xbar is None: + xbar = x.mean() + acf = np.correlate(x - xbar, x - xbar, mode="same") + return acf[len(x) // 2 :] / (((x - xbar) * (x - xbar)).sum() if normalize else 1) + + +acf_vsr = autocorrelate(mts_output["pot_component(1)"][50:]) +acf_vlr = autocorrelate( + (mts_output["pot_component(0)"] - mts_output["pot_component(1)"])[50:] +) + +fig, ax = plt.subplots(1, 1, constrained_layout=True, figsize=(5, 2.5)) +ax.plot( + mts_output["time"][: len(acf_vsr)], + acf_vsr, + "r-", + label=r"$V_\mathrm{sr}$", +) +ax.plot( + mts_output["time"][: len(acf_vlr)], + acf_vlr, + "b-", + label=r"$V_\mathrm{lr}$", +) +ax.legend() +ax.set_xlabel(r"$t$ / ps") +ax.set_ylabel(r"$c_{VV}$") + +# %% +# The equilibration is slow due to the weak thermostat, but the two +# trajectories both equilibrate to 300 K. The difference in potential +# energy is not significant, because of the slow convergence of +# the potential energy in liquid water. + +fig, ax = plt.subplots(1, 2, constrained_layout=True, figsize=(8, 3)) +ax[1].plot(mts_output["time"], mts_output["potential"], "b-", label="MTS") +ax[1].plot(md_output["time"], md_output["potential"], "c.", label="MD") +ax[1].set_xlabel("t / ps") +ax[1].set_ylabel("U / eV") +ax[0].plot(mts_output["time"], mts_output["temperature"], "r-", label="MTS") +ax[0].plot(md_output["time"], md_output["temperature"], "m.", label="MD") +ax[0].set_xlabel("t / ps") +ax[0].set_ylabel("T / K") +ax[0].legend() +ax[1].legend() + +# %% +# RPC/MTS simulation +# ------------------ +# +# Now let's get to the full beast. The input for the RCP/MTS simulation is +# `h2o_rpc-mts.xml`. The setup is rather subtle, +# because we will use the F90 driver that implements the full +# q-TIP4P/f potential (with `-m qtip4pf`) and the intra-molecular part +# (with `-m qtip4pf-sr`). This means that we will have to compute +# the slowly-varying part as :math:`V_\mathrm{full}-V_\mathrm{sr}`. +# Let's look at the key sections in the input file. Much as for the +# MTS setup, the simulation includes two `ffsocket` sections +# - one will be used with the `qtip4pf` driver and the other with `qtip4pf-sr`. + +# Open and read the XML file +with open("data/h2o_rpc-mts.xml", "r") as file: + lines = file.readlines() + +for line in lines[7:13]: + print(line, end="") + +# %% +# The `` section is where the magic happens. +# There are three components here. +# The first computes a full `qtip4pf` potential, +# and is computed on a contraction to 2 beads, as +# indicated by the `nbeads='2'` attribute. +# A second component is also evaluated on a +# contracted ring polymer, and is used to subtract +# the short-range component to leave the (smoother) long-range part. +# This is achieved linking to the `qtip4pf-sr` forcefield, +# and using the attribute `weight='-1'` to subtract the +# term from the total potential. +# Finally, there is another `qtip4pf-sr` component, +# that is evaluated on the full `nbeads='8'` ring polymer. +# The result is a RPC setup in which the smooth +# (Lennard-Jones + Coulomb) part of the potential +# is contracted on 2 replicas, and the fast part is +# computed on 8 replicas, which (thanks to the use of +# a PIGLET thermostat) is enough to achieve a good +# degree of convergence for water at 300 K. +# +# Each `` block also contains a `` section, +# which is different from that used for the MTS simulation, because +# we now have a separate force component to subtract from the full +# potential, which is computed on the contracted ring polymer. +# + +for line in lines[18:29]: + print(line, end="") + +# %% +# It remains to specify the MTS setup. In this case, +# we use an outer time step of 1 fs (twice the typical +# time step for room temperature water) and a splitting +# with `M=2`, so the fast forces are computed every 0.5 +# fs. Compared to the classical MTS setup, we need a +# finer-grained integration because of the ring-polymer +# dynamics and because of the use of PIGLET, that requires +# a short time step to integrate accurately the Generalized +# Langevin equation. Still, even this splitting reduces by a +# factor of 2 the evaluations of the long-range potential. +# + +for line in lines[34:36]: + print(line, end="") + +# %% +# Finally, we are ready to run! We launch i-PI, and then +# execute two instances of the full potential +# (using `-m qtip4pf` and the correct socket address) +# and four instances of the short-range component, +# that is evaluated on the full ring polymer. +# This will take some time... +# The correct `bash` commands are: +# +# .. code-block:: bash +# +# PYTHONUNBUFFERED=1 i-pi h2o_rpc-mts.xml &> log.rpc-mts & +# sleep 5 +# for i in `seq 1 2`; do +# i-pi-driver -u -a qtip4pf-full -m qtip4pf -v &> log.driver-full.$i & +# done +# for i in `seq 1 4`; do +# i-pi-driver -u -a qtip4pf-sr -m qtip4pf-sr -v &> log.driver-sr.$i & +# done +# wait +# + +ipi_process = None +if not os.path.exists("rpc-mts.out"): + ipi_process = subprocess.Popen(["i-pi", "data/h2o_rpc-mts.xml"]) + time.sleep(5) # wait for i-PI to start + lmp_process0 = [ + subprocess.Popen(["i-pi-driver", "-u", "-a", "qtip4pf-full", "-m", "qtip4pf"]) + for i in range(2) + ] + lmp_process1 = [ + subprocess.Popen(["i-pi-driver", "-u", "-a", "qtip4pf-sr", "-m", "qtip4pf-sr"]) + for i in range(4) + ] + +# %% +# If you run this in a notebook, you can go ahead and start loading +# output files *before* i-PI and the drivers have finished running, by +# skipping this cell + +if ipi_process is not None: + ipi_process.wait() + lmp_process0[0].wait() + lmp_process0[1].wait() + for i in range(4): + lmp_process1[i].wait() + +# %% +# Analysis of results +# ~~~~~~~~~~~~~~~~~~~ +# +# Let's read the results from the reference and RPC/MTS +# simulations and analyze them +# + +pimd_output, pimd_desc = ipi.read_output("pimd.out") +rpcmts_output, rpcmts_desc = ipi.read_output("rpc-mts.out") + +# %% +# Let's start looking at the long-range/contracted and short-range components +# of the potential. Here the long-range part is the sum of the first two components +# of the potential, since the second enters with a negative weight. +# We don't see a clear time-scale separation here, because of the very +# aggressive PIGLET thermostat, that adds noise on top of the physical dynamics. +# This is not a major issue, because it only affects the dynamics of the momenta, +# but it means we cannot easily check for time scale separation +# when using advanced thermostatting schemes. +# + +fig, ax = plt.subplots(1, 1, constrained_layout=True, figsize=(5, 2.5)) +ax.plot( + rpcmts_output["time"], + (rpcmts_output["pot_component(0)"] - rpcmts_output["pot_component(1)"]) + - (rpcmts_output["pot_component(0)"] - rpcmts_output["pot_component(1)"])[10], + "b-", + label=r"$V_{\mathrm{lr}}$", +) +ax.plot( + rpcmts_output["time"], + rpcmts_output["pot_component(2)"] - rpcmts_output["pot_component(2)"][10], + "r-", + label=r"$V_{\mathrm{sr}}$", +) +ax.set_xlabel("t / ps") +ax.set_ylabel("U / eV") +ax.set_xlim(1.0, 1.5) +ax.set_ylim(-2, 2) +ax.legend() + +# %% +# Simulations reach equilibrium faster than for the (weakly thermostatted) +# classical simulation, and even though the agreement between PIMD and the +# RPC+MTS run is not perfect, it is very good, +# in comparison with the major discrepancy between classical and quantum averages. +# + +fig, ax = plt.subplots(1, 2, constrained_layout=True, figsize=(8, 3)) +ax[0].plot(md_output["time"], md_output["potential"], "b-", label="MD") +ax[0].plot(pimd_output["time"], pimd_output["potential"], "r-", label="PIMD") +ax[0].plot(rpcmts_output["time"], rpcmts_output["potential"], "m.", label="RPC-MTS") +ax[0].set_xlabel("t / ps") +ax[0].set_ylabel("U / eV") +ax[1].plot(md_output["time"], md_output["kinetic_md"], "b-", label="MD") +ax[1].plot(pimd_output["time"], pimd_output["kinetic_cv"], "r-", label="PIMD") +ax[1].plot(rpcmts_output["time"], rpcmts_output["kinetic_cv"], "m.", label="RPC-MTS") +ax[1].set_xlabel("t / ps") +ax[1].set_ylabel("K / eV") +ax[0].legend() + +# %% +# RPC+MTS simulations generate +# a distribution of structures at the highest path integral +# resolution, and can be used to compute all sorts of +# structural properties. +# + +# loads structures, discarding unused atom properties +warnings.filterwarnings("ignore", ".*residuenumbers array.*") +pi_frames = [ipi.read_trajectory("rpc-mts.pos_" + str(i) + ".xyz") for i in range(8)] +frames = [] +for idx_f in range(len(pi_frames[0])): + f = pi_frames[0][idx_f] + for k in range(1, 8): + f += pi_frames[k][idx_f] + f.info = {} + f.arrays = {"positions": f.positions, "numbers": f.numbers} + frames.append(f) + + +chemiscope.show( + frames=frames, + properties={ + "t": { + "values": rpcmts_output["time"][::25], + "units": "ps", + "target": "structure", + }, + "U": { + "values": rpcmts_output["potential"][::25], + "units": "eV", + "target": "structure", + }, + "K": { + "values": rpcmts_output["kinetic_cv"][::25], + "units": "eV", + "target": "structure", + }, + }, + settings=chemiscope.quick_settings( + x="t", + y="K", + color="U", + structure_settings={ + "bonds": False, + "unitCell": True, + }, + trajectory=True, + ), +) diff --git a/examples/pi-mts-rpc/pimd-mts-integrator.png b/examples/pi-mts-rpc/pimd-mts-integrator.png new file mode 100644 index 00000000..3028cdeb Binary files /dev/null and b/examples/pi-mts-rpc/pimd-mts-integrator.png differ diff --git a/examples/pi-mts-rpc/pimd-mts-pots.png b/examples/pi-mts-rpc/pimd-mts-pots.png new file mode 100644 index 00000000..09c4fddc Binary files /dev/null and b/examples/pi-mts-rpc/pimd-mts-pots.png differ diff --git a/examples/pi-mts-rpc/pimd-mts-rpc copy.png b/examples/pi-mts-rpc/pimd-mts-rpc copy.png new file mode 100644 index 00000000..5b4b1afe Binary files /dev/null and b/examples/pi-mts-rpc/pimd-mts-rpc copy.png differ diff --git a/examples/pi-mts-rpc/pimd-mts-rpc.png b/examples/pi-mts-rpc/pimd-mts-rpc.png new file mode 100644 index 00000000..5b4b1afe Binary files /dev/null and b/examples/pi-mts-rpc/pimd-mts-rpc.png differ diff --git a/examples/pi-mts-rpc/rpc-4.png b/examples/pi-mts-rpc/rpc-4.png new file mode 100644 index 00000000..323f545e Binary files /dev/null and b/examples/pi-mts-rpc/rpc-4.png differ