From 3b1cef246c9f57be568de09a4ea256079e618029 Mon Sep 17 00:00:00 2001 From: KuangYu Date: Sat, 21 Oct 2023 17:19:20 +0800 Subject: [PATCH 01/14] Add sGNN generator fixed a few problems in ADMPPmeGenerator --- dmff/api/graph.py | 2 +- dmff/generators/__init__.py | 3 +- dmff/generators/admp.py | 34 +++++--- dmff/generators/ml.py | 74 +++++++++++++++++ dmff/operators/templatetype.py | 5 ++ dmff/sgnn/gnn.py | 76 +++++++++--------- dmff/sgnn/graph.py | 14 ++++ examples/classical/test_xml.py | 3 +- examples/sgnn/model1.pickle | Bin 17100 -> 26 bytes examples/sgnn/peg.xml | 48 +++++++++++ examples/sgnn/peg4.pdb | 64 +-------------- examples/sgnn/ref_out | 42 ++-------- examples/sgnn/residues.xml | 37 +++++++++ examples/sgnn/run.py | 67 ++++++++------- examples/sgnn/{ => test_backend}/model.pickle | Bin examples/sgnn/test_backend/model1.pickle | Bin 0 -> 17100 bytes examples/sgnn/{ => test_backend}/model1.pth | Bin .../sgnn/{ => test_backend}/mse_testing.xvg | 0 examples/sgnn/test_backend/peg4.pdb | 63 +++++++++++++++ .../sgnn/{ => test_backend}/pth2pickle.py | 0 examples/sgnn/test_backend/ref_out | 37 +++++++++ examples/sgnn/test_backend/run.py | 45 +++++++++++ .../sgnn/{ => test_backend}/set_test.pickle | Bin .../{ => test_backend}/set_test_lowT.pickle | Bin examples/sgnn/{ => test_backend}/test.py | 0 .../sgnn/{ => test_backend}/test_data.xvg | 0 examples/sgnn/{ => test_backend}/train.py | 0 examples/water_fullpol/monopole_nonpol/run.py | 11 +-- .../water_fullpol/monopole_polarizable/run.py | 11 +-- .../water_fullpol/quadrupole_nonpol/run.py | 10 +-- examples/water_fullpol/run.py | 10 +-- tests/data/admp_mono.xml | 34 ++++++++ tests/data/admp_nonpol.xml | 40 +++++++++ tests/data/peg4.pdb | 64 +++++++++++++++ tests/data/peg_sgnn.xml | 48 +++++++++++ tests/data/sgnn_model.pickle | Bin 0 -> 17100 bytes tests/test_admp/test_compute.py | 54 ++++++++++++- tests/test_sgnn/test_energy.py | 51 ++++++++++++ 38 files changed, 740 insertions(+), 207 deletions(-) create mode 100644 dmff/generators/ml.py mode change 100644 => 120000 examples/sgnn/model1.pickle create mode 100644 examples/sgnn/peg.xml mode change 100644 => 120000 examples/sgnn/peg4.pdb create mode 100644 examples/sgnn/residues.xml rename examples/sgnn/{ => test_backend}/model.pickle (100%) create mode 100644 examples/sgnn/test_backend/model1.pickle rename examples/sgnn/{ => test_backend}/model1.pth (100%) rename examples/sgnn/{ => test_backend}/mse_testing.xvg (100%) create mode 100644 examples/sgnn/test_backend/peg4.pdb rename examples/sgnn/{ => test_backend}/pth2pickle.py (100%) create mode 100644 examples/sgnn/test_backend/ref_out create mode 100755 examples/sgnn/test_backend/run.py rename examples/sgnn/{ => test_backend}/set_test.pickle (100%) rename examples/sgnn/{ => test_backend}/set_test_lowT.pickle (100%) rename examples/sgnn/{ => test_backend}/test.py (100%) rename examples/sgnn/{ => test_backend}/test_data.xvg (100%) rename examples/sgnn/{ => test_backend}/train.py (100%) create mode 100644 tests/data/admp_mono.xml create mode 100644 tests/data/admp_nonpol.xml create mode 100644 tests/data/peg4.pdb create mode 100644 tests/data/peg_sgnn.xml create mode 100644 tests/data/sgnn_model.pickle create mode 100644 tests/test_sgnn/test_energy.py diff --git a/dmff/api/graph.py b/dmff/api/graph.py index 6e1ccd6c0..64e9af10a 100644 --- a/dmff/api/graph.py +++ b/dmff/api/graph.py @@ -13,7 +13,7 @@ def matchTemplate(graph, template): if graph.number_of_nodes() != template.number_of_nodes(): - print("Node with different number of nodes.") + # print("Node with different number of nodes.") return False, {}, {} def match_func(n1, n2): diff --git a/dmff/generators/__init__.py b/dmff/generators/__init__.py index 7ddb93293..6f37cf7f0 100644 --- a/dmff/generators/__init__.py +++ b/dmff/generators/__init__.py @@ -1,2 +1,3 @@ from .classical import * -from .admp import * \ No newline at end of file +from .admp import * +from .ml import * diff --git a/dmff/generators/admp.py b/dmff/generators/admp.py index bf1cce2e0..cada68fe1 100644 --- a/dmff/generators/admp.py +++ b/dmff/generators/admp.py @@ -822,15 +822,28 @@ def __init__(self, ffinfo: dict, paramset: ParamSet): kzs.append(kz) # record multipoles c0.append(float(attribs["c0"])) - dX.append(float(attribs["dX"])) - dY.append(float(attribs["dY"])) - dZ.append(float(attribs["dZ"])) - qXX.append(float(attribs["qXX"])) - qYY.append(float(attribs["qYY"])) - qZZ.append(float(attribs["qZZ"])) - qXY.append(float(attribs["qXY"])) - qXZ.append(float(attribs["qXZ"])) - qYZ.append(float(attribs["qYZ"])) + if self.lmax >= 1: + dX.append(float(attribs["dX"])) + dY.append(float(attribs["dY"])) + dZ.append(float(attribs["dZ"])) + else: + dX.append(0.0) + dY.append(0.0) + dZ.append(0.0) + if self.lmax >= 2: + qXX.append(float(attribs["qXX"])) + qYY.append(float(attribs["qYY"])) + qZZ.append(float(attribs["qZZ"])) + qXY.append(float(attribs["qXY"])) + qXZ.append(float(attribs["qXZ"])) + qYZ.append(float(attribs["qYZ"])) + else: + qXX.append(0.0) + qYY.append(0.0) + qZZ.append(0.0) + qXY.append(0.0) + qXZ.append(0.0) + qYZ.append(0.0) mask = 1.0 if "mask" in attribs and attribs["mask"].upper() == "TRUE": mask = 0.0 @@ -1146,6 +1159,7 @@ def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutof pme_force = ADMPPmeForce(box, axis_types, axis_indices, rc, self.ethresh, self.lmax, self.lpol, lpme, self.step_pol) + self.pme_force = pme_force def potential_fn(positions, box, pairs, params): positions = positions * 10 @@ -1181,4 +1195,4 @@ def getMetaData(self): return self._meta -_DMFFGenerators["ADMPPmeForce"] = ADMPPmeGenerator \ No newline at end of file +_DMFFGenerators["ADMPPmeForce"] = ADMPPmeGenerator diff --git a/dmff/generators/ml.py b/dmff/generators/ml.py new file mode 100644 index 000000000..afec8cee8 --- /dev/null +++ b/dmff/generators/ml.py @@ -0,0 +1,74 @@ +from ..api.topology import DMFFTopology +from ..api.paramset import ParamSet +from ..api.hamiltonian import _DMFFGenerators +from ..utils import DMFFException, isinstance_jnp +from ..utils import jit_condition +import numpy as np +import jax +import jax.numpy as jnp +import openmm.app as app +import openmm.unit as unit +import pickle + +from ..sgnn.graph import MAX_VALENCE, TopGraph, from_pdb +from ..sgnn.gnn import MolGNNForce, prm_transform_f2i + + +class SGNNGenerator: + def __init__(self, ffinfo: dict, paramset: ParamSet): + + self.name = "SGNNForce" + self.ffinfo = ffinfo + paramset.addField(self.name) + self.key_type = None + + self.file = self.ffinfo["Forces"][self.name]["meta"]["file"] + self.nn = int(self.ffinfo["Forces"][self.name]["meta"]["nn"]) + self.pdb = self.ffinfo["Forces"][self.name]["meta"]["pdb"] + + # load ML potential parameters + with open(self.file, 'rb') as ifile: + params = pickle.load(ifile) + + # convert to jnp array + for k in params: + params[k] = jnp.array(params[k]) + # set mask to all true + paramset.addParameter(params[k], k, field=self.name, mask=jnp.ones(params[k].shape)) + + # mask = jax.tree_util.tree_map(lambda x: jnp.ones(x.shape), params) + # paramset.addParameter(params, "params", field=self.name, mask=mask) + + + def getName(self) -> str: + return self.name + + def overwrite(self, paramset): + # do not use xml to handle ML potentials + # for ML potentials, xml only documents param file path + # so for ML potentials, overwrite function overwrites the file directly + with open(self.file, 'wb') as ofile: + pickle.dump(paramset[self.name], ofile) + return + + def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs): + self.G = from_pdb(self.pdb) + n_atoms = topdata.getNumAtoms() + self.model = MolGNNForce(self.G, nn=self.nn) + n_layers = self.model.n_layers + def potential_fn(positions, box, pairs, params): + # convert unit to angstrom + positions = positions * 10 + box = box * 10 + prms = prm_transform_f2i(params[self.name], n_layers) + return self.model.get_energy(positions, box, prms) + + self._jaxPotential = potential_fn + return potential_fn + + def getJaxPotential(self): + return self._jaxPotential + + +_DMFFGenerators["SGNNForce"] = SGNNGenerator + diff --git a/dmff/operators/templatetype.py b/dmff/operators/templatetype.py index f4b7802d8..ce18fdc3b 100644 --- a/dmff/operators/templatetype.py +++ b/dmff/operators/templatetype.py @@ -93,6 +93,11 @@ def match_all(self, topdata: DMFFTopology, templates): graph = self.generate_residue_graph(topdata, res) all_fail = True for ntemp, template in enumerate(templates): + # debug + # print(res) + # print(template) + # print(dir(template)) + # print('-------') is_matched, _, atype_dict = matchTemplate(graph, template) if is_matched: all_fail = False diff --git a/dmff/sgnn/gnn.py b/dmff/sgnn/gnn.py index 49a5ee985..403d36429 100755 --- a/dmff/sgnn/gnn.py +++ b/dmff/sgnn/gnn.py @@ -13,6 +13,39 @@ from jax import value_and_grad, vmap +def prm_transform_f2i(params, n_layers): + p = {} + for k in params: + p[k] = jnp.array(params[k]) + for i_nn in [0, 1]: + nn_name = 'fc%d' % i_nn + p['%s.weight' % nn_name] = [] + p['%s.bias' % nn_name] = [] + for i_layer in range(n_layers[i_nn]): + k_w = '%s.%d.weight' % (nn_name, i_layer) + k_b = '%s.%d.bias' % (nn_name, i_layer) + p['%s.weight' % nn_name].append(p.pop(k_w, None)) + p['%s.bias' % nn_name].append(p.pop(k_b, None)) + return p + + +def prm_transform_i2f(params, n_layers): + # transform format + p = {} + p['w'] = params['w'] + p['fc_final.weight'] = params['fc_final.weight'] + p['fc_final.bias'] = params['fc_final.bias'] + for i_nn in range(2): + nn_name = 'fc%d' % i_nn + for i_layer in range(n_layers[i_nn]): + p[nn_name + '.%d.weight' % + i_layer] = params[nn_name + '.weight'][i_layer] + p[nn_name + + '.%d.bias' % i_layer] = params[nn_name + + '.bias'][i_layer] + return p + + class MolGNNForce: def __init__(self, @@ -146,6 +179,7 @@ def message_pass(f_in, nb_connect, w, nn): return + def load_params(self, ifn): """ Load the network parameters from saved file @@ -160,32 +194,12 @@ def load_params(self, ifn): for k in params.keys(): params[k] = jnp.array(params[k]) # transform format - keys = list(params.keys()) - for i_nn in [0, 1]: - nn_name = 'fc%d' % i_nn - keys_weight = [] - keys_bias = [] - for k in keys: - if re.search(nn_name + '.[0-9]+.weight', k) is not None: - keys_weight.append(k) - elif re.search(nn_name + '.[0-9]+.bias', k) is not None: - keys_bias.append(k) - if len(keys_weight) != self.n_layers[i_nn] or len( - keys_bias) != self.n_layers[i_nn]: - sys.exit( - 'Error while loading GNN params, inconsistent inputs with the GNN structure, check your input!' - ) - params['%s.weight' % nn_name] = [] - params['%s.bias' % nn_name] = [] - for i_layer in range(self.n_layers[i_nn]): - k_w = '%s.%d.weight' % (nn_name, i_layer) - k_b = '%s.%d.bias' % (nn_name, i_layer) - params['%s.weight' % nn_name].append(params.pop(k_w, None)) - params['%s.bias' % nn_name].append(params.pop(k_b, None)) - # params[nn_name] - self.params = params + self.params = prm_transform_f2i(params, self.n_layers) return + + + def save_params(self, ofn): """ Save the network parameters to a pickle file @@ -196,18 +210,8 @@ def save_params(self, ofn): """ # transform format - params = {} - params['w'] = self.params['w'] - params['fc_final.weight'] = self.params['fc_final.weight'] - params['fc_final.bias'] = self.params['fc_final.bias'] - for i_nn in range(2): - nn_name = 'fc%d' % i_nn - for i_layer in range(self.n_layers[i_nn]): - params[nn_name + '.%d.weight' % - i_layer] = self.params[nn_name + '.weight'][i_layer] - params[nn_name + - '.%d.bias' % i_layer] = self.params[nn_name + - '.bias'][i_layer] + params = prm_transform_i2f(self.params, self.n_layers) with open(ofn, 'wb') as ofile: pickle.dump(params, ofile) return + diff --git a/dmff/sgnn/graph.py b/dmff/sgnn/graph.py index 93f6a809a..164a41f3f 100755 --- a/dmff/sgnn/graph.py +++ b/dmff/sgnn/graph.py @@ -1219,6 +1219,20 @@ def from_pdb(pdb): return TopGraph(list_atom_elems, bonds, positions=positions, box=box) +# def from_dmff_top(topdata): +# ''' +# Build the sGNN TopGraph object from a DMFFTopology object + +# Parameters +# ---------- +# topdata: DMFFTopology data +# ''' +# list_atom_elems = np.array([a.element for a in topdata.atoms()]) +# bonds = np.array([np.sort([b.atom1.index, b.atom2.index]) for b in topdata.bonds()]) +# n_atoms = len(list_atom_elems) +# return TopGraph(list_atom_elems, bonds, positions=jnp.zeros((n_atoms, 3)), box=jnp.eye(3)*10) + + def validation(): G = from_pdb('peg4.pdb') nn = 1 diff --git a/examples/classical/test_xml.py b/examples/classical/test_xml.py index e84c6d849..1affb8974 100755 --- a/examples/classical/test_xml.py +++ b/examples/classical/test_xml.py @@ -54,6 +54,7 @@ def getEnergyDecomposition(context, forcegroups): h = Hamiltonian("gaff-2.11.xml", "lig-prm.xml") pot = h.createPotential(pdb.topology, nonbondedMethod=app.NoCutoff) params = h.getParameters() + print(params) positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) positions = jnp.array(positions) @@ -82,4 +83,4 @@ def getEnergyDecomposition(context, forcegroups): print("Nonbonded:", nbE(positions, box, pairs, params)) etotal = pot.getPotentialFunc() - print("Total:", etotal(positions, box, pairs, params)) \ No newline at end of file + print("Total:", etotal(positions, box, pairs, params)) diff --git a/examples/sgnn/model1.pickle b/examples/sgnn/model1.pickle deleted file mode 100644 index 0c3959cd9d0ef4fac155676861aa6743acb96c99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17100 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 diff --git a/examples/sgnn/model1.pickle b/examples/sgnn/model1.pickle new file mode 120000 index 000000000..88c340bb9 --- /dev/null +++ b/examples/sgnn/model1.pickle @@ -0,0 +1 @@ +test_backend/model1.pickle \ No newline at end of file diff --git a/examples/sgnn/peg.xml b/examples/sgnn/peg.xml new file mode 100644 index 000000000..d3f41baaf --- /dev/null +++ b/examples/sgnn/peg.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/sgnn/peg4.pdb b/examples/sgnn/peg4.pdb deleted file mode 100644 index 2c11081d1..000000000 --- a/examples/sgnn/peg4.pdb +++ /dev/null @@ -1,63 +0,0 @@ -REMARK -CRYST1 50.000 50.000 50.000 90.00 90.00 90.00 P 1 1 -ATOM 1 C00 TER 1 -2.962 3.637 -1.170 -ATOM 2 H01 TER 1 -2.608 4.142 -0.296 -ATOM 3 H02 TER 1 -4.032 3.635 -1.171 -ATOM 4 O03 TER 1 -2.484 2.289 -1.168 -ATOM 5 C04 TER 1 -2.961 1.615 0.000 -ATOM 6 H05 TER 1 -2.604 0.606 0.000 -ATOM 7 H06 TER 1 -2.604 2.119 0.874 -ATOM 8 H07 TER 1 -4.031 1.615 0.000 -ATOM 9 C00 INT 2 -2.449 6.384 -3.596 -ATOM 10 H01 INT 2 -2.804 5.879 -4.470 -ATOM 11 H02 INT 2 -1.379 6.386 -3.595 -ATOM 12 O03 INT 2 -2.927 5.710 -2.429 -ATOM 13 C04 INT 2 -2.448 4.362 -2.427 -ATOM 14 H05 INT 2 -2.803 3.856 -3.301 -ATOM 15 H06 INT 2 -1.378 4.364 -2.425 -ATOM 16 C00 INT 3 -2.966 9.857 -4.767 -ATOM 17 H01 INT 3 -2.612 10.363 -3.893 -ATOM 18 H02 INT 3 -4.036 9.855 -4.768 -ATOM 19 O03 INT 3 -2.488 8.509 -4.765 -ATOM 20 C04 INT 3 -2.965 7.835 -3.597 -ATOM 21 H05 INT 3 -2.610 8.340 -2.724 -ATOM 22 H06 INT 3 -4.035 7.833 -3.599 -ATOM 23 C00 TER 4 -2.452 10.582 -6.024 -ATOM 24 H01 TER 4 -2.807 10.077 -6.898 -ATOM 25 H02 TER 4 -1.382 10.584 -6.022 -ATOM 26 O03 TER 4 -2.931 11.930 -6.026 -ATOM 27 C04 TER 4 -2.453 12.604 -7.193 -ATOM 28 H05 TER 4 -2.808 12.099 -8.067 -ATOM 29 H06 TER 4 -2.812 13.613 -7.194 -ATOM 30 H07 TER 4 -1.383 12.606 -7.192 -TER -CONECT 5 6 -CONECT 5 7 -CONECT 5 8 -CONECT 5 4 -CONECT 4 1 -CONECT 1 2 -CONECT 1 3 -CONECT 1 13 -CONECT 13 14 -CONECT 13 15 -CONECT 13 12 -CONECT 12 9 -CONECT 9 10 -CONECT 9 11 -CONECT 9 20 -CONECT 20 21 -CONECT 20 22 -CONECT 20 19 -CONECT 19 16 -CONECT 16 17 -CONECT 16 18 -CONECT 16 23 -CONECT 23 24 -CONECT 23 25 -CONECT 23 26 -CONECT 26 27 -CONECT 27 28 -CONECT 27 29 -CONECT 27 30 -END diff --git a/examples/sgnn/peg4.pdb b/examples/sgnn/peg4.pdb new file mode 120000 index 000000000..3c2bb15b6 --- /dev/null +++ b/examples/sgnn/peg4.pdb @@ -0,0 +1 @@ +test_backend/peg4.pdb \ No newline at end of file diff --git a/examples/sgnn/ref_out b/examples/sgnn/ref_out index 96bc1e62f..039b75427 100644 --- a/examples/sgnn/ref_out +++ b/examples/sgnn/ref_out @@ -1,37 +1,5 @@ -Energy: -21.588394 -Force -[[ 90.02814 2.0374336 35.38877 ] - [ -98.410095 -1.6865425 -30.066338 ] - [ 48.29245 31.675808 -43.390694 ] - [ 59.717484 -35.94304 50.599678 ] - [ -24.63767 218.36092 168.47194 ] - [ 43.258293 81.24294 -87.22882 ] - [ -67.66767 -17.780457 -5.6038494 ] - [ -22.928284 -302.96246 -123.14815 ] - [ 306.24683 -21.33866 -156.95491 ] - [ -4.715515 13.664352 -23.222527 ] - [-258.61304 -26.577957 85.58963 ] - [ -10.179474 106.21161 64.846924 ] - [-210.20566 -52.107193 58.04005 ] - [ 118.68472 -8.033836 -81.18109 ] - [ 44.02272 -34.508667 46.852356 ] - [-214.84206 115.90286 -227.59117 ] - [ 44.243336 -7.151741 26.06369 ] - [ 87.46674 38.574554 192.17757 ] - [ 27.345726 -58.87986 -44.685863 ] - [ -83.354774 -29.714098 214.93097 ] - [ -71.111305 34.880676 -77.53289 ] - [ 141.12836 49.28147 -97.597305 ] - [-220.25613 -134.58449 -23.567059 ] - [ 75.2593 58.432755 -63.99505 ] - [ 123.56466 -82.0066 94.63971 ] - [ 57.822285 17.07631 -53.788273 ] - [ -73.37115 0.50865555 16.240654 ] - [ 54.86133 97.53715 73.672806 ] - [ -23.997787 -73.92179 -13.749107 ] - [ 62.348286 21.809956 25.78839 ]] -Batched Energies: -[-21.653 -39.830627 9.988983 -48.292953 -32.959183 -49.7164 - -47.617737 -51.76767 -37.42943 -35.06703 -46.111145 -31.748154 - -6.939003 -5.1853027 -27.427734 -44.695312 -52.027237 3.1541443 - -72.8221 -28.33014 ] +-21.588284621154912 +[-21.58828462 -39.79334159 10.03889335 -48.22451239 -32.90970162 + -49.68568287 -47.58035178 -51.73860617 -37.39235277 -35.01933271 + -46.06621902 -31.69327601 -6.86739655 -5.13698524 -27.4031207 + -44.65301991 -52.00357797 3.1734038 -72.79081259 -28.27007722] diff --git a/examples/sgnn/residues.xml b/examples/sgnn/residues.xml new file mode 100644 index 000000000..aa78866eb --- /dev/null +++ b/examples/sgnn/residues.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/sgnn/run.py b/examples/sgnn/run.py index f87c887b5..14c7c1b84 100755 --- a/examples/sgnn/run.py +++ b/examples/sgnn/run.py @@ -1,45 +1,44 @@ #!/usr/bin/env python import sys -import numpy as np +import jax import jax.numpy as jnp -import jax.lax as lax -from jax import vmap, value_and_grad -import dmff -from dmff.sgnn.gnn import MolGNNForce -from dmff.utils import jit_condition -from dmff.sgnn.graph import MAX_VALENCE -from dmff.sgnn.graph import TopGraph, from_pdb +import openmm.app as app +import openmm.unit as unit +from dmff.api import Hamiltonian +from dmff.common import nblist +from jax import value_and_grad import pickle -import re -from collections import OrderedDict -from functools import partial - if __name__ == '__main__': - # params = load_params('benchmark/model1.pickle') - G = from_pdb('peg4.pdb') - model = MolGNNForce(G, nn=1) - model.load_params('model1.pickle') - E = model.get_energy(G.positions, G.box, model.params) + + H = Hamiltonian('peg.xml') + app.Topology.loadBondDefinitions("residues.xml") + pdb = app.PDBFile("peg4.pdb") + rc = 0.6 + # generator stores all force field parameters + pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, ethresh=5e-4) + + # construct inputs + positions = jnp.array(pdb.positions._value) + a, b, c = pdb.topology.getPeriodicBoxVectors() + box = jnp.array([a._value, b._value, c._value]) + # neighbor list + nbl = nblist.NeighborList(box, rc, pots.meta['cov_map']) + nbl.allocate(positions) + + + paramset = H.getParameters() + # params = paramset.parameters - with open('set_test_lowT.pickle', 'rb') as ifile: + with open('test_backend/set_test_lowT.pickle', 'rb') as ifile: data = pickle.load(ifile) - # pos = jnp.array(data['positions'][0:100]) - # box = jnp.tile(jnp.eye(3) * 50, (100, 1, 1)) - pos = jnp.array(data['positions'][0]) - box = jnp.eye(3) * 50 + # input in nm + pos = jnp.array(data['positions'][0:20]) / 10 + box = jnp.eye(3) * 5 - # energies = model.batch_forward(pos, box, model.params) - E, F = value_and_grad(model.get_energy, argnums=(0))(pos, box, model.params) - F = -F - print('Energy:', E) - print('Force') - print(F) + efunc = jax.jit(pots.getPotentialFunc()) + efunc_vmap = jax.vmap(jax.jit(pots.getPotentialFunc()), in_axes=(0, None, None, None), out_axes=0) + print(efunc(pos[0], box, nbl.pairs, paramset)) + print(efunc_vmap(pos, box, nbl.pairs, paramset)) - # test batch processing - pos = jnp.array(data['positions'][:20]) - box = jnp.tile(box, (20, 1, 1)) - E = model.batch_forward(pos, box, model.params) - print('Batched Energies:') - print(E) diff --git a/examples/sgnn/model.pickle b/examples/sgnn/test_backend/model.pickle similarity index 100% rename from examples/sgnn/model.pickle rename to examples/sgnn/test_backend/model.pickle diff --git a/examples/sgnn/test_backend/model1.pickle b/examples/sgnn/test_backend/model1.pickle new file mode 100644 index 0000000000000000000000000000000000000000..0c3959cd9d0ef4fac155676861aa6743acb96c99 GIT binary patch literal 17100 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 literal 0 HcmV?d00001 diff --git a/examples/sgnn/model1.pth b/examples/sgnn/test_backend/model1.pth similarity index 100% rename from examples/sgnn/model1.pth rename to examples/sgnn/test_backend/model1.pth diff --git a/examples/sgnn/mse_testing.xvg b/examples/sgnn/test_backend/mse_testing.xvg similarity index 100% rename from examples/sgnn/mse_testing.xvg rename to examples/sgnn/test_backend/mse_testing.xvg diff --git a/examples/sgnn/test_backend/peg4.pdb b/examples/sgnn/test_backend/peg4.pdb new file mode 100644 index 000000000..2c11081d1 --- /dev/null +++ b/examples/sgnn/test_backend/peg4.pdb @@ -0,0 +1,63 @@ +REMARK +CRYST1 50.000 50.000 50.000 90.00 90.00 90.00 P 1 1 +ATOM 1 C00 TER 1 -2.962 3.637 -1.170 +ATOM 2 H01 TER 1 -2.608 4.142 -0.296 +ATOM 3 H02 TER 1 -4.032 3.635 -1.171 +ATOM 4 O03 TER 1 -2.484 2.289 -1.168 +ATOM 5 C04 TER 1 -2.961 1.615 0.000 +ATOM 6 H05 TER 1 -2.604 0.606 0.000 +ATOM 7 H06 TER 1 -2.604 2.119 0.874 +ATOM 8 H07 TER 1 -4.031 1.615 0.000 +ATOM 9 C00 INT 2 -2.449 6.384 -3.596 +ATOM 10 H01 INT 2 -2.804 5.879 -4.470 +ATOM 11 H02 INT 2 -1.379 6.386 -3.595 +ATOM 12 O03 INT 2 -2.927 5.710 -2.429 +ATOM 13 C04 INT 2 -2.448 4.362 -2.427 +ATOM 14 H05 INT 2 -2.803 3.856 -3.301 +ATOM 15 H06 INT 2 -1.378 4.364 -2.425 +ATOM 16 C00 INT 3 -2.966 9.857 -4.767 +ATOM 17 H01 INT 3 -2.612 10.363 -3.893 +ATOM 18 H02 INT 3 -4.036 9.855 -4.768 +ATOM 19 O03 INT 3 -2.488 8.509 -4.765 +ATOM 20 C04 INT 3 -2.965 7.835 -3.597 +ATOM 21 H05 INT 3 -2.610 8.340 -2.724 +ATOM 22 H06 INT 3 -4.035 7.833 -3.599 +ATOM 23 C00 TER 4 -2.452 10.582 -6.024 +ATOM 24 H01 TER 4 -2.807 10.077 -6.898 +ATOM 25 H02 TER 4 -1.382 10.584 -6.022 +ATOM 26 O03 TER 4 -2.931 11.930 -6.026 +ATOM 27 C04 TER 4 -2.453 12.604 -7.193 +ATOM 28 H05 TER 4 -2.808 12.099 -8.067 +ATOM 29 H06 TER 4 -2.812 13.613 -7.194 +ATOM 30 H07 TER 4 -1.383 12.606 -7.192 +TER +CONECT 5 6 +CONECT 5 7 +CONECT 5 8 +CONECT 5 4 +CONECT 4 1 +CONECT 1 2 +CONECT 1 3 +CONECT 1 13 +CONECT 13 14 +CONECT 13 15 +CONECT 13 12 +CONECT 12 9 +CONECT 9 10 +CONECT 9 11 +CONECT 9 20 +CONECT 20 21 +CONECT 20 22 +CONECT 20 19 +CONECT 19 16 +CONECT 16 17 +CONECT 16 18 +CONECT 16 23 +CONECT 23 24 +CONECT 23 25 +CONECT 23 26 +CONECT 26 27 +CONECT 27 28 +CONECT 27 29 +CONECT 27 30 +END diff --git a/examples/sgnn/pth2pickle.py b/examples/sgnn/test_backend/pth2pickle.py similarity index 100% rename from examples/sgnn/pth2pickle.py rename to examples/sgnn/test_backend/pth2pickle.py diff --git a/examples/sgnn/test_backend/ref_out b/examples/sgnn/test_backend/ref_out new file mode 100644 index 000000000..96bc1e62f --- /dev/null +++ b/examples/sgnn/test_backend/ref_out @@ -0,0 +1,37 @@ +Energy: -21.588394 +Force +[[ 90.02814 2.0374336 35.38877 ] + [ -98.410095 -1.6865425 -30.066338 ] + [ 48.29245 31.675808 -43.390694 ] + [ 59.717484 -35.94304 50.599678 ] + [ -24.63767 218.36092 168.47194 ] + [ 43.258293 81.24294 -87.22882 ] + [ -67.66767 -17.780457 -5.6038494 ] + [ -22.928284 -302.96246 -123.14815 ] + [ 306.24683 -21.33866 -156.95491 ] + [ -4.715515 13.664352 -23.222527 ] + [-258.61304 -26.577957 85.58963 ] + [ -10.179474 106.21161 64.846924 ] + [-210.20566 -52.107193 58.04005 ] + [ 118.68472 -8.033836 -81.18109 ] + [ 44.02272 -34.508667 46.852356 ] + [-214.84206 115.90286 -227.59117 ] + [ 44.243336 -7.151741 26.06369 ] + [ 87.46674 38.574554 192.17757 ] + [ 27.345726 -58.87986 -44.685863 ] + [ -83.354774 -29.714098 214.93097 ] + [ -71.111305 34.880676 -77.53289 ] + [ 141.12836 49.28147 -97.597305 ] + [-220.25613 -134.58449 -23.567059 ] + [ 75.2593 58.432755 -63.99505 ] + [ 123.56466 -82.0066 94.63971 ] + [ 57.822285 17.07631 -53.788273 ] + [ -73.37115 0.50865555 16.240654 ] + [ 54.86133 97.53715 73.672806 ] + [ -23.997787 -73.92179 -13.749107 ] + [ 62.348286 21.809956 25.78839 ]] +Batched Energies: +[-21.653 -39.830627 9.988983 -48.292953 -32.959183 -49.7164 + -47.617737 -51.76767 -37.42943 -35.06703 -46.111145 -31.748154 + -6.939003 -5.1853027 -27.427734 -44.695312 -52.027237 3.1541443 + -72.8221 -28.33014 ] diff --git a/examples/sgnn/test_backend/run.py b/examples/sgnn/test_backend/run.py new file mode 100755 index 000000000..f87c887b5 --- /dev/null +++ b/examples/sgnn/test_backend/run.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +import sys +import numpy as np +import jax.numpy as jnp +import jax.lax as lax +from jax import vmap, value_and_grad +import dmff +from dmff.sgnn.gnn import MolGNNForce +from dmff.utils import jit_condition +from dmff.sgnn.graph import MAX_VALENCE +from dmff.sgnn.graph import TopGraph, from_pdb +import pickle +import re +from collections import OrderedDict +from functools import partial + + +if __name__ == '__main__': + # params = load_params('benchmark/model1.pickle') + G = from_pdb('peg4.pdb') + model = MolGNNForce(G, nn=1) + model.load_params('model1.pickle') + E = model.get_energy(G.positions, G.box, model.params) + + with open('set_test_lowT.pickle', 'rb') as ifile: + data = pickle.load(ifile) + + # pos = jnp.array(data['positions'][0:100]) + # box = jnp.tile(jnp.eye(3) * 50, (100, 1, 1)) + pos = jnp.array(data['positions'][0]) + box = jnp.eye(3) * 50 + + # energies = model.batch_forward(pos, box, model.params) + E, F = value_and_grad(model.get_energy, argnums=(0))(pos, box, model.params) + F = -F + print('Energy:', E) + print('Force') + print(F) + + # test batch processing + pos = jnp.array(data['positions'][:20]) + box = jnp.tile(box, (20, 1, 1)) + E = model.batch_forward(pos, box, model.params) + print('Batched Energies:') + print(E) diff --git a/examples/sgnn/set_test.pickle b/examples/sgnn/test_backend/set_test.pickle similarity index 100% rename from examples/sgnn/set_test.pickle rename to examples/sgnn/test_backend/set_test.pickle diff --git a/examples/sgnn/set_test_lowT.pickle b/examples/sgnn/test_backend/set_test_lowT.pickle similarity index 100% rename from examples/sgnn/set_test_lowT.pickle rename to examples/sgnn/test_backend/set_test_lowT.pickle diff --git a/examples/sgnn/test.py b/examples/sgnn/test_backend/test.py similarity index 100% rename from examples/sgnn/test.py rename to examples/sgnn/test_backend/test.py diff --git a/examples/sgnn/test_data.xvg b/examples/sgnn/test_backend/test_data.xvg similarity index 100% rename from examples/sgnn/test_data.xvg rename to examples/sgnn/test_backend/test_data.xvg diff --git a/examples/sgnn/train.py b/examples/sgnn/test_backend/train.py similarity index 100% rename from examples/sgnn/train.py rename to examples/sgnn/test_backend/train.py diff --git a/examples/water_fullpol/monopole_nonpol/run.py b/examples/water_fullpol/monopole_nonpol/run.py index 3b1b4799f..617e96e76 100755 --- a/examples/water_fullpol/monopole_nonpol/run.py +++ b/examples/water_fullpol/monopole_nonpol/run.py @@ -13,18 +13,19 @@ H = Hamiltonian('forcefield.xml') pdb = app.PDBFile("pair.pdb") - rc = 6 + rc = 0.6 # generator stores all force field parameters params = H.getParameters() - pot_pme = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom).dmff_potentials['ADMPPmeForce'] + pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer) + pot_pme = pots.dmff_potentials['ADMPPmeForce'] # construct inputs - positions = jnp.array(pdb.positions._value) * 10 + positions = jnp.array(pdb.positions._value) a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + box = jnp.array([a._value, b._value, c._value]) # neighbor list - nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) + nbl = nblist.NeighborList(box, rc, pots.meta['cov_map']) nbl.allocate(positions) E_pme, F_pme = value_and_grad(pot_pme)(positions, box, nbl.pairs, params) diff --git a/examples/water_fullpol/monopole_polarizable/run.py b/examples/water_fullpol/monopole_polarizable/run.py index 808ee5801..560cd8da0 100755 --- a/examples/water_fullpol/monopole_polarizable/run.py +++ b/examples/water_fullpol/monopole_polarizable/run.py @@ -13,18 +13,19 @@ H = Hamiltonian('forcefield.xml') pdb = app.PDBFile("waterbox_31ang.pdb") - rc = 6 + rc = 0.6 # generator stores all force field parameters params = H.getParameters() - pot_pme = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom).dmff_potentials['ADMPPmeForce'] + pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer) + pot_pme = pots.dmff_potentials['ADMPPmeForce'] # construct inputs - positions = jnp.array(pdb.positions._value) * 10 + positions = jnp.array(pdb.positions._value) a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + box = jnp.array([a._value, b._value, c._value]) # neighbor list - nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) + nbl = nblist.NeighborList(box, rc, pots.meta['cov_map']) nbl.allocate(positions) E_pme, F_pme = value_and_grad(pot_pme)(positions, box, nbl.pairs, params) diff --git a/examples/water_fullpol/quadrupole_nonpol/run.py b/examples/water_fullpol/quadrupole_nonpol/run.py index b408792aa..0b6fe6394 100755 --- a/examples/water_fullpol/quadrupole_nonpol/run.py +++ b/examples/water_fullpol/quadrupole_nonpol/run.py @@ -14,20 +14,20 @@ H = Hamiltonian('forcefield.xml') app.Topology.loadBondDefinitions("residues.xml") pdb = app.PDBFile("waterbox_31ang.pdb") - rc = 6 + rc = 0.6 # generator stores all force field parameters params = H.getParameters() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom) + pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer) pot_disp = pots.dmff_potentials['ADMPDispForce'] pot_pme = pots.dmff_potentials['ADMPPmeForce'] # construct inputs - positions = jnp.array(pdb.positions._value) * 10 + positions = jnp.array(pdb.positions._value) a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + box = jnp.array([a._value, b._value, c._value]) # neighbor list - nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) + nbl = nblist.NeighborList(box, rc, pots.meta["cov_map"]) nbl.allocate(positions) diff --git a/examples/water_fullpol/run.py b/examples/water_fullpol/run.py index dccf92921..f024a8d66 100755 --- a/examples/water_fullpol/run.py +++ b/examples/water_fullpol/run.py @@ -13,18 +13,18 @@ H = Hamiltonian('forcefield.xml') app.Topology.loadBondDefinitions("residues.xml") pdb = app.PDBFile("waterbox_31ang.pdb") - rc = 6 + rc = 0.6 # generator stores all force field parameters disp_generator, pme_generator = H.getGenerators() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4) + pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, ethresh=5e-4) # construct inputs - positions = jnp.array(pdb.positions._value) * 10 + positions = jnp.array(pdb.positions._value) a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + box = jnp.array([a._value, b._value, c._value]) # neighbor list - nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) + nbl = nblist.NeighborList(box, rc, pots.meta['cov_map']) nbl.allocate(positions) diff --git a/tests/data/admp_mono.xml b/tests/data/admp_mono.xml new file mode 100644 index 000000000..3970ff522 --- /dev/null +++ b/tests/data/admp_mono.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/admp_nonpol.xml b/tests/data/admp_nonpol.xml new file mode 100644 index 000000000..7cc1b4653 --- /dev/null +++ b/tests/data/admp_nonpol.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/peg4.pdb b/tests/data/peg4.pdb new file mode 100644 index 000000000..eee06d7da --- /dev/null +++ b/tests/data/peg4.pdb @@ -0,0 +1,64 @@ +HEADER +TITLE MDANALYSIS FRAME 0: Created by PDBWriter +CRYST1 50.000 50.000 50.000 90.00 90.00 90.00 P 1 1 +ATOM 1 C00 TER X 1 47.381 10.286 49.808 0.00 1.00 SYST +ATOM 2 H01 TER X 1 47.251 11.255 50.307 0.00 1.00 SYST +ATOM 3 H02 TER X 1 46.907 9.487 50.425 0.00 1.00 SYST +ATOM 4 O03 TER X 1 48.814 10.202 49.785 0.00 1.00 SYST +ATOM 5 C04 TER X 1 49.336 9.203 50.665 0.00 1.00 SYST +ATOM 6 H05 TER X 1 50.344 9.329 51.054 0.00 1.00 SYST +ATOM 7 H06 TER X 1 48.796 9.176 51.611 0.00 1.00 SYST +ATOM 8 H07 TER X 1 49.296 8.320 50.177 0.00 1.00 SYST +ATOM 9 C00 INT X 2 46.552 8.760 46.601 0.00 1.00 SYST +ATOM 10 H01 INT X 2 46.737 9.609 45.939 0.00 1.00 SYST +ATOM 11 H02 INT X 2 45.532 8.628 46.649 0.00 1.00 SYST +ATOM 12 O03 INT X 2 47.247 8.976 47.799 0.00 1.00 SYST +ATOM 13 C04 INT X 2 46.919 10.250 48.371 0.00 1.00 SYST +ATOM 14 H05 INT X 2 47.190 11.176 47.880 0.00 1.00 SYST +ATOM 15 H06 INT X 2 45.801 10.369 48.307 0.00 1.00 SYST +ATOM 16 C00 INT X 3 46.760 5.982 44.153 0.00 1.00 SYST +ATOM 17 H01 INT X 3 47.759 6.173 43.770 0.00 1.00 SYST +ATOM 18 H02 INT X 3 46.121 5.894 43.168 0.00 1.00 SYST +ATOM 19 O03 INT X 3 46.268 7.098 44.918 0.00 1.00 SYST +ATOM 20 C04 INT X 3 47.139 7.493 45.949 0.00 1.00 SYST +ATOM 21 H05 INT X 3 47.292 6.726 46.769 0.00 1.00 SYST +ATOM 22 H06 INT X 3 48.124 7.662 45.625 0.00 1.00 SYST +ATOM 23 C00 TER X 4 46.610 4.692 44.880 0.00 1.00 SYST +ATOM 24 H01 TER X 4 45.686 4.613 45.520 0.00 1.00 SYST +ATOM 25 H02 TER X 4 47.444 4.603 45.516 0.00 1.00 SYST +ATOM 26 O03 TER X 4 46.501 3.674 43.869 0.00 1.00 SYST +ATOM 27 C04 TER X 4 45.802 2.493 44.226 0.00 1.00 SYST +ATOM 28 H05 TER X 4 45.959 1.651 43.497 0.00 1.00 SYST +ATOM 29 H06 TER X 4 46.125 2.280 45.251 0.00 1.00 SYST +ATOM 30 H07 TER X 4 44.695 2.638 44.209 0.00 1.00 SYST +CONECT 1 2 3 4 13 +CONECT 2 1 +CONECT 3 1 +CONECT 4 1 5 +CONECT 5 4 6 7 8 +CONECT 6 5 +CONECT 7 5 +CONECT 8 5 +CONECT 9 10 11 12 20 +CONECT 10 9 +CONECT 11 9 +CONECT 12 9 13 +CONECT 13 1 12 14 15 +CONECT 14 13 +CONECT 15 13 +CONECT 16 17 18 19 23 +CONECT 17 16 +CONECT 18 16 +CONECT 19 16 20 +CONECT 20 9 19 21 22 +CONECT 21 20 +CONECT 22 20 +CONECT 23 16 24 25 26 +CONECT 24 23 +CONECT 25 23 +CONECT 26 23 27 +CONECT 27 26 28 29 30 +CONECT 28 27 +CONECT 29 27 +CONECT 30 27 +END diff --git a/tests/data/peg_sgnn.xml b/tests/data/peg_sgnn.xml new file mode 100644 index 000000000..206326d1e --- /dev/null +++ b/tests/data/peg_sgnn.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/sgnn_model.pickle b/tests/data/sgnn_model.pickle new file mode 100644 index 0000000000000000000000000000000000000000..0c3959cd9d0ef4fac155676861aa6743acb96c99 GIT binary patch literal 17100 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 literal 0 HcmV?d00001 diff --git a/tests/test_admp/test_compute.py b/tests/test_admp/test_compute.py index 02d81ead4..be4b9d99d 100644 --- a/tests/test_admp/test_compute.py +++ b/tests/test_admp/test_compute.py @@ -24,13 +24,17 @@ def test_init(self): """ rc = 4.0 H = Hamiltonian('tests/data/admp.xml') + H1 = Hamiltonian('tests/data/admp_mono.xml') + H2 = Hamiltonian('tests/data/admp_nonpol.xml') pdb = app.PDBFile('tests/data/water_dimer.pdb') potential = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) + potential1 = H1.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) + potential2 = H2.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) - yield potential, H.paramset + yield potential, potential1, potential2, H.paramset, H1.paramset, H2.paramset def test_ADMPPmeForce(self, pot_prm): - potential, paramset = pot_prm + potential, potential1, potential2, paramset, paramset1, paramset2 = pot_prm rc = 0.4 pdb = app.PDBFile('tests/data/water_dimer.pdb') positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) @@ -51,7 +55,7 @@ def test_ADMPPmeForce(self, pot_prm): def test_ADMPPmeForce_jit(self, pot_prm): - potential, paramset = pot_prm + potential, potential1, potential2, paramset, paramset1, paramset2 = pot_prm rc = 0.4 pdb = app.PDBFile('tests/data/water_dimer.pdb') positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) @@ -67,5 +71,47 @@ def test_ADMPPmeForce_jit(self, pot_prm): pot = potential.getPotentialFunc(names=["ADMPPmeForce"]) j_pot_pme = jit(value_and_grad(pot)) energy, grad = j_pot_pme(positions, box, pairs, paramset.parameters) - print(energy) + print('hahahah', energy) np.testing.assert_almost_equal(energy, -35.71585296268245, decimal=1) + + + def test_ADMPPmeForce_mono(self, pot_prm): + potential, potential1, potential2, paramset, paramset1, paramset2 = pot_prm + rc = 0.4 + pdb = app.PDBFile('tests/data/water_dimer.pdb') + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = jnp.array(positions) + a, b, c = pdb.topology.getPeriodicBoxVectors().value_in_unit(unit.nanometer) + box = jnp.array([a, b, c]) + # neighbor list + + covalent_map = potential1.meta["cov_map"] + + nblist = NeighborList(box, rc, covalent_map) + nblist.allocate(positions) + pairs = nblist.pairs + pot = potential1.getPotentialFunc(names=["ADMPPmeForce"]) + energy = pot(positions, box, pairs, paramset1) + print(energy) + np.testing.assert_almost_equal(energy, -66.55921382, decimal=2) + + + def test_ADMPPmeForce_nonpol(self, pot_prm): + potential, potential1, potential2, paramset, paramset1, paramset2 = pot_prm + rc = 0.4 + pdb = app.PDBFile('tests/data/water_dimer.pdb') + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = jnp.array(positions) + a, b, c = pdb.topology.getPeriodicBoxVectors().value_in_unit(unit.nanometer) + box = jnp.array([a, b, c]) + # neighbor list + + covalent_map = potential2.meta["cov_map"] + + nblist = NeighborList(box, rc, covalent_map) + nblist.allocate(positions) + pairs = nblist.pairs + pot = potential2.getPotentialFunc(names=["ADMPPmeForce"]) + energy = pot(positions, box, pairs, paramset2) + print(energy) + np.testing.assert_almost_equal(energy, -31.69025446, decimal=2) diff --git a/tests/test_sgnn/test_energy.py b/tests/test_sgnn/test_energy.py new file mode 100644 index 000000000..a771f4508 --- /dev/null +++ b/tests/test_sgnn/test_energy.py @@ -0,0 +1,51 @@ +import openmm.app as app +import openmm.unit as unit +import numpy as np +import jax.numpy as jnp +import numpy.testing as npt +import pytest +from dmff import Hamiltonian, NeighborList +from jax import jit, value_and_grad + +class TestADMPAPI: + + """ Test sGNN related generators + """ + + @pytest.fixture(scope='class', name='pot_prm') + def test_init(self): + """load generators from XML file + + Yields: + Tuple: ( + ADMPDispForce, + ADMPPmeForce, # polarized + ) + """ + rc = 4.0 + H = Hamiltonian('tests/data/peg_sgnn.xml') + pdb = app.PDBFile('tests/data/peg4.pdb') + potential = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) + + yield potential, H.paramset + + def test_sGNN_energy(self, pot_prm): + potential, paramset = pot_prm + rc = 0.4 + pdb = app.PDBFile('tests/data/peg4.pdb') + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = jnp.array(positions) + a, b, c = pdb.topology.getPeriodicBoxVectors().value_in_unit(unit.nanometer) + box = jnp.array([a, b, c]) + # neighbor list + covalent_map = potential.meta["cov_map"] + + nblist = NeighborList(box, rc, covalent_map) + nblist.allocate(positions) + pairs = nblist.pairs + pot = potential.getPotentialFunc(names=["SGNNForce"]) + energy = pot(positions, box, pairs, paramset) + print(energy) + np.testing.assert_almost_equal(energy, -21.81780787, decimal=2) + + From 4be24752806da1e34f00be033b052ad0d3a672df Mon Sep 17 00:00:00 2001 From: KuangYu Date: Sat, 21 Oct 2023 17:31:24 +0800 Subject: [PATCH 02/14] remove debugging codes --- .github/workflows/ut.yml | 3 ++- dmff/operators/templatetype.py | 5 ----- examples/classical/test_xml.py | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ut.yml b/.github/workflows/ut.yml index 701acf9bb..5b8de3ba1 100644 --- a/.github/workflows/ut.yml +++ b/.github/workflows/ut.yml @@ -33,4 +33,5 @@ jobs: pytest -vs tests/test_common/test_* pytest -vs tests/test_admp/test_* pytest -vs tests/test_utils.py - pytest -vs tests/test_mbar/test_* + pytest -vs tests/test_mbar/test_* + pytest -vs tests/test_sgnn/test_* diff --git a/dmff/operators/templatetype.py b/dmff/operators/templatetype.py index ce18fdc3b..f4b7802d8 100644 --- a/dmff/operators/templatetype.py +++ b/dmff/operators/templatetype.py @@ -93,11 +93,6 @@ def match_all(self, topdata: DMFFTopology, templates): graph = self.generate_residue_graph(topdata, res) all_fail = True for ntemp, template in enumerate(templates): - # debug - # print(res) - # print(template) - # print(dir(template)) - # print('-------') is_matched, _, atype_dict = matchTemplate(graph, template) if is_matched: all_fail = False diff --git a/examples/classical/test_xml.py b/examples/classical/test_xml.py index 1affb8974..c5d594033 100755 --- a/examples/classical/test_xml.py +++ b/examples/classical/test_xml.py @@ -54,7 +54,6 @@ def getEnergyDecomposition(context, forcegroups): h = Hamiltonian("gaff-2.11.xml", "lig-prm.xml") pot = h.createPotential(pdb.topology, nonbondedMethod=app.NoCutoff) params = h.getParameters() - print(params) positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) positions = jnp.array(positions) @@ -84,3 +83,4 @@ def getEnergyDecomposition(context, forcegroups): etotal = pot.getPotentialFunc() print("Total:", etotal(positions, box, pairs, params)) + From 10dbff808c8a1973be765ab4b623d036fca092f8 Mon Sep 17 00:00:00 2001 From: KuangYu Date: Sun, 22 Oct 2023 18:20:18 +0800 Subject: [PATCH 03/14] Fix the two examples: * fluctuated_leading_term_waterff * peg_slater_isa Make map_atomtype and map_poltype available in generator --- dmff/generators/admp.py | 13 +++++++ .../fluctuated_leading_term_waterff/ref_out | 9 +++++ .../fluctuated_leading_term_waterff/run.py | 31 ++++++++-------- examples/peg_slater_isa/calc_energy_comps.py | 35 ++++++++++-------- examples/peg_slater_isa/check.py | 30 +++++++-------- examples/peg_slater_isa/check_calc.py | 10 ++--- examples/peg_slater_isa/fit.py | 26 ++++++------- examples/peg_slater_isa/params.0.pickle | Bin 1562 -> 1548 bytes examples/peg_slater_isa/params.pickle | Bin 1562 -> 1548 bytes examples/peg_slater_isa/remove_lr.py | 32 ++++++++-------- 10 files changed, 108 insertions(+), 78 deletions(-) create mode 100644 examples/fluctuated_leading_term_waterff/ref_out diff --git a/dmff/generators/admp.py b/dmff/generators/admp.py index cada68fe1..e33fcf766 100644 --- a/dmff/generators/admp.py +++ b/dmff/generators/admp.py @@ -139,6 +139,7 @@ def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutof for i in range(n_atoms): atype = atoms[i].meta[self.key_type] map_atomtype[i] = self._find_atype_key_index(atype) + self.map_atomtype = map_atomtype # here box is only used to setup ewald parameters, no need to be differentiable if lpme: box = topdata.getPeriodicBoxVectors() * 10 @@ -301,6 +302,8 @@ def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutof atype = atoms[i].meta[self.key_type] map_atomtype[i] = self._find_atype_key_index(atype) + self.map_atomtype = map_atomtype + # here box is only used to setup ewald parameters, no need to be differentiable if lpme: box = topdata.getPeriodicBoxVectors() * 10 @@ -435,6 +438,7 @@ def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutof atype = atoms[i].meta[self.key_type] map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] + self.map_atomtype = map_atomtype pot_fn_sr = generate_pairwise_interaction(TT_damping_qq_kernel, static_args={}) @@ -554,6 +558,8 @@ def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutof atype = atoms[i].meta[self.key_type] map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] + self.map_atomtype = map_atomtype + # WORKING pot_fn_sr = generate_pairwise_interaction(slater_disp_damping_kernel, static_args={}) @@ -663,6 +669,8 @@ def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutof atype = atoms[i].meta[self.key_type] map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] + self.map_atomtype = map_atomtype + pot_fn_sr = generate_pairwise_interaction(slater_sr_kernel, static_args={}) @@ -709,6 +717,8 @@ def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutof atype = atoms[i].meta[self.key_type] map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] + self.map_atomtype = map_atomtype + pot_fn_sr = generate_pairwise_interaction(slater_sr_kernel, static_args={}) @@ -982,6 +992,9 @@ def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutof if self.lpol: map_poltype[i] = self._find_polarize_key_index(atype) + self.map_poltype = map_poltype + self.map_atomtype = map_atomtype + # here box is only used to setup ewald parameters, no need to be differentiable if lpme: box = topdata.getPeriodicBoxVectors() * 10 diff --git a/examples/fluctuated_leading_term_waterff/ref_out b/examples/fluctuated_leading_term_waterff/ref_out new file mode 100644 index 000000000..c7439edd0 --- /dev/null +++ b/examples/fluctuated_leading_term_waterff/ref_out @@ -0,0 +1,9 @@ +# Tot Interaction Energy: +# -41.437696011272465 kJ/mol +# Tot force : +# [[ 6.99817736 -10.73540559 7.44495642] + [-74.774497 57.81233046 24.98315842] + [ 2.00037973 4.60480058 -13.86528301] + [ 63.0415243 -40.32457937 -15.57667743] + [ 2.60863633 6.53827371 -8.38934949] + [ 0.13944051 -17.89996202 5.35314178]] diff --git a/examples/fluctuated_leading_term_waterff/run.py b/examples/fluctuated_leading_term_waterff/run.py index aa1628c98..f9123d1e8 100755 --- a/examples/fluctuated_leading_term_waterff/run.py +++ b/examples/fluctuated_leading_term_waterff/run.py @@ -54,28 +54,29 @@ def compute_leading_terms(positions,box): c6_list = c6_list.at[2::3].set(jnp.sqrt(C6_H2)) return c0, c6_list -def generate_calculator(pot_disp, pot_pme, pot_sr, disp_generator, pme_generator): +def generate_calculator(pot_disp, pot_pme, pot_sr, disp_generator, pme_generator, params, covalent_map): def admp_calculator(positions, box, pairs): - params_pme = pme_generator.paramtree['ADMPPmeForce'] - params_disp = disp_generator.paramtree['ADMPDispForce'] + # params_pme = pme_generator.paramtree['ADMPPmeForce'] + # params_disp = disp_generator.paramtree['ADMPDispForce'] + params_pme = params['ADMPPmeForce'] + params_disp = params['ADMPDispForce'] c0, c6_list = compute_leading_terms(positions,box) # compute fluctuated leading terms Q_local = params_pme["Q_local"][pme_generator.map_atomtype] Q_local = Q_local.at[:,0].set(c0) # change fixed charge into fluctuated one pol = params_pme["pol"][pme_generator.map_atomtype] - tholes = params_pme["tholes"][pme_generator.map_atomtype] + tholes = params_pme["thole"][pme_generator.map_atomtype] c8_list = jnp.sqrt(params_disp["C8"][disp_generator.map_atomtype]*1e8) c10_list = jnp.sqrt(params_disp["C10"][disp_generator.map_atomtype]*1e10) c_list = jnp.vstack((c6_list, c8_list, c10_list)) - covalent_map = disp_generator.covalent_map a_list = (params_disp["A"][disp_generator.map_atomtype] / 2625.5) b_list = params_disp["B"][disp_generator.map_atomtype] * 0.0529177249 q_list = params_disp["Q"][disp_generator.map_atomtype] E_pme = pme_generator.pme_force.get_energy( - positions, box, pairs, Q_local, pol, tholes, params_pme["mScales"], params_pme["pScales"], params_pme["dScales"] + positions, box, pairs, Q_local, pol, tholes, pme_generator.mScales, pme_generator.pScales, pme_generator.dScales ) - E_disp = disp_generator.disp_pme_force.get_energy(positions, box, pairs, c_list.T, params_disp["mScales"]) - E_sr = pot_sr(positions, box, pairs, params_disp["mScales"], a_list, b_list, q_list, c_list[0]) + E_disp = disp_generator.disp_pme_force.get_energy(positions, box, pairs, c_list.T, disp_generator.mScales) + E_sr = pot_sr(positions, box, pairs, disp_generator.mScales, a_list, b_list, q_list, c_list[0]) return E_pme return jit(value_and_grad(admp_calculator,argnums=(0))) @@ -84,27 +85,27 @@ def admp_calculator(positions, box, pairs): H = Hamiltonian('forcefield.xml') app.Topology.loadBondDefinitions("residues.xml") pdb = app.PDBFile("water_dimer.pdb") - rc = 4 + rc = 0.4 # generator stores all force field parameters disp_generator, pme_generator = H.getGenerators() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, step_pol=5) + pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, step_pol=5) pot_disp = pots.dmff_potentials['ADMPDispForce'] pot_pme = pots.dmff_potentials['ADMPPmeForce'] pot_sr = generate_pairwise_interaction(TT_damping_qq_c6_kernel, static_args={}) # construct inputs - positions = jnp.array(pdb.positions._value) * 10 + positions = jnp.array(pdb.positions._value) a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + box = jnp.array([a._value, b._value, c._value]) # neighbor list - nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) + nbl = nblist.NeighborList(box, rc, pots.meta["cov_map"]) nbl.allocate(positions) pairs = nbl.pairs - admp_calc = generate_calculator(pot_disp, pot_pme, pot_sr, disp_generator, pme_generator) - tot_ene, tot_force = admp_calc(positions, box, pairs) + admp_calc = generate_calculator(pot_disp, pot_pme, pot_sr, disp_generator, pme_generator, H.getParameters(), pots.meta["cov_map"]) + tot_ene, tot_force = admp_calc(positions*10, box*10, pairs) print('# Tot Interaction Energy:') print('#', tot_ene, 'kJ/mol') print('# Tot force :') diff --git a/examples/peg_slater_isa/calc_energy_comps.py b/examples/peg_slater_isa/calc_energy_comps.py index bd9829939..d404b9d90 100755 --- a/examples/peg_slater_isa/calc_energy_comps.py +++ b/examples/peg_slater_isa/calc_energy_comps.py @@ -23,10 +23,10 @@ H_A = Hamiltonian(ff) H_B = Hamiltonian(ff) - rc = 15 + rc = 1.45 # get potential functions - pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce'] pot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce'] pot_ex_AB = pots_AB.dmff_potentials['SlaterExForce'] @@ -36,7 +36,7 @@ pot_dhf_AB = pots_AB.dmff_potentials['SlaterDhfForce'] pot_dmp_es_AB = pots_AB.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_AB = pots_AB.dmff_potentials['SlaterDampingForce'] - pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_A = pots_A.dmff_potentials['ADMPPmeForce'] pot_disp_A = pots_A.dmff_potentials['ADMPDispPmeForce'] pot_ex_A = pots_A.dmff_potentials['SlaterExForce'] @@ -46,7 +46,7 @@ pot_dhf_A = pots_A.dmff_potentials['SlaterDhfForce'] pot_dmp_es_A = pots_A.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_A = pots_A.dmff_potentials['SlaterDampingForce'] - pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_B = pots_B.dmff_potentials['ADMPPmeForce'] pot_disp_B = pots_B.dmff_potentials['ADMPDispPmeForce'] pot_ex_B = pots_B.dmff_potentials['SlaterExForce'] @@ -60,21 +60,21 @@ pme_generator_A = H_A.getGenerators()[0] pme_generator_B = H_B.getGenerators()[0] - pos_AB0 = jnp.array(pdb_AB.positions._value) * 10 + pos_AB0 = jnp.array(pdb_AB.positions._value) n_atoms = len(pos_AB0) n_atoms_A = n_atoms // 2 n_atoms_B = n_atoms // 2 - pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) * 10 - pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) * 10 - box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) * 10 + pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) + pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) + box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) # nn list initial allocation - nbl_AB = nblist.NeighborList(box, rc, H_AB.getGenerators()[0].covalent_map) + nbl_AB = nblist.NeighborList(box, rc, pots_AB.meta["cov_map"]) nbl_AB.allocate(pos_AB0) pairs_AB = nbl_AB.pairs - nbl_A = nblist.NeighborList(box, rc, H_A.getGenerators()[0].covalent_map) + nbl_A = nblist.NeighborList(box, rc, pots_A.meta["cov_map"]) nbl_A.allocate(pos_A0) pairs_A = nbl_A.pairs - nbl_B = nblist.NeighborList(box, rc, H_B.getGenerators()[0].covalent_map) + nbl_B = nblist.NeighborList(box, rc, pots_B.meta["cov_map"]) nbl_B.allocate(pos_B0) pairs_B = nbl_B.pairs @@ -107,8 +107,8 @@ E_tot_ref = scan_res['tot'][ipt] # get position array - pos_A = jnp.array(scan_res['posA'][ipt]) - pos_B = jnp.array(scan_res['posB'][ipt]) + pos_A = jnp.array(scan_res['posA'][ipt]) / 10 + pos_B = jnp.array(scan_res['posB'][ipt]) / 10 pos_AB = jnp.concatenate([pos_A, pos_B], axis=0) @@ -135,10 +135,15 @@ map_poltypes = pme_generator_AB.map_poltype Q_local = params_pme['Q_local'][map_atypes] pol = params_pme['pol'][map_poltypes] - tholes = params_pme['tholes'][map_poltypes] + tholes = params_pme['thole'][map_poltypes] pme_force = pme_generator_AB.pme_force - E_AB_nonpol = pme_force.energy_fn(pos_AB, box, pairs_AB, Q_local, U_ind_AB, pol, tholes, params_pme['mScales'], params_pme['pScales'], params_pme['dScales']) + + + E_AB_nonpol = pme_force.energy_fn(pos_AB*10, box*10, pairs_AB, Q_local, U_ind_AB, pol, tholes, \ + pme_generator_AB.mScales, pme_generator_AB.pScales, pme_generator_AB.dScales) E_es = E_AB_nonpol - E_A - E_B + + E_dmp_es = pot_dmp_es_AB(pos_AB, box, pairs_AB, params) \ - pot_dmp_es_A(pos_A, box, pairs_A, params) \ - pot_dmp_es_B(pos_B, box, pairs_B, params) diff --git a/examples/peg_slater_isa/check.py b/examples/peg_slater_isa/check.py index 8be36a4bd..8bb0ddf5c 100755 --- a/examples/peg_slater_isa/check.py +++ b/examples/peg_slater_isa/check.py @@ -27,10 +27,10 @@ H_A = Hamiltonian(ff) H_B = Hamiltonian(ff) - rc = 15 + rc = 1.45 # get potential functions - pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce'] pot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce'] pot_ex_AB = pots_AB.dmff_potentials['SlaterExForce'] @@ -40,7 +40,7 @@ pot_dhf_AB = pots_AB.dmff_potentials['SlaterDhfForce'] pot_dmp_es_AB = pots_AB.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_AB = pots_AB.dmff_potentials['SlaterDampingForce'] - pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_A = pots_A.dmff_potentials['ADMPPmeForce'] pot_disp_A = pots_A.dmff_potentials['ADMPDispPmeForce'] pot_ex_A = pots_A.dmff_potentials['SlaterExForce'] @@ -50,7 +50,7 @@ pot_dhf_A = pots_A.dmff_potentials['SlaterDhfForce'] pot_dmp_es_A = pots_A.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_A = pots_A.dmff_potentials['SlaterDampingForce'] - pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_B = pots_B.dmff_potentials['ADMPPmeForce'] pot_disp_B = pots_B.dmff_potentials['ADMPDispPmeForce'] pot_ex_B = pots_B.dmff_potentials['SlaterExForce'] @@ -66,22 +66,22 @@ pme_generator_B = H_B.getGenerators()[0] # init positions used to set up neighbor list - pos_AB0 = jnp.array(pdb_AB.positions._value) * 10 + pos_AB0 = jnp.array(pdb_AB.positions._value) n_atoms = len(pos_AB0) n_atoms_A = n_atoms // 2 n_atoms_B = n_atoms // 2 - pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) * 10 - pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) * 10 - box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) * 10 + pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) + pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) + box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) # nn list initial allocation - nbl_AB = nblist.NeighborList(box, rc, H_AB.getGenerators()[0].covalent_map) + nbl_AB = nblist.NeighborList(box, rc, pots_AB.meta["cov_map"]) nbl_AB.allocate(pos_AB0) pairs_AB = nbl_AB.pairs - nbl_A = nblist.NeighborList(box, rc, H_A.getGenerators()[0].covalent_map) + nbl_A = nblist.NeighborList(box, rc, pots_A.meta["cov_map"]) nbl_A.allocate(pos_A0) pairs_A = nbl_A.pairs - nbl_B = nblist.NeighborList(box, rc, H_B.getGenerators()[0].covalent_map) + nbl_B = nblist.NeighborList(box, rc, pots_B.meta["cov_map"]) nbl_B.allocate(pos_B0) pairs_B = nbl_B.pairs @@ -123,7 +123,7 @@ params_dmp_disp['C10'] = params['C10'] # long range parameters params_espol = {} - for k in ['mScales', 'pScales', 'dScales', 'Q_local', 'pol', 'tholes']: + for k in ['mScales', 'pScales', 'dScales', 'Q_local', 'pol', 'thole']: params_espol[k] = params[k] params_disp = {} for k in ['B', 'C6', 'C8', 'C10', 'mScales']: @@ -173,8 +173,8 @@ E_dhf_ref = scan_res['dhf'][ipt] E_tot_ref = scan_res['tot'][ipt] - pos_A = jnp.array(scan_res['posA'][ipt]) - pos_B = jnp.array(scan_res['posB'][ipt]) + pos_A = jnp.array(scan_res['posA'][ipt]) / 10 + pos_B = jnp.array(scan_res['posB'][ipt]) / 10 pos_AB = jnp.concatenate([pos_A, pos_B], axis=0) ##################### @@ -200,7 +200,7 @@ map_poltype = pme_generator_AB.map_poltype Q_local = params['Q_local'][map_atypes] pol = params['pol'][map_poltype] - tholes = params['tholes'][map_poltype] + tholes = params['thole'][map_poltype] pme_force = pme_generator_AB.pme_force E_AB_nonpol = pme_force.energy_fn(pos_AB, box, pairs_AB, Q_local, U_ind_AB, pol, tholes, params['mScales'], params['pScales'], params['dScales']) E_es = E_AB_nonpol - E_A - E_B diff --git a/examples/peg_slater_isa/check_calc.py b/examples/peg_slater_isa/check_calc.py index 2b68838d8..332051acc 100755 --- a/examples/peg_slater_isa/check_calc.py +++ b/examples/peg_slater_isa/check_calc.py @@ -19,9 +19,9 @@ ff = 'peg.xml' pdb_AB = PDBFile('peg2.pdb') H_AB = Hamiltonian(ff) - rc = 15 + rc = 1.45 # get potential functions - pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce'] pot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce'] pot_ex_AB = pots_AB.dmff_potentials['SlaterExForce'] @@ -35,12 +35,12 @@ paramtree = H_AB.getParameters() # init positions used to set up neighbor list - pos_AB0 = jnp.array(pdb_AB.positions._value) * 10 + pos_AB0 = jnp.array(pdb_AB.positions._value) n_atoms = len(pos_AB0) - box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) * 10 + box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) # nn list initial allocation - nbl_AB = nblist.NeighborList(box, rc, H_AB.getGenerators()[0].covalent_map) + nbl_AB = nblist.NeighborList(box, rc, pots_AB.meta['cov_map']) nbl_AB.allocate(pos_AB0) pairs_AB = nbl_AB.pairs pairs_AB = pairs_AB[pairs_AB[:, 0] < pairs_AB[:, 1]] diff --git a/examples/peg_slater_isa/fit.py b/examples/peg_slater_isa/fit.py index bb5639ddf..0574c3b5f 100755 --- a/examples/peg_slater_isa/fit.py +++ b/examples/peg_slater_isa/fit.py @@ -55,10 +55,10 @@ dmp_es_generator_B, \ dmp_disp_generator_B = H_B.getGenerators() - rc = 15 + rc = 1.45 # get potential functions - pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce'] pot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce'] pot_ex_AB = pots_AB.dmff_potentials['SlaterExForce'] @@ -68,7 +68,7 @@ pot_dhf_AB = pots_AB.dmff_potentials['SlaterDhfForce'] pot_dmp_es_AB = pots_AB.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_AB = pots_AB.dmff_potentials['SlaterDampingForce'] - pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_A = pots_A.dmff_potentials['ADMPPmeForce'] pot_disp_A = pots_A.dmff_potentials['ADMPDispPmeForce'] pot_ex_A = pots_A.dmff_potentials['SlaterExForce'] @@ -78,7 +78,7 @@ pot_dhf_A = pots_A.dmff_potentials['SlaterDhfForce'] pot_dmp_es_A = pots_A.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_A = pots_A.dmff_potentials['SlaterDampingForce'] - pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_B = pots_B.dmff_potentials['ADMPPmeForce'] pot_disp_B = pots_B.dmff_potentials['ADMPDispPmeForce'] pot_ex_B = pots_B.dmff_potentials['SlaterExForce'] @@ -89,21 +89,21 @@ pot_dmp_es_B = pots_B.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_B = pots_B.dmff_potentials['SlaterDampingForce'] - pos_AB0 = jnp.array(pdb_AB.positions._value) * 10 + pos_AB0 = jnp.array(pdb_AB.positions._value) n_atoms = len(pos_AB0) n_atoms_A = n_atoms // 2 n_atoms_B = n_atoms // 2 - pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) * 10 - pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) * 10 - box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) * 10 + pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) + pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) + box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) # nn list initial allocation - nbl_AB = nblist.NeighborList(box, rc, H_AB.getGenerators()[0].covalent_map) + nbl_AB = nblist.NeighborList(box, rc, pots_AB.meta["cov_map"]) nbl_AB.allocate(pos_AB0) pairs_AB = nbl_AB.pairs - nbl_A = nblist.NeighborList(box, rc, H_A.getGenerators()[0].covalent_map) + nbl_A = nblist.NeighborList(box, rc, pots_A.meta["cov_map"]) nbl_A.allocate(pos_A0) pairs_A = nbl_A.pairs - nbl_B = nblist.NeighborList(box, rc, H_B.getGenerators()[0].covalent_map) + nbl_B = nblist.NeighborList(box, rc, pots_B.meta["cov_map"]) nbl_B.allocate(pos_B0) pairs_B = nbl_B.pairs @@ -207,8 +207,8 @@ def MSELoss(params, scan_res): # calculate each points, only the short range and damping components for ipt in range(npts): # get position array - pos_A = jnp.array(scan_res['posA'][ipt]) - pos_B = jnp.array(scan_res['posB'][ipt]) + pos_A = jnp.array(scan_res['posA'][ipt]) / 10 + pos_B = jnp.array(scan_res['posB'][ipt]) / 10 pos_AB = jnp.concatenate([pos_A, pos_B], axis=0) ##################### diff --git a/examples/peg_slater_isa/params.0.pickle b/examples/peg_slater_isa/params.0.pickle index 0c1ac18917e460d6ec4bea1b40f7c58def57cbeb..1b13207af448aabf6f54b389016309311d4385e1 100644 GIT binary patch delta 223 zcmbQm)5Bxhz%rGQjR6d5r)c!BI>x7Dq)qAJ%Sx=!i!Uxp)=MlZO01mHBNShhnw+0k zTvAk;T(Z%Li;<~z%49!AHxM-qLfvC@=c=7jS~4YQN)MycWI;xm$=*!zAO$&0uG}yg zCTBCS)D4K#PbL?T3VUW}Aho%Lc`YN{4EBP_b6Hd-3$QA}H8U6FPoBsuI(Y%BIv>nH U){>0;oK&!xpIGHNp~9tl0KAJ$zW@LL delta 212 zcmeC-nZ@JOz%rGejR6d5r)c!BI>x7Dq)q7&%}T7$i!Uxp)=Nn(%S=vx7Dq)qAJ%Sx=!i!Uxp)=MlZO01mHBNShhnw+0k zTvAk;T(Z%Li;<~z%49!AHxM-qLfvC@=c=7jS~4YQN)MycWI;xm$=*!zAO$&0uG}yg zCTBCS)D4K#PbL?T3VUW}Aho%Lc`YN{4EBP_b6Hd-3$QA}H8U6FPoBsuI(Y%BIv>nH U){>0;oK&!xpIGHNp~9tl0KAJ$zW@LL delta 212 zcmeC-nZ@JOz%rGejR6d5r)c!BI>x7Dq)q7&%}T7$i!Uxp)=Nn(%S=v Date: Mon, 23 Oct 2023 16:50:56 +0800 Subject: [PATCH 04/14] Fix the jupyter notebook --- .../demo.ipynb | 171 ++++++++++++------ 1 file changed, 117 insertions(+), 54 deletions(-) diff --git a/examples/fluctuated_leading_term_waterff/demo.ipynb b/examples/fluctuated_leading_term_waterff/demo.ipynb index a6460b5d4..0c36772cf 100644 --- a/examples/fluctuated_leading_term_waterff/demo.ipynb +++ b/examples/fluctuated_leading_term_waterff/demo.ipynb @@ -18,54 +18,52 @@ "In conventional models, atomic charges are pre-defined and remain unchanged during the simulation. Here, we want to implement a model that considers atomic charges as *conformer-dependent*, so that the charges can vary during a molecular dynamics simulation. This will give better description of the system's behavior.\n", "\n", "## System preparation\n", - "Load the coordinates, box and compute neighbor list. Note that conventionally in multipolar polarizable models, the length unit is **angstrom**." + "Load the coordinates, box of a water dimer system. The unit of the frontend API is **nanometer**." ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 1, "id": "65e57cd8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/kuangy/anaconda3/envs/py310/lib/python3.10/site-packages/haiku/_src/data_structures.py:37: FutureWarning: jax.tree_structure is deprecated, and will be removed in a future release. Use jax.tree_util.tree_structure instead.\n", + " PyTreeDef = type(jax.tree_structure(None))\n" + ] + } + ], "source": [ - "import numpy as np\n", + "import sys\n", "import jax\n", "import jax.numpy as jnp\n", "import openmm.app as app\n", "import openmm.unit as unit\n", - "from dmff import Hamiltonian, NeighborListFreud\n", - "\n", - "def build_covalent_map(top, max_neighbor=6):\n", - " n_atoms = top.getNumAtoms()\n", - " covalent_map = np.zeros((n_atoms, n_atoms), dtype=int)\n", - " for bond in top.bonds():\n", - " covalent_map[bond.atom1.index, bond.atom2.index] = 1\n", - " covalent_map[bond.atom2.index, bond.atom1.index] = 1\n", - " for n_curr in range(1, max_neighbor):\n", - " for i in range(n_atoms):\n", - " # current neighbors\n", - " j_list = np.where(\n", - " np.logical_and(covalent_map[i] <= n_curr,\n", - " covalent_map[i] > 0))[0]\n", - " for j in j_list:\n", - " k_list = np.where(covalent_map[j] == 1)[0]\n", - " for k in k_list:\n", - " if k != i and k not in j_list:\n", - " covalent_map[i, k] = n_curr + 1\n", - " covalent_map[k, i] = n_curr + 1\n", - " return jnp.array(covalent_map)\n", + "from dmff.api import Hamiltonian\n", + "from jax_md import space, partition\n", + "from jax import value_and_grad, jit\n", + "import pickle\n", + "from dmff.admp.pme import trim_val_0\n", + "from dmff.admp.spatial import v_pbc_shift\n", + "from dmff.common import nblist\n", + "from dmff.utils import jit_condition\n", + "from dmff.admp.pairwise import (\n", + " TT_damping_qq_c6_kernel,\n", + " generate_pairwise_interaction,\n", + " slater_disp_damping_kernel,\n", + " slater_sr_kernel,\n", + " TT_damping_qq_kernel\n", + ")\n", "\n", - "app.Topology.loadBondDefinitions(\"residues.xml\")\n", + "rc = 0.4\n", "pdb = app.PDBFile(\"water_dimer.pdb\")\n", - "rc = 4 # cutoff, in angstrom\n", - "positions = jnp.array(pdb.getPositions(asNumpy=True).value_in_unit(unit.angstrom))\n", - "box = jnp.array(\n", - " [vec.value_in_unit(unit.angstrom) for vec in pdb.topology.getPeriodicBoxVectors()]\n", - ")\n", - "cov_map = build_covalent_map(pdb.topology)\n", - "nbList = NeighborListFreud(box, rc, cov_map)\n", - "nbList.allocate(positions)\n", - "pairs = nbList.pairs" + "# construct inputs\n", + "positions = jnp.array(pdb.positions._value)\n", + "a, b, c = pdb.topology.getPeriodicBoxVectors()\n", + "box = jnp.array([a._value, b._value, c._value])\n" ] }, { @@ -93,13 +91,15 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 2, "id": "2dad4351", "metadata": {}, "outputs": [], "source": [ "H = Hamiltonian('forcefield.xml')\n", - "pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, step_pol=5)\n", + "# generator stores all force field parameters \n", + "H = Hamiltonian('forcefield.xml')\n", + "pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, step_pol=5)\n", "pme_pot = pots.dmff_potentials['ADMPPmeForce']\n", "disp_generator, pme_generator = H.getGenerators()" ] @@ -119,10 +119,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "0ab968c2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Array([[-0.803721 , -0.0784325 , 0. , 0. , 0.00459693,\n", + " 0. , 0. , 0.12960503, 0. ],\n", + " [ 0.401876 , -0.0095895 , -0.0121713 , 0. , 0.00812139,\n", + " 0.00436148, 0. , 0.00701541, 0. ],\n", + " [ 0.401876 , -0.0095895 , -0.0121713 , 0. , 0.00812139,\n", + " 0.00436148, 0. , 0.00701541, 0. ],\n", + " [-0.803721 , -0.0784325 , 0. , 0. , 0.00459693,\n", + " 0. , 0. , 0.12960503, 0. ],\n", + " [ 0.401876 , -0.0095895 , -0.0121713 , 0. , 0.00812139,\n", + " 0.00436148, 0. , 0.00701541, 0. ],\n", + " [ 0.401876 , -0.0095895 , -0.0121713 , 0. , 0.00812139,\n", + " 0.00436148, 0. , 0.00701541, 0. ]], dtype=float64)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "params = H.getParameters()['ADMPPmeForce']\n", "params['Q_local'][pme_generator.map_atomtype]" @@ -145,12 +167,12 @@ "\n", "As a result, we must re-write `pme_pot` to enable modifying the atomic charges after force field parameter expansion. \n", "\n", - "Benifiting from the flexible APIs in DMFF, we will reuse most of the functions and variables in the `pme_generator`, only modify charges in the input parameters, i.e. the `Q_local` argument in `pme_generator.pme_force.get_energy` function." + "Benifiting from the flexible APIs in DMFF, we will reuse most of the functions and variables in the `pme_generator`, only modify charges in the input parameters, i.e. the `Q_local` argument in `pme_generator.pme_force.get_energy` function. One particular thing to be careful is that all ADMP backend functions assumes the inputs (`positions` and `box`) are in Angstrom, instead of nm!" ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 4, "id": "bae85400", "metadata": { "scrolled": true @@ -196,14 +218,16 @@ "\n", "def generate_calculator(pme_generator, params):\n", " def admp_calculator(positions, box, pairs):\n", - " c0, c6_list = compute_leading_terms(positions,box) # compute fluctuated charges\n", + " positions = positions * 10 # convert from nm to angstrom\n", + " box = box * 10\n", + " c0, c6_list = compute_leading_terms(positions, box) # compute fluctuated charges\n", " Q_local = params[\"Q_local\"][pme_generator.map_atomtype]\n", " Q_local = Q_local.at[:,0].set(c0) # change fixed charge into fluctuated one\n", " pol = params[\"pol\"][pme_generator.map_poltype]\n", - " tholes = params[\"tholes\"][pme_generator.map_poltype]\n", - " mScales = params[\"mScales\"]\n", - " pScales = params[\"pScales\"]\n", - " dScales = params[\"dScales\"]\n", + " tholes = params[\"thole\"][pme_generator.map_poltype]\n", + " mScales = pme_generator.mScales\n", + " pScales = pme_generator.pScales\n", + " dScales = pme_generator.dScales\n", " E_pme = pme_generator.pme_force.get_energy(\n", " positions, \n", " box, \n", @@ -229,11 +253,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "d545d7b7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-41.314273688781896\n" + ] + } + ], "source": [ + "# neighbor list\n", + "nbl = nblist.NeighborList(box, rc, pots.meta[\"cov_map\"])\n", + "nbl.allocate(positions)\n", + "pairs = nbl.pairs\n", + "\n", "potential_fn = generate_calculator(pme_generator, params)\n", "ene = potential_fn(positions, box, pairs)\n", "print(ene)" @@ -241,10 +278,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "a863ee0b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ -76.97920373 117.6864288 -79.91451734]\n", + " [ 751.9566758 -582.74420931 -251.80554373]\n", + " [ -18.66267113 -49.85079114 146.39835061]\n", + " [-676.42685328 383.12593849 205.29056321]\n", + " [ -25.41667531 -52.72984739 41.71979243]\n", + " [ 45.39266504 184.55719693 -61.18846962]]\n" + ] + } + ], "source": [ "force_fn = jax.grad(potential_fn, argnums=(0))\n", "force = -force_fn(positions, box, pairs)\n", @@ -261,10 +311,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "aa73c8d4", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ -76.97920373 117.6864288 -79.91451734]\n", + " [ 751.9566758 -582.74420931 -251.80554373]\n", + " [ -18.66267113 -49.85079114 146.39835061]\n", + " [-676.42685328 383.12593849 205.29056321]\n", + " [ -25.41667531 -52.72984739 41.71979243]\n", + " [ 45.39266504 184.55719693 -61.18846962]]\n" + ] + } + ], "source": [ "print(-force_fn(positions, box, pairs))" ] @@ -272,7 +335,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e87073c4", + "id": "57e620a7", "metadata": {}, "outputs": [], "source": [] @@ -294,7 +357,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.12" + "version": "3.10.8" } }, "nbformat": 4, From db09424775548e4ff8b72ec88f657ed30d1934e0 Mon Sep 17 00:00:00 2001 From: KuangYu Date: Thu, 2 Nov 2023 16:20:26 +0800 Subject: [PATCH 05/14] Update fluctuated_leading_term_waterff and water_fullpol example --- .../demo.ipynb | 39 +++++++++---------- examples/water_fullpol/monopole_nonpol/run.py | 2 +- .../water_fullpol/monopole_polarizable/run.py | 2 +- .../water_fullpol/quadrupole_nonpol/run.py | 2 +- examples/water_fullpol/run.py | 7 +++- 5 files changed, 27 insertions(+), 25 deletions(-) diff --git a/examples/fluctuated_leading_term_waterff/demo.ipynb b/examples/fluctuated_leading_term_waterff/demo.ipynb index 0c36772cf..dd8efdd68 100644 --- a/examples/fluctuated_leading_term_waterff/demo.ipynb +++ b/examples/fluctuated_leading_term_waterff/demo.ipynb @@ -98,7 +98,6 @@ "source": [ "H = Hamiltonian('forcefield.xml')\n", "# generator stores all force field parameters \n", - "H = Hamiltonian('forcefield.xml')\n", "pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, step_pol=5)\n", "pme_pot = pots.dmff_potentials['ADMPPmeForce']\n", "disp_generator, pme_generator = H.getGenerators()" @@ -114,12 +113,12 @@ "- Expand **force field parameters** (oxygen and hydrogen charges, polarizabilites, etc.) pre-defined in `forcefield.xml` to each atom, which we called **atomic parameters**\n", "- Calls the real PME kernel function to evaluate energy.\n", "\n", - "The force field parameters are stored in Hamiltonian `H`. And the expansion is implemented with the *broadcast* feature of `jax.numpy.ndarray`." + "The force field parameters are stored in Hamiltonian `H`. And the expansion is implemented with the *broadcast* feature of `jax.numpy.ndarray`. The expansion can be done using the variable `map_atomtype`, which maps each atom to the corrsponding atomtype." ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 3, "id": "0ab968c2", "metadata": {}, "outputs": [ @@ -140,7 +139,7 @@ " 0.00436148, 0. , 0.00701541, 0. ]], dtype=float64)" ] }, - "execution_count": 6, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -253,7 +252,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "id": "d545d7b7", "metadata": {}, "outputs": [ @@ -261,7 +260,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "-41.314273688781896\n" + "-41.261709056188494\n" ] } ], @@ -278,7 +277,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "id": "a863ee0b", "metadata": {}, "outputs": [ @@ -286,12 +285,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "[[ -76.97920373 117.6864288 -79.91451734]\n", - " [ 751.9566758 -582.74420931 -251.80554373]\n", - " [ -18.66267113 -49.85079114 146.39835061]\n", - " [-676.42685328 383.12593849 205.29056321]\n", - " [ -25.41667531 -52.72984739 41.71979243]\n", - " [ 45.39266504 184.55719693 -61.18846962]]\n" + "[[ -76.31268719 117.49783627 -79.89266772]\n", + " [ 751.2499921 -582.24588471 -251.82070224]\n", + " [ -18.97483886 -49.68783375 146.28345763]\n", + " [-675.35013452 382.30839617 204.50616711]\n", + " [ -25.65479533 -52.55337869 41.92507785]\n", + " [ 45.04246381 184.68086471 -61.00133263]]\n" ] } ], @@ -311,7 +310,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "id": "aa73c8d4", "metadata": {}, "outputs": [ @@ -319,12 +318,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "[[ -76.97920373 117.6864288 -79.91451734]\n", - " [ 751.9566758 -582.74420931 -251.80554373]\n", - " [ -18.66267113 -49.85079114 146.39835061]\n", - " [-676.42685328 383.12593849 205.29056321]\n", - " [ -25.41667531 -52.72984739 41.71979243]\n", - " [ 45.39266504 184.55719693 -61.18846962]]\n" + "[[ -76.31268719 117.49783627 -79.89266772]\n", + " [ 751.2499921 -582.24588471 -251.82070224]\n", + " [ -18.97483886 -49.68783375 146.28345763]\n", + " [-675.35013452 382.30839617 204.50616711]\n", + " [ -25.65479533 -52.55337869 41.92507785]\n", + " [ 45.04246381 184.68086471 -61.00133263]]\n" ] } ], diff --git a/examples/water_fullpol/monopole_nonpol/run.py b/examples/water_fullpol/monopole_nonpol/run.py index 617e96e76..d717e905d 100755 --- a/examples/water_fullpol/monopole_nonpol/run.py +++ b/examples/water_fullpol/monopole_nonpol/run.py @@ -17,7 +17,7 @@ # generator stores all force field parameters params = H.getParameters() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer) + pots = H.createPotential(pdb.topology, nonbondedMethod=app.PME, nonbondedCutoff=rc*unit.nanometer) pot_pme = pots.dmff_potentials['ADMPPmeForce'] # construct inputs diff --git a/examples/water_fullpol/monopole_polarizable/run.py b/examples/water_fullpol/monopole_polarizable/run.py index 560cd8da0..defcf51af 100755 --- a/examples/water_fullpol/monopole_polarizable/run.py +++ b/examples/water_fullpol/monopole_polarizable/run.py @@ -17,7 +17,7 @@ # generator stores all force field parameters params = H.getParameters() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer) + pots = H.createPotential(pdb.topology, nonbondedMethod=app.PME, nonbondedCutoff=rc*unit.nanometer) pot_pme = pots.dmff_potentials['ADMPPmeForce'] # construct inputs diff --git a/examples/water_fullpol/quadrupole_nonpol/run.py b/examples/water_fullpol/quadrupole_nonpol/run.py index 0b6fe6394..6e13c3ffa 100755 --- a/examples/water_fullpol/quadrupole_nonpol/run.py +++ b/examples/water_fullpol/quadrupole_nonpol/run.py @@ -18,7 +18,7 @@ # generator stores all force field parameters params = H.getParameters() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer) + pots = H.createPotential(pdb.topology, nonbondedMethod=app.PME, nonbondedCutoff=rc*unit.nanometer) pot_disp = pots.dmff_potentials['ADMPDispForce'] pot_pme = pots.dmff_potentials['ADMPPmeForce'] diff --git a/examples/water_fullpol/run.py b/examples/water_fullpol/run.py index f024a8d66..cec878a0f 100755 --- a/examples/water_fullpol/run.py +++ b/examples/water_fullpol/run.py @@ -17,7 +17,10 @@ # generator stores all force field parameters disp_generator, pme_generator = H.getGenerators() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, ethresh=5e-4) + pots = H.createPotential(pdb.topology, \ + nonbondedMethod=app.PME, \ + nonbondedCutoff=rc*unit.nanometer, \ + ethresh=5e-4) # construct inputs positions = jnp.array(pdb.positions._value) @@ -39,7 +42,7 @@ print('#', E_pme, 'kJ/mol') print('# Dispersion+Damping Energy:') print('#', E_disp, 'kJ/mol') - # sys.exit() + sys.exit() # compare induced dipole with mpid with open('mpid_dip.pickle', 'rb') as ifile: U_ind_mpid = pickle.load(ifile) * 10 From c483a2a5ead1c4caaf2d57d5bcbfc26cfa8d306c Mon Sep 17 00:00:00 2001 From: KuangYu Date: Thu, 2 Nov 2023 18:10:41 +0800 Subject: [PATCH 06/14] Fix the ADMP examples, also improve the way map_atomtypes and map_poltypes are accessed. --- dmff/admp/pme.py | 4 +- dmff/generators/admp.py | 31 +- .../demo.ipynb | 27 +- .../fluctuated_leading_term_waterff/run.py | 32 +- examples/peg_slater_isa/calc_energy_comps.py | 4 +- examples/peg_slater_isa/check.py | 4 +- examples/peg_slater_isa/remove_lr.py | 4 +- examples/peg_slater_isa/res_dhf.xvg | 998 +++++++++--------- examples/peg_slater_isa/res_disp.xvg | 998 +++++++++--------- examples/peg_slater_isa/res_es.xvg | 998 +++++++++--------- examples/peg_slater_isa/res_ex.xvg | 998 +++++++++--------- examples/peg_slater_isa/res_pol.xvg | 998 +++++++++--------- examples/peg_slater_isa/res_tot.xvg | 998 +++++++++--------- examples/water_fullpol/run.py | 12 +- 14 files changed, 3062 insertions(+), 3044 deletions(-) diff --git a/dmff/admp/pme.py b/dmff/admp/pme.py index 6eba81266..21ea5d3a1 100755 --- a/dmff/admp/pme.py +++ b/dmff/admp/pme.py @@ -398,6 +398,7 @@ def optimize_Uind( flag = False else: # converged flag = True + n_cycles = i else: def update_U(i, U): @@ -418,7 +419,8 @@ def update_U(i, U): U = jax.lax.fori_loop(0, steps_pol, update_U, U) flag = True - return U, flag, steps_pol + n_cycles = steps_pol + return U, flag, n_cycles def setup_ewald_parameters( diff --git a/dmff/generators/admp.py b/dmff/generators/admp.py index 7ac6ad88e..1262570c7 100644 --- a/dmff/generators/admp.py +++ b/dmff/generators/admp.py @@ -153,7 +153,7 @@ def createPotential( for i in range(n_atoms): atype = atoms[i].meta[self.key_type] map_atomtype[i] = self._find_atype_key_index(atype) - self.map_atomtype = map_atomtype + topdata._meta[self.name+"_map_atomtype"] = map_atomtype # here box is only used to setup ewald parameters, no need to be differentiable if lpme: box = topdata.getPeriodicBoxVectors() * 10 @@ -340,7 +340,7 @@ def createPotential( atype = atoms[i].meta[self.key_type] map_atomtype[i] = self._find_atype_key_index(atype) - self.map_atomtype = map_atomtype + topdata._meta[self.name+"_map_atomtype"] = map_atomtype # here box is only used to setup ewald parameters, no need to be differentiable if lpme: @@ -494,7 +494,7 @@ def createPotential( atype = atoms[i].meta[self.key_type] map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] - self.map_atomtype = map_atomtype + topdata._meta[self.name+"_map_atomtype"] = map_atomtype pot_fn_sr = generate_pairwise_interaction(TT_damping_qq_kernel, static_args={}) has_aux = False @@ -634,7 +634,7 @@ def createPotential( atype = atoms[i].meta[self.key_type] map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] - self.map_atomtype = map_atomtype + topdata._meta[self.name+"_map_atomtype"] = map_atomtype # WORKING pot_fn_sr = generate_pairwise_interaction( @@ -771,6 +771,8 @@ def createPotential( atype = atoms[i].meta[self.key_type] map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] + topdata._meta[self.name+"_map_atomtype"] = map_atomtype + pot_fn_sr = generate_pairwise_interaction(slater_sr_kernel, static_args={}) has_aux = False @@ -824,7 +826,7 @@ def createPotential( atype = atoms[i].meta[self.key_type] map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] - self.map_atomtype = map_atomtype + topdata._meta[self.name+"_map_atomtype"] = map_atomtype pot_fn_sr = generate_pairwise_interaction(slater_sr_kernel, static_args={}) @@ -1202,8 +1204,6 @@ def createPotential( if self.lpol: map_poltype[i] = self._find_polarize_key_index(atype) - self.map_poltype = map_poltype - self.map_atomtype = map_atomtype # here box is only used to setup ewald parameters, no need to be differentiable box = topdata.getPeriodicBoxVectors() @@ -1374,8 +1374,8 @@ def createPotential( has_aux ) self.pme_force = pme_force - topdata._meta["admp_map_atomtype"] = map_atomtype - topdata._meta["admp_map_poltype"] = map_poltype + topdata._meta[self.name+"_map_atomtype"] = map_atomtype + topdata._meta[self.name+"_map_poltype"] = map_poltype if "has_aux" in kwargs and kwargs["has_aux"]: has_aux = True @@ -1391,11 +1391,14 @@ def potential_fn(positions, box, pairs, params, aux=None): tholes = params["ADMPPmeForce"]["thole"][map_poltype] if has_aux: - energy, aux = pme_force.get_energy( - positions, box, pairs, Q_local, pol, tholes, - self.mScales, self.pScales, self.dScales, - U_init = aux["U_ind"], aux = aux - ) + if aux is not None: + energy, aux = pme_force.get_energy( + positions, box, pairs, Q_local, pol, tholes, + self.mScales, self.pScales, self.dScales, + U_init = aux["U_ind"], aux = aux + ) + else: + energy, aux = pme_force.get_energy(positions, box, pairs, Q_local, pol, tholes, self.mScales, self.pScales, self.dScales, U_init=jnp.zeros((n_atoms,3)), aux={}) return energy, aux else: energy = pme_force.get_energy( diff --git a/examples/fluctuated_leading_term_waterff/demo.ipynb b/examples/fluctuated_leading_term_waterff/demo.ipynb index dd8efdd68..e56696587 100644 --- a/examples/fluctuated_leading_term_waterff/demo.ipynb +++ b/examples/fluctuated_leading_term_waterff/demo.ipynb @@ -118,7 +118,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 5, "id": "0ab968c2", "metadata": {}, "outputs": [ @@ -139,14 +139,15 @@ " 0.00436148, 0. , 0.00701541, 0. ]], dtype=float64)" ] }, - "execution_count": 3, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "params = H.getParameters()['ADMPPmeForce']\n", - "params['Q_local'][pme_generator.map_atomtype]" + "map_atomtype = pots.meta[\"ADMPPmeForce_map_atomtype\"]\n", + "params['Q_local'][map_atomtype]" ] }, { @@ -171,7 +172,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "id": "bae85400", "metadata": { "scrolled": true @@ -215,15 +216,17 @@ " return c0, c6_list\n", "\n", "\n", - "def generate_calculator(pme_generator, params):\n", + "def generate_calculator(pots, pme_generator, params):\n", + " map_atomtype = pots.meta[\"ADMPPmeForce_map_atomtype\"]\n", + " map_poltype = pots.meta[\"ADMPPmeForce_map_poltype\"]\n", " def admp_calculator(positions, box, pairs):\n", " positions = positions * 10 # convert from nm to angstrom\n", " box = box * 10\n", " c0, c6_list = compute_leading_terms(positions, box) # compute fluctuated charges\n", - " Q_local = params[\"Q_local\"][pme_generator.map_atomtype]\n", + " Q_local = params[\"Q_local\"][map_atomtype]\n", " Q_local = Q_local.at[:,0].set(c0) # change fixed charge into fluctuated one\n", - " pol = params[\"pol\"][pme_generator.map_poltype]\n", - " tholes = params[\"thole\"][pme_generator.map_poltype]\n", + " pol = params[\"pol\"][map_poltype]\n", + " tholes = params[\"thole\"][map_poltype]\n", " mScales = pme_generator.mScales\n", " pScales = pme_generator.pScales\n", " dScales = pme_generator.dScales\n", @@ -252,7 +255,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 8, "id": "d545d7b7", "metadata": {}, "outputs": [ @@ -270,14 +273,14 @@ "nbl.allocate(positions)\n", "pairs = nbl.pairs\n", "\n", - "potential_fn = generate_calculator(pme_generator, params)\n", + "potential_fn = generate_calculator(pots, pme_generator, params)\n", "ene = potential_fn(positions, box, pairs)\n", "print(ene)" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "id": "a863ee0b", "metadata": {}, "outputs": [ @@ -310,7 +313,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "id": "aa73c8d4", "metadata": {}, "outputs": [ diff --git a/examples/fluctuated_leading_term_waterff/run.py b/examples/fluctuated_leading_term_waterff/run.py index f9123d1e8..bc7c8d48c 100755 --- a/examples/fluctuated_leading_term_waterff/run.py +++ b/examples/fluctuated_leading_term_waterff/run.py @@ -54,23 +54,29 @@ def compute_leading_terms(positions,box): c6_list = c6_list.at[2::3].set(jnp.sqrt(C6_H2)) return c0, c6_list -def generate_calculator(pot_disp, pot_pme, pot_sr, disp_generator, pme_generator, params, covalent_map): +# def generate_calculator(pot_disp, pot_pme, pot_sr, disp_generator, pme_generator, params, covalent_map): +def generate_calculator(pots, pme_generator, disp_generator, params): + pot_disp = pots.dmff_potentials['ADMPDispForce'] + pot_pme = pots.dmff_potentials['ADMPPmeForce'] + pot_sr = generate_pairwise_interaction(TT_damping_qq_c6_kernel, static_args={}) + map_atype_disp = pots.meta["ADMPDispForce_map_atomtype"] + map_atype_pme = pots.meta["ADMPPmeForce_map_atomtype"] def admp_calculator(positions, box, pairs): # params_pme = pme_generator.paramtree['ADMPPmeForce'] # params_disp = disp_generator.paramtree['ADMPDispForce'] params_pme = params['ADMPPmeForce'] params_disp = params['ADMPDispForce'] c0, c6_list = compute_leading_terms(positions,box) # compute fluctuated leading terms - Q_local = params_pme["Q_local"][pme_generator.map_atomtype] + Q_local = params_pme["Q_local"][map_atype_pme] Q_local = Q_local.at[:,0].set(c0) # change fixed charge into fluctuated one - pol = params_pme["pol"][pme_generator.map_atomtype] - tholes = params_pme["thole"][pme_generator.map_atomtype] - c8_list = jnp.sqrt(params_disp["C8"][disp_generator.map_atomtype]*1e8) - c10_list = jnp.sqrt(params_disp["C10"][disp_generator.map_atomtype]*1e10) + pol = params_pme["pol"][map_atype_pme] + tholes = params_pme["thole"][map_atype_pme] + c8_list = jnp.sqrt(params_disp["C8"][map_atype_disp]*1e8) + c10_list = jnp.sqrt(params_disp["C10"][map_atype_disp]*1e10) c_list = jnp.vstack((c6_list, c8_list, c10_list)) - a_list = (params_disp["A"][disp_generator.map_atomtype] / 2625.5) - b_list = params_disp["B"][disp_generator.map_atomtype] * 0.0529177249 - q_list = params_disp["Q"][disp_generator.map_atomtype] + a_list = (params_disp["A"][map_atype_disp] / 2625.5) + b_list = params_disp["B"][map_atype_disp] * 0.0529177249 + q_list = params_disp["Q"][map_atype_disp] E_pme = pme_generator.pme_force.get_energy( positions, box, pairs, Q_local, pol, tholes, pme_generator.mScales, pme_generator.pScales, pme_generator.dScales @@ -90,9 +96,9 @@ def admp_calculator(positions, box, pairs): # generator stores all force field parameters disp_generator, pme_generator = H.getGenerators() pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, step_pol=5) - pot_disp = pots.dmff_potentials['ADMPDispForce'] - pot_pme = pots.dmff_potentials['ADMPPmeForce'] - pot_sr = generate_pairwise_interaction(TT_damping_qq_c6_kernel, static_args={}) + # pot_disp = pots.dmff_potentials['ADMPDispForce'] + # pot_pme = pots.dmff_potentials['ADMPPmeForce'] + # pot_sr = generate_pairwise_interaction(TT_damping_qq_c6_kernel, static_args={}) # construct inputs positions = jnp.array(pdb.positions._value) @@ -104,7 +110,7 @@ def admp_calculator(positions, box, pairs): pairs = nbl.pairs - admp_calc = generate_calculator(pot_disp, pot_pme, pot_sr, disp_generator, pme_generator, H.getParameters(), pots.meta["cov_map"]) + admp_calc = generate_calculator(pots, pme_generator, disp_generator, H.getParameters()) tot_ene, tot_force = admp_calc(positions*10, box*10, pairs) print('# Tot Interaction Energy:') print('#', tot_ene, 'kJ/mol') diff --git a/examples/peg_slater_isa/calc_energy_comps.py b/examples/peg_slater_isa/calc_energy_comps.py index d404b9d90..5230c9834 100755 --- a/examples/peg_slater_isa/calc_energy_comps.py +++ b/examples/peg_slater_isa/calc_energy_comps.py @@ -131,8 +131,8 @@ # use induced dipole of monomers to compute electrostatic interaction U_ind_AB = jnp.vstack((pme_generator_A.pme_force.U_ind, pme_generator_B.pme_force.U_ind)) params_pme = params['ADMPPmeForce'] - map_atypes = pme_generator_AB.map_atomtype - map_poltypes = pme_generator_AB.map_poltype + map_atypes = pots_AB.meta['ADMPPmeForce_map_atomtype'] + map_poltype = pots_AB.meta['ADMPPmeForce_map_poltype'] Q_local = params_pme['Q_local'][map_atypes] pol = params_pme['pol'][map_poltypes] tholes = params_pme['thole'][map_poltypes] diff --git a/examples/peg_slater_isa/check.py b/examples/peg_slater_isa/check.py index 8bb0ddf5c..ce1251c20 100755 --- a/examples/peg_slater_isa/check.py +++ b/examples/peg_slater_isa/check.py @@ -196,8 +196,8 @@ # use induced dipole of monomers to compute electrostatic interaction U_ind_AB = jnp.vstack((pme_generator_A.pme_force.U_ind, pme_generator_B.pme_force.U_ind)) params = paramtree['ADMPPmeForce'] - map_atypes = pme_generator_AB.map_atomtype - map_poltype = pme_generator_AB.map_poltype + map_atypes = pots_AB.meta['ADMPPmeForce_map_atomtype'] + map_poltype = pots_AB.meta['ADMPPmeForce_map_poltype'] Q_local = params['Q_local'][map_atypes] pol = params['pol'][map_poltype] tholes = params['thole'][map_poltype] diff --git a/examples/peg_slater_isa/remove_lr.py b/examples/peg_slater_isa/remove_lr.py index 2ca6dd2ef..def3c957a 100755 --- a/examples/peg_slater_isa/remove_lr.py +++ b/examples/peg_slater_isa/remove_lr.py @@ -160,8 +160,8 @@ # use induced dipole of monomers to compute electrostatic interaction U_ind_AB = jnp.vstack((pme_generator_A.pme_force.U_ind, pme_generator_B.pme_force.U_ind)) params_pme = params['ADMPPmeForce'] - map_atypes = pme_generator_AB.map_atomtype - map_poltypes = pme_generator_AB.map_poltype + map_atypes = pots_AB.meta['ADMPPmeForce_map_atomtype'] + map_poltype = pots_AB.meta['ADMPPmeForce_map_poltype'] Q_local = params_pme['Q_local'][map_atypes] pol = params_pme['pol'][map_poltypes] tholes = params_pme['thole'][map_poltypes] diff --git a/examples/peg_slater_isa/res_dhf.xvg b/examples/peg_slater_isa/res_dhf.xvg index 9494c65cd..78a13169a 100644 --- a/examples/peg_slater_isa/res_dhf.xvg +++ b/examples/peg_slater_isa/res_dhf.xvg @@ -1,499 +1,499 @@ --6.395951223165 -6.395951223165 -6.554231 --3.3727073756100006 -3.3727073756100006 -3.8373973 --1.73571668474 -1.73571668474 -2.2134938 --0.8775575169800001 -0.8775575169800001 -1.2617446 --0.2177143365 -0.2177143365 -0.39894447 --0.053409102475000005 -0.053409102475000005 -0.122665405 --0.013282430755000001 -0.013282430755000001 -0.036893483 --0.003417849645 -0.003417849645 -0.0108942175 --0.000489314435 -0.000489314435 -0.0016996133 --8.117003781520001e-05 -8.117003781520001e-05 -0.00025826736 --1.7369076745520003e-05 -1.7369076745520003e-05 -3.8487244e-05 --4.964320210975 -4.964320210975 -7.1791205 --1.14251951132 -1.14251951132 -2.038255 --0.24832979315500003 -0.24832979315500003 -0.5499255 --0.054577660015 -0.054577660015 -0.14337324 --0.013139997379999999 -0.013139997379999999 -0.03633278 --0.0021383122200000003 -0.0021383122200000003 -0.0044007637 --0.00054657659 -0.00054657659 -0.00050145574 --0.00018933871096075 -0.00018933871096075 -5.409494e-05 --7.420437364970001 -7.420437364970001 -9.406848 --3.5368059827850002 -3.5368059827850002 -5.158201 --0.774934099635 -0.774934099635 -1.4549233 --0.165644081495 -0.165644081495 -0.3825976 --0.035053654365000006 -0.035053654365000006 -0.0954022 --0.00737366424 -0.00737366424 -0.022880714 --0.00069281694 -0.00069281694 -0.0025591345 --6.0019970223100004e-05 -6.0019970223100004e-05 -0.00027635758 --4.42436988413e-06 -4.42436988413e-06 -2.9316503e-05 --13.282306673870002 -13.282306673870002 -9.896755 --6.79626937347 -6.79626937347 -5.8241596 --3.4098981344650006 -3.4098981344650006 -3.376435 --0.8193444321350001 -0.8193444321350001 -1.0919054 --0.188311755825 -0.188311755825 -0.3386179 --0.041498784275 -0.041498784275 -0.101666205 --0.008511267135 -0.008511267135 -0.029775275 --0.000464319675 -0.000464319675 -0.0045583253 -0.0001401466301375 0.0001401466301375 -0.0006765318 -9.981339956795e-05 9.981339956795e-05 -9.804452e-05 --7.3663997965600005 -7.3663997965600005 -5.693802 --1.5639944657250002 -1.5639944657250002 -1.7284988 --0.300878598045 -0.300878598045 -0.4851229 --0.06250307308 -0.06250307308 -0.12767383 --0.01597390957 -0.01597390957 -0.031803083 --0.0033753428 -0.0033753428 -0.0036322086 --0.00108338632 -0.00108338632 -0.00038323744 --0.000424569605 -0.000424569605 -3.8112546e-05 --7.659287921650001 -7.659287921650001 -5.0352745 --4.16042038761 -4.16042038761 -2.895676 --2.1948879380250004 -2.1948879380250004 -1.6317191 --1.132193866155 -1.132193866155 -0.90419555 --0.57411167878 -0.57411167878 -0.49421608 --0.14263469834 -0.14263469834 -0.14306143 --0.034364565635000004 -0.034364565635000004 -0.04018702 --0.008027124935 -0.008027124935 -0.011067651 --0.001773236445 -0.001773236445 -0.0030089202 --0.00011631169841510001 -0.00011631169841510001 -0.0004203144 -3.1818301387150004e-05 3.1818301387150004e-05 -5.8153186e-05 -2.79189557836e-05 2.79189557836e-05 -8.010658e-06 --9.932218112035 -9.932218112035 -9.585552 --5.0588160255000005 -5.0588160255000005 -5.711941 --2.657707822405 -2.657707822405 -3.3527348 --0.744602695825 -0.744602695825 -1.0912757 --0.191315380335 -0.191315380335 -0.32784867 --0.04380410455 -0.04380410455 -0.091719836 --0.009107413165 -0.009107413165 -0.0242315 --0.000734536135 -0.000734536135 -0.0030355044 --2.2328219628025002e-05 -2.2328219628025002e-05 -0.0003542006 -2.6104872912310004e-05 2.6104872912310004e-05 -3.9219856e-05 --6.80929915236 -6.80929915236 -5.943305 --1.6045249656 -1.6045249656 -1.7337825 --0.32262406550000006 -0.32262406550000006 -0.46802494 --0.058000891935 -0.058000891935 -0.11952178 --0.009027808005 -0.009027808005 -0.029344756 --3.840333526545e-05 -3.840333526545e-05 -0.0033943746 -0.0002271719036733 0.0002271719036733 -0.00037696026 -0.00011445014723895 0.00011445014723895 -4.0717423e-05 --3.7387166471350004 -3.7387166471350004 -5.599716 --0.772207675415 -0.772207675415 -1.7391598 --0.1549102761 -0.1549102761 -0.5167951 --0.03268211898 -0.03268211898 -0.14812239 --0.0079799447 -0.0079799447 -0.041215915 --0.0015597307850000002 -0.0015597307850000002 -0.0057886397 --0.00047198613500000003 -0.00047198613500000003 -0.0007805415 --0.0001800033143411 -0.0001800033143411 -0.00010206973 --5.396351066895001 -5.396351066895001 -8.754257 --1.2098745609100001 -1.2098745609100001 -2.787104 --0.25481354417 -0.25481354417 -0.7902878 --0.05289224654500001 -0.05289224654500001 -0.20155503 --0.010745620145 -0.010745620145 -0.04699192 --0.0009988452200000001 -0.0009988452200000001 -0.0046500657 --6.990724274195e-05 -6.990724274195e-05 -0.00041294715 --4.5662139131450004e-05 -4.5662139131450004e-05 -3.4162324e-05 --8.669984622395 -8.669984622395 -9.880216 --4.532301852435 -4.532301852435 -5.8250585 --1.197238502 -1.197238502 -1.8614478 --0.29627000538500003 -0.29627000538500003 -0.5423613 --0.070004677935 -0.070004677935 -0.14792557 --0.016513266035 -0.016513266035 -0.03866166 --0.00215075709 -0.00215075709 -0.0049543814 --0.00038907284500000006 -0.00038907284500000006 -0.00062322716 --0.00010734164642165 -0.00010734164642165 -7.80836e-05 --8.613033694165 -8.613033694165 -6.5861793 --4.072253550875001 -4.072253550875001 -3.51537 --1.909714687155 -1.909714687155 -1.8651688 --0.897964977125 -0.897964977125 -0.98618376 --0.42742032039000005 -0.42742032039000005 -0.5205384 --0.10297575944500001 -0.10297575944500001 -0.14484338 --0.02698200095 -0.02698200095 -0.04031661 --0.007498060430000001 -0.007498060430000001 -0.011214638 --0.0021737302150000005 -0.0021737302150000005 -0.0031111669 --0.00037542024500000006 -0.00037542024500000006 -0.0004508067 --8.28750411909e-05 -8.28750411909e-05 -6.4520165e-05 --3.122605895055e-05 -3.122605895055e-05 -9.110197e-06 --16.603716846695 -16.603716846695 -10.160444 --8.795391183560001 -8.795391183560001 -5.928369 --4.59638371743 -4.59638371743 -3.4169025 --2.38284929462 -2.38284929462 -1.9497849 --0.64269477974 -0.64269477974 -0.62026525 --0.181901492555 -0.181901492555 -0.19279574 --0.056065425845 -0.056065425845 -0.05892755 --0.019394279695000002 -0.019394279695000002 -0.017786108 --0.005059574795000001 -0.005059574795000001 -0.0028988973 --0.001717260785 -0.001717260785 -0.00046555372 --0.0006978316450000001 -0.0006978316450000001 -7.399218e-05 --5.688548317915 -5.688548317915 -5.8644047 --2.8894232677750002 -2.8894232677750002 -3.3554642 --1.475955149525 -1.475955149525 -1.9146435 --0.7562085873000001 -0.7562085873000001 -1.0902807 --0.19772265053500002 -0.19772265053500002 -0.3514719 --0.05071788621 -0.05071788621 -0.11225288 --0.01277867607 -0.01277867607 -0.035444055 --0.0031926080000000004 -0.0031926080000000004 -0.011046906 --0.000413437485 -0.000413437485 -0.001872197 --6.843849472120001e-05 -6.843849472120001e-05 -0.00030719352 --2.4375147224745002e-05 -2.4375147224745002e-05 -4.884095e-05 --8.415012550535002 -8.415012550535002 -4.220803 --4.700202787475001 -4.700202787475001 -2.3805647 --1.214179356965 -1.214179356965 -0.71374345 --0.259265473245 -0.259265473245 -0.19991323 --0.0499622148 -0.0499622148 -0.053104106 --0.009414544155000001 -0.009414544155000001 -0.013536194 --0.0009116786200000001 -0.0009116786200000001 -0.0016392432 --0.0001527995043248 -0.0001527995043248 -0.00018736855 --4.0632918004500006e-05 -4.0632918004500006e-05 -2.0471227e-05 --9.983601509985002 -9.983601509985002 -7.437299 --5.355853595810001 -5.355853595810001 -4.298724 --2.82147934479 -2.82147934479 -2.4543262 --0.7563393634550001 -0.7563393634550001 -0.77679396 --0.19896469582 -0.19896469582 -0.23840772 --0.053097481880000005 -0.053097481880000005 -0.07143886 --0.015095049700000002 -0.015095049700000002 -0.020992054 --0.002975610425 -0.002975610425 -0.003244186 --0.0008816691550000001 -0.0008816691550000001 -0.00048650565 --0.00035021544500000003 -0.00035021544500000003 -7.115371e-05 --7.8506161931900005 -7.8506161931900005 -9.125624 --3.9611453051800005 -3.9611453051800005 -5.276129 --1.95747019546 -1.95747019546 -3.0236912 --0.9543128805150001 -0.9543128805150001 -1.7206391 --0.22322352817000002 -0.22322352817000002 -0.54835624 --0.05276724649000001 -0.05276724649000001 -0.17211285 --0.012967974620000001 -0.012967974620000001 -0.053453375 --0.003418532275 -0.003418532275 -0.01647162 --0.00058207335 -0.00058207335 -0.0027854077 --0.0001141689848069 -0.0001141689848069 -0.00046551478 --4.1463479176500005e-05 -4.1463479176500005e-05 -7.695677e-05 --6.965933174230001 -6.965933174230001 -7.869577 --3.5101163050050004 -3.5101163050050004 -4.245632 --0.8256617789600001 -0.8256617789600001 -1.16258 --0.182980520545 -0.182980520545 -0.29847887 --0.03969887275 -0.03969887275 -0.073092625 --0.00863306408 -0.00863306408 -0.01730654 --0.0009339691150000001 -0.0009339691150000001 -0.0019143093 --0.0001385982562153 -0.0001385982562153 -0.00020612404 --3.6299491659650004e-05 -3.6299491659650004e-05 -2.1968037e-05 --6.126552028805 -6.126552028805 -7.1638203 --2.941269016275 -2.941269016275 -3.9606087 --1.38638230503 -1.38638230503 -2.1638992 --0.29740101827500004 -0.29740101827500004 -0.6284311 --0.06224755942 -0.06224755942 -0.17775771 --0.013046949660000001 -0.013046949660000001 -0.04940739 --0.0028825889600000002 -0.0028825889600000002 -0.013574088 --0.000395741615 -0.000395741615 -0.0019280558 --0.0001027981580226 -0.0001027981580226 -0.00027110626 --4.1792083343350005e-05 -4.1792083343350005e-05 -3.787328e-05 --7.547160771915001 -7.547160771915001 -8.593436 --3.8999607582000007 -3.8999607582000007 -4.939512 --1.9810366834600002 -1.9810366834600002 -2.8123567 --0.495208498715 -0.495208498715 -0.8920064 --0.121963217915 -0.121963217915 -0.27704105 --0.030489380145 -0.030489380145 -0.08480838 --0.007987952475 -0.007987952475 -0.025693435 --0.00128003627 -0.00128003627 -0.004223696 --0.000290826635 -0.000290826635 -0.000685211 --9.66841735009e-05 -9.66841735009e-05 -0.000109964596 --8.82060280986 -8.82060280986 -6.5706615 --4.700571801500001 -4.700571801500001 -3.7745955 --2.4697655531950002 -2.4697655531950002 -2.1375794 --1.286163635645 -1.286163635645 -1.1969167 --0.667146560085 -0.667146560085 -0.6642341 --0.18028116523 -0.18028116523 -0.20058282 --0.05015009558 -0.05015009558 -0.059515532 --0.014901471585000001 -0.014901471585000001 -0.01747612 --0.004941952395 -0.004941952395 -0.0051024584 --0.00124642987 -0.00124642987 -0.00080147607 --0.00043173722 -0.00043173722 -0.00012586042 --0.00018487825163625 -0.00018487825163625 -1.9812325e-05 --8.387036036440001 -8.387036036440001 -9.197266 --4.16889434639 -4.16889434639 -5.140165 --2.01478323265 -2.01478323265 -2.8436913 --0.95499590434 -0.95499590434 -1.5628116 --0.20904924132 -0.20904924132 -0.46745592 --0.045954887895000004 -0.045954887895000004 -0.13931781 --0.010411525270000001 -0.010411525270000001 -0.0414966 --0.00244260767 -0.00244260767 -0.012324749 --0.000294554845 -0.000294554845 -0.0019685102 --4.7524413370300007e-05 -4.7524413370300007e-05 -0.0003069478 -2.1165811691655e-06 2.1165811691655e-06 -4.6547353e-05 --7.70963576989 -7.70963576989 -3.3707469 --4.04252987155 -4.04252987155 -1.967554 --2.088829710305 -2.088829710305 -1.1380664 --1.0660511937000001 -1.0660511937000001 -0.6536455 --0.5384321052150001 -0.5384321052150001 -0.37336782 --0.13387786819000003 -0.13387786819000003 -0.12037915 --0.031938446105000004 -0.031938446105000004 -0.03839301 --0.00691561951 -0.00691561951 -0.012157381 --0.001331312285 -0.001331312285 -0.0038299337 -0.00031033410000000003 0.00031033410000000003 -0.00067212805 -0.00020388915109535 0.00020388915109535 -0.000117037445 -0.000151122136437 0.000151122136437 -2.0228326e-05 --6.840992298 -6.840992298 -5.7760706 --3.3838670371050004 -3.3838670371050004 -3.3130534 --1.66786898633 -1.66786898633 -1.8686304 --0.8205049031350001 -0.8205049031350001 -1.0374787 --0.197615792685 -0.197615792685 -0.3063737 --0.047139460985000006 -0.047139460985000006 -0.086136356 --0.01095531883 -0.01095531883 -0.023300892 --0.002407242185 -0.002407242185 -0.0061279726 --0.00016559712574025002 -0.00016559712574025002 -0.00079940696 -3.9064683225000004e-05 3.9064683225000004e-05 -0.000102258964 -2.7199480566800003e-05 2.7199480566800003e-05 -1.3020563e-05 --5.892283232175 -5.892283232175 -6.451158 --2.725434957855 -2.725434957855 -3.3610175 --1.2807091856500001 -1.2807091856500001 -1.7610543 --0.29959485982 -0.29959485982 -0.49393556 --0.07396563851 -0.07396563851 -0.14153187 --0.019024504275000003 -0.019024504275000003 -0.040740445 --0.005278594005000001 -0.005278594005000001 -0.011595912 --0.000990049795 -0.000990049795 -0.0016872765 --0.00026035990110525003 -0.00026035990110525003 -0.00023060135 --8.360486901675001e-05 -8.360486901675001e-05 -2.9625684e-05 --7.362602535910001 -7.362602535910001 -7.062088 --3.3013213433600006 -3.3013213433600006 -3.8092482 --1.5115133724800003 -1.5115133724800003 -2.0544631 --0.34719501729 -0.34719501729 -0.60244817 --0.09128902882500001 -0.09128902882500001 -0.17995551 --0.027771094975000004 -0.027771094975000004 -0.05484074 --0.01010996034 -0.01010996034 -0.016947778 --0.003084043575 -0.003084043575 -0.0029185184 --0.001207808765 -0.001207808765 -0.00048827135 --0.00052751546 -0.00052751546 -7.763691e-05 --9.032399111830001 -9.032399111830001 -10.056278 --4.794203774015 -4.794203774015 -5.816675 --2.4883669056350004 -2.4883669056350004 -3.304336 --0.63941279972 -0.63941279972 -1.016694 --0.158742009565 -0.158742009565 -0.29643196 --0.039304470140000006 -0.039304470140000006 -0.08278728 --0.010112034485000001 -0.010112034485000001 -0.022356939 --0.00157629769 -0.00157629769 -0.002996997 --0.00034491193500000005 -0.00034491193500000005 -0.00038735208 --0.00011079623180010002 -0.00011079623180010002 -4.9018505e-05 --6.866088796125 -6.866088796125 -9.604031 --1.558866391635 -1.558866391635 -3.4660976 --0.32270075635500006 -0.32270075635500006 -1.173036 --0.06996248615 -0.06996248615 -0.36521608 --0.015553488255000003 -0.015553488255000003 -0.10398358 --0.0015021798250000001 -0.0015021798250000001 -0.013572637 --0.00011298374431480002 -0.00011298374431480002 -0.0015313531 -4.872906917235e-06 4.872906917235e-06 -0.00015511917 --6.810736981180001 -6.810736981180001 -4.8070893 --3.6730193382450005 -3.6730193382450005 -2.7690964 --1.93945522219 -1.93945522219 -1.5721562 --1.0081230543700002 -1.0081230543700002 -0.8822965 --0.5180612707950001 -0.5180612707950001 -0.49061298 --0.13371177906 -0.13371177906 -0.14867772 --0.03360524478 -0.03360524478 -0.044263605 --0.008093733870000001 -0.008093733870000001 -0.013042729 --0.00176575377 -0.00176575377 -0.0038214473 --5.4657914986250004e-05 -5.4657914986250004e-05 -0.00060312997 -7.137631448685e-05 7.137631448685e-05 -9.500037e-05 -4.4063686947350005e-05 4.4063686947350005e-05 -1.4955056e-05 --7.291269801310001 -7.291269801310001 -8.6798115 --3.871284128275 -3.871284128275 -5.1228952 --2.004500803215 -2.004500803215 -2.9725142 --1.019907112275 -1.019907112275 -1.7004241 --0.257286791425 -0.257286791425 -0.53747886 --0.06464763399000001 -0.06464763399000001 -0.16367525 --0.016592556135 -0.016592556135 -0.04837263 --0.0044294810500000005 -0.0044294810500000005 -0.013947838 --0.00068483542 -0.00068483542 -0.0020810706 --0.0001332501536731 -0.0001332501536731 -0.0003001239 --4.035576392330001e-05 -4.035576392330001e-05 -4.223193e-05 --6.822473543790001 -6.822473543790001 -5.0514884 --3.57604925252 -3.57604925252 -2.990288 --1.83080746382 -1.83080746382 -1.7496281 --0.9208124456950001 -0.9208124456950001 -1.0138916 --0.45722087435500003 -0.45722087435500003 -0.58283 --0.110488417655 -0.110488417655 -0.18891005 --0.02664950763 -0.02664950763 -0.06001807 --0.006612873105 -0.006612873105 -0.018779831 --0.0017748905100000002 -0.0017748905100000002 -0.0058060717 --0.000326848495 -0.000326848495 -0.0009805076 --9.064985111255e-05 -9.064985111255e-05 -0.00016280822 --3.788916732235e-05 -3.788916732235e-05 -2.6669353e-05 --5.21770834494 -5.21770834494 -5.539495 --2.5404781184400003 -2.5404781184400003 -2.993928 --1.2144623071 -1.2144623071 -1.5993415 --0.266966012235 -0.266966012235 -0.4438282 --0.056740678190000005 -0.056740678190000005 -0.119793944 --0.011783637825 -0.011783637825 -0.031718284 --0.002375946225 -0.002375946225 -0.008287561 --0.00018710540368740001 -0.00018710540368740001 -0.0010888214 --3.117032588675e-06 -3.117032588675e-06 -0.00014121932 -3.786241452755e-06 3.786241452755e-06 -1.8158025e-05 --9.660750102440002 -9.660750102440002 -8.5658655 --5.67964569375 -5.67964569375 -5.403449 --1.4838721347350001 -1.4838721347350001 -1.9534652 --0.30814947396000003 -0.30814947396000003 -0.62034154 --0.060321151305 -0.060321151305 -0.17541686 --0.012390968485 -0.012390968485 -0.044945866 --0.0014538443700000002 -0.0014538443700000002 -0.0050309533 --0.00028250380000000003 -0.00028250380000000003 -0.0004938911 --5.5979328348600005e-05 -5.5979328348600005e-05 -4.424457e-05 --6.4957115852700005 -6.4957115852700005 -7.2830925 --2.9880558201 -2.9880558201 -3.6729321 --1.3113327551000002 -1.3113327551000002 -1.8175218 --0.55474215755 -0.55474215755 -0.8826414 --0.09147879996500001 -0.09147879996500001 -0.19690628 --0.01353413744 -0.01353413744 -0.040951878 --0.00163222084 -0.00163222084 -0.008011568 --6.530692408265e-05 -6.530692408265e-05 -0.0014911769 -5.3137472708350005e-05 5.3137472708350005e-05 -0.000111695 -1.389097376588e-05 1.389097376588e-05 -7.902689e-06 -6.328281612420001e-05 6.328281612420001e-05 -5.3965414e-07 --8.219362705995001 -8.219362705995001 -7.793518 --3.7684508284600002 -3.7684508284600002 -4.336114 --0.7535427596200001 -0.7535427596200001 -1.304425 --0.15552858135 -0.15552858135 -0.3816041 --0.035698765970000004 -0.035698765970000004 -0.10911608 --0.00981758466 -0.00981758466 -0.030531079 --0.00217701209 -0.00217701209 -0.004338965 --0.00071749664 -0.00071749664 -0.00058791967 --0.000287676035 -0.000287676035 -7.620756e-05 --12.707560437995001 -12.707560437995001 -9.358392 --6.997298683725 -6.997298683725 -5.454642 --1.78606232756 -1.78606232756 -1.7041004 --0.39259600345 -0.39259600345 -0.48742083 --0.081970499205 -0.081970499205 -0.13070232 --0.017932558825 -0.017932558825 -0.03340922 --0.0026015816949999998 -0.0026015816949999998 -0.004039673 --0.0006801882850000001 -0.0006801882850000001 -0.0004601879 --0.0002590735486699 -0.0002590735486699 -5.013123e-05 --10.714400035695002 -10.714400035695002 -4.1077514 --5.070124237785 -5.070124237785 -2.2276902 --2.395962748195 -2.395962748195 -1.197273 --0.5357199112050001 -0.5357199112050001 -0.33611742 --0.12123309262000001 -0.12123309262000001 -0.09075245 --0.028193852985 -0.028193852985 -0.023637308 --0.006965609030000001 -0.006965609030000001 -0.005975014 --0.00111273941 -0.00111273941 -0.00072819897 --0.00029515871 -0.00029515871 -8.572293e-05 --0.0001119431210886 -0.0001119431210886 -9.862306e-06 --8.995426532025 -8.995426532025 -7.729102 --4.777860981695 -4.777860981695 -4.484898 --2.4760244563900002 -2.4760244563900002 -2.577203 --1.25986555119 -1.25986555119 -1.4684289 --0.31763606183500004 -0.31763606183500004 -0.46627206 --0.081218923575 -0.081218923575 -0.14430065 --0.022331374035000004 -0.022331374035000004 -0.043678463 --0.0070606783850000005 -0.0070606783850000005 -0.012970038 --0.0018130915350000002 -0.0018130915350000002 -0.0020364858 --0.00067233804 -0.00067233804 -0.0003105402 --0.000300540985 -0.000300540985 -4.6275556e-05 --13.923322630145002 -13.923322630145002 -9.128172 --7.29302263762 -7.29302263762 -5.2181854 --3.7420872377800003 -3.7420872377800003 -2.9502187 --1.88849925564 -1.88849925564 -1.6520978 --0.46429355127500005 -0.46429355127500005 -0.5059094 --0.11013100834 -0.11013100834 -0.15108177 --0.024899690645000003 -0.024899690645000003 -0.044274192 --0.005068081415000001 -0.005068081415000001 -0.012792468 --0.00011904504634115 -0.00011904504634115 -0.0019500635 -0.00020128001583685003 0.00020128001583685003 -0.00029294848 -0.0001260496238298 0.0001260496238298 -4.3633212e-05 --8.819449506475001 -8.819449506475001 -9.09602 --4.502591326865001 -4.502591326865001 -5.0204606 --2.272249477 -2.272249477 -2.7231557 --0.562977642165 -0.562977642165 -0.766501 --0.13561894226 -0.13561894226 -0.20568182 --0.032175686285000005 -0.032175686285000005 -0.053241562 --0.007665646095 -0.007665646095 -0.013431826 --0.000956915985 -0.000956915985 -0.0016512638 --0.0001488085342848 -0.0001488085342848 -0.00019916524 --3.6972858370550004e-05 -3.6972858370550004e-05 -2.3839486e-05 --8.2378990248 -8.2378990248 -9.657698 --4.2155652606450005 -4.2155652606450005 -5.407522 --2.165172634045 -2.165172634045 -2.9953263 --1.113106113585 -1.113106113585 -1.642647 --0.29121163832 -0.29121163832 -0.48032987 --0.0745794279 -0.0745794279 -0.1357372 --0.018941538475000002 -0.018941538475000002 -0.037247676 --0.004969677675 -0.004969677675 -0.009974461 --0.000837403225 -0.000837403225 -0.0013326217 --0.00022460497569025002 -0.00022460497569025002 -0.00017205969 --9.644117323645e-05 -9.644117323645e-05 -2.1632413e-05 --9.824139798360001 -9.824139798360001 -11.406001 --4.585435356175 -4.585435356175 -6.0107083 --0.9836439950800001 -0.9836439950800001 -1.6097747 --0.22153743207000004 -0.22153743207000004 -0.41447636 --0.055502177330000006 -0.055502177330000006 -0.10366075 --0.016668590615000003 -0.016668590615000003 -0.025459567 --0.004196888005000001 -0.004196888005000001 -0.003057039 --0.00152215988 -0.00152215988 -0.00036644243 --0.000668268515 -0.000668268515 -4.3863056e-05 --9.175517506035 -9.175517506035 -11.061548 --4.8363056356400005 -4.8363056356400005 -6.21865 --2.456009035905 -2.456009035905 -3.4256625 --1.21456496415 -1.21456496415 -1.8539969 --0.28357248352000003 -0.28357248352000003 -0.5198845 --0.064693711515 -0.064693711515 -0.139388 --0.014962750755 -0.014962750755 -0.036185835 --0.0036905078200000006 -0.0036905078200000006 -0.009183283 --0.00061258166 -0.00061258166 -0.0011424976 --0.00017269694087845 -0.00017269694087845 -0.00013963785 --7.80378478212e-05 -7.80378478212e-05 -1.6957754e-05 --8.456034990345 -8.456034990345 -7.4520206 --4.3524863196300005 -4.3524863196300005 -4.512048 --1.0718874176500002 -1.0718874176500002 -1.5581567 --0.25266520254 -0.25266520254 -0.5021151 --0.060442501915 -0.060442501915 -0.15279233 --0.015902627245000002 -0.015902627245000002 -0.044344235 --0.0030986151 -0.0030986151 -0.006452966 --0.0009848250500000002 -0.0009848250500000002 -0.0008766693 --0.000380566225 -0.000380566225 -0.00011281576 --9.831710900200001 -9.831710900200001 -7.7921915 --5.4255033324 -5.4255033324 -4.5987306 --1.58094734548 -1.58094734548 -1.4206197 --0.41507072978500004 -0.41507072978500004 -0.38179553 --0.09454420248999999 -0.09454420248999999 -0.0917287 --0.01932504526 -0.01932504526 -0.020294545 --0.0017598463950000002 -0.0017598463950000002 -0.0019121211 --0.00023354476695835 -0.00023354476695835 -0.00016794569 --6.6543218735e-05 -6.6543218735e-05 -1.4155125e-05 --5.069979966560001 -5.069979966560001 -4.705359 --1.176371316805 -1.176371316805 -1.57038 --0.260558531995 -0.260558531995 -0.50173706 --0.05702260438 -0.05702260438 -0.15500355 --0.0124884533 -0.0124884533 -0.04663483 --0.001395689545 -0.001395689545 -0.0074056154 --0.00018303444437675002 -0.00018303444437675002 -0.0011352571 --2.4744991354080002e-05 -2.4744991354080002e-05 -0.00016945507 --13.01717780275 -13.01717780275 -9.233484 --6.0629836591 -6.0629836591 -5.2198353 --2.916370664635 -2.916370664635 -2.915589 --0.7115196104850001 -0.7115196104850001 -0.8675499 --0.17124109614 -0.17124109614 -0.23991528 --0.038387829325000004 -0.038387829325000004 -0.061809216 --0.007904199025000001 -0.007904199025000001 -0.015010324 --0.00058569654 -0.00058569654 -0.0016558148 --2.3782658253695e-06 -2.3782658253695e-06 -0.00017109155 -1.9529498537315002e-05 1.9529498537315002e-05 -1.697028e-05 --9.79811726013 -9.79811726013 -10.558946 --4.704902537495 -4.704902537495 -5.9401264 --2.246443621285 -2.246443621285 -3.2891583 --0.5091939858600001 -0.5091939858600001 -0.96524537 --0.11583417195000001 -0.11583417195000001 -0.26906124 --0.026754763925000005 -0.026754763925000005 -0.0718895 --0.006450564695000001 -0.006450564695000001 -0.018574094 --0.0009009140700000001 -0.0009009140700000001 -0.0023283903 --0.00017989090067055 -0.00017989090067055 -0.00028078063 --4.7950259755950006e-05 -4.7950259755950006e-05 -3.3012184e-05 --2.460515024025 -2.460515024025 -3.1482415 --0.48270815190000005 -0.48270815190000005 -0.98264956 --0.09347168574 -0.09347168574 -0.2871066 --0.019511639545 -0.019511639545 -0.077998795 --0.002425305625 -0.002425305625 -0.009730542 --0.000515096845 -0.000515096845 -0.0010735537 --0.00015008524063315 -0.00015008524063315 -0.00010812916 --7.61754924544 -7.61754924544 -5.2124796 --4.225406054725001 -4.225406054725001 -2.9822762 --2.24567589883 -2.24567589883 -1.6762892 --1.15409791381 -1.15409791381 -0.9282824 --0.5778656711900001 -0.5778656711900001 -0.50777423 --0.13732341686 -0.13732341686 -0.14771834 --0.03115507567 -0.03115507567 -0.041857067 --0.0068184760099999995 -0.0068184760099999995 -0.011661971 --0.0014286920800000002 -0.0014286920800000002 -0.0032140466 --0.00010331824620565 -0.00010331824620565 -0.0004591453 -7.63947836662e-06 7.63947836662e-06 -6.496006e-05 -1.0540468957275001e-05 1.0540468957275001e-05 -9.1289585e-06 +-6.395951223165 -6.395951223165 -6.554232891381019 +-3.3727073756100006 -3.3727073756100006 -3.837398044886967 +-1.73571668474 -1.73571668474 -2.213494959391609 +-0.8775575169800001 -0.8775575169800001 -1.26174489351115 +-0.2177143365 -0.2177143365 -0.3989446947141909 +-0.053409102475000005 -0.053409102475000005 -0.12266546662886639 +-0.013282430755000001 -0.013282430755000001 -0.036893515006664164 +-0.003417849645 -0.003417849645 -0.010894218997914998 +-0.000489314435 -0.000489314435 -0.0016996145733910336 +-8.117003781520001e-05 -8.117003781520001e-05 -0.0002582676518753813 +-1.7369076745520003e-05 -1.7369076745520003e-05 -3.848729423086314e-05 +-4.964320210975 -4.964320210975 -7.179123685837174 +-1.14251951132 -1.14251951132 -2.038255558476482 +-0.24832979315500003 -0.24832979315500003 -0.5499254671841681 +-0.054577660015 -0.054577660015 -0.1433732983982628 +-0.013139997379999999 -0.013139997379999999 -0.03633281470619302 +-0.0021383122200000003 -0.0021383122200000003 -0.004400768207590545 +-0.00054657659 -0.00054657659 -0.0005014564068696603 +-0.00018933871096075 -0.00018933871096075 -5.4093419340154464e-05 +-7.420437364970001 -7.420437364970001 -9.406848286582349 +-3.5368059827850002 -3.5368059827850002 -5.158202049253716 +-0.774934099635 -0.774934099635 -1.454923664576995 +-0.165644081495 -0.165644081495 -0.3825977062715533 +-0.035053654365000006 -0.035053654365000006 -0.09540225299458614 +-0.00737366424 -0.00737366424 -0.02288072331576995 +-0.00069281694 -0.00069281694 -0.002559136100924936 +-6.0019970223100004e-05 -6.0019970223100004e-05 -0.00027635758349760974 +-4.42436988413e-06 -4.42436988413e-06 -2.9316535165735713e-05 +-13.282306673870002 -13.282306673870002 -9.896759243133904 +-6.79626937347 -6.79626937347 -5.824162297751649 +-3.4098981344650006 -3.4098981344650006 -3.376436177763533 +-0.8193444321350001 -0.8193444321350001 -1.091905594983466 +-0.188311755825 -0.188311755825 -0.33861802262439566 +-0.041498784275 -0.041498784275 -0.1016662179863317 +-0.008511267135 -0.008511267135 -0.02977529656554847 +-0.000464319675 -0.000464319675 -0.0045583334313290995 +0.0001401466301375 0.0001401466301375 -0.0006765304966422944 +9.981339956795e-05 9.981339956795e-05 -9.804206203483507e-05 +-7.3663997965600005 -7.3663997965600005 -5.693804851415139 +-1.5639944657250002 -1.5639944657250002 -1.7284994656801624 +-0.300878598045 -0.300878598045 -0.4851230464088524 +-0.06250307308 -0.06250307308 -0.12767392068730402 +-0.01597390957 -0.01597390957 -0.03180309472430874 +-0.0033753428 -0.0033753428 -0.003632209114034129 +-0.00108338632 -0.00108338632 -0.0003832373657321595 +-0.000424569605 -0.000424569605 -3.811258463225155e-05 +-7.659287921650001 -7.659287921650001 -5.035276578729569 +-4.16042038761 -4.16042038761 -2.8956785630949344 +-2.1948879380250004 -2.1948879380250004 -1.6317197249886373 +-1.132193866155 -1.132193866155 -0.9041956056652147 +-0.57411167878 -0.57411167878 -0.49421640348880125 +-0.14263469834 -0.14263469834 -0.14306154883587266 +-0.034364565635000004 -0.034364565635000004 -0.04018704755827297 +-0.008027124935 -0.008027124935 -0.011067658630123461 +-0.001773236445 -0.001773236445 -0.0030089264299305776 +-0.00011631169841510001 -0.00011631169841510001 -0.00042031623543101226 +3.1818301387150004e-05 3.1818301387150004e-05 -5.815498746959376e-05 +2.79189557836e-05 2.79189557836e-05 -8.011549035898724e-06 +-9.932218112035 -9.932218112035 -9.585554900732118 +-5.0588160255000005 -5.0588160255000005 -5.711941617170757 +-2.657707822405 -2.657707822405 -3.352735835104947 +-0.744602695825 -0.744602695825 -1.0912761702416376 +-0.191315380335 -0.191315380335 -0.327848911066536 +-0.04380410455 -0.04380410455 -0.09171984980398323 +-0.009107413165 -0.009107413165 -0.02423152178925577 +-0.000734536135 -0.000734536135 -0.003035506116878306 +-2.2328219628025002e-05 -2.2328219628025002e-05 -0.00035420198508254175 +2.6104872912310004e-05 2.6104872912310004e-05 -3.9223459061488164e-05 +-6.80929915236 -6.80929915236 -5.943305280645111 +-1.6045249656 -1.6045249656 -1.7337829441565749 +-0.32262406550000006 -0.32262406550000006 -0.468025139416053 +-0.058000891935 -0.058000891935 -0.11952184706385076 +-0.009027808005 -0.009027808005 -0.029344763797312504 +-3.840333526545e-05 -3.840333526545e-05 -0.0033943772285996935 +0.0002271719036733 0.0002271719036733 -0.0003769596588837267 +0.00011445014723895 0.00011445014723895 -4.0716317964496415e-05 +-3.7387166471350004 -3.7387166471350004 -5.599716804485552 +-0.772207675415 -0.772207675415 -1.739160249188902 +-0.1549102761 -0.1549102761 -0.5167952171787301 +-0.03268211898 -0.03268211898 -0.14812244620945925 +-0.0079799447 -0.0079799447 -0.04121591922271044 +-0.0015597307850000002 -0.0015597307850000002 -0.005788644112611536 +-0.00047198613500000003 -0.00047198613500000003 -0.0007805414828953471 +-0.0001800033143411 -0.0001800033143411 -0.00010206990604042891 +-5.396351066895001 -5.396351066895001 -8.754258181431835 +-1.2098745609100001 -1.2098745609100001 -2.787103752175418 +-0.25481354417 -0.25481354417 -0.7902876676758563 +-0.05289224654500001 -0.05289224654500001 -0.20155512953389798 +-0.010745620145 -0.010745620145 -0.04699191083484907 +-0.0009988452200000001 -0.0009988452200000001 -0.004650070940630997 +-6.990724274195e-05 -6.990724274195e-05 -0.0004129480443173993 +-4.5662139131450004e-05 -4.5662139131450004e-05 -3.416232852919231e-05 +-8.669984622395 -8.669984622395 -9.880217982970066 +-4.532301852435 -4.532301852435 -5.825061606490974 +-1.197238502 -1.197238502 -1.861447725602296 +-0.29627000538500003 -0.29627000538500003 -0.5423616902067393 +-0.070004677935 -0.070004677935 -0.14792571156298526 +-0.016513266035 -0.016513266035 -0.038661685665987475 +-0.00215075709 -0.00215075709 -0.004954380261174347 +-0.00038907284500000006 -0.00038907284500000006 -0.0006232280114760323 +-0.00010734164642165 -0.00010734164642165 -7.808362819511827e-05 +-8.613033694165 -8.613033694165 -6.586181505996721 +-4.072253550875001 -4.072253550875001 -3.5153718212470637 +-1.909714687155 -1.909714687155 -1.865169506720019 +-0.897964977125 -0.897964977125 -0.9861845672072407 +-0.42742032039000005 -0.42742032039000005 -0.5205385994497294 +-0.10297575944500001 -0.10297575944500001 -0.14484336776957807 +-0.02698200095 -0.02698200095 -0.04031663622246222 +-0.007498060430000001 -0.007498060430000001 -0.011214648889865177 +-0.0021737302150000005 -0.0021737302150000005 -0.003111171719928762 +-0.00037542024500000006 -0.00037542024500000006 -0.00045080710776653453 +-8.28750411909e-05 -8.28750411909e-05 -6.452001093150937e-05 +-3.122605895055e-05 -3.122605895055e-05 -9.111690588243723e-06 +-16.603716846695 -16.603716846695 -10.160445839406917 +-8.795391183560001 -8.795391183560001 -5.9283708722934465 +-4.59638371743 -4.59638371743 -3.4169043996408957 +-2.38284929462 -2.38284929462 -1.9497856548039232 +-0.64269477974 -0.64269477974 -0.6202655440568705 +-0.181901492555 -0.181901492555 -0.19279586217992573 +-0.056065425845 -0.056065425845 -0.058927558901089604 +-0.019394279695000002 -0.019394279695000002 -0.017786118465285963 +-0.005059574795000001 -0.005059574795000001 -0.00289889947430321 +-0.001717260785 -0.001717260785 -0.000465554151367651 +-0.0006978316450000001 -0.0006978316450000001 -7.39923119262853e-05 +-5.688548317915 -5.688548317915 -5.864405533759461 +-2.8894232677750002 -2.8894232677750002 -3.355466115748775 +-1.475955149525 -1.475955149525 -1.9146442984554048 +-0.7562085873000001 -0.7562085873000001 -1.0902811591587245 +-0.19772265053500002 -0.19772265053500002 -0.35147201593645516 +-0.05071788621 -0.05071788621 -0.11225296193433829 +-0.01277867607 -0.01277867607 -0.035444069359489856 +-0.0031926080000000004 -0.0031926080000000004 -0.011046907429393025 +-0.000413437485 -0.000413437485 -0.0018721985697081325 +-6.843849472120001e-05 -6.843849472120001e-05 -0.0003071932079171152 +-2.4375147224745002e-05 -2.4375147224745002e-05 -4.884097458774789e-05 +-8.415012550535002 -8.415012550535002 -4.2208052219095284 +-4.700202787475001 -4.700202787475001 -2.380564554930192 +-1.214179356965 -1.214179356965 -0.7137437664471455 +-0.259265473245 -0.259265473245 -0.19991339041234837 +-0.0499622148 -0.0499622148 -0.05310415829700454 +-0.009414544155000001 -0.009414544155000001 -0.013536203286003346 +-0.0009116786200000001 -0.0009116786200000001 -0.0016392450270178813 +-0.0001527995043248 -0.0001527995043248 -0.00018736881647958602 +-4.0632918004500006e-05 -4.0632918004500006e-05 -2.0471212613184695e-05 +-9.983601509985002 -9.983601509985002 -7.437300937995162 +-5.355853595810001 -5.355853595810001 -4.29872450588412 +-2.82147934479 -2.82147934479 -2.4543267748639823 +-0.7563393634550001 -0.7563393634550001 -0.7767942793521396 +-0.19896469582 -0.19896469582 -0.23840785108073095 +-0.053097481880000005 -0.053097481880000005 -0.07143888684219839 +-0.015095049700000002 -0.015095049700000002 -0.02099206788154667 +-0.002975610425 -0.002975610425 -0.0032441882375138036 +-0.0008816691550000001 -0.0008816691550000001 -0.0004865059929282211 +-0.00035021544500000003 -0.00035021544500000003 -7.115383911689076e-05 +-7.8506161931900005 -7.8506161931900005 -9.125630056182654 +-3.9611453051800005 -3.9611453051800005 -5.27613176911283 +-1.95747019546 -1.95747019546 -3.0236915065913443 +-0.9543128805150001 -0.9543128805150001 -1.7206402882817948 +-0.22322352817000002 -0.22322352817000002 -0.5483565430078173 +-0.05276724649000001 -0.05276724649000001 -0.17211296160312278 +-0.012967974620000001 -0.012967974620000001 -0.05345339498677177 +-0.003418532275 -0.003418532275 -0.0164716315997735 +-0.00058207335 -0.00058207335 -0.002785410389051619 +-0.0001141689848069 -0.0001141689848069 -0.0004655164502775708 +-4.1463479176500005e-05 -4.1463479176500005e-05 -7.695643552270651e-05 +-6.965933174230001 -6.965933174230001 -7.869578151734984 +-3.5101163050050004 -3.5101163050050004 -4.245634072122492 +-0.8256617789600001 -0.8256617789600001 -1.162580278955034 +-0.182980520545 -0.182980520545 -0.298479023103027 +-0.03969887275 -0.03969887275 -0.07309265542376722 +-0.00863306408 -0.00863306408 -0.0173065531152867 +-0.0009339691150000001 -0.0009339691150000001 -0.0019143091678717992 +-0.0001385982562153 -0.0001385982562153 -0.00020612522115603937 +-3.6299491659650004e-05 -3.6299491659650004e-05 -2.1971311990155035e-05 +-6.126552028805 -6.126552028805 -7.163826067459591 +-2.941269016275 -2.941269016275 -3.960609582803854 +-1.38638230503 -1.38638230503 -2.163899804456912 +-0.29740101827500004 -0.29740101827500004 -0.6284311729907777 +-0.06224755942 -0.06224755942 -0.17775781416692304 +-0.013046949660000001 -0.013046949660000001 -0.04940736540485734 +-0.0028825889600000002 -0.0028825889600000002 -0.013574091943708372 +-0.000395741615 -0.000395741615 -0.0019280599347099893 +-0.0001027981580226 -0.0001027981580226 -0.00027107479943397323 +-4.1792083343350005e-05 -4.1792083343350005e-05 -3.7858481836361686e-05 +-7.547160771915001 -7.547160771915001 -8.59344092040493 +-3.8999607582000007 -3.8999607582000007 -4.939513172456028 +-1.9810366834600002 -1.9810366834600002 -2.8123575484010455 +-0.495208498715 -0.495208498715 -0.8920069119400396 +-0.121963217915 -0.121963217915 -0.277040965565875 +-0.030489380145 -0.030489380145 -0.08480836496998709 +-0.007987952475 -0.007987952475 -0.025693454640504664 +-0.00128003627 -0.00128003627 -0.004223697137933917 +-0.000290826635 -0.000290826635 -0.0006852110860028774 +-9.66841735009e-05 -9.66841735009e-05 -0.00010996470796979322 +-8.82060280986 -8.82060280986 -6.570663574170549 +-4.700571801500001 -4.700571801500001 -3.774597088212548 +-2.4697655531950002 -2.4697655531950002 -2.1375792260911854 +-1.286163635645 -1.286163635645 -1.1969171884066034 +-0.667146560085 -0.667146560085 -0.6642344200593205 +-0.18028116523 -0.18028116523 -0.20058291795695918 +-0.05015009558 -0.05015009558 -0.05951557090066303 +-0.014901471585000001 -0.014901471585000001 -0.017476124397652917 +-0.004941952395 -0.004941952395 -0.005102458919859671 +-0.00124642987 -0.00124642987 -0.0008014769213533927 +-0.00043173722 -0.00043173722 -0.0001258605026765551 +-0.00018487825163625 -0.00018487825163625 -1.9812327810649874e-05 +-8.387036036440001 -8.387036036440001 -9.197268092080298 +-4.16889434639 -4.16889434639 -5.140166163823415 +-2.01478323265 -2.01478323265 -2.8436930994403187 +-0.95499590434 -0.95499590434 -1.5628124256561908 +-0.20904924132 -0.20904924132 -0.46745609803675253 +-0.045954887895000004 -0.045954887895000004 -0.1393178245719697 +-0.010411525270000001 -0.010411525270000001 -0.04149662729510357 +-0.00244260767 -0.00244260767 -0.012324755855856627 +-0.000294554845 -0.000294554845 -0.0019685105664271484 +-4.7524413370300007e-05 -4.7524413370300007e-05 -0.0003069479621577197 +2.1165811691655e-06 2.1165811691655e-06 -4.654738384041721e-05 +-7.70963576989 -7.70963576989 -3.3707468168409918 +-4.04252987155 -4.04252987155 -1.9675551257051875 +-2.088829710305 -2.088829710305 -1.1380668334043045 +-1.0660511937000001 -1.0660511937000001 -0.6536456116477329 +-0.5384321052150001 -0.5384321052150001 -0.37336788546506566 +-0.13387786819000003 -0.13387786819000003 -0.12037922682497927 +-0.031938446105000004 -0.031938446105000004 -0.038393054173183006 +-0.00691561951 -0.00691561951 -0.01215739794586447 +-0.001331312285 -0.001331312285 -0.00382994083712989 +0.00031033410000000003 0.00031033410000000003 -0.0006721290503575519 +0.00020388915109535 0.00020388915109535 -0.00011703355105800728 +0.000151122136437 0.000151122136437 -2.02265679739716e-05 +-6.840992298 -6.840992298 -5.776072772218321 +-3.3838670371050004 -3.3838670371050004 -3.313053574351217 +-1.66786898633 -1.66786898633 -1.8686301522346758 +-0.8205049031350001 -0.8205049031350001 -1.0374785141242369 +-0.197615792685 -0.197615792685 -0.3063736957974934 +-0.047139460985000006 -0.047139460985000006 -0.08613635180201054 +-0.01095531883 -0.01095531883 -0.02330090388497267 +-0.002407242185 -0.002407242185 -0.0061279703959857875 +-0.00016559712574025002 -0.00016559712574025002 -0.0007994059647246965 +3.9064683225000004e-05 3.9064683225000004e-05 -0.0001022579707481252 +2.7199480566800003e-05 2.7199480566800003e-05 -1.3019885204171638e-05 +-5.892283232175 -5.892283232175 -6.451159394061563 +-2.725434957855 -2.725434957855 -3.361018871549811 +-1.2807091856500001 -1.2807091856500001 -1.7610556054958233 +-0.29959485982 -0.29959485982 -0.49393576508261094 +-0.07396563851 -0.07396563851 -0.14153193242283055 +-0.019024504275000003 -0.019024504275000003 -0.040740493108250606 +-0.005278594005000001 -0.005278594005000001 -0.011595913996470968 +-0.000990049795 -0.000990049795 -0.0016872766962402253 +-0.00026035990110525003 -0.00026035990110525003 -0.00023060140245927414 +-8.360486901675001e-05 -8.360486901675001e-05 -2.9626321896361973e-05 +-7.362602535910001 -7.362602535910001 -7.062090229838992 +-3.3013213433600006 -3.3013213433600006 -3.809250114796169 +-1.5115133724800003 -1.5115133724800003 -2.054463688437875 +-0.34719501729 -0.34719501729 -0.6024483775775061 +-0.09128902882500001 -0.09128902882500001 -0.1799554752323962 +-0.027771094975000004 -0.027771094975000004 -0.0548407758864622 +-0.01010996034 -0.01010996034 -0.016947767604461247 +-0.003084043575 -0.003084043575 -0.002918519358811949 +-0.001207808765 -0.001207808765 -0.0004882721663968693 +-0.00052751546 -0.00052751546 -7.763694344798799e-05 +-9.032399111830001 -9.032399111830001 -10.05628004244734 +-4.794203774015 -4.794203774015 -5.816676208417928 +-2.4883669056350004 -2.4883669056350004 -3.304337823026791 +-0.63941279972 -0.63941279972 -1.016694320792965 +-0.158742009565 -0.158742009565 -0.29643210860581887 +-0.039304470140000006 -0.039304470140000006 -0.08278733057783878 +-0.010112034485000001 -0.010112034485000001 -0.022356951691754796 +-0.00157629769 -0.00157629769 -0.002996996704091058 +-0.00034491193500000005 -0.00034491193500000005 -0.0003873525688847337 +-0.00011079623180010002 -0.00011079623180010002 -4.9018546569516545e-05 +-6.866088796125 -6.866088796125 -9.604033100787326 +-1.558866391635 -1.558866391635 -3.4660985838857887 +-0.32270075635500006 -0.32270075635500006 -1.1730367299650308 +-0.06996248615 -0.06996248615 -0.36521610324753234 +-0.015553488255000003 -0.015553488255000003 -0.10398360436455988 +-0.0015021798250000001 -0.0015021798250000001 -0.013572639633876412 +-0.00011298374431480002 -0.00011298374431480002 -0.0015313553448125705 +4.872906917235e-06 4.872906917235e-06 -0.00015512134694790395 +-6.810736981180001 -6.810736981180001 -4.807091619456843 +-3.6730193382450005 -3.6730193382450005 -2.7690963146383027 +-1.93945522219 -1.93945522219 -1.5721564006706208 +-1.0081230543700002 -1.0081230543700002 -0.8822969276269684 +-0.5180612707950001 -0.5180612707950001 -0.49061324352094005 +-0.13371177906 -0.13371177906 -0.14867784489864333 +-0.03360524478 -0.03360524478 -0.04426365683508111 +-0.008093733870000001 -0.008093733870000001 -0.01304273602112064 +-0.00176575377 -0.00176575377 -0.0038214524371027853 +-5.4657914986250004e-05 -5.4657914986250004e-05 -0.0006031303297585071 +7.137631448685e-05 7.137631448685e-05 -9.500052357384481e-05 +4.4063686947350005e-05 4.4063686947350005e-05 -1.4955338415146881e-05 +-7.291269801310001 -7.291269801310001 -8.679815209474988 +-3.871284128275 -3.871284128275 -5.122896984972669 +-2.004500803215 -2.004500803215 -2.972516206851064 +-1.019907112275 -1.019907112275 -1.70042464931106 +-0.257286791425 -0.257286791425 -0.5374787126026564 +-0.06464763399000001 -0.06464763399000001 -0.16367534817808144 +-0.016592556135 -0.016592556135 -0.04837264072000956 +-0.0044294810500000005 -0.0044294810500000005 -0.013947843443438884 +-0.00068483542 -0.00068483542 -0.002081072199363008 +-0.0001332501536731 -0.0001332501536731 -0.0003001243969777145 +-4.035576392330001e-05 -4.035576392330001e-05 -4.2231968023586585e-05 +-6.822473543790001 -6.822473543790001 -5.051490795672709 +-3.57604925252 -3.57604925252 -2.990288802132061 +-1.83080746382 -1.83080746382 -1.7496283424783654 +-0.9208124456950001 -0.9208124456950001 -1.0138914983280682 +-0.45722087435500003 -0.45722087435500003 -0.5828303305695652 +-0.110488417655 -0.110488417655 -0.18891016259887555 +-0.02664950763 -0.02664950763 -0.06001806424379898 +-0.006612873105 -0.006612873105 -0.018779854630651193 +-0.0017748905100000002 -0.0017748905100000002 -0.005806076839378522 +-0.000326848495 -0.000326848495 -0.0009805089156874006 +-9.064985111255e-05 -9.064985111255e-05 -0.0001628080649934971 +-3.788916732235e-05 -3.788916732235e-05 -2.666874216218293e-05 +-5.21770834494 -5.21770834494 -5.539497545951821 +-2.5404781184400003 -2.5404781184400003 -2.9939284915576647 +-1.2144623071 -1.2144623071 -1.5993408879156374 +-0.266966012235 -0.266966012235 -0.443828306970034 +-0.056740678190000005 -0.056740678190000005 -0.11979403247723755 +-0.011783637825 -0.011783637825 -0.0317183118324593 +-0.002375946225 -0.002375946225 -0.008287566849165675 +-0.00018710540368740001 -0.00018710540368740001 -0.0010888214489053463 +-3.117032588675e-06 -3.117032588675e-06 -0.00014121952647339035 +3.786241452755e-06 3.786241452755e-06 -1.8158027462316927e-05 +-9.660750102440002 -9.660750102440002 -8.565870244689705 +-5.67964569375 -5.67964569375 -5.403451107565645 +-1.4838721347350001 -1.4838721347350001 -1.9534662937282035 +-0.30814947396000003 -0.30814947396000003 -0.6203414800236554 +-0.060321151305 -0.060321151305 -0.17541686026632003 +-0.012390968485 -0.012390968485 -0.044945902559051454 +-0.0014538443700000002 -0.0014538443700000002 -0.005030955101707752 +-0.00028250380000000003 -0.00028250380000000003 -0.0004938909400837744 +-5.5979328348600005e-05 -5.5979328348600005e-05 -4.424453959664766e-05 +-6.4957115852700005 -6.4957115852700005 -7.28309288025476 +-2.9880558201 -2.9880558201 -3.6729342376871434 +-1.3113327551000002 -1.3113327551000002 -1.8175227631437736 +-0.55474215755 -0.55474215755 -0.8826416426266761 +-0.09147879996500001 -0.09147879996500001 -0.19690634782391594 +-0.01353413744 -0.01353413744 -0.04095189460570943 +-0.00163222084 -0.00163222084 -0.008011574106160364 +-6.530692408265e-05 -6.530692408265e-05 -0.0014911776460693371 +5.3137472708350005e-05 5.3137472708350005e-05 -0.00011169503751562389 +1.389097376588e-05 1.389097376588e-05 -7.902697680346733e-06 +6.328281612420001e-05 6.328281612420001e-05 -5.396529723610395e-07 +-8.219362705995001 -8.219362705995001 -7.793521627689257 +-3.7684508284600002 -3.7684508284600002 -4.3361169515702525 +-0.7535427596200001 -0.7535427596200001 -1.3044254476670536 +-0.15552858135 -0.15552858135 -0.3816042158141085 +-0.035698765970000004 -0.035698765970000004 -0.10911612503073496 +-0.00981758466 -0.00981758466 -0.030531109891246615 +-0.00217701209 -0.00217701209 -0.004338967817007242 +-0.00071749664 -0.00071749664 -0.0005879197279230391 +-0.000287676035 -0.000287676035 -7.620755406188675e-05 +-12.707560437995001 -12.707560437995001 -9.358394744810075 +-6.997298683725 -6.997298683725 -5.4546434758216495 +-1.78606232756 -1.78606232756 -1.7041011691946966 +-0.39259600345 -0.39259600345 -0.48742087807404477 +-0.081970499205 -0.081970499205 -0.1307024248402414 +-0.017932558825 -0.017932558825 -0.033409224358916384 +-0.0026015816949999998 -0.0026015816949999998 -0.004039673801573145 +-0.0006801882850000001 -0.0006801882850000001 -0.0004601882065352475 +-0.0002590735486699 -0.0002590735486699 -5.013117818670684e-05 +-10.714400035695002 -10.714400035695002 -4.107752664509588 +-5.070124237785 -5.070124237785 -2.227690727209365 +-2.395962748195 -2.395962748195 -1.197273476273188 +-0.5357199112050001 -0.5357199112050001 -0.3361175617495563 +-0.12123309262000001 -0.12123309262000001 -0.0907524962398214 +-0.028193852985 -0.028193852985 -0.023637319845306985 +-0.006965609030000001 -0.006965609030000001 -0.0059750185407585294 +-0.00111273941 -0.00111273941 -0.0007281991093022322 +-0.00029515871 -0.00029515871 -8.572304848028475e-05 +-0.0001119431210886 -0.0001119431210886 -9.862298884641166e-06 +-8.995426532025 -8.995426532025 -7.7291047912415 +-4.777860981695 -4.777860981695 -4.48489909690492 +-2.4760244563900002 -2.4760244563900002 -2.5772047456725264 +-1.25986555119 -1.25986555119 -1.4684293340468026 +-0.31763606183500004 -0.31763606183500004 -0.4662722616422948 +-0.081218923575 -0.081218923575 -0.14430074739029222 +-0.022331374035000004 -0.022331374035000004 -0.04367846540594446 +-0.0070606783850000005 -0.0070606783850000005 -0.012970044196003727 +-0.0018130915350000002 -0.0018130915350000002 -0.002036481923239679 +-0.00067233804 -0.00067233804 -0.0003105374928437793 +-0.000300540985 -0.000300540985 -4.627311358927633e-05 +-13.923322630145002 -13.923322630145002 -9.128175915607603 +-7.29302263762 -7.29302263762 -5.218186093850013 +-3.7420872377800003 -3.7420872377800003 -2.950219884041851 +-1.88849925564 -1.88849925564 -1.6520981351237192 +-0.46429355127500005 -0.46429355127500005 -0.5059096140478523 +-0.11013100834 -0.11013100834 -0.15108186634924228 +-0.024899690645000003 -0.024899690645000003 -0.04427422512656046 +-0.005068081415000001 -0.005068081415000001 -0.012792476530206627 +-0.00011904504634115 -0.00011904504634115 -0.001950065343856835 +0.00020128001583685003 0.00020128001583685003 -0.00029294865115031044 +0.0001260496238298 0.0001260496238298 -4.363325324511586e-05 +-8.819449506475001 -8.819449506475001 -9.09602003873189 +-4.502591326865001 -4.502591326865001 -5.020462968893554 +-2.272249477 -2.272249477 -2.723156526011507 +-0.562977642165 -0.562977642165 -0.7665010902777479 +-0.13561894226 -0.13561894226 -0.2056819392602732 +-0.032175686285000005 -0.032175686285000005 -0.053241577543341925 +-0.007665646095 -0.007665646095 -0.01343183206064648 +-0.000956915985 -0.000956915985 -0.0016512648945589466 +-0.0001488085342848 -0.0001488085342848 -0.00019916545777807576 +-3.6972858370550004e-05 -3.6972858370550004e-05 -2.3839499892307236e-05 +-8.2378990248 -8.2378990248 -9.657699357945198 +-4.2155652606450005 -4.2155652606450005 -5.407523909068173 +-2.165172634045 -2.165172634045 -2.995327153577539 +-1.113106113585 -1.113106113585 -1.6426474226228793 +-0.29121163832 -0.29121163832 -0.4803301564508872 +-0.0745794279 -0.0745794279 -0.1357372463236848 +-0.018941538475000002 -0.018941538475000002 -0.03724770501408395 +-0.004969677675 -0.004969677675 -0.009974470865827856 +-0.000837403225 -0.000837403225 -0.0013326295765717616 +-0.00022460497569025002 -0.00022460497569025002 -0.0001720609580970016 +-9.644117323645e-05 -9.644117323645e-05 -2.1638022691108587e-05 +-9.824139798360001 -9.824139798360001 -11.40600489710952 +-4.585435356175 -4.585435356175 -6.0107107122550225 +-0.9836439950800001 -0.9836439950800001 -1.6097753523888436 +-0.22153743207000004 -0.22153743207000004 -0.4144765919776437 +-0.055502177330000006 -0.055502177330000006 -0.10366079431760063 +-0.016668590615000003 -0.016668590615000003 -0.02545958262252426 +-0.004196888005000001 -0.004196888005000001 -0.003057043332973162 +-0.00152215988 -0.00152215988 -0.00036644307223318356 +-0.000668268515 -0.000668268515 -4.386287317074335e-05 +-9.175517506035 -9.175517506035 -11.061552196817722 +-4.8363056356400005 -4.8363056356400005 -6.218652019267381 +-2.456009035905 -2.456009035905 -3.4256639051916276 +-1.21456496415 -1.21456496415 -1.85399739418315 +-0.28357248352000003 -0.28357248352000003 -0.5198845950128432 +-0.064693711515 -0.064693711515 -0.13938803238794353 +-0.014962750755 -0.014962750755 -0.03618585885930085 +-0.0036905078200000006 -0.0036905078200000006 -0.009183287116639755 +-0.00061258166 -0.00061258166 -0.0011424977951811823 +-0.00017269694087845 -0.00017269694087845 -0.0001396374568388998 +-7.80378478212e-05 -7.80378478212e-05 -1.6957893946989953e-05 +-8.456034990345 -8.456034990345 -7.452023568539322 +-4.3524863196300005 -4.3524863196300005 -4.512049979131702 +-1.0718874176500002 -1.0718874176500002 -1.5581571876675435 +-0.25266520254 -0.25266520254 -0.5021152361764876 +-0.060442501915 -0.060442501915 -0.15279239163999092 +-0.015902627245000002 -0.015902627245000002 -0.04434428172174008 +-0.0030986151 -0.0030986151 -0.006452967252511361 +-0.0009848250500000002 -0.0009848250500000002 -0.000876669774600462 +-0.000380566225 -0.000380566225 -0.00011281590826128004 +-9.831710900200001 -9.831710900200001 -7.792193482703993 +-5.4255033324 -5.4255033324 -4.598732816316479 +-1.58094734548 -1.58094734548 -1.4206204445937936 +-0.41507072978500004 -0.41507072978500004 -0.3817956224936757 +-0.09454420248999999 -0.09454420248999999 -0.0917287414868343 +-0.01932504526 -0.01932504526 -0.02029456485357619 +-0.0017598463950000002 -0.0017598463950000002 -0.001912122455075106 +-0.00023354476695835 -0.00023354476695835 -0.00016794570753396788 +-6.6543218735e-05 -6.6543218735e-05 -1.4155123922438875e-05 +-5.069979966560001 -5.069979966560001 -4.7053624280741735 +-1.176371316805 -1.176371316805 -1.5703810987476177 +-0.260558531995 -0.260558531995 -0.501737030835548 +-0.05702260438 -0.05702260438 -0.1550036084683405 +-0.0124884533 -0.0124884533 -0.046634835646860065 +-0.001395689545 -0.001395689545 -0.007405614115453308 +-0.00018303444437675002 -0.00018303444437675002 -0.0011352574008352597 +-2.4744991354080002e-05 -2.4744991354080002e-05 -0.0001694545832652463 +-13.01717780275 -13.01717780275 -9.23348597921155 +-6.0629836591 -6.0629836591 -5.219836316979526 +-2.916370664635 -2.916370664635 -2.9155899027711305 +-0.7115196104850001 -0.7115196104850001 -0.8675501852794086 +-0.17124109614 -0.17124109614 -0.2399154660476354 +-0.038387829325000004 -0.038387829325000004 -0.061809242745653394 +-0.007904199025000001 -0.007904199025000001 -0.015010340519515797 +-0.00058569654 -0.00058569654 -0.0016558160048531659 +-2.3782658253695e-06 -2.3782658253695e-06 -0.000171091711098766 +1.9529498537315002e-05 1.9529498537315002e-05 -1.6970381778017015e-05 +-9.79811726013 -9.79811726013 -10.5589496579401 +-4.704902537495 -4.704902537495 -5.940128943334976 +-2.246443621285 -2.246443621285 -3.2891590851857972 +-0.5091939858600001 -0.5091939858600001 -0.9652458443254364 +-0.11583417195000001 -0.11583417195000001 -0.26906132639185476 +-0.026754763925000005 -0.026754763925000005 -0.07188955706797003 +-0.006450564695000001 -0.006450564695000001 -0.018574109446999484 +-0.0009009140700000001 -0.0009009140700000001 -0.0023283904154763027 +-0.00017989090067055 -0.00017989090067055 -0.00028078079545967627 +-4.7950259755950006e-05 -4.7950259755950006e-05 -3.301222586286875e-05 +-2.460515024025 -2.460515024025 -3.148242847086707 +-0.48270815190000005 -0.48270815190000005 -0.9826496874469798 +-0.09347168574 -0.09347168574 -0.2871065766286018 +-0.019511639545 -0.019511639545 -0.07799885394437046 +-0.002425305625 -0.002425305625 -0.009730541863794297 +-0.000515096845 -0.000515096845 -0.001073553020167236 +-0.00015008524063315 -0.00015008524063315 -0.00010812934749267043 +-7.61754924544 -7.61754924544 -5.212482648905316 +-4.225406054725001 -4.225406054725001 -2.9822755258079328 +-2.24567589883 -2.24567589883 -1.6762900516887274 +-1.15409791381 -1.15409791381 -0.9282831848730554 +-0.5778656711900001 -0.5778656711900001 -0.5077744590153827 +-0.13732341686 -0.13732341686 -0.14771832510525132 +-0.03115507567 -0.03115507567 -0.041857099548374 +-0.0068184760099999995 -0.0068184760099999995 -0.011661979939000132 +-0.0014286920800000002 -0.0014286920800000002 -0.0032140496370068085 +-0.00010331824620565 -0.00010331824620565 -0.0004591459874138778 +7.63947836662e-06 7.63947836662e-06 -6.496006397481686e-05 +1.0540468957275001e-05 1.0540468957275001e-05 -9.128958574782022e-06 diff --git a/examples/peg_slater_isa/res_disp.xvg b/examples/peg_slater_isa/res_disp.xvg index 37ff113df..8804a17c6 100644 --- a/examples/peg_slater_isa/res_disp.xvg +++ b/examples/peg_slater_isa/res_disp.xvg @@ -1,499 +1,499 @@ --35.4680734 -35.4680734 -37.608902 --26.1463898 -26.1463898 -27.674406 --19.35277663 -19.35277663 -20.34427 --14.392597580000002 -14.392597580000002 -14.999582 --8.106002160000001 -8.106002160000001 -8.31896 --4.70786822 -4.70786822 -4.7886257 --2.83171912 -2.83171912 -2.8720162 --1.76663279 -1.76663279 -1.7915877 --0.9286487999999999 -0.9286487999999999 -0.9419526 --0.52205154 -0.52205154 -0.52870315 --0.30995446 -0.30995446 -0.31305584 --39.583594170000005 -39.583594170000005 -40.375225 --19.45860266 -19.45860266 -20.009302 --9.84640189 -9.84640189 -10.115111 --5.18580807 -5.18580807 -5.336094 --2.86816368 -2.86816368 -2.959269 --1.29320426 -1.29320426 -1.3370118 --0.6425918700000001 -0.6425918700000001 -0.6627501 --0.34542288 -0.34542288 -0.35424343 --57.442823159999996 -57.442823159999996 -61.7074 --40.34374974 -40.34374974 -44.014202 --20.41445462 -20.41445462 -22.420849 --10.72703557 -10.72703557 -11.741215 --5.8960291499999995 -5.8960291499999995 -6.4351673 --3.3958613 -3.3958613 -3.7087593 --1.6148304999999998 -1.6148304999999998 -1.7689407 --0.8371314 -0.8371314 -0.9187503 --0.464991 -0.464991 -0.5101826 --65.54178807000001 -65.54178807000001 -64.76474 --47.27923433 -47.27923433 -47.069847 --34.339357820000004 -34.339357820000004 -34.143024 --18.431243470000002 -18.431243470000002 -18.142736 --10.17232779 -10.17232779 -9.9508705 --5.81286535 -5.81286535 -5.697386 --3.45326515 -3.45326515 -3.4109478 --1.70138694 -1.70138694 -1.7041107 --0.90683188 -0.90683188 -0.9179944 --0.51557142 -0.51557142 -0.525228 --35.9258342 -35.9258342 -35.995308 --16.64155507 -16.64155507 -16.811747 --7.96518118 -7.96518118 -8.012154 --3.9922323200000003 -3.9922323200000003 -4.0021324 --2.11215489 -2.11215489 -2.1160538 --0.9028703100000001 -0.9028703100000001 -0.9037394 --0.43174389 -0.43174389 -0.4304734 --0.22591321 -0.22591321 -0.22378485 --30.73157646 -30.73157646 -30.53123 --22.40168498 -22.40168498 -22.12939 --16.43209422 -16.43209422 -16.03157 --12.14132254 -12.14132254 -11.661917 --9.04231356 -9.04231356 -8.551727 --5.14211342 -5.14211342 -4.7611327 --3.0369072 -3.0369072 -2.7972453 --1.86953339 -1.86953339 -1.7317979 --1.19735574 -1.19735574 -1.1219202 --0.65676395 -0.65676395 -0.62631804 --0.3855321 -0.3855321 -0.37259278 --0.23879439 -0.23879439 -0.23280847 --45.490737949999996 -45.490737949999996 -47.795948 --32.21981355 -32.21981355 -33.872837 --23.0196039 -23.0196039 -23.959547 --11.89264987 -11.89264987 -11.961585 --6.22075858 -6.22075858 -6.0452294 --3.3310461399999998 -3.3310461399999998 -3.1678102 --1.8492628199999999 -1.8492628199999999 -1.747988 --0.83152222 -0.83152222 -0.7917317 --0.41285114 -0.41285114 -0.39717805 --0.22291496 -0.22291496 -0.21583502 --35.15702423 -35.15702423 -35.462307 --16.72889419 -16.72889419 -16.683765 --8.18161802 -8.18161802 -7.9793086 --4.16881493 -4.16881493 -4.0191116 --2.24027752 -2.24027752 -2.1638076 --0.9847958099999999 -0.9847958099999999 -0.9629851 --0.4863354 -0.4863354 -0.4809404 --0.26309772000000003 -0.26309772000000003 -0.26181975 --25.14809655 -25.14809655 -25.591549 --11.97736702 -11.97736702 -12.103617 --5.9657339 -5.9657339 -5.9586215 --3.1310098600000003 -3.1310098600000003 -3.1050344 --1.74044251 -1.74044251 -1.7194647 --0.80056993 -0.80056993 -0.7868207 --0.40985186 -0.40985186 -0.3996418 --0.22815570999999998 -0.22815570999999998 -0.22029968 --37.584898589999995 -37.584898589999995 -37.757565 --17.36236604 -17.36236604 -17.517477 --8.19410047 -8.19410047 -8.117741 --3.9878064399999995 -3.9878064399999995 -3.8542302 --2.0268389300000003 -2.0268389300000003 -1.913746 --0.81126066 -0.81126066 -0.745759 --0.36601661999999996 -0.36601661999999996 -0.330495 --0.18330189 -0.18330189 -0.16317646 --46.6476023 -46.6476023 -45.96331 --33.41663071 -33.41663071 -33.1199 --17.40124797 -17.40124797 -17.059668 --9.237365830000002 -9.237365830000002 -8.872509 --5.04388622 -5.04388622 -4.772803 --2.85807686 -2.85807686 -2.6908855 --1.3203608599999999 -1.3203608599999999 -1.24592 --0.6673110600000001 -0.6673110600000001 -0.63212144 --0.36365852 -0.36365852 -0.3446318 --35.44792079 -35.44792079 -36.94276 --24.83846745 -24.83846745 -25.402813 --17.72523623 -17.72523623 -17.643877 --12.83890067 -12.83890067 -12.432909 --9.4293195 -9.4293195 -8.90978 --5.283329190000001 -5.283329190000001 -4.8200107 --3.09703684 -3.09703684 -2.7773733 --1.89274264 -1.89274264 -1.6865796 --1.1993125 -1.1993125 -1.0693434 --0.6417074399999999 -0.6417074399999999 -0.5764623 --0.36540852 -0.36540852 -0.33110988 --0.21922749 -0.21922749 -0.2001304 --68.32736161999999 -68.32736161999999 -64.755905 --49.823443739999995 -49.823443739999995 -47.70632 --36.6754001 -36.6754001 -35.16692 --27.21431783 -27.21431783 -26.021557 --15.32321785 -15.32321785 -14.542867 --8.90079781 -8.90079781 -8.427253 --5.34308015 -5.34308015 -5.0814624 --3.3178055200000003 -3.3178055200000003 -3.1837816 --1.72579616 -1.72579616 -1.6827123 --0.9593959599999999 -0.9593959599999999 -0.94798094 --0.56390421 -0.56390421 -0.5624429 --28.955685719999998 -28.955685719999998 -31.267973 --21.04402914 -21.04402914 -22.583326 --15.443951140000001 -15.443951140000001 -16.331089 --11.39892272 -11.39892272 -11.859781 --6.34534103 -6.34534103 -6.394511 --3.6297739200000003 -3.6297739200000003 -3.587899 --2.1489652599999998 -2.1489652599999998 -2.1054797 --1.31908766 -1.31908766 -1.2905163 --0.67835452 -0.67835452 -0.6653277 --0.37510809 -0.37510809 -0.36838534 --0.22048267 -0.22048267 -0.21608423 --31.76787533 -31.76787533 -30.531864 --22.47009441 -22.47009441 -21.547695 --11.244445279999999 -11.244445279999999 -10.545922 --5.71322378 -5.71322378 -5.235854 --3.00326576 -3.00326576 -2.7227423 --1.65624448 -1.65624448 -1.5004961 --0.74842542 -0.74842542 -0.6802735 --0.37539905 -0.37539905 -0.34130573 --0.20447244 -0.20447244 -0.18534456 --48.40511301 -48.40511301 -44.079197 --34.81727956 -34.81727956 -32.30566 --25.266376219999998 -25.266376219999998 -23.596848 --13.597792 -13.597792 -12.661765 --7.530462630000001 -7.530462630000001 -6.9785275 --4.3103022200000005 -4.3103022200000005 -4.0025563 --2.56042647 -2.56042647 -2.3982053 --1.26084183 -1.26084183 -1.2012929 --0.6728386900000001 -0.6728386900000001 -0.6508766 --0.38428053 -0.38428053 -0.37561765 --36.83170876 -36.83170876 -38.876755 --26.14857741 -26.14857741 -27.26995 --18.80523383 -18.80523383 -19.214 --13.66838128 -13.66838128 -13.656408 --7.449147379999999 -7.449147379999999 -7.163186 --4.239202649999999 -4.239202649999999 -3.9838812 --2.52191702 -2.52191702 -2.3476303 --1.5680152299999999 -1.5680152299999999 -1.4556973 --0.8274043999999999 -0.8274043999999999 -0.76822186 --0.46989544 -0.46989544 -0.43611658 --0.28296135 -0.28296135 -0.26198754 --46.01138642 -46.01138642 -44.20693 --32.30047659 -32.30047659 -31.59224 --16.38272075 -16.38272075 -16.078503 --8.63171949 -8.63171949 -8.409052 --4.75795771 -4.75795771 -4.6193724 --2.75417046 -2.75417046 -2.680998 --1.3241422299999999 -1.3241422299999999 -1.302258 --0.6979782400000001 -0.6979782400000001 -0.6929602 --0.39557803999999996 -0.39557803999999996 -0.395358 --25.54106363 -25.54106363 -28.180353 --17.89641655 -17.89641655 -19.476124 --12.682898230000001 -12.682898230000001 -13.503897 --6.5811104 -6.5811104 -6.6836567 --3.58367788 -3.58367788 -3.5146122 --2.05774954 -2.05774954 -1.9821143 --1.24674954 -1.24674954 -1.1932503 --0.6436914100000001 -0.6436914100000001 -0.6155149 --0.36259010999999997 -0.36259010999999997 -0.34710926 --0.21794651 -0.21794651 -0.20888598 --42.391102149999995 -42.391102149999995 -42.525646 --30.59145819 -30.59145819 -30.462849 --22.28698911 -22.28698911 -21.93761 --12.15404991 -12.15404991 -11.700386 --6.88462422 -6.88462422 -6.554438 --4.06455093 -4.06455093 -3.8710475 --2.50226409 -2.50226409 -2.4013433 --1.30081046 -1.30081046 -1.2677227 --0.7297306499999999 -0.7297306499999999 -0.7203964 --0.43506786999999997 -0.43506786999999997 -0.43335027 --41.100449129999994 -41.100449129999994 -38.497112 --30.315488130000002 -30.315488130000002 -28.687868 --22.57370889 -22.57370889 -21.41249 --16.94705103 -16.94705103 -16.05689 --12.82825966 -12.82825966 -12.1265135 --7.543299579999999 -7.543299579999999 -7.1091585 --4.59174972 -4.59174972 -4.3411975 --2.89676176 -2.89676176 -2.7587905 --1.88992896 -1.88992896 -1.8169345 --1.05532201 -1.05532201 -1.0274252 --0.62463649 -0.62463649 -0.6138782 --0.3878 -0.3878 -0.38340965 --42.52396344 -42.52396344 -42.292435 --29.96165 -29.96165 -30.119022 --21.338808750000002 -21.338808750000002 -21.40581 --15.33571613 -15.33571613 -15.266327 --8.164711200000001 -8.164711200000001 -7.9683814 --4.53593795 -4.53593795 -4.3612485 --2.6324713600000003 -2.6324713600000003 -2.510522 --1.5961250599999999 -1.5961250599999999 -1.5138003 --0.81071538 -0.81071538 -0.7634568 --0.44382914 -0.44382914 -0.41443807 --0.25821423 -0.25821423 -0.2388775 --28.400242659999996 -28.400242659999996 -26.953098 --20.804185699999998 -20.804185699999998 -19.313652 --15.383926930000001 -15.383926930000001 -13.924697 --11.47498752 -11.47498752 -10.139483 --8.63209084 -8.63209084 -7.4770713 --5.009615510000001 -5.009615510000001 -4.244718 --3.01436328 -3.01436328 -2.5514205 --1.88275472 -1.88275472 -1.6127675 --1.22016703 -1.22016703 -1.062771 --0.677634 -0.677634 -0.6047721 --0.40118432 -0.40118432 -0.3647288 --0.25002411 -0.25002411 -0.23024704 --33.167148850000004 -33.167148850000004 -32.87263 --23.511938930000003 -23.511938930000003 -23.218567 --16.864903780000002 -16.864903780000002 -16.487253 --12.22422198 -12.22422198 -11.80253 --6.6205421200000005 -6.6205421200000005 -6.2462726 --3.732775 -3.732775 -3.4776769 --2.19833894 -2.19833894 -2.0416706 --1.35172489 -1.35172489 -1.2591419 --0.70192306 -0.70192306 -0.6591361 --0.39272619999999997 -0.39272619999999997 -0.37150013 --0.23325136 -0.23325136 -0.22170532 --45.02071858 -45.02071858 -46.208607 --31.2753978 -31.2753978 -31.74243 --22.04399187 -22.04399187 -22.109032 --11.355979349999998 -11.355979349999998 -11.218587 --6.11475506 -6.11475506 -6.026296 --3.43579504 -3.43579504 -3.4027815 --2.01187453 -2.01187453 -2.005551 --0.9676585 -0.9676585 -0.9714386 --0.50164429 -0.50164429 -0.504402 --0.27695199000000004 -0.27695199000000004 -0.27789572 --42.73192358 -42.73192358 -42.530724 --29.85474861 -29.85474861 -29.538225 --21.23494257 -21.23494257 -20.788282 --11.189578599999999 -11.189578599999999 -10.75211 --6.16877046 -6.16877046 -5.88328 --3.54153255 -3.54153255 -3.3859997 --2.11449089 -2.11449089 -2.0357242 --1.04508216 -1.04508216 -1.0157213 --0.5552023700000001 -0.5552023700000001 -0.54161793 --0.31301459 -0.31301459 -0.30501145 --57.614937729999994 -57.614937729999994 -59.269268 --41.73466777 -41.73466777 -43.306206 --30.39885129 -30.39885129 -31.549332 --16.42456485 -16.42456485 -16.872902 --9.1318056 -9.1318056 -9.294968 --5.262656529999999 -5.262656529999999 -5.3384523 --3.15338697 -3.15338697 -3.203644 --1.57291241 -1.57291241 -1.6048285 --0.8462061900000001 -0.8462061900000001 -0.86613995 --0.4843238 -0.4843238 -0.4961692 --45.7602324 -45.7602324 -46.756756 --22.25908494 -22.25908494 -22.997557 --11.03881632 -11.03881632 -11.330755 --5.6228541 -5.6228541 -5.7166243 --2.96079284 -2.96079284 -2.9843516 --1.2183442 -1.2183442 -1.2159945 --0.55148758 -0.55148758 -0.54603106 --0.27321019999999996 -0.27321019999999996 -0.26809913 --29.072654290000003 -29.072654290000003 -29.609957 --21.3840426 -21.3840426 -21.60226 --15.85333403 -15.85333403 -15.781868 --11.83550768 -11.83550768 -11.589817 --8.90677298 -8.90677298 -8.582461 --5.169090199999999 -5.169090199999999 -4.8646846 --3.1067962700000002 -3.1067962700000002 -2.8970823 --1.9369215800000001 -1.9369215800000001 -1.8097031 --1.25253313 -1.25253313 -1.1787134 --0.69298365 -0.69298365 -0.66062766 --0.40862782999999997 -0.40862782999999997 -0.39352986 --0.25359597 -0.25359597 -0.24592683 --39.57440968 -39.57440968 -39.23419 --28.860822289999998 -28.860822289999998 -28.781723 --21.17076846 -21.17076846 -21.084896 --15.62250406 -15.62250406 -15.482886 --8.68897046 -8.68897046 -8.503161 --4.98770794 -4.98770794 -4.840981 --2.96806763 -2.96806763 -2.8732786 --1.83438511 -1.83438511 -1.7771965 --0.9528554 -0.9528554 -0.92674476 --0.53125146 -0.53125146 -0.51841426 --0.31371991 -0.31371991 -0.3069729 --26.734173929999997 -26.734173929999997 -28.530762 --19.27239051 -19.27239051 -20.3112 --14.001088130000001 -14.001088130000001 -14.479712 --10.25498641 -10.25498641 -10.38499 --7.578749360000001 -7.578749360000001 -7.5218325 --4.263745269999999 -4.263745269999999 -4.1042852 --2.50487867 -2.50487867 -2.3746874 --1.53942125 -1.53942125 -1.4533366 --0.98822811 -0.98822811 -0.93370456 --0.54601942 -0.54601942 -0.5173339 --0.32326017 -0.32326017 -0.3068653 --0.20196369 -0.20196369 -0.19181103 --28.612167619999997 -28.612167619999997 -30.111382 --20.08137927 -20.08137927 -20.840607 --14.25662862 -14.25662862 -14.520263 --7.42929419 -7.42929419 -7.303456 --4.06203796 -4.06203796 -3.910999 --2.33991613 -2.33991613 -2.238195 --1.41977045 -1.41977045 -1.3595909 --0.73084351 -0.73084351 -0.7041951 --0.40864504999999995 -0.40864504999999995 -0.39587307 --0.24346035 -0.24346035 -0.23662843 --45.10593192 -45.10593192 -44.415688 --32.32481961 -32.32481961 -31.869057 --16.345479830000002 -16.345479830000002 -15.948373 --8.22707832 -8.22707832 -7.8948355 --4.21103688 -4.21103688 -3.9828944 --2.2274385100000003 -2.2274385100000003 -2.084119 --0.92792871 -0.92792871 -0.858704 --0.42753812999999996 -0.42753812999999996 -0.3923131 --0.21571197 -0.21571197 -0.1964262 --50.563301339999995 -50.563301339999995 -53.074394 --33.89531959 -33.89531959 -35.32436 --22.85448594 -22.85448594 -23.511652 --15.527361459999998 -15.527361459999998 -15.75723 --7.39360567 -7.39360567 -7.363026 --3.7134288700000004 -3.7134288700000004 -3.6793869 --1.98075709 -1.98075709 -1.9678047 --1.11983825 -1.11983825 -1.1175686 --0.52245545 -0.52245545 -0.5245357 --0.26693202 -0.26693202 -0.2687432 --0.14634808000000002 -0.14634808000000002 -0.14748695 --43.06261699 -43.06261699 -42.49882 --29.53473581 -29.53473581 -29.277409 --14.43285852 -14.43285852 -14.16478 --7.37767336 -7.37767336 -7.170893 --3.95865565 -3.95865565 -3.8342273 --2.23367179 -2.23367179 -2.1636505 --1.03468114 -1.03468114 -1.0027523 --0.52585082 -0.52585082 -0.5078521 --0.28804798000000004 -0.28804798000000004 -0.2762889 --52.796491339999996 -52.796491339999996 -54.891174 --37.77700636 -37.77700636 -39.251724 --19.22811232 -19.22811232 -19.542494 --9.86953062 -9.86953062 -9.788165 --5.2038030299999996 -5.2038030299999996 -5.1106496 --2.8610168000000002 -2.8610168000000002 -2.8193922 --1.27718411 -1.27718411 -1.2752194 --0.63058205 -0.63058205 -0.6361872 --0.33801337000000004 -0.33801337000000004 -0.34271845 --34.521396100000004 -34.521396100000004 -31.707226 --24.06511024 -24.06511024 -22.049957 --17.04074859 -17.04074859 -15.436004 --8.83039241 -8.83039241 -7.7872906 --4.75679227 -4.75679227 -4.12865 --2.67144647 -2.67144647 -2.3148532 --1.56939591 -1.56939591 -1.3707101 --0.76774109 -0.76774109 -0.682578 --0.40990299999999996 -0.40990299999999996 -0.37021634 --0.23491501 -0.23491501 -0.21449442 --44.67688045999999 -44.67688045999999 -44.52317 --32.3229141 -32.3229141 -32.37872 --23.579197450000002 -23.579197450000002 -23.554193 --17.331275159999997 -17.331275159999997 -17.200562 --9.57802423 -9.57802423 -9.376417 --5.47460056 -5.47460056 -5.318845 --3.24885905 -3.24885905 -3.1544569 --2.00443081 -2.00443081 -1.9533755 --1.04033719 -1.04033719 -1.022297 --0.58051969 -0.58051969 -0.5742538 --0.3436329 -0.3436329 -0.34131536 --66.33494084 -66.33494084 -63.68887 --47.69680374 -47.69680374 -45.66034 --34.60729127 -34.60729127 -32.86676 --25.32418203 -25.32418203 -23.829407 --13.913852219999999 -13.913852219999999 -12.91647 --7.93603609 -7.93603609 -7.349109 --4.71292066 -4.71292066 -4.394266 --2.9171613 -2.9171613 -2.7497256 --1.5260561 -1.5260561 -1.4628023 --0.8588211800000001 -0.8588211800000001 -0.8341924 --0.51253478 -0.51253478 -0.5024102 --56.257728660000005 -56.257728660000005 -57.54408 --40.08253975 -40.08253975 -41.19821 --28.783640530000003 -28.783640530000003 -29.440819 --15.162394229999999 -15.162394229999999 -15.219228 --8.25362832 -8.25362832 -8.158408 --4.66449432 -4.66449432 -4.589114 --2.74959249 -2.74959249 -2.7119482 --1.34340672 -1.34340672 -1.337386 --0.71184302 -0.71184302 -0.71457905 --0.40301743 -0.40301743 -0.4066033 --51.28274695 -51.28274695 -52.495785 --36.38508882 -36.38508882 -37.83095 --26.08676603 -26.08676603 -27.236195 --18.86457577 -18.86457577 -19.648338 --10.107401359999999 -10.107401359999999 -10.395065 --5.60507742 -5.60507742 -5.69459 --3.231195 -3.231195 -3.257857 --1.9386893399999998 -1.9386893399999998 -1.9491442 --0.97067405 -0.97067405 -0.97398984 --0.52487673 -0.52487673 -0.52598625 --0.30246097 -0.30246097 -0.30237418 --57.258965200000006 -57.258965200000006 -56.28316 --38.83568121 -38.83568121 -38.146606 --18.617852029999998 -18.617852029999998 -17.938831 --9.37084036 -9.37084036 -8.861784 --4.9564549499999995 -4.9564549499999995 -4.645068 --2.76112921 -2.76112921 -2.5840704 --1.2584854600000002 -1.2584854600000002 -1.182754 --0.63071322 -0.63071322 -0.5950274 --0.34118659 -0.34118659 -0.32206458 --52.652399339999995 -52.652399339999995 -51.041553 --36.904165739999996 -36.904165739999996 -36.941845 --26.14381347 -26.14381347 -26.61112 --18.693123019999998 -18.693123019999998 -19.172287 --9.835655390000001 -9.835655390000001 -10.115627 --5.39735568 -5.39735568 -5.5524955 --3.1064600700000002 -3.1064600700000002 -3.201577 --1.8764354699999999 -1.8764354699999999 -1.9391708 --0.95593536 -0.95593536 -0.9913751 --0.52828559 -0.52828559 -0.5485326 --0.31129674 -0.31129674 -0.32284343 --43.69533362999999 -43.69533362999999 -42.722733 --31.43444395 -31.43444395 -30.701683 --16.47424765 -16.47424765 -15.857423 --8.79710823 -8.79710823 -8.361117 --4.83153945 -4.83153945 -4.5716915 --2.75039487 -2.75039487 -2.608722 --1.2738117199999999 -1.2738117199999999 -1.2165586 --0.64307341 -0.64307341 -0.6165675 --0.34923317 -0.34923317 -0.3348892 --37.85286072 -37.85286072 -38.534203 --26.971558979999998 -26.971558979999998 -27.456203 --13.63702413 -13.63702413 -13.466975 --6.8492079100000005 -6.8492079100000005 -6.438051 --3.4701647700000002 -3.4701647700000002 -3.1199236 --1.81115642 -1.81115642 -1.5924248 --0.7488275799999999 -0.7488275799999999 -0.6586566 --0.34937779 -0.34937779 -0.3110271 --0.18038742 -0.18038742 -0.16217652 --26.395838189999996 -26.395838189999996 -24.445547 --13.49855359 -13.49855359 -12.455789 --7.154486400000001 -7.154486400000001 -6.560209 --3.95197776 -3.95197776 -3.625046 --2.28847452 -2.28847452 -2.1114502 --1.1032548800000002 -1.1032548800000002 -1.0295161 --0.5855457500000001 -0.5855457500000001 -0.5507512 --0.33568549999999997 -0.33568549999999997 -0.3167623 --53.11508427 -53.11508427 -51.40191 --36.875725290000005 -36.875725290000005 -36.306675 --25.92011049 -25.92011049 -25.625256 --13.10462507 -13.10462507 -12.830227 --6.80702491 -6.80702491 -6.5600033 --3.65585647 -3.65585647 -3.4859896 --2.0452177099999997 -2.0452177099999997 -1.9464262 --0.93172224 -0.93172224 -0.89250904 --0.46719005 -0.46719005 -0.45130384 --0.2537951 -0.2537951 -0.24657114 --52.39875948000001 -52.39875948000001 -54.683853 --36.82819725 -36.82819725 -39.078846 --26.16442691 -26.16442691 -27.939112 --13.564945250000001 -13.564945250000001 -14.481759 --7.3101628299999994 -7.3101628299999994 -7.7703676 --4.11290403 -4.11290403 -4.363487 --2.42012676 -2.42012676 -2.570635 --1.1849279400000001 -1.1849279400000001 -1.2620968 --0.63043931 -0.63043931 -0.67284673 --0.35880814000000005 -0.35880814000000005 -0.38295802 --23.194927300000003 -23.194927300000003 -22.808064 --11.15668881 -11.15668881 -10.886586 --5.5766174 -5.5766174 -5.3897285 --2.90756317 -2.90756317 -2.7937415 --1.19757948 -1.19757948 -1.1439914 --0.54880374 -0.54880374 -0.52138937 --0.27615529 -0.27615529 -0.26066098 --25.90187562 -25.90187562 -27.2373 --18.50519686 -18.50519686 -19.218449 --13.279364690000001 -13.279364690000001 -13.47373 --9.573257869999999 -9.573257869999999 -9.442222 --6.95199355 -6.95199355 -6.6518807 --3.7578758100000003 -3.7578758100000003 -3.4144325 --2.11566961 -2.11566961 -1.864144 --1.2482841999999998 -1.2482841999999998 -1.0866408 --0.7731151 -0.7731151 -0.6715877 --0.40864944 -0.40864944 -0.35637435 --0.23413335 -0.23413335 -0.20501421 --0.14281001999999998 -0.14281001999999998 -0.12533575 +-35.4680734 -35.4680734 -37.608927201953065 +-26.1463898 -26.1463898 -27.674414904996716 +-19.35277663 -19.35277663 -20.34427920445396 +-14.392597580000002 -14.392597580000002 -14.999585703642031 +-8.106002160000001 -8.106002160000001 -8.318961617942378 +-4.70786822 -4.70786822 -4.7886278824778525 +-2.83171912 -2.83171912 -2.8720174770578835 +-1.76663279 -1.76663279 -1.791588232014084 +-0.9286487999999999 -0.9286487999999999 -0.9419528302106283 +-0.52205154 -0.52205154 -0.5287033074146208 +-0.30995446 -0.30995446 -0.313055956573032 +-39.583594170000005 -39.583594170000005 -40.37523677690885 +-19.45860266 -19.45860266 -20.00930622286206 +-9.84640189 -9.84640189 -10.115113167479766 +-5.18580807 -5.18580807 -5.336095378521736 +-2.86816368 -2.86816368 -2.9592701840043167 +-1.29320426 -1.29320426 -1.3370126439442878 +-0.6425918700000001 -0.6425918700000001 -0.6627503023178027 +-0.34542288 -0.34542288 -0.35424346369991594 +-57.442823159999996 -57.442823159999996 -61.70742660804865 +-40.34374974 -40.34374974 -44.01421543195996 +-20.41445462 -20.41445462 -22.420854948201367 +-10.72703557 -10.72703557 -11.74121801284076 +-5.8960291499999995 -5.8960291499999995 -6.435170279757326 +-3.3958613 -3.3958613 -3.7087602152456194 +-1.6148304999999998 -1.6148304999999998 -1.7689412368067055 +-0.8371314 -0.8371314 -0.9187504770700056 +-0.464991 -0.464991 -0.5101828374786594 +-65.54178807000001 -65.54178807000001 -64.76475175018113 +-47.27923433 -47.27923433 -47.069855131110764 +-34.339357820000004 -34.339357820000004 -34.14303610738955 +-18.431243470000002 -18.431243470000002 -18.142743014293075 +-10.17232779 -10.17232779 -9.950872859729069 +-5.81286535 -5.81286535 -5.697387206238531 +-3.45326515 -3.45326515 -3.4109492870359883 +-1.70138694 -1.70138694 -1.7041109873895586 +-0.90683188 -0.90683188 -0.9179946985151146 +-0.51557142 -0.51557142 -0.5252282661566885 +-35.9258342 -35.9258342 -35.99531859381783 +-16.64155507 -16.64155507 -16.8117519031237 +-7.96518118 -7.96518118 -8.012156267973426 +-3.9922323200000003 -3.9922323200000003 -4.002133379257849 +-2.11215489 -2.11215489 -2.1160541433458233 +-0.9028703100000001 -0.9028703100000001 -0.903739674112976 +-0.43174389 -0.43174389 -0.43047350898837894 +-0.22591321 -0.22591321 -0.22378489495067544 +-30.73157646 -30.73157646 -30.531258569852927 +-22.40168498 -22.40168498 -22.129396819718846 +-16.43209422 -16.43209422 -16.031581638443743 +-12.14132254 -12.14132254 -11.661917238447748 +-9.04231356 -9.04231356 -8.551729600607246 +-5.14211342 -5.14211342 -4.761133853410011 +-3.0369072 -3.0369072 -2.7972462668228175 +-1.86953339 -1.86953339 -1.731798651440721 +-1.19735574 -1.19735574 -1.1219207560635058 +-0.65676395 -0.65676395 -0.626318171256095 +-0.3855321 -0.3855321 -0.3725929192390811 +-0.23879439 -0.23879439 -0.2328086695211326 +-45.490737949999996 -45.490737949999996 -47.79596931092454 +-32.21981355 -32.21981355 -33.87284472142797 +-23.0196039 -23.0196039 -23.959553842664974 +-11.89264987 -11.89264987 -11.961589408355428 +-6.22075858 -6.22075858 -6.045231237099053 +-3.3310461399999998 -3.3310461399999998 -3.1678117174260225 +-1.8492628199999999 -1.8492628199999999 -1.74798862548725 +-0.83152222 -0.83152222 -0.7917320322036396 +-0.41285114 -0.41285114 -0.39717865912014927 +-0.22291496 -0.22291496 -0.2158353524274445 +-35.15702423 -35.15702423 -35.462320782684856 +-16.72889419 -16.72889419 -16.68377010479867 +-8.18161802 -8.18161802 -7.979312296434254 +-4.16881493 -4.16881493 -4.0191130349483215 +-2.24027752 -2.24027752 -2.163808151992461 +-0.9847958099999999 -0.9847958099999999 -0.9629854342375572 +-0.4863354 -0.4863354 -0.4809404750167573 +-0.26309772000000003 -0.26309772000000003 -0.26181981723124664 +-25.14809655 -25.14809655 -25.59155398084393 +-11.97736702 -11.97736702 -12.103621327142209 +-5.9657339 -5.9657339 -5.9586234531025415 +-3.1310098600000003 -3.1310098600000003 -3.10503536509547 +-1.74044251 -1.74044251 -1.7194651232459552 +-0.80056993 -0.80056993 -0.7868209166269178 +-0.40985186 -0.40985186 -0.399641935648003 +-0.22815570999999998 -0.22815570999999998 -0.22029977633902909 +-37.584898589999995 -37.584898589999995 -37.75757344562787 +-17.36236604 -17.36236604 -17.517483421198133 +-8.19410047 -8.19410047 -8.117743972366686 +-3.9878064399999995 -3.9878064399999995 -3.8542319441067736 +-2.0268389300000003 -2.0268389300000003 -1.9137466686408542 +-0.81126066 -0.81126066 -0.7457591742282477 +-0.36601661999999996 -0.36601661999999996 -0.33049504484238124 +-0.18330189 -0.18330189 -0.16317652327527699 +-46.6476023 -46.6476023 -45.963321077137884 +-33.41663071 -33.41663071 -33.11991101914532 +-17.40124797 -17.40124797 -17.059673256110788 +-9.237365830000002 -9.237365830000002 -8.872511864673555 +-5.04388622 -5.04388622 -4.772804666961951 +-2.85807686 -2.85807686 -2.690886313464585 +-1.3203608599999999 -1.3203608599999999 -1.2459204463421605 +-0.6673110600000001 -0.6673110600000001 -0.632121633840715 +-0.36365852 -0.36365852 -0.34463188358086533 +-35.44792079 -35.44792079 -36.942750336238916 +-24.83846745 -24.83846745 -25.402827462362293 +-17.72523623 -17.72523623 -17.64388254548971 +-12.83890067 -12.83890067 -12.432915907905375 +-9.4293195 -9.4293195 -8.90978145050275 +-5.283329190000001 -5.283329190000001 -4.82001224328159 +-3.09703684 -3.09703684 -2.7773742239631503 +-1.89274264 -1.89274264 -1.6865803659838106 +-1.1993125 -1.1993125 -1.0693438638098447 +-0.6417074399999999 -0.6417074399999999 -0.5764627523632193 +-0.36540852 -0.36540852 -0.33111004574005154 +-0.21922749 -0.21922749 -0.20013027229599883 +-68.32736161999999 -68.32736161999999 -64.75594230669256 +-49.823443739999995 -49.823443739999995 -47.70634127132432 +-36.6754001 -36.6754001 -35.16693427245318 +-27.21431783 -27.21431783 -26.021565364991105 +-15.32321785 -15.32321785 -14.542872115760286 +-8.90079781 -8.90079781 -8.4272550893602 +-5.34308015 -5.34308015 -5.081464321528334 +-3.3178055200000003 -3.3178055200000003 -3.183782661706538 +-1.72579616 -1.72579616 -1.682712857866959 +-0.9593959599999999 -0.9593959599999999 -0.9479812045056438 +-0.56390421 -0.56390421 -0.5624431794813808 +-28.955685719999998 -28.955685719999998 -31.267989476298386 +-21.04402914 -21.04402914 -22.583332524591153 +-15.443951140000001 -15.443951140000001 -16.33109652776063 +-11.39892272 -11.39892272 -11.85978730293982 +-6.34534103 -6.34534103 -6.39451328603999 +-3.6297739200000003 -3.6297739200000003 -3.587900172412313 +-2.1489652599999998 -2.1489652599999998 -2.1054804412251116 +-1.31908766 -1.31908766 -1.2905165715603457 +-0.67835452 -0.67835452 -0.6653280287345338 +-0.37510809 -0.37510809 -0.3683854507808391 +-0.22048267 -0.22048267 -0.2160843227810428 +-31.76787533 -31.76787533 -30.531874643363448 +-22.47009441 -22.47009441 -21.547704098811266 +-11.244445279999999 -11.244445279999999 -10.545926169973795 +-5.71322378 -5.71322378 -5.235856482810955 +-3.00326576 -3.00326576 -2.722743014593952 +-1.65624448 -1.65624448 -1.5004965684743397 +-0.74842542 -0.74842542 -0.6802736757780239 +-0.37539905 -0.37539905 -0.3413058350861651 +-0.20447244 -0.20447244 -0.18534462321625467 +-48.40511301 -48.40511301 -44.079219525599356 +-34.81727956 -34.81727956 -32.30567286268716 +-25.266376219999998 -25.266376219999998 -23.59685528247584 +-13.597792 -13.597792 -12.661769794158218 +-7.530462630000001 -7.530462630000001 -6.97853008088188 +-4.3103022200000005 -4.3103022200000005 -4.002558097574448 +-2.56042647 -2.56042647 -2.3982063618236418 +-1.26084183 -1.26084183 -1.2012931539729592 +-0.6728386900000001 -0.6728386900000001 -0.6508768894830973 +-0.38428053 -0.38428053 -0.375617760391065 +-36.83170876 -36.83170876 -38.876765683133414 +-26.14857741 -26.14857741 -27.269966041778854 +-18.80523383 -18.80523383 -19.21400703515311 +-13.66838128 -13.66838128 -13.656410857858958 +-7.449147379999999 -7.449147379999999 -7.1631894643408875 +-4.239202649999999 -4.239202649999999 -3.983882250276596 +-2.52191702 -2.52191702 -2.347631054796305 +-1.5680152299999999 -1.5680152299999999 -1.4556977630967685 +-0.8274043999999999 -0.8274043999999999 -0.7682221355228749 +-0.46989544 -0.46989544 -0.43611660707561184 +-0.28296135 -0.28296135 -0.26198768793714 +-46.01138642 -46.01138642 -44.20693572051165 +-32.30047659 -32.30047659 -31.592243527325547 +-16.38272075 -16.38272075 -16.07850921533555 +-8.63171949 -8.63171949 -8.409056224214943 +-4.75795771 -4.75795771 -4.619374071718157 +-2.75417046 -2.75417046 -2.680998993271379 +-1.3241422299999999 -1.3241422299999999 -1.302258150842527 +-0.6979782400000001 -0.6979782400000001 -0.6929605208261475 +-0.39557803999999996 -0.39557803999999996 -0.3953579787517788 +-25.54106363 -25.54106363 -28.18034960482312 +-17.89641655 -17.89641655 -19.476131540513794 +-12.682898230000001 -12.682898230000001 -13.503901980883054 +-6.5811104 -6.5811104 -6.683657941177006 +-3.58367788 -3.58367788 -3.514612362977647 +-2.05774954 -2.05774954 -1.9821143913710526 +-1.24674954 -1.24674954 -1.1932506533064757 +-0.6436914100000001 -0.6436914100000001 -0.6155147859592495 +-0.36259010999999997 -0.36259010999999997 -0.3471087121723455 +-0.21794651 -0.21794651 -0.20888575070927765 +-42.391102149999995 -42.391102149999995 -42.525665616526084 +-30.59145819 -30.59145819 -30.462866905516805 +-22.28698911 -22.28698911 -21.937618875342427 +-12.15404991 -12.15404991 -11.700389936659445 +-6.88462422 -6.88462422 -6.554439814558024 +-4.06455093 -4.06455093 -3.8710484060044967 +-2.50226409 -2.50226409 -2.4013441177960777 +-1.30081046 -1.30081046 -1.2677230930022143 +-0.7297306499999999 -0.7297306499999999 -0.7203965822936669 +-0.43506786999999997 -0.43506786999999997 -0.43335039281892745 +-41.100449129999994 -41.100449129999994 -38.497122142489786 +-30.315488130000002 -30.315488130000002 -28.687882678887615 +-22.57370889 -22.57370889 -21.412499657215697 +-16.94705103 -16.94705103 -16.05689463157751 +-12.82825966 -12.82825966 -12.126518465263446 +-7.543299579999999 -7.543299579999999 -7.109161977153618 +-4.59174972 -4.59174972 -4.341199205019342 +-2.89676176 -2.89676176 -2.758791162303189 +-1.88992896 -1.88992896 -1.8169349891650655 +-1.05532201 -1.05532201 -1.0274253589394962 +-0.62463649 -0.62463649 -0.6138784434283238 +-0.3878 -0.3878 -0.3834097878637031 +-42.52396344 -42.52396344 -42.292446716576364 +-29.96165 -29.96165 -30.119036933805514 +-21.338808750000002 -21.338808750000002 -21.405814850738786 +-15.33571613 -15.33571613 -15.266332097843229 +-8.164711200000001 -8.164711200000001 -7.968383942738787 +-4.53593795 -4.53593795 -4.361250033636014 +-2.6324713600000003 -2.6324713600000003 -2.510522758427727 +-1.5961250599999999 -1.5961250599999999 -1.5138008403312477 +-0.81071538 -0.81071538 -0.763457038836133 +-0.44382914 -0.44382914 -0.41443812282846393 +-0.25821423 -0.25821423 -0.23887756572378968 +-28.400242659999996 -28.400242659999996 -26.95310333889078 +-20.804185699999998 -20.804185699999998 -19.31366396414234 +-15.383926930000001 -15.383926930000001 -13.924702576010466 +-11.47498752 -11.47498752 -10.13948403323848 +-8.63209084 -8.63209084 -7.47707445044411 +-5.009615510000001 -5.009615510000001 -4.244719771381562 +-3.01436328 -3.01436328 -2.551421611508932 +-1.88275472 -1.88275472 -1.6127678816477284 +-1.22016703 -1.22016703 -1.0627710826001746 +-0.677634 -0.677634 -0.6047722387565332 +-0.40118432 -0.40118432 -0.36472869419713905 +-0.25002411 -0.25002411 -0.23024713965040905 +-33.167148850000004 -33.167148850000004 -32.872639175940456 +-23.511938930000003 -23.511938930000003 -23.21856715012383 +-16.864903780000002 -16.864903780000002 -16.487260400592625 +-12.22422198 -12.22422198 -11.802532465059597 +-6.6205421200000005 -6.6205421200000005 -6.246274786969437 +-3.732775 -3.732775 -3.4776778257421146 +-2.19833894 -2.19833894 -2.041671040276966 +-1.35172489 -1.35172489 -1.2591420403938152 +-0.70192306 -0.70192306 -0.6591363649602289 +-0.39272619999999997 -0.39272619999999997 -0.3715002673263037 +-0.23325136 -0.23325136 -0.22170540179716722 +-45.02071858 -45.02071858 -46.20862387749353 +-31.2753978 -31.2753978 -31.74243980846722 +-22.04399187 -22.04399187 -22.109039957766402 +-11.355979349999998 -11.355979349999998 -11.218591390688562 +-6.11475506 -6.11475506 -6.026297712596145 +-3.43579504 -3.43579504 -3.4027821301631147 +-2.01187453 -2.01187453 -2.0055516024327513 +-0.9676585 -0.9676585 -0.9714388543159795 +-0.50164429 -0.50164429 -0.5044021311149911 +-0.27695199000000004 -0.27695199000000004 -0.27789576065480753 +-42.73192358 -42.73192358 -42.530741774697574 +-29.85474861 -29.85474861 -29.53823383415668 +-21.23494257 -21.23494257 -20.788287946359265 +-11.189578599999999 -11.189578599999999 -10.752112823654123 +-6.16877046 -6.16877046 -5.883281131368516 +-3.54153255 -3.54153255 -3.386001083632736 +-2.11449089 -2.11449089 -2.0357246918058056 +-1.04508216 -1.04508216 -1.0157217067022468 +-0.5552023700000001 -0.5552023700000001 -0.5416181048710452 +-0.31301459 -0.31301459 -0.30501155132317376 +-57.614937729999994 -57.614937729999994 -59.269288955907236 +-41.73466777 -41.73466777 -43.30622790974494 +-30.39885129 -30.39885129 -31.5493430910271 +-16.42456485 -16.42456485 -16.872910127872263 +-9.1318056 -9.1318056 -9.294969863584592 +-5.262656529999999 -5.262656529999999 -5.3384546176724355 +-3.15338697 -3.15338697 -3.2036448426263706 +-1.57291241 -1.57291241 -1.6048290158245877 +-0.8462061900000001 -0.8462061900000001 -0.8661402953899311 +-0.4843238 -0.4843238 -0.4961693719130172 +-45.7602324 -45.7602324 -46.756783517133115 +-22.25908494 -22.25908494 -22.99756528451068 +-11.03881632 -11.03881632 -11.330759452768424 +-5.6228541 -5.6228541 -5.716625978889481 +-2.96079284 -2.96079284 -2.9843529299398996 +-1.2183442 -1.2183442 -1.2159948454545277 +-0.55148758 -0.55148758 -0.546031171288311 +-0.27321019999999996 -0.27321019999999996 -0.26809921215576005 +-29.072654290000003 -29.072654290000003 -29.609974832385927 +-21.3840426 -21.3840426 -21.60225743803821 +-15.85333403 -15.85333403 -15.781877165443984 +-11.83550768 -11.83550768 -11.58982266825997 +-8.90677298 -8.90677298 -8.582462434634685 +-5.169090199999999 -5.169090199999999 -4.864686440696147 +-3.1067962700000002 -3.1067962700000002 -2.897083554490595 +-1.9369215800000001 -1.9369215800000001 -1.8097036411240506 +-1.25253313 -1.25253313 -1.1787138269105306 +-0.69298365 -0.69298365 -0.6606278476331184 +-0.40862782999999997 -0.40862782999999997 -0.39352995081044445 +-0.25359597 -0.25359597 -0.2459268576424524 +-39.57440968 -39.57440968 -39.234198268736776 +-28.860822289999998 -28.860822289999998 -28.781738498003772 +-21.17076846 -21.17076846 -21.084904279752525 +-15.62250406 -15.62250406 -15.48289107386393 +-8.68897046 -8.68897046 -8.503163771523528 +-4.98770794 -4.98770794 -4.840982062991829 +-2.96806763 -2.96806763 -2.8732797709004227 +-1.83438511 -1.83438511 -1.7771971363303394 +-0.9528554 -0.9528554 -0.9267451140389612 +-0.53125146 -0.53125146 -0.5184144019058275 +-0.31371991 -0.31371991 -0.30697302512577546 +-26.734173929999997 -26.734173929999997 -28.53077327902111 +-19.27239051 -19.27239051 -20.311208414470684 +-14.001088130000001 -14.001088130000001 -14.479717510721022 +-10.25498641 -10.25498641 -10.38499290366001 +-7.578749360000001 -7.578749360000001 -7.521835685788161 +-4.263745269999999 -4.263745269999999 -4.104286809669269 +-2.50487867 -2.50487867 -2.3746882755060392 +-1.53942125 -1.53942125 -1.453337229521402 +-0.98822811 -0.98822811 -0.9337047750843077 +-0.54601942 -0.54601942 -0.5173340039177616 +-0.32326017 -0.32326017 -0.306865304830474 +-0.20196369 -0.20196369 -0.1918110862441367 +-28.612167619999997 -28.612167619999997 -30.111402641683874 +-20.08137927 -20.08137927 -20.840611989968973 +-14.25662862 -14.25662862 -14.520266560449194 +-7.42929419 -7.42929419 -7.303457966089911 +-4.06203796 -4.06203796 -3.911000056943553 +-2.33991613 -2.33991613 -2.2381958512634235 +-1.41977045 -1.41977045 -1.359591444037273 +-0.73084351 -0.73084351 -0.7041952579804649 +-0.40864504999999995 -0.40864504999999995 -0.39587317179136144 +-0.24346035 -0.24346035 -0.2366284986613146 +-45.10593192 -45.10593192 -44.41570532028358 +-32.32481961 -32.32481961 -31.86907093919823 +-16.345479830000002 -16.345479830000002 -15.948377508219952 +-8.22707832 -8.22707832 -7.894838761096793 +-4.21103688 -4.21103688 -3.982895135946533 +-2.2274385100000003 -2.2274385100000003 -2.0841194704957213 +-0.92792871 -0.92792871 -0.8587043144227653 +-0.42753812999999996 -0.42753812999999996 -0.39231321122426677 +-0.21571197 -0.21571197 -0.19642624415120857 +-50.563301339999995 -50.563301339999995 -53.074405282519784 +-33.89531959 -33.89531959 -35.324371522566096 +-22.85448594 -22.85448594 -23.511662571797135 +-15.527361459999998 -15.527361459999998 -15.757234767952486 +-7.39360567 -7.39360567 -7.363028603941321 +-3.7134288700000004 -3.7134288700000004 -3.6793879563485428 +-1.98075709 -1.98075709 -1.9678051147767153 +-1.11983825 -1.11983825 -1.1175690249412487 +-0.52245545 -0.52245545 -0.5245358433673725 +-0.26693202 -0.26693202 -0.26874323626613 +-0.14634808000000002 -0.14634808000000002 -0.14748701607096354 +-43.06261699 -43.06261699 -42.49883825519159 +-29.53473581 -29.53473581 -29.277419764044126 +-14.43285852 -14.43285852 -14.164783042665261 +-7.37767336 -7.37767336 -7.170895307163485 +-3.95865565 -3.95865565 -3.8342284481064346 +-2.23367179 -2.23367179 -2.1636512408822384 +-1.03468114 -1.03468114 -1.0027527526528663 +-0.52585082 -0.52585082 -0.5078522413963557 +-0.28804798000000004 -0.28804798000000004 -0.2762889950863869 +-52.796491339999996 -52.796491339999996 -54.891195752089 +-37.77700636 -37.77700636 -39.25174297105733 +-19.22811232 -19.22811232 -19.54250011443275 +-9.86953062 -9.86953062 -9.788167939860719 +-5.2038030299999996 -5.2038030299999996 -5.110651838376303 +-2.8610168000000002 -2.8610168000000002 -2.8193925842113807 +-1.27718411 -1.27718411 -1.2752197685450073 +-0.63058205 -0.63058205 -0.6361874028871014 +-0.33801337000000004 -0.33801337000000004 -0.34271848450309195 +-34.521396100000004 -34.521396100000004 -31.707244996036437 +-24.06511024 -24.06511024 -22.04996790251872 +-17.04074859 -17.04074859 -15.43601001700025 +-8.83039241 -8.83039241 -7.787293774959488 +-4.75679227 -4.75679227 -4.128651521958656 +-2.67144647 -2.67144647 -2.3148539231766154 +-1.56939591 -1.56939591 -1.3707104231574325 +-0.76774109 -0.76774109 -0.6825782464789204 +-0.40990299999999996 -0.40990299999999996 -0.37021647389936113 +-0.23491501 -0.23491501 -0.21449449442311214 +-44.67688045999999 -44.67688045999999 -44.52319677049877 +-32.3229141 -32.3229141 -32.378734518436424 +-23.579197450000002 -23.579197450000002 -23.554206099493445 +-17.331275159999997 -17.331275159999997 -17.200569130760627 +-9.57802423 -9.57802423 -9.376421162799161 +-5.47460056 -5.47460056 -5.3188466538583725 +-3.24885905 -3.24885905 -3.1544575620241546 +-2.00443081 -2.00443081 -1.9533761739671445 +-1.04033719 -1.04033719 -1.0222976396302472 +-0.58051969 -0.58051969 -0.5742539927936835 +-0.3436329 -0.3436329 -0.3413153485222207 +-66.33494084 -66.33494084 -63.68888929890666 +-47.69680374 -47.69680374 -45.660350976878576 +-34.60729127 -34.60729127 -32.8667647889309 +-25.32418203 -25.32418203 -23.829414998147257 +-13.913852219999999 -13.913852219999999 -12.916473131794318 +-7.93603609 -7.93603609 -7.349111868868717 +-4.71292066 -4.71292066 -4.394267719307757 +-2.9171613 -2.9171613 -2.749726459323636 +-1.5260561 -1.5260561 -1.4628026957407236 +-0.8588211800000001 -0.8588211800000001 -0.8341927201242512 +-0.51253478 -0.51253478 -0.5024102880917412 +-56.257728660000005 -56.257728660000005 -57.544102355226 +-40.08253975 -40.08253975 -41.19823058233751 +-28.783640530000003 -28.783640530000003 -29.44082850044081 +-15.162394229999999 -15.162394229999999 -15.21923013829296 +-8.25362832 -8.25362832 -8.158410828672169 +-4.66449432 -4.66449432 -4.589115490419457 +-2.74959249 -2.74959249 -2.7119490120086893 +-1.34340672 -1.34340672 -1.3373866570263275 +-0.71184302 -0.71184302 -0.7145792302264267 +-0.40301743 -0.40301743 -0.40660342413850187 +-51.28274695 -51.28274695 -52.49580302340388 +-36.38508882 -36.38508882 -37.83096126924 +-26.08676603 -26.08676603 -27.236206343548027 +-18.86457577 -18.86457577 -19.648346931008994 +-10.107401359999999 -10.107401359999999 -10.395068802435139 +-5.60507742 -5.60507742 -5.694591277794198 +-3.231195 -3.231195 -3.257857721824073 +-1.9386893399999998 -1.9386893399999998 -1.9491447008751195 +-0.97067405 -0.97067405 -0.973990192922591 +-0.52487673 -0.52487673 -0.5259865333814847 +-0.30246097 -0.30246097 -0.30237435033378335 +-57.258965200000006 -57.258965200000006 -56.283185528779555 +-38.83568121 -38.83568121 -38.146623128116396 +-18.617852029999998 -18.617852029999998 -17.938836861195774 +-9.37084036 -9.37084036 -8.86178687045881 +-4.9564549499999995 -4.9564549499999995 -4.64506956372764 +-2.76112921 -2.76112921 -2.5840712433139092 +-1.2584854600000002 -1.2584854600000002 -1.1827545345392185 +-0.63071322 -0.63071322 -0.5950274693281408 +-0.34118659 -0.34118659 -0.322064662211781 +-52.652399339999995 -52.652399339999995 -51.04155823159099 +-36.904165739999996 -36.904165739999996 -36.94186335579949 +-26.14381347 -26.14381347 -26.61113078818411 +-18.693123019999998 -18.693123019999998 -19.17229339176052 +-9.835655390000001 -9.835655390000001 -10.115630504972913 +-5.39735568 -5.39735568 -5.552497841042694 +-3.1064600700000002 -3.1064600700000002 -3.201578047836142 +-1.8764354699999999 -1.8764354699999999 -1.939171420910143 +-0.95593536 -0.95593536 -0.991375429059205 +-0.52828559 -0.52828559 -0.5485328277286019 +-0.31129674 -0.31129674 -0.32284359127100987 +-43.69533362999999 -43.69533362999999 -42.72274964368949 +-31.43444395 -31.43444395 -30.701693082833824 +-16.47424765 -16.47424765 -15.857430008979456 +-8.79710823 -8.79710823 -8.361118811410511 +-4.83153945 -4.83153945 -4.571692927944068 +-2.75039487 -2.75039487 -2.6087227319720796 +-1.2738117199999999 -1.2738117199999999 -1.2165590091480938 +-0.64307341 -0.64307341 -0.6165677278822046 +-0.34923317 -0.34923317 -0.3348893438458688 +-37.85286072 -37.85286072 -38.53422433613007 +-26.971558979999998 -26.971558979999998 -27.45621563899575 +-13.63702413 -13.63702413 -13.466980202714756 +-6.8492079100000005 -6.8492079100000005 -6.438053624741999 +-3.4701647700000002 -3.4701647700000002 -3.1199249185231968 +-1.81115642 -1.81115642 -1.592425182150587 +-0.7488275799999999 -0.7488275799999999 -0.6586568666066518 +-0.34937779 -0.34937779 -0.3110271773577349 +-0.18038742 -0.18038742 -0.16217656945136943 +-26.395838189999996 -26.395838189999996 -24.445556474609635 +-13.49855359 -13.49855359 -12.455792636951424 +-7.154486400000001 -7.154486400000001 -6.560211294910716 +-3.95197776 -3.95197776 -3.625047569768394 +-2.28847452 -2.28847452 -2.1114510218323876 +-1.1032548800000002 -1.1032548800000002 -1.0295166488906857 +-0.5855457500000001 -0.5855457500000001 -0.550751273217751 +-0.33568549999999997 -0.33568549999999997 -0.3167624843822412 +-53.11508427 -53.11508427 -51.40192984898985 +-36.875725290000005 -36.875725290000005 -36.30669279764154 +-25.92011049 -25.92011049 -25.625269053721485 +-13.10462507 -13.10462507 -12.83023035261228 +-6.80702491 -6.80702491 -6.560006029698862 +-3.65585647 -3.65585647 -3.4859904632073104 +-2.0452177099999997 -2.0452177099999997 -1.9464271299490024 +-0.93172224 -0.93172224 -0.8925093895319783 +-0.46719005 -0.46719005 -0.451303972041349 +-0.2537951 -0.2537951 -0.24657116036025148 +-52.39875948000001 -52.39875948000001 -54.68389396981784 +-36.82819725 -36.82819725 -39.078860835338006 +-26.16442691 -26.16442691 -27.93912223525741 +-13.564945250000001 -13.564945250000001 -14.48176533422222 +-7.3101628299999994 -7.3101628299999994 -7.7703700498213975 +-4.11290403 -4.11290403 -4.36348770231723 +-2.42012676 -2.42012676 -2.570636007873095 +-1.1849279400000001 -1.1849279400000001 -1.2620972518435496 +-0.63043931 -0.63043931 -0.6728469759818811 +-0.35880814000000005 -0.35880814000000005 -0.38295821505616184 +-23.194927300000003 -23.194927300000003 -22.808068743940957 +-11.15668881 -11.15668881 -10.886589915750411 +-5.5766174 -5.5766174 -5.389730275750946 +-2.90756317 -2.90756317 -2.793742577962704 +-1.19757948 -1.19757948 -1.1439916453533963 +-0.54880374 -0.54880374 -0.5213894140566415 +-0.27615529 -0.27615529 -0.26066110420042127 +-25.90187562 -25.90187562 -27.237332257196467 +-18.50519686 -18.50519686 -19.21845575584123 +-13.279364690000001 -13.279364690000001 -13.473734989648298 +-9.573257869999999 -9.573257869999999 -9.44222391350073 +-6.95199355 -6.95199355 -6.651882316751962 +-3.7578758100000003 -3.7578758100000003 -3.414433416594785 +-2.11566961 -2.11566961 -1.8641446984719492 +-1.2482841999999998 -1.2482841999999998 -1.0866411337748865 +-0.7731151 -0.7731151 -0.6715879416164079 +-0.40864944 -0.40864944 -0.3563744500859022 +-0.23413335 -0.23413335 -0.20501427397084246 +-0.14281001999999998 -0.14281001999999998 -0.12533582009632668 diff --git a/examples/peg_slater_isa/res_es.xvg b/examples/peg_slater_isa/res_es.xvg index 4250c7f61..ccd8fee67 100644 --- a/examples/peg_slater_isa/res_es.xvg +++ b/examples/peg_slater_isa/res_es.xvg @@ -1,499 +1,499 @@ --26.92646754 -26.92646754 -30.263 --15.95146212 -15.95146212 -17.836246 --9.39600201 -9.39600201 -10.413368 --5.55747528 -5.55747528 -6.093415 --2.0529823 -2.0529823 -2.204912 --0.86457172 -0.86457172 -0.9233526 --0.42836094 -0.42836094 -0.46599 --0.24583992 -0.24583992 -0.27545157 --0.12848313 -0.12848313 -0.14936955 --0.07629939 -0.07629939 -0.08992295 --0.04874538 -0.04874538 -0.057127614 --30.65095489 -30.65095489 -28.228418 --9.57483309 -9.57483309 -9.606777 --3.62072887 -3.62072887 -3.7913954 --1.79028584 -1.79028584 -1.9140902 --1.09737979 -1.09737979 -1.1902695 --0.64379611 -0.64379611 -0.71007144 --0.41820308 -0.41820308 -0.46653807 --0.28609992 -0.28609992 -0.32216597 --46.31576662 -46.31576662 -48.021114 --24.84531902 -24.84531902 -26.857641 --7.77202853 -7.77202853 -8.594936 --2.90556998 -2.90556998 -3.1046364 --1.33735555 -1.33735555 -1.3779551 --0.73257876 -0.73257876 -0.74644685 --0.36387736 -0.36387736 -0.37196502 --0.20452447 -0.20452447 -0.209674 --0.12353156 -0.12353156 -0.12594414 --65.5165102 -65.5165102 -66.37744 --35.10852118 -35.10852118 -37.602818 --18.70126668 -18.70126668 -20.98648 --5.2345023 -5.2345023 -6.4239097 --1.44378822 -1.44378822 -2.0512304 --0.3813889 -0.3813889 -0.76234865 --0.08086565 -0.08086565 -0.3599886 -0.0232123 0.0232123 -0.17077586 -0.04000435 0.04000435 -0.09942616 -0.03958023 0.03958023 -0.06132635 --46.75461359 -46.75461359 -45.74205 --14.71550646 -14.71550646 -15.715738 --6.32702061 -6.32702061 -6.6495805 --3.67795156 -3.67795156 -3.712956 --2.50430298 -2.50430298 -2.4894073 --1.58204275 -1.58204275 -1.577885 --1.06600101 -1.06600101 -1.0727642 --0.74861263 -0.74861263 -0.75929064 --19.89752557 -19.89752557 -22.0076 --11.37778411 -11.37778411 -11.638878 --6.24708853 -6.24708853 -5.6154633 --3.26368953 -3.26368953 -2.2953017 --1.58216834 -1.58216834 -0.55815303 --0.16542626 -0.16542626 0.6792707 -0.20254697 0.20254697 0.8437613 -0.26328413 0.26328413 0.76065826 -0.24544617 0.24544617 0.644326 -0.19620521 0.19620521 0.4968679 -0.15430831 0.15430831 0.3889863 -0.12275091 0.12275091 0.31009364 --47.8662431 -47.8662431 -46.236626 --25.20572579 -25.20572579 -25.464405 --13.43114281 -13.43114281 -14.048536 --3.86480118 -3.86480118 -4.179735 --1.05720794 -1.05720794 -1.1698002 --0.24292022 -0.24292022 -0.3058899 --0.01755674 -0.01755674 -0.062578425 -0.05180154 0.05180154 0.029598543 -0.05871939 0.05871939 0.051282577 -0.0555704 0.0555704 0.055737205 --32.51135802 -32.51135802 -35.536896 --6.26829276 -6.26829276 -8.576882 --0.40360813 -0.40360813 -1.2446501 -0.60157194 0.60157194 0.31390056 -0.61106926 0.61106926 0.48246264 -0.41163131 0.41163131 0.34261802 -0.26648738 0.26648738 0.21863852 -0.17971661 0.17971661 0.1435265 --23.58662228 -23.58662228 -23.004961 --6.93585971 -6.93585971 -7.119367 --2.68738835 -2.68738835 -2.598157 --1.41236088 -1.41236088 -1.2478626 --0.90618858 -0.90618858 -0.76107615 --0.54770608 -0.54770608 -0.45265755 --0.35856105 -0.35856105 -0.2552164 --0.245445 -0.245445 -0.2802068 --39.51866388 -39.51866388 -39.3846 --11.04400347 -11.04400347 -12.425116 --3.93046886 -3.93046886 -4.469986 --1.87591923 -1.87591923 -2.0622978 --1.10321105 -1.10321105 -1.1907696 --0.60298057 -0.60298057 -0.65371823 --0.36808507 -0.36808507 -0.40301448 --0.23948736 -0.23948736 -0.26418832 --41.81378495 -41.81378495 -42.473663 --23.17950316 -23.17950316 -24.79281 --7.64605687 -7.64605687 -8.892324 --2.94970482 -2.94970482 -3.6944249 --1.44850444 -1.44850444 -1.924217 --0.88932876 -0.88932876 -1.2121217 --0.53022962 -0.53022962 -0.7172066 --0.34397559 -0.34397559 -0.45484027 --0.22913777 -0.22913777 -0.29711458 --26.70424494 -26.70424494 -30.853743 --14.21674879 -14.21674879 -16.349253 --7.70868282 -7.70868282 -8.818996 --4.32909327 -4.32909327 -4.9731584 --2.56727249 -2.56727249 -3.0048132 --1.11931449 -1.11931449 -1.4122053 --0.65037188 -0.65037188 -0.8804558 --0.46043316 -0.46043316 -0.6411137 --0.36060198 -0.36060198 -0.501034 --0.26991139 -0.26991139 -0.36692342 --0.20984271 -0.20984271 -0.27856722 --0.16646023 -0.16646023 -0.21653147 --83.22813975 -83.22813975 -79.04496 --47.6340284 -47.6340284 -47.347473 --27.69086366 -27.69086366 -28.743927 --16.60584137 -16.60584137 -17.957813 --6.99252775 -6.99252775 -8.094123 --3.85532339 -3.85532339 -4.6170354 --2.64401528 -2.64401528 -3.1811373 --2.02892103 -2.02892103 -2.426055 --1.47395083 -1.47395083 -1.7390046 --1.09775322 -1.09775322 -1.2859186 --0.82652973 -0.82652973 -0.9660826 --20.09741547 -20.09741547 -21.820827 --10.82528081 -10.82528081 -11.970716 --5.8365916 -5.8365916 -6.47681 --3.12109483 -3.12109483 -3.4477513 --0.8889237 -0.8889237 -0.92061627 --0.24568268 -0.24568268 -0.22103058 --0.07353364 -0.07353364 -0.04231547 --0.03140264 -0.03140264 -0.000594463 --0.02125406 -0.02125406 0.009159037 --0.01906386 -0.01906386 0.009700643 --0.01662468 -0.01662468 0.04453282 --32.1897529 -32.1897529 -34.776474 --19.45266516 -19.45266516 -21.210526 --7.10338732 -7.10338732 -7.2103024 --2.91645891 -2.91645891 -2.450862 --1.46368683 -1.46368683 -1.0036788 --0.86440869 -0.86440869 -0.53971267 --0.45986776 -0.45986776 -0.29846773 --0.26970745 -0.26970745 -0.19607574 --0.16947528 -0.16947528 -0.13957058 --54.85161941 -54.85161941 -50.37309 --30.74859888 -30.74859888 -30.729443 --17.50838454 -17.50838454 -18.878227 --6.19557561 -6.19557561 -7.693101 --2.68422735 -2.68422735 -3.797547 --1.50576677 -1.50576677 -2.3417137 --1.03508429 -1.03508429 -1.6860873 --0.70345967 -0.70345967 -1.1722449 --0.51719633 -0.51719633 -0.86202943 --0.39189293 -0.39189293 -0.6503582 --33.65998754 -33.65998754 -30.47714 --17.56601494 -17.56601494 -16.666977 --9.05254661 -9.05254661 -9.0621 --4.62497954 -4.62497954 -4.9557085 --1.19607417 -1.19607417 -1.5977911 --0.33255955 -0.33255955 -0.6323093 --0.12786681 -0.12786681 -0.32626337 --0.08299031 -0.08299031 -0.20625117 --0.06877962 -0.06877962 -0.12362708 --0.05960471 -0.05960471 -0.07929893 --0.04916709 -0.04916709 -0.051610615 --35.36939421 -35.36939421 -27.438038 --18.41547434 -18.41547434 -14.946943 --4.99412982 -4.99412982 -4.1751623 --1.40713123 -1.40713123 -1.1345084 --0.44789795 -0.44789795 -0.33997035 --0.17853524 -0.17853524 -0.13915654 --0.07484559 -0.07484559 -0.07519232 --0.04674325 -0.04674325 -0.059675153 --0.03491392 -0.03491392 -0.0507521 --21.5399276 -21.5399276 -21.411562 --11.4623533 -11.4623533 -12.148519 --6.10338316 -6.10338316 -6.941436 --1.82567974 -1.82567974 -2.5135095 --0.65453886 -0.65453886 -1.1781441 --0.31061428 -0.31061428 -0.72131175 --0.18853571 -0.18853571 -0.5168597 --0.11115778 -0.11115778 -0.35137972 --0.07151364 -0.07151364 -0.2506935 --0.04705222 -0.04705222 -0.18293697 --35.43280883 -35.43280883 -33.96386 --19.14910941 -19.14910941 -19.871187 --10.32827833 -10.32827833 -11.805931 --3.10262804 -3.10262804 -4.669336 --1.08415414 -1.08415414 -2.3427277 --0.51841114 -0.51841114 -1.4808706 --0.34437018 -0.34437018 -1.0743377 --0.24990992 -0.24990992 -0.7361216 --0.19475397 -0.19475397 -0.5267845 --0.15211637 -0.15211637 -0.384691 --31.85043451 -31.85043451 -33.540443 --18.98370846 -18.98370846 -20.024921 --11.37857059 -11.37857059 -12.078613 --6.93815726 -6.93815726 -7.4695597 --4.36270445 -4.36270445 -4.808195 --1.97955758 -1.97955758 -2.3482232 --1.10897275 -1.10897275 -1.4320887 --0.73589834 -0.73589834 -1.014786 --0.54073541 -0.54073541 -0.7746273 --0.36985287 -0.36985287 -0.5465567 --0.26398811 -0.26398811 -0.39705408 --0.1921426 -0.1921426 -0.29357204 --38.58630269 -38.58630269 -35.052856 --20.35098167 -20.35098167 -19.665398 --10.74263239 -10.74263239 -10.905746 --5.73420144 -5.73420144 -6.067585 --1.8036871 -1.8036871 -2.0333643 --0.71647519 -0.71647519 -0.84230155 --0.37195636 -0.37195636 -0.44609126 --0.23106448 -0.23106448 -0.27960062 --0.13026256 -0.13026256 -0.15938812 --0.07701326 -0.07701326 -0.09621924 --0.04575825 -0.04575825 -0.05919378 --19.61525698 -19.61525698 -20.631128 --11.3857084 -11.3857084 -10.16378 --6.3411112 -6.3411112 -4.5543194 --3.36293172 -3.36293172 -1.6506195 --1.65158046 -1.65158046 -0.20240028 --0.15908911 -0.15908911 0.7844623 -0.26963502 0.26963502 0.90593934 -0.36677652 0.36677652 0.83257115 -0.36506523 0.36506523 0.72996736 -0.32108347 0.32108347 0.59244585 -0.27394055 0.27394055 0.48434138 -0.23344716 0.23344716 0.40025467 --31.11833995 -31.11833995 -30.619658 --17.21006977 -17.21006977 -16.674965 --9.59871528 -9.59871528 -9.163254 --5.42520478 -5.42520478 -5.112631 --1.84135475 -1.84135475 -1.7033459 --0.68554036 -0.68554036 -0.6384966 --0.27482084 -0.27482084 -0.26667604 --0.10767394 -0.10767394 -0.11369239 --0.00715038 -0.00715038 -0.016584724 -0.0294943 0.0294943 0.022858413 -0.04290374 0.04290374 0.03881599 --31.72464001 -31.72464001 -30.36371 --17.12582205 -17.12582205 -16.165628 --9.97467549 -9.97467549 -9.092326 --4.3379641 -4.3379641 -3.6454456 --2.46892074 -2.46892074 -2.0176501 --1.63539235 -1.63539235 -1.3638247 --1.16359906 -1.16359906 -1.0006229 --0.74521266 -0.74521266 -0.6607251 --0.49811869 -0.49811869 -0.44872835 --0.34444935 -0.34444935 -0.31270087 --40.26829811 -40.26829811 -41.634975 --21.36709049 -21.36709049 -23.703674 --12.3381528 -12.3381528 -14.461462 --5.50597214 -5.50597214 -6.85419 --3.39190929 -3.39190929 -4.2356043 --2.47707135 -2.47707135 -3.0220912 --1.93239408 -1.93239408 -2.294413 --1.37591206 -1.37591206 -1.5892272 --0.99436153 -0.99436153 -1.1322762 --0.72841834 -0.72841834 -0.82493997 --47.05762253 -47.05762253 -47.89014 --26.75123519 -26.75123519 -28.452578 --15.37165342 -15.37165342 -16.885723 --5.48215388 -5.48215388 -6.265563 --2.3198436 -2.3198436 -2.7409902 --1.20424569 -1.20424569 -1.487752 --0.7366726 -0.7366726 -0.95352066 --0.41598021 -0.41598021 -0.57088053 --0.2583673 -0.2583673 -0.36884734 --0.16924711 -0.16924711 -0.24757807 --44.07566299 -44.07566299 -33.22756 --11.47938428 -11.47938428 -9.2892885 --3.20645392 -3.20645392 -2.3747149 --1.16010455 -1.16010455 -0.5918341 --0.5524891 -0.5524891 -0.13389182 --0.23999861 -0.23999861 0.024470136 --0.11394125 -0.11394125 0.05906916 --0.05162978 -0.05162978 0.065778136 --16.7937815 -16.7937815 -21.392565 --9.35504568 -9.35504568 -11.553554 --4.97469903 -4.97469903 -5.893962 --2.45414091 -2.45414091 -2.7697415 --1.05728308 -1.05728308 -1.1127135 -0.08483281 0.08483281 0.12777118 -0.34636114 0.34636114 0.35566872 -0.35525814 0.35525814 0.3351802 -0.30417781 0.30417781 0.27187425 -0.22322949 0.22322949 0.18903632 -0.16265371 0.16265371 0.13272731 -0.1209798 0.1209798 0.09548624 --35.55664119 -35.55664119 -33.315407 --20.62501786 -20.62501786 -19.815336 --11.99856466 -11.99856466 -11.853288 --7.08458553 -7.08458553 -7.240675 --2.71212645 -2.71212645 -3.0489748 --1.25222585 -1.25222585 -1.5892192 --0.70623721 -0.70623721 -0.99780554 --0.4610128 -0.4610128 -0.7002856 --0.28188004 -0.28188004 -0.45313683 --0.18725204 -0.18725204 -0.30907002 --0.13000026 -0.13000026 -0.21751043 --18.71131575 -18.71131575 -30.381157 --10.71294633 -10.71294633 -17.539715 --6.1628948 -6.1628948 -10.190254 --3.62573164 -3.62573164 -6.0986743 --2.23411447 -2.23411447 -3.8563287 --1.06085572 -1.06085572 -1.9486166 --0.69541759 -0.69541759 -1.3139188 --0.5527786 -0.5527786 -1.034849 --0.47228828 -0.47228828 -0.86424404 --0.38500654 -0.38500654 -0.6829425 --0.31599707 -0.31599707 -0.5489289 --0.26062327 -0.26062327 -0.44651794 --19.97629457 -19.97629457 -18.272833 --10.09759403 -10.09759403 -9.491495 --4.94488321 -4.94488321 -4.7827096 --0.98041608 -0.98041608 -1.07725 --0.0171432 -0.0171432 -0.16558447 -0.1795175 0.1795175 0.02760187 -0.19144862 0.19144862 0.05384504 -0.14890533 0.14890533 0.041138314 -0.1081158 0.1081158 0.026386265 -0.07839954 0.07839954 0.016434185 --52.92140331 -52.92140331 -50.687153 --32.89260794 -32.89260794 -32.543903 --11.92848967 -11.92848967 -12.304735 --4.69196746 -4.69196746 -4.833743 --2.28924941 -2.28924941 -2.310001 --1.34412379 -1.34412379 -1.3445792 --0.72592841 -0.72592841 -0.7300457 --0.43568918 -0.43568918 -0.44183564 --0.27909179 -0.27909179 -0.25083023 --18.51601077 -18.51601077 -25.750942 --6.73271039 -6.73271039 -10.138252 --1.63203216 -1.63203216 -2.8430777 -0.40953731 0.40953731 0.22923395 -1.21609437 1.21609437 1.5639453 -0.95558989 0.95558989 1.2882348 -0.65220575 0.65220575 0.90955365 -0.43993141 0.43993141 0.63380176 -0.25265182 0.25265182 0.3808692 -0.15319065 0.15319065 0.23990996 -0.09747667 0.09747667 0.15762389 --47.57862852 -47.57862852 -45.12667 --23.85630588 -23.85630588 -24.762253 --7.18511734 -7.18511734 -8.275484 --3.0717926 -3.0717926 -3.6226275 --1.77846599 -1.77846599 -2.1096578 --1.20815773 -1.20815773 -1.4562614 --0.76024265 -0.76024265 -0.9464125 --0.50924745 -0.50924745 -0.6514121 --0.35461181 -0.35461181 -0.44991052 --55.11337058 -55.11337058 -56.7358 --30.99077293 -30.99077293 -33.87595 --9.42213509 -9.42213509 -11.29111 --3.14010295 -3.14010295 -4.097219 --1.39213041 -1.39213041 -1.9684106 --0.84834022 -0.84834022 -1.2460954 --0.54969956 -0.54969956 -0.80124027 --0.4001999 -0.4001999 -0.56955844 --0.30336196 -0.30336196 -0.42313838 --42.92567878 -42.92567878 -38.932446 --22.28301291 -22.28301291 -21.249434 --11.85047671 -11.85047671 -11.84672 --3.76065716 -3.76065716 -4.1891007 --1.50196713 -1.50196713 -1.9249579 --0.78321185 -0.78321185 -1.1495019 --0.50126802 -0.50126802 -0.8082902 --0.31453865 -0.31453865 -0.5452619 --0.21852205 -0.21852205 -0.3943407 --0.15986609 -0.15986609 -0.29649147 --45.90703616 -45.90703616 -45.258026 --26.2580163 -26.2580163 -26.867445 --15.10104454 -15.10104454 -16.086096 --8.85652398 -8.85652398 -9.864749 --3.47810466 -3.47810466 -4.248102 --1.8045386 -1.8045386 -2.3341105 --1.22039874 -1.22039874 -1.5863186 --0.95740785 -0.95740785 -1.2166473 --0.73263816 -0.73263816 -0.89552253 --0.57684192 -0.57684192 -0.6865355 --0.4582007 -0.4582007 -0.5370053 --68.83558494 -68.83558494 -67.07284 --39.00767209 -39.00767209 -39.26568 --22.27580479 -22.27580479 -23.015743 --12.898762 -12.898762 -13.624926 --4.60855361 -4.60855361 -5.087406 --1.82351514 -1.82351514 -2.1516154 --0.78516328 -0.78516328 -1.0339125 --0.34069543 -0.34069543 -0.5400953 --0.06567744 -0.06567744 -0.20891364 -0.03532005 0.03532005 -0.066158116 -0.06933896 0.06933896 -0.001840001 --43.23155603 -43.23155603 -39.506626 --24.17126581 -24.17126581 -22.08898 --13.73508045 -13.73508045 -12.25052 --4.79758898 -4.79758898 -3.7954679 --1.97393475 -1.97393475 -1.2682533 --0.98537407 -0.98537407 -0.48936498 --0.57799672 -0.57799672 -0.21488978 --0.30686628 -0.30686628 -0.05911839 --0.17726797 -0.17726797 0.0041488665 --0.10596164 -0.10596164 0.03229474 --41.50441771 -41.50441771 -42.546783 --22.98180312 -22.98180312 -24.518389 --13.06308449 -13.06308449 -14.361778 --7.69434247 -7.69434247 -8.631256 --3.08423354 -3.08423354 -3.5298302 --1.55225801 -1.55225801 -1.8086647 --0.96032657 -0.96032657 -1.1438348 --0.67843458 -0.67843458 -0.82310194 --0.45319497 -0.45319497 -0.56007034 --0.32313027 -0.32313027 -0.40374178 --0.23857312 -0.23857312 -0.30092472 --55.86787816 -55.86787816 -57.060516 --27.9063972 -27.9063972 -31.792852 --8.54273266 -8.54273266 -11.737944 --3.83592515 -3.83592515 -5.9976583 --2.41914512 -2.41914512 -3.9768496 --1.81232644 -1.81232644 -2.98917 --1.30536354 -1.30536354 -2.112033 --0.97565469 -0.97565469 -1.5485451 --0.74132649 -0.74132649 -1.1625773 --49.36809666 -49.36809666 -44.69865 --26.08254031 -26.08254031 -26.091795 --13.7787718 -13.7787718 -15.209426 --7.3456457 -7.3456457 -8.987018 --2.28586915 -2.28586915 -3.5166435 --0.91291547 -0.91291547 -1.7674129 --0.51170345 -0.51170345 -1.1374798 --0.36557293 -0.36557293 -0.8481884 --0.26608766 -0.26608766 -0.611231 --0.207145 -0.207145 -0.46395162 --0.16534056 -0.16534056 -0.36172628 --45.54903438 -45.54903438 -40.79727 --24.85199089 -24.85199089 -24.27276 --8.13689949 -8.13689949 -9.359864 --3.41572024 -3.41572024 -4.4550724 --1.92321612 -1.92321612 -2.6629655 --1.32275326 -1.32275326 -1.8456613 --0.87774498 -0.87774498 -1.2032404 --0.61900554 -0.61900554 -0.8335734 --0.44955943 -0.44955943 -0.59751016 --45.89316424 -45.89316424 -44.77346 --26.16172924 -26.16172924 -27.009108 --8.58619335 -8.58619335 -9.749004 --3.02314194 -3.02314194 -3.6679914 --1.28845816 -1.28845816 -1.6510003 --0.71148778 -0.71148778 -0.96026903 --0.40338229 -0.40338229 -0.5656855 --0.2646887 -0.2646887 -0.37443998 --0.18318997 -0.18318997 -0.25963223 --26.97747362 -26.97747362 -22.217089 --7.9977787 -7.9977787 -7.276115 --2.72728786 -2.72728786 -2.5016677 --1.17854976 -1.17854976 -0.9814307 --0.64472418 -0.64472418 -0.45834407 --0.33483322 -0.33483322 -0.18236217 --0.1930341 -0.1930341 -0.07094564 --0.11219626 -0.11219626 -0.01317995 --66.01238427 -66.01238427 -64.21023 --34.88419322 -34.88419322 -36.312485 --19.18385278 -19.18385278 -21.029636 --6.65099668 -6.65099668 -7.740045 --2.79859215 -2.79859215 -3.3656173 --1.41741587 -1.41741587 -1.782248 --0.82730775 -0.82730775 -1.1062889 --0.42754209 -0.42754209 -0.63508064 --0.24304652 -0.24304652 -0.39916128 --0.14664176 -0.14664176 -0.26467133 --48.54987406 -48.54987406 -43.65035 --25.45700049 -25.45700049 -23.713501 --13.5712171 -13.5712171 -12.860994 --4.15256929 -4.15256929 -3.8216226 --1.47194779 -1.47194779 -1.1929545 --0.62769519 -0.62769519 -0.40981102 --0.31860524 -0.31860524 -0.15514211 --0.14202453 -0.14202453 -0.032165643 --0.07235216 -0.07235216 0.0087900525 --0.03895953 -0.03895953 0.025010422 --17.05505616 -17.05505616 -16.656845 --5.60865095 -5.60865095 -5.7732873 --2.51743011 -2.51743011 -2.6302252 --1.46356868 -1.46356868 -1.5511973 --0.80955171 -0.80955171 -0.8895283 --0.49843248 -0.49843248 -0.56573975 --0.32427771 -0.32427771 -0.3781006 --21.8813234 -21.8813234 -26.544735 --12.2047835 -12.2047835 -15.220034 --6.64903757 -6.64903757 -8.347029 --3.52132233 -3.52132233 -4.4111266 --1.81394645 -1.81394645 -2.2618613 --0.42064322 -0.42064322 -0.55941224 --0.05569549 -0.05569549 -0.13812168 -0.02502525 0.02502525 -0.0421114 -0.03446709 0.03446709 -0.020578546 -0.02559703 0.02559703 -0.013015901 -0.0167205 0.0167205 -0.009433837 -0.01101465 0.01101465 -0.0065505696 +-26.92646754 -26.92646754 -9675.651100371942 +-15.95146212 -15.95146212 -5485.93228468596 +-9.39600201 -9.39600201 -3009.5266430522283 +-5.55747528 -5.55747528 -1576.0922653826171 +-2.0529823 -2.0529823 -297.8290014291249 +-0.86457172 -0.86457172 101.35058817920203 +-0.42836094 -0.42836094 222.45653430610528 +-0.24583992 -0.24583992 258.6703020497587 +-0.12848313 -0.12848313 271.9250167696813 +-0.07629939 -0.07629939 275.5006513550684 +-0.04874538 -0.04874538 278.53570071293797 +-30.65095489 -30.65095489 -7267.337505479631 +-9.57483309 -9.57483309 -4502.626072905226 +-3.62072887 -3.62072887 -2953.510574903393 +-1.79028584 -1.79028584 -2012.612990357043 +-1.09737979 -1.09737979 -1480.6357697253575 +-0.64379611 -0.64379611 -1078.7940873360744 +-0.41820308 -0.41820308 -889.0520393877744 +-0.28609992 -0.28609992 -790.240355634553 +-46.31576662 -46.31576662 -9614.945000642294 +-24.84531902 -24.84531902 -5437.998261545551 +-7.77202853 -7.77202853 -1321.1929560792273 +-2.90556998 -2.90556998 160.4940967745757 +-1.33735555 -1.33735555 679.539434423073 +-0.73257876 -0.73257876 834.876442246292 +-0.36387736 -0.36387736 828.5847416184339 +-0.20452447 -0.20452447 741.6230152009831 +-0.12353156 -0.12353156 649.8535080451622 +-65.5165102 -65.5165102 13404.324828651846 +-35.10852118 -35.10852118 9402.777968110702 +-18.70126668 -18.70126668 6910.998580733976 +-5.2345023 -5.2345023 4194.030533238418 +-1.44378822 -1.44378822 2885.070288415654 +-0.3813889 -0.3813889 2172.790940449765 +-0.08086565 -0.08086565 1745.0831588255187 +0.0232123 0.0232123 1367.4282682537557 +0.04000435 0.04000435 1151.8221622895474 +0.03958023 0.03958023 1020.6614269285101 +-46.75461359 -46.75461359 -4521.656530774086 +-14.71550646 -14.71550646 -7353.379609392805 +-6.32702061 -6.32702061 -4559.661495137898 +-3.67795156 -3.67795156 -2415.346172718786 +-2.50430298 -2.50430298 -1210.3779486361454 +-1.58204275 -1.58204275 -352.1128919327961 +-1.06600101 -1.06600101 19.626768717544902 +-0.74861263 -0.74861263 202.1860513277486 +-19.89752557 -19.89752557 2189.8905484226925 +-11.37778411 -11.37778411 1378.1035182178452 +-6.24708853 -6.24708853 815.8087786741055 +-3.26368953 -3.26368953 473.85194196198836 +-1.58216834 -1.58216834 285.4643487281162 +-0.16542626 -0.16542626 159.61434261862064 +0.20254697 0.20254697 172.35021501663215 +0.26328413 0.26328413 219.74223081441707 +0.24544617 0.24544617 266.9114652817495 +0.19620521 0.19620521 319.36906579421964 +0.15430831 0.15430831 350.69341185915704 +0.12275091 0.12275091 367.6481561676024 +-47.8662431 -47.8662431 -7101.507417709833 +-25.20572579 -25.20572579 -3964.006409291826 +-13.43114281 -13.43114281 -2606.3682090574684 +-3.86480118 -3.86480118 -1466.6412213829924 +-1.05720794 -1.05720794 -885.827454916295 +-0.24292022 -0.24292022 -507.4171946118517 +-0.01755674 -0.01755674 -261.3584291270392 +0.05180154 0.05180154 -44.84998140363658 +0.05871939 0.05871939 71.43794335728606 +0.0555704 0.0555704 136.61288680700002 +-32.51135802 -32.51135802 15967.250835537636 +-6.26829276 -6.26829276 6850.273552809745 +-0.40360813 -0.40360813 3141.4259607459403 +0.60157194 0.60157194 1573.291290285482 +0.61106926 0.61106926 860.2541467584057 +0.41163131 0.41163131 400.77421290964236 +0.26648738 0.26648738 211.66098079167375 +0.17971661 0.17971661 120.47062094647383 +-23.58662228 -23.58662228 2609.6691324792196 +-6.93585971 -6.93585971 2484.599919832256 +-2.68738835 -2.68738835 1857.0971911960885 +-1.41236088 -1.41236088 1361.7464057490124 +-0.90618858 -0.90618858 1032.698422160197 +-0.54770608 -0.54770608 743.9991321221006 +-0.35856105 -0.35856105 592.3795084470083 +-0.245445 -0.245445 493.08659288898144 +-39.51866388 -39.51866388 -252.73890403899026 +-11.04400347 -11.04400347 -5730.508178154033 +-3.93046886 -3.93046886 -3594.008501106975 +-1.87591923 -1.87591923 -1839.9395831645536 +-1.10321105 -1.10321105 -909.2283968564532 +-0.60298057 -0.60298057 -277.02313690870045 +-0.36808507 -0.36808507 -21.444136799311025 +-0.23948736 -0.23948736 89.3224184447133 +-41.81378495 -41.81378495 -2725.6628300520033 +-23.17950316 -23.17950316 -885.5608309034419 +-7.64605687 -7.64605687 974.3710730239832 +-2.94970482 -2.94970482 1181.468191607463 +-1.44850444 -1.44850444 916.2527071404189 +-0.88932876 -0.88932876 645.1041389322612 +-0.53022962 -0.53022962 394.2355293680275 +-0.34397559 -0.34397559 281.5996255261623 +-0.22913777 -0.22913777 239.2830728598739 +-26.70424494 -26.70424494 -1744.2728959435103 +-14.21674879 -14.21674879 -1255.091897931688 +-7.70868282 -7.70868282 -958.9892084764247 +-4.32909327 -4.32909327 -787.6029769523316 +-2.56727249 -2.56727249 -689.8438911755835 +-1.11931449 -1.11931449 -598.0781798023273 +-0.65037188 -0.65037188 -555.8057625513528 +-0.46043316 -0.46043316 -525.7046261405358 +-0.36060198 -0.36060198 -499.39584684669035 +-0.26991139 -0.26991139 -465.3964264779254 +-0.20984271 -0.20984271 -438.56704983307935 +-0.16646023 -0.16646023 -418.4351493456864 +-83.22813975 -83.22813975 -123.40671653040118 +-47.6340284 -47.6340284 2259.990223878714 +-27.69086366 -27.69086366 3633.8156460258065 +-16.60584137 -16.60584137 4228.262570231072 +-6.99252775 -6.99252775 4085.459522739279 +-3.85532339 -3.85532339 3287.190380110471 +-2.64401528 -2.64401528 2474.8953160231 +-2.02892103 -2.02892103 1834.968711663197 +-1.47395083 -1.47395083 1202.028487028986 +-1.09775322 -1.09775322 839.8150193681616 +-0.82652973 -0.82652973 632.5410674756334 +-20.09741547 -20.09741547 5309.079071274196 +-10.82528081 -10.82528081 3202.155322098002 +-5.8365916 -5.8365916 1883.6802366783334 +-3.12109483 -3.12109483 1053.198681157251 +-0.8889237 -0.8889237 209.2213258439729 +-0.24568268 -0.24568268 -97.9982964205655 +-0.07353364 -0.07353364 -178.6871370180565 +-0.03140264 -0.03140264 -164.09492635401895 +-0.02125406 -0.02125406 -82.20616858108188 +-0.01906386 -0.01906386 8.626336386061176 +-0.01662468 -0.01662468 87.9548712990007 +-32.1897529 -32.1897529 1484.231790725315 +-19.45266516 -19.45266516 -2097.2050753169046 +-7.10338732 -7.10338732 -3181.591334711932 +-2.91645891 -2.91645891 -2005.5468430266712 +-1.46368683 -1.46368683 -1032.6958562686266 +-0.86440869 -0.86440869 -470.58406410042204 +-0.45986776 -0.45986776 -71.80886307749154 +-0.26970745 -0.26970745 92.50511748853098 +-0.16947528 -0.16947528 166.63129480676488 +-54.85161941 -54.85161941 18235.179676533582 +-30.74859888 -30.74859888 13864.432477260592 +-17.50838454 -17.50838454 10118.78037412215 +-6.19557561 -6.19557561 5242.795879349188 +-2.68422735 -2.68422735 2844.6950557760465 +-1.50576677 -1.50576677 1708.0105693536375 +-1.03508429 -1.03508429 1160.538475792344 +-0.70345967 -0.70345967 803.379716955287 +-0.51719633 -0.51719633 661.5188978770235 +-0.39189293 -0.39189293 596.6946009946445 +-33.65998754 -33.65998754 -2519.980676218285 +-17.56601494 -17.56601494 -1036.7316836555838 +-9.05254661 -9.05254661 -276.0721260442537 +-4.62497954 -4.62497954 123.7281136581164 +-1.19607417 -1.19607417 460.5827821613874 +-0.33255955 -0.33255955 573.1109304108746 +-0.12786681 -0.12786681 618.1981923314972 +-0.08299031 -0.08299031 640.3845166783968 +-0.06877962 -0.06877962 658.5702187975517 +-0.05960471 -0.05960471 669.7732142021183 +-0.04916709 -0.04916709 677.7472298108607 +-35.36939421 -35.36939421 -3671.8105315815314 +-18.41547434 -18.41547434 -2156.166301983895 +-4.99412982 -4.99412982 -977.6656267197254 +-1.40713123 -1.40713123 -626.6182641522242 +-0.44789795 -0.44789795 -488.42985082265886 +-0.17853524 -0.17853524 -419.3384138252892 +-0.07484559 -0.07484559 -367.8085490609216 +-0.04674325 -0.04674325 -344.7994843828672 +-0.03491392 -0.03491392 -334.54613086019697 +-21.5399276 -21.5399276 10199.414548632561 +-11.4623533 -11.4623533 7408.526463360741 +-6.10338316 -6.10338316 5526.642291097433 +-1.82567974 -1.82567974 3291.9891643634414 +-0.65453886 -0.65453886 2108.294130833599 +-0.31061428 -0.31061428 1428.9021347526646 +-0.18853571 -0.18853571 1014.1782597619789 +-0.11115778 -0.11115778 651.2569470643434 +-0.07151364 -0.07151364 449.10478442306237 +-0.04705222 -0.04705222 328.7653955057872 +-35.43280883 -35.43280883 17698.282601019873 +-19.14910941 -19.14910941 12683.729779451754 +-10.32827833 -10.32827833 9226.5580419034 +-3.10262804 -3.10262804 5208.310353456752 +-1.08415414 -1.08415414 3229.132796755495 +-0.51841114 -0.51841114 2183.91493770885 +-0.34437018 -0.34437018 1589.0746826828924 +-0.24990992 -0.24990992 1096.4502587589395 +-0.19475397 -0.19475397 830.1019937548878 +-0.15211637 -0.15211637 671.409587994779 +-31.85043451 -31.85043451 1552.2296365083741 +-18.98370846 -18.98370846 1101.4923835040806 +-11.37857059 -11.37857059 894.4562008051408 +-6.93815726 -6.93815726 774.6152768709353 +-4.36270445 -4.36270445 690.1704287991332 +-1.97955758 -1.97955758 570.9080595528911 +-1.10897275 -1.10897275 492.6590292097269 +-0.73589834 -0.73589834 442.0205092528825 +-0.54073541 -0.54073541 409.491808742468 +-0.36985287 -0.36985287 380.7581428456855 +-0.26398811 -0.26398811 365.2675061472013 +-0.1921426 -0.1921426 356.76856769130967 +-38.58630269 -38.58630269 7498.84059395462 +-20.35098167 -20.35098167 5455.570514962037 +-10.74263239 -10.74263239 3773.644416469224 +-5.73420144 -5.73420144 2505.20047411013 +-1.8036871 -1.8036871 967.288286354166 +-0.71647519 -0.71647519 263.1008733485571 +-0.37195636 -0.37195636 -23.396563497645246 +-0.23106448 -0.23106448 -112.11918998267055 +-0.13026256 -0.13026256 -94.31968617077598 +-0.07701326 -0.07701326 -21.188861647529606 +-0.04575825 -0.04575825 54.800340448375124 +-19.61525698 -19.61525698 2120.40512648203 +-11.3857084 -11.3857084 1471.577576552309 +-6.3411112 -6.3411112 1068.9977567737833 +-3.36293172 -3.36293172 821.4411033323737 +-1.65158046 -1.65158046 670.4984159554739 +-0.15908911 -0.15908911 526.9140063667978 +0.26963502 0.26963502 482.4665504650186 +0.36677652 0.36677652 475.52977108382805 +0.36506523 0.36506523 481.65299224233354 +0.32108347 0.32108347 496.29084589453095 +0.27394055 0.27394055 509.6413205708031 +0.23344716 0.23344716 519.9648815877619 +-31.11833995 -31.11833995 -7630.244137654489 +-17.21006977 -17.21006977 -5089.382553426317 +-9.59871528 -9.59871528 -3509.667708652398 +-5.42520478 -5.42520478 -2487.1863719393605 +-1.84135475 -1.84135475 -1349.1754453825902 +-0.68554036 -0.68554036 -815.9146515006701 +-0.27482084 -0.27482084 -547.9133956441825 +-0.10767394 -0.10767394 -399.719234804657 +-0.00715038 -0.00715038 -275.24442380911427 +0.0294943 0.0294943 -203.11775239677783 +0.04290374 0.04290374 -156.39641812930793 +-31.72464001 -31.72464001 15607.770910408404 +-17.12582205 -17.12582205 10987.638350000723 +-9.97467549 -9.97467549 7564.374981673175 +-4.3379641 -4.3379641 3451.2683097342656 +-2.46892074 -2.46892074 1615.9716168085326 +-1.63539235 -1.63539235 883.6987022016458 +-1.16359906 -1.16359906 623.6941562110317 +-0.74521266 -0.74521266 544.7369709234209 +-0.49811869 -0.49811869 568.9046721844646 +-0.34444935 -0.34444935 608.3954841109606 +-40.26829811 -40.26829811 -10210.646204042992 +-21.36709049 -21.36709049 -4948.136334188826 +-12.3381528 -12.3381528 -2540.746035205467 +-5.50597214 -5.50597214 -1339.5315942592777 +-3.39190929 -3.39190929 -1338.5958120074258 +-2.47707135 -2.47707135 -1252.0532609614713 +-1.93239408 -1.93239408 -1012.8885021955867 +-1.37591206 -1.37591206 -609.9240538752877 +-0.99436153 -0.99436153 -297.9709944917762 +-0.72841834 -0.72841834 -86.43259591440378 +-47.05762253 -47.05762253 -4527.713928188421 +-26.75123519 -26.75123519 -3044.8098491221563 +-15.37165342 -15.37165342 -2184.2860604286775 +-5.48215388 -5.48215388 -1167.6074635741793 +-2.3198436 -2.3198436 -522.0796091979835 +-1.20424569 -1.20424569 -98.73537579560465 +-0.7366726 -0.7366726 162.08018080422744 +-0.41598021 -0.41598021 362.12867211321617 +-0.2583673 -0.2583673 442.08381634104944 +-0.16924711 -0.16924711 469.74181543993933 +-44.07566299 -44.07566299 23708.693980519278 +-11.47938428 -11.47938428 7320.805070712229 +-3.20645392 -3.20645392 1763.8517402897876 +-1.16010455 -1.16010455 136.2229647920534 +-0.5524891 -0.5524891 -419.13117627050093 +-0.23999861 -0.23999861 -646.246183590214 +-0.11394125 -0.11394125 -617.1169193074419 +-0.05162978 -0.05162978 -530.1308020431333 +-16.7937815 -16.7937815 1441.5861989456935 +-9.35504568 -9.35504568 2138.994815902991 +-4.97469903 -4.97469903 2169.010907575714 +-2.45414091 -2.45414091 1997.4256685125854 +-1.05728308 -1.05728308 1788.8978954701931 +0.08483281 0.08483281 1430.6046222095351 +0.34636114 0.34636114 1180.8067175139922 +0.35525814 0.35525814 1012.2549964930545 +0.30417781 0.30417781 897.8052501714934 +0.22322949 0.22322949 789.0837887974586 +0.16265371 0.16265371 724.7870285867613 +0.1209798 0.1209798 685.3230336231767 +-35.55664119 -35.55664119 923.9959636112251 +-20.62501786 -20.62501786 1385.558893021252 +-11.99856466 -11.99856466 1440.0335515217987 +-7.08458553 -7.08458553 1345.172788014332 +-2.71212645 -2.71212645 1045.658002105991 +-1.25222585 -1.25222585 778.0862362634655 +-0.70623721 -0.70623721 592.1988135098483 +-0.4610128 -0.4610128 476.307606718948 +-0.28188004 -0.28188004 384.3323212410157 +-0.18725204 -0.18725204 342.23116576316 +-0.13000026 -0.13000026 321.8291986248901 +-18.71131575 -18.71131575 -2093.8993316235287 +-10.71294633 -10.71294633 -1075.8322985007476 +-6.1628948 -6.1628948 -360.5000784429939 +-3.62573164 -3.62573164 110.41410192965155 +-2.23411447 -2.23411447 406.8475242446053 +-1.06085572 -1.06085572 685.7730044306778 +-0.69541759 -0.69541759 756.38080436408 +-0.5527786 -0.5527786 747.2585819268671 +-0.47228828 -0.47228828 713.096399782014 +-0.38500654 -0.38500654 658.2584550832187 +-0.31599707 -0.31599707 615.3067951255998 +-0.26062327 -0.26062327 585.4285340850595 +-19.97629457 -19.97629457 -2386.543583469075 +-10.09759403 -10.09759403 -2117.110788307428 +-4.94488321 -4.94488321 -1750.1404987759227 +-0.98041608 -0.98041608 -956.0132384945159 +-0.0171432 -0.0171432 -358.0985751423013 +0.1795175 0.1795175 7.808212726317432 +0.19144862 0.19144862 212.91429866634797 +0.14890533 0.14890533 354.2595732014934 +0.1081158 0.1081158 401.2359288082062 +0.07839954 0.07839954 410.1460717702121 +-52.92140331 -52.92140331 -5932.717875693937 +-32.89260794 -32.89260794 -6592.377152588804 +-11.92848967 -11.92848967 -5925.357232554424 +-4.69196746 -4.69196746 -3744.6879676670615 +-2.28924941 -2.28924941 -2079.8840106057464 +-1.34412379 -1.34412379 -1065.086291402243 +-0.72592841 -0.72592841 -242.99371637493027 +-0.43568918 -0.43568918 157.85380512083705 +-0.27909179 -0.27909179 361.28018579088456 +-18.51601077 -18.51601077 8502.683141106712 +-6.73271039 -6.73271039 5546.989933755759 +-1.63203216 -1.63203216 3954.0146964684313 +0.40953731 0.40953731 3065.9310712936635 +1.21609437 1.21609437 2137.3899654766733 +0.95558989 0.95558989 1633.4067517285507 +0.65220575 0.65220575 1304.3589663195032 +0.43993141 0.43993141 1073.5744077974844 +0.25265182 0.25265182 842.7256768932657 +0.15319065 0.15319065 700.1833091066468 +0.09747667 0.09747667 611.6989921630055 +-47.57862852 -47.57862852 -19352.213596599333 +-23.85630588 -23.85630588 -13649.527152886685 +-7.18511734 -7.18511734 -7217.34887286519 +-3.0717926 -3.0717926 -4204.499557684223 +-1.77846599 -1.77846599 -2613.8810953491998 +-1.20815773 -1.20815773 -1667.7052528945858 +-0.76024265 -0.76024265 -831.365286731703 +-0.50924745 -0.50924745 -357.66078645135747 +-0.35461181 -0.35461181 -75.97494138509849 +-55.11337058 -55.11337058 12893.5729096906 +-30.99077293 -30.99077293 7289.822861140207 +-9.42213509 -9.42213509 2462.9261970552684 +-3.14010295 -3.14010295 780.7673809596581 +-1.39213041 -1.39213041 128.26756158064677 +-0.84834022 -0.84834022 -127.1707575200729 +-0.54969956 -0.54969956 -248.020150026255 +-0.4001999 -0.4001999 -273.45753626448976 +-0.30336196 -0.30336196 -275.65581385943466 +-42.92567878 -42.92567878 2548.4835844878844 +-22.28301291 -22.28301291 1826.4864797464888 +-11.85047671 -11.85047671 1323.2300681694328 +-3.76065716 -3.76065716 782.032704444717 +-1.50196713 -1.50196713 566.3241841149711 +-0.78321185 -0.78321185 472.86152045900957 +-0.50126802 -0.50126802 421.64653808946457 +-0.31453865 -0.31453865 371.5357279853559 +-0.21852205 -0.21852205 335.6275602935165 +-0.15986609 -0.15986609 308.86878743204613 +-45.90703616 -45.90703616 515.6066566204544 +-26.2580163 -26.2580163 2427.3139835362035 +-15.10104454 -15.10104454 2997.468191244447 +-8.85652398 -8.85652398 2927.199196438229 +-3.47810466 -3.47810466 2124.403402568454 +-1.8045386 -1.8045386 1245.4119175189985 +-1.22039874 -1.22039874 571.6383950782817 +-0.95740785 -0.95740785 115.06190467662346 +-0.73263816 -0.73263816 -279.87978698102825 +-0.57684192 -0.57684192 -473.63536524479656 +-0.4582007 -0.4582007 -567.5886734107811 +-68.83558494 -68.83558494 4788.7553802375105 +-39.00767209 -39.00767209 4032.8058154817677 +-22.27580479 -22.27580479 3267.4025394287087 +-12.898762 -12.898762 2655.2589112741243 +-4.60855361 -4.60855361 1873.4140470245777 +-1.82351514 -1.82351514 1453.3279178223477 +-0.78516328 -0.78516328 1201.0498742029615 +-0.34069543 -0.34069543 1026.9021382572907 +-0.06567744 -0.06567744 838.958698721982 +0.03532005 0.03532005 703.6651574549968 +0.06933896 0.06933896 604.4923926418157 +-43.23155603 -43.23155603 2443.7144104646986 +-24.17126581 -24.17126581 308.0890799310473 +-13.73508045 -13.73508045 -432.09477731207613 +-4.79758898 -4.79758898 -500.2959804094237 +-1.97393475 -1.97393475 -236.0020294599799 +-0.98537407 -0.98537407 -51.181547630176304 +-0.57799672 -0.57799672 49.34727782976965 +-0.30686628 -0.30686628 121.76232481372446 +-0.17726797 -0.17726797 158.69685008980503 +-0.10596164 -0.10596164 183.14444359007118 +-41.50441771 -41.50441771 -16453.486914612055 +-22.98180312 -22.98180312 -11213.026581376751 +-13.06308449 -13.06308449 -8045.11551315128 +-7.69434247 -7.69434247 -6002.542286037824 +-3.08423354 -3.08423354 -3619.8185678550894 +-1.55225801 -1.55225801 -2365.2175063692184 +-0.96032657 -0.96032657 -1673.4750786857742 +-0.67843458 -0.67843458 -1289.4836789785668 +-0.45319497 -0.45319497 -1010.2803336338937 +-0.32313027 -0.32313027 -898.1306063165309 +-0.23857312 -0.23857312 -855.4860074568783 +-55.86787816 -55.86787816 20606.939556625133 +-27.9063972 -27.9063972 12948.750023395227 +-8.54273266 -8.54273266 5906.359365198198 +-3.83592515 -3.83592515 2858.80787776265 +-2.41914512 -2.41914512 1360.9187820053987 +-1.81232644 -1.81232644 623.4249716951456 +-1.30536354 -1.30536354 177.70553004313894 +-0.97565469 -0.97565469 47.91769087493613 +-0.74132649 -0.74132649 19.89475437772301 +-49.36809666 -49.36809666 493.02896046803227 +-26.08254031 -26.08254031 648.1330363696037 +-13.7787718 -13.7787718 705.6222930702008 +-7.3456457 -7.3456457 709.5149925582067 +-2.28586915 -2.28586915 665.4474553105371 +-0.91291547 -0.91291547 618.5405035485176 +-0.51170345 -0.51170345 587.8664040200273 +-0.36557293 -0.36557293 572.5686031693756 +-0.26608766 -0.26608766 568.4253386804999 +-0.207145 -0.207145 575.489078737949 +-0.16534056 -0.16534056 586.2200355504522 +-45.54903438 -45.54903438 -12696.98951392334 +-24.85199089 -24.85199089 -10602.009958672761 +-8.13689949 -8.13689949 -6962.201807864882 +-3.41572024 -3.41572024 -4334.251913222798 +-1.92321612 -1.92321612 -2597.9455151592597 +-1.32275326 -1.32275326 -1501.9727075856451 +-0.87774498 -0.87774498 -579.37030543006 +-0.61900554 -0.61900554 -112.69422312896448 +-0.44955943 -0.44955943 136.5303174244266 +-45.89316424 -45.89316424 8651.426399194737 +-26.16172924 -26.16172924 4599.386861907677 +-8.58619335 -8.58619335 1168.2469842547082 +-3.02314194 -3.02314194 430.0097764261627 +-1.28845816 -1.28845816 350.2984710955823 +-0.71148778 -0.71148778 377.2173032218051 +-0.40338229 -0.40338229 420.18426373997164 +-0.2646887 -0.2646887 443.1057066981223 +-0.18318997 -0.18318997 453.6628441918435 +-26.97747362 -26.97747362 -12537.367120652889 +-7.9977787 -7.9977787 -6472.041335283475 +-2.72728786 -2.72728786 -3265.6093915125493 +-1.17854976 -1.17854976 -1574.709969093635 +-0.64472418 -0.64472418 -658.6757976083732 +-0.33483322 -0.33483322 23.186558526923807 +-0.1930341 -0.1930341 330.98948941430234 +-0.11219626 -0.11219626 479.7643427944923 +-66.01238427 -66.01238427 -17708.60170282379 +-34.88419322 -34.88419322 -9461.888348549357 +-19.18385278 -19.18385278 -5418.4636851671685 +-6.65099668 -6.65099668 -2227.590777319005 +-2.79859215 -2.79859215 -1021.4549454849003 +-1.41741587 -1.41741587 -398.3087588871709 +-0.82730775 -0.82730775 -67.78620591659572 +-0.42754209 -0.42754209 136.90530100249427 +-0.24304652 -0.24304652 186.5233236550837 +-0.14664176 -0.14664176 183.60636436176924 +-48.54987406 -48.54987406 -6076.544324353011 +-25.45700049 -25.45700049 -3835.7662775173044 +-13.5712171 -13.5712171 -2836.331214697631 +-4.15256929 -4.15256929 -1821.7364622838809 +-1.47194779 -1.47194779 -1111.3387999176607 +-0.62769519 -0.62769519 -569.7666027708016 +-0.31860524 -0.31860524 -188.37596303151594 +-0.14202453 -0.14202453 156.40449646252603 +-0.07235216 -0.07235216 333.43845491034756 +-0.03895953 -0.03895953 422.51528393559744 +-17.05505616 -17.05505616 -1504.1967504525492 +-5.60865095 -5.60865095 -2944.3615457631577 +-2.51743011 -2.51743011 -1872.973571198234 +-1.46356868 -1.46356868 -1040.347476987732 +-0.80955171 -0.80955171 -340.2522603635111 +-0.49843248 -0.49843248 44.369920318268434 +-0.32427771 -0.32427771 271.4517069431031 +-21.8813234 -21.8813234 -1375.9190165785838 +-12.2047835 -12.2047835 -169.81408284829766 +-6.64903757 -6.64903757 329.22964153821505 +-3.52132233 -3.52132233 508.0622577002981 +-1.81394645 -1.81394645 556.9344836013323 +-0.42064322 -0.42064322 541.7610760951264 +-0.05569549 -0.05569549 503.3923603931725 +0.02502525 0.02502525 470.87311619817297 +0.03446709 0.03446709 445.5182059061298 +0.02559703 0.02559703 417.5247887250781 +0.0167205 0.0167205 397.95254638375326 +0.01101465 0.01101465 384.1425268204819 diff --git a/examples/peg_slater_isa/res_ex.xvg b/examples/peg_slater_isa/res_ex.xvg index ccf567440..dff390c4b 100644 --- a/examples/peg_slater_isa/res_ex.xvg +++ b/examples/peg_slater_isa/res_ex.xvg @@ -1,499 +1,499 @@ -80.81162479 80.81162479 86.96728 -45.67030766 45.67030766 49.745216 -25.28534297 25.28534297 27.807425 -13.76810715 13.76810715 15.266595 -3.93215704 3.93215704 4.421729 -1.08843093 1.08843093 1.2330178 -0.29564795 0.29564795 0.33459422 -0.07993455 0.07993455 0.08890099 -0.01135766 0.01135766 0.011813231 -0.0016495 0.0016495 0.0015304838 -0.0002429 0.0002429 0.00019544602 -81.19892212 81.19892212 79.49868 -20.9416574 20.9416574 21.745586 -5.04881567 5.04881567 5.4828277 -1.16020761 1.16020761 1.3070089 -0.26012447 0.26012447 0.29944348 -0.02734281 0.02734281 0.031056374 -0.00288427 0.00288427 0.003053069 -0.0002978 0.0002978 0.00028774142 -111.19618165 111.19618165 125.87496 -56.06959817 56.06959817 67.25798 -14.00787204 14.00787204 17.970348 -3.44233946 3.44233946 4.454019 -0.83769404 0.83769404 1.0389261 -0.2011326 0.2011326 0.230999 -0.02313207 0.02313207 0.02268864 -0.00257917 0.00257917 0.0021200122 -0.0002836 0.0002836 0.00019324 -179.42050663 179.42050663 177.68301 -96.8513155 96.8513155 100.554016 -51.86538946 51.86538946 55.766422 -14.53630434 14.53630434 16.305773 -3.96754954 3.96754954 4.518281 -1.05968935 1.05968935 1.2022535 -0.27775441 0.27775441 0.31039813 -0.03635296 0.03635296 0.039164644 -0.00462964 0.00462964 0.0048023285 -0.00056963 0.00056963 0.00058056135 -107.81754666 107.81754666 102.741135 -23.70746014 23.70746014 26.888048 -4.80194981 4.80194981 6.344907 -0.94534258 0.94534258 1.3938669 -0.1847089 0.1847089 0.28921366 -0.01566481 0.01566481 0.025138402 -0.00128169 0.00128169 0.0020445886 -9.74e-05 9.74e-05 0.0001609288 -80.80763674 80.80763674 79.114136 -46.98282192 46.98282192 44.974754 -26.80685261 26.80685261 24.800726 -15.07303628 15.07303628 13.339837 -8.37915495 8.37915495 7.0307403 -2.51251029 2.51251029 1.8635608 -0.73182983 0.73182983 0.47232884 -0.20960848 0.20960848 0.11627526 -0.05899804 0.05899804 0.028117636 -0.00863982 0.00863982 0.003291494 -0.00123981 0.00123981 0.00038463902 -0.00017202 0.00017202 4.542747e-05 -130.82044984 130.82044984 130.57693 -71.03778212 71.03778212 73.30513 -39.11822296 39.11822296 40.864914 -11.89647485 11.89647485 12.0297365 -3.41252855 3.41252855 3.1780074 -0.89848169 0.89848169 0.75372076 -0.21847793 0.21847793 0.1646967 -0.02338589 0.02338589 0.015344977 -0.00227683 0.00227683 0.0013620257 -0.00021157 0.00021157 0.00011974573 -100.82620211 100.82620211 107.34887 -25.04563445 25.04563445 30.012478 -5.79115858 5.79115858 7.495445 -1.26937181 1.26937181 1.7253487 -0.26777082 0.26777082 0.37546876 -0.02478941 0.02478941 0.035719067 -0.00219582 0.00219582 0.003260836 -0.0001889 0.0001889 0.00029292703 -63.06463522 63.06463522 65.75446 -14.6071272 14.6071272 17.753555 -3.26353873 3.26353873 4.556466 -0.71026281 0.71026281 1.1294669 -0.15189136 0.15189136 0.2731349 -0.0147025 0.0147025 0.031468447 -0.00138941 0.00138941 0.0035418966 -0.00013231 0.00013231 0.0003941413 -101.08419067 101.08419067 104.23189 -23.2550411 23.2550411 28.430294 -5.23295161 5.23295161 7.0328255 -1.16989671 1.16989671 1.5913149 -0.25295749 0.25295749 0.32957208 -0.02276107 0.02276107 0.026697291 -0.00175401 0.00175401 0.0018899916 -0.00011857 0.00011857 0.000124268 -119.5532546 119.5532546 118.506294 -65.9197103 65.9197103 66.96989 -19.65640089 19.65640089 20.040829 -5.54020174 5.54020174 5.453637 -1.46897766 1.46897766 1.3671429 -0.37017978 0.37017978 0.3227068 -0.04420323 0.04420323 0.034591082 -0.00502955 0.00502955 0.0035787509 -0.0005534 0.0005534 0.00036800245 -87.26539754 87.26539754 92.26147 -44.50293035 44.50293035 46.696316 -22.69169598 22.69169598 23.256372 -11.61635822 11.61635822 11.481078 -6.00217243 6.00217243 5.650316 -1.66623426 1.66623426 1.3745129 -0.48569833 0.48569833 0.3383153 -0.1465023 0.1465023 0.08359827 -0.04457761 0.04457761 0.020508602 -0.00725325 0.00725325 0.0024317652 -0.00111496 0.00111496 0.00028152764 -0.00015666 0.00015666 3.2380223e-05 -216.66791866 216.66791866 195.13135 -120.22575491 120.22575491 111.61253 -66.20975228 66.20975228 62.937218 -36.26902672 36.26902672 35.09502 -10.77716567 10.77716567 10.64003 -3.18068092 3.18068092 3.1441343 -0.9329935 0.9329935 0.90989643 -0.27154013 0.27154013 0.25844222 -0.04176955 0.04176955 0.03790931 -0.00624903 0.00624903 0.005386686 -0.00089999 0.00089999 0.0007475279 -67.30688067 67.30688067 74.28798 -36.85566737 36.85566737 41.337826 -20.33111626 20.33111626 22.795843 -11.22221575 11.22221575 12.444986 -3.42694149 3.42694149 3.5900903 -1.02318286 1.02318286 0.9936077 -0.298208 0.298208 0.266042 -0.08461913 0.08461913 0.06963829 -0.01220791 0.01220791 0.00911759 -0.00167736 0.00167736 0.0011839014 -0.00022372 0.00022372 0.00015421619 -93.37687554 93.37687554 92.106384 -52.45384698 52.45384698 53.335438 -14.71398474 14.71398474 15.779287 -3.60669173 3.60669173 4.051529 -0.80159546 0.80159546 0.93791866 -0.1666214 0.1666214 0.20205712 -0.01465776 0.01465776 0.018500313 -0.00121799 0.00121799 0.001587426 -9.383e-05 9.383e-05 0.00013167923 -149.34442504 149.34442504 132.56422 -82.16049802 82.16049802 76.89436 -45.03356412 45.03356412 43.821575 -13.34633431 13.34633431 13.595359 -3.8642361 3.8642361 4.0060983 -1.08971473 1.08971473 1.1318595 -0.2992656 0.2992656 0.30913773 -0.04131391 0.04131391 0.042057306 -0.00542709 0.00542709 0.0054974784 -0.00067934 0.00067934 0.00070102175 -108.68931674 108.68931674 101.70641 -57.65730336 57.65730336 55.25343 -30.28223358 30.28223358 29.5508 -15.78771571 15.78771571 15.616532 -4.23022752 4.23022752 4.2557306 -1.12390369 1.12390369 1.1379534 -0.29839275 0.29839275 0.30192614 -0.07965342 0.07965342 0.080052905 -0.01113357 0.01113357 0.01101478 -0.00157014 0.00157014 0.0015393398 -0.00021972 0.00021972 0.00021891831 -110.00229177 110.00229177 91.66327 -57.37995395 57.37995395 49.558743 -15.15951063 15.15951063 13.482526 -3.87498808 3.87498808 3.3967457 -0.96909653 0.96909653 0.8077694 -0.23848427 0.23848427 0.18405768 -0.02831561 0.02831561 0.01894036 -0.00326517 0.00326517 0.0018698275 -0.00036438 0.00036438 0.00018072128 -72.65446924 72.65446924 74.51434 -38.07194335 38.07194335 40.193535 -19.68788662 19.68788662 21.208376 -5.09090876 5.09090876 5.6037173 -1.2713094 1.2713094 1.4073929 -0.309402 0.309402 0.3420967 -0.07385018 0.07385018 0.08156764 -0.00836847 0.00836847 0.009353515 -0.0009262 0.0009262 0.001073714 -9.905e-05 9.905e-05 0.00012528486 -111.56683465 111.56683465 103.07682 -61.11436147 61.11436147 57.348186 -33.27008439 33.27008439 31.438818 -9.71704756 9.71704756 9.130503 -2.79744308 2.79744308 2.5664642 -0.79921787 0.79921787 0.70632 -0.22723204 0.22723204 0.19188973 -0.03422538 0.03422538 0.026845986 -0.005109 0.005109 0.0037413177 -0.00075181 0.00075181 0.0005229317 -102.82157346 102.82157346 95.240875 -58.57497704 58.57497704 54.151207 -33.13802061 33.13802061 30.285639 -18.62832677 18.62832677 16.711637 -10.42256366 10.42256366 9.119687 -3.23213606 3.23213606 2.6457012 -0.99116905 0.99116905 0.74772763 -0.30201708 0.30201708 0.20742692 -0.09135472 0.09135472 0.056789003 -0.01502183 0.01502183 0.00800616 -0.00239847 0.00239847 0.0011173054 -0.00037347 0.00037347 0.00015552322 -115.0823843 115.0823843 109.86451 -60.18012106 60.18012106 60.25492 -31.05925174 31.05925174 32.274742 -15.8543799 15.8543799 16.97569 -4.05498035 4.05498035 4.526815 -1.02259984 1.02259984 1.1742548 -0.25662441 0.25662441 0.30088437 -0.06464364 0.06464364 0.07666648 -0.00818958 0.00818958 0.009795446 -0.00103649 0.00103649 0.0012427041 -0.00012788 0.00012788 0.00015681979 -75.74804487 75.74804487 68.8075 -43.70197891 43.70197891 37.117947 -24.91274622 24.91274622 19.684238 -14.06602376 14.06602376 10.303152 -7.88157453 7.88157453 5.3396573 -2.42619569 2.42619569 1.4057939 -0.73293612 0.73293612 0.36481363 -0.21786616 0.21786616 0.09431583 -0.06410577 0.06410577 0.02447027 -0.01005075 0.01005075 0.0032882094 -0.0015495 0.0015495 0.00045388937 -0.00023683 0.00023683 6.443262e-05 -89.22532178 89.22532178 83.633125 -47.78098749 47.78098749 44.744316 -25.51277223 25.51277223 23.738174 -13.57960276 13.57960276 12.492472 -3.81180468 3.81180468 3.3665738 -1.04955862 1.04955862 0.8705312 -0.28389628 0.28389628 0.2159435 -0.07541649 0.07541649 0.051677126 -0.00999225 0.00999225 0.0057615824 -0.00127555 0.00127555 0.00062154647 -0.00015638 0.00015638 6.6403714e-05 -87.9433854 87.9433854 89.57053 -43.37897341 43.37897341 45.155052 -21.70185035 21.70185035 22.804806 -5.619594 5.619594 5.8531094 -1.48189345 1.48189345 1.4967085 -0.3881973 0.3881973 0.3760115 -0.10058659 0.10058659 0.092228904 -0.01305563 0.01305563 0.010679751 -0.00166438 0.00166438 0.0011686971 -0.00019737 0.00019737 0.000121712015 -98.62550218 98.62550218 96.75308 -47.73815227 47.73815227 49.30211 -23.60972938 23.60972938 25.228367 -6.10815588 6.10815588 6.7324023 -1.64328934 1.64328934 1.8303028 -0.44008685 0.44008685 0.49885777 -0.11479427 0.11479427 0.13472213 -0.01455537 0.01455537 0.018421007 -0.00176929 0.00176929 0.002439382 -0.00020572 0.00020572 0.00031318227 -125.72080809 125.72080809 134.97708 -68.81465919 68.81465919 76.78275 -37.29551729 37.29551729 42.680305 -10.66540532 10.66540532 12.422634 -2.9504688 2.9504688 3.3869803 -0.79618343 0.79618343 0.8778398 -0.21054168 0.21054168 0.21888392 -0.02799126 0.02799126 0.02586659 -0.00363898 0.00363898 0.002932655 -0.00046596 0.00046596 0.00032474092 -123.1789275 123.1789275 110.61859 -31.64224743 31.64224743 32.24423 -7.52514812 7.52514812 8.62412 -1.77867078 1.77867078 2.1761389 -0.42390389 0.42390389 0.51788974 -0.04772212 0.04772212 0.053566925 -0.00488591 0.00488591 0.0049220254 -0.00045647 0.00045647 0.00041710623 -73.06234345 73.06234345 74.425446 -42.36893894 42.36893894 42.201275 -24.29285413 24.29285413 23.35815 -13.78741038 13.78741038 12.677802 -7.77529036 7.77529036 6.772148 -2.43353832 2.43353832 1.8626274 -0.74980966 0.74980966 0.4944469 -0.22814472 0.22814472 0.1281837 -0.06891836 0.06891836 0.0327381 -0.011266 0.011266 0.0041695647 -0.00182545 0.00182545 0.00053079426 -0.000291 0.000291 6.8396344e-05 -103.43984183 103.43984183 98.56311 -58.00508755 58.00508755 56.160942 -32.03297333 32.03297333 31.347618 -17.47800853 17.47800853 17.207895 -5.08305421 5.08305421 4.9873714 -1.44941895 1.44941895 1.3891085 -0.40971913 0.40971913 0.37516278 -0.11551482 0.11551482 0.098817535 -0.01719369 0.01719369 0.01287286 -0.00253736 0.00253736 0.0016237576 -0.00036595 0.00036595 0.0002007526 -73.8417029 73.8417029 86.88982 -41.22494485 41.22494485 48.504456 -22.66987673 22.66987673 26.481316 -12.30635533 12.30635533 14.2082615 -6.60841824 6.60841824 7.5208635 -1.85566173 1.85566173 2.0476146 -0.50697384 0.50697384 0.54428476 -0.13570706 0.13570706 0.14294651 -0.0358772 0.0358772 0.03738378 -0.00481742 0.00481742 0.0050132275 -0.00063854 0.00063854 0.0006800145 -8.441e-05 8.441e-05 9.36687e-05 -68.68076916 68.68076916 65.3278 -35.84942689 35.84942689 34.43685 -18.48906493 18.48906493 17.799973 -4.76871067 4.76871067 4.5230155 -1.19149407 1.19149407 1.0906037 -0.29133719 0.29133719 0.25354865 -0.07026962 0.07026962 0.05760177 -0.00822786 0.00822786 0.0061088786 -0.00096045 0.00096045 0.00064554275 -0.00010877 0.00010877 6.8969995e-05 -128.78858627 128.78858627 124.86779 -75.41369713 75.41369713 75.57567 -21.73222029 21.73222029 23.783009 -5.30457907 5.30457907 6.3382306 -1.19729182 1.19729182 1.507825 -0.26208437 0.26208437 0.3295817 -0.02549299 0.02549299 0.029437538 -0.00226959 0.00226959 0.0023074218 -0.00018088 0.00018088 0.0001661547 -87.36554902 87.36554902 102.513084 -41.60004654 41.60004654 49.782894 -19.48376534 19.48376534 23.291037 -8.98618934 8.98618934 10.57069 -1.82900215 1.82900215 2.03044 -0.35459405 0.35459405 0.36292744 -0.06612496 0.06612496 0.061340183 -0.01196231 0.01196231 0.009933839 -0.00086895 0.00086895 0.0006132771 -5.918e-05 5.918e-05 3.6496436e-05 -2.79e-06 2.79e-06 2.1394808e-06 -122.43746763 122.43746763 117.621315 -57.57433084 57.57433084 60.80408 -12.54897354 12.54897354 15.47787 -2.72870513 2.72870513 3.7675467 -0.59584632 0.59584632 0.8892736 -0.12998318 0.12998318 0.20536062 -0.0129486 0.0129486 0.022208586 -0.00123701 0.00123701 0.0023640476 -0.00011228 0.00011228 0.00025011052 -157.20829838 157.20829838 149.47557 -87.91117345 87.91117345 86.004456 -24.61978856 24.61978856 24.735798 -6.13937678 6.13937678 6.1522546 -1.40767204 1.40767204 1.3896142 -0.30410364 0.30410364 0.29566917 -0.02859157 0.02859157 0.027281493 -0.00257078 0.00257078 0.0024310648 -0.00022281 0.00022281 0.0002142489 -108.40481002 108.40481002 89.472565 -55.36728273 55.36728273 46.506645 -28.41018403 28.41018403 23.88863 -7.51912985 7.51912985 6.090116 -1.97882474 1.97882474 1.4809521 -0.51250287 0.51250287 0.3439803 -0.12992582 0.12992582 0.07679187 -0.01596771 0.01596771 0.0076692025 -0.00188355 0.00188355 0.00073707954 -0.00021628 0.00021628 6.991258e-05 -128.93239372 128.93239372 118.73034 -71.51019195 71.51019195 67.54348 -39.21205747 39.21205747 37.84068 -21.313186 21.313186 20.94153 -6.17640063 6.17640063 6.23129 -1.76198492 1.76198492 1.7983671 -0.49751218 0.49751218 0.5062381 -0.13933483 0.13933483 0.13954079 -0.02035998 0.02035998 0.019558966 -0.00292394 0.00292394 0.0026636124 -0.00041138 0.00041138 0.00035566092 -186.2217493 186.2217493 169.69232 -102.35181274 102.35181274 95.23696 -55.76367046 55.76367046 52.64054 -30.16057829 30.16057829 28.727318 -8.67052113 8.67052113 8.297556 -2.45054371 2.45054371 2.3227513 -0.68368586 0.68368586 0.63538283 -0.18909594 0.18909594 0.17085133 -0.02717218 0.02717218 0.023287313 -0.00383138 0.00383138 0.003118349 -0.00052691 0.00052691 0.0004135341 -121.13759916 121.13759916 119.94868 -64.88432611 64.88432611 65.58284 -34.57121506 34.57121506 35.14768 -9.62107849 9.62107849 9.567772 -2.60332702 2.60332702 2.4432168 -0.68193798 0.68193798 0.59084123 -0.17383564 0.17383564 0.13678654 -0.02142196 0.02142196 0.014382359 -0.00252892 0.00252892 0.0014526509 -0.00029068 0.00029068 0.00014460296 -120.15539192 120.15539192 121.33384 -63.95758009 63.95758009 66.88394 -34.16530668 34.16530668 36.496906 -18.28082851 18.28082851 19.689114 -5.21277179 5.21277179 5.5128284 -1.45947835 1.45947835 1.4636965 -0.39924713 0.39924713 0.37042564 -0.10648933 0.10648933 0.09016949 -0.01420109 0.01420109 0.0102769695 -0.00182684 0.00182684 0.0011265845 -0.00022844 0.00022844 0.00012093427 -149.10524328 149.10524328 147.78844 -70.60156109 70.60156109 74.775856 -16.16799605 16.16799605 18.4323 -3.778675 3.778675 4.3586054 -0.8826778 0.8826778 0.9917045 -0.20387587 0.20387587 0.21812439 -0.02199406 0.02199406 0.021539534 -0.00230549 0.00230549 0.002079731 -0.00023643 0.00023643 0.00020091119 -153.59216639 153.59216639 135.28165 -81.32049825 81.32049825 75.985435 -42.5188084 42.5188084 41.70171 -21.98836011 21.98836011 22.427961 -5.73001763 5.73001763 6.1695604 -1.45161008 1.45161008 1.610407 -0.36074341 0.36074341 0.40433896 -0.08857868 0.08857868 0.09865931 -0.01057473 0.01057473 0.011458583 -0.00122501 0.00122501 0.0012943633 -0.00013497 0.00013497 0.00014416128 -118.95545279 118.95545279 106.07759 -62.73657301 62.73657301 59.24223 -16.84879169 16.84879169 17.350992 -4.35032873 4.35032873 4.735723 -1.08712917 1.08712917 1.2207801 -0.26327397 0.26327397 0.3009009 -0.02976308 0.02976308 0.03466983 -0.00318329 0.00318329 0.0038124435 -0.00032048 0.00032048 0.00040801987 -116.26150347 116.26150347 115.69157 -65.66173822 65.66173822 67.50815 -20.222838 20.222838 20.980879 -5.73341806 5.73341806 5.583592 -1.45425035 1.45425035 1.2465935 -0.33170886 0.33170886 0.23961303 -0.03113869 0.03113869 0.01673814 -0.00259832 0.00259832 0.0010435182 -0.00019712 0.00019712 6.3356114e-05 -70.95517942 70.95517942 67.044846 -19.04843951 19.04843951 20.879986 -4.94051739 4.94051739 6.20363 -1.24928802 1.24928802 1.7808025 -0.31012161 0.31012161 0.49830344 -0.03754306 0.03754306 0.07127966 -0.00443287 0.00443287 0.009915397 -0.0005128 0.0005128 0.0013545752 -152.49984222 152.49984222 153.13034 -77.60650753 77.60650753 82.87614 -40.08682531 40.08682531 44.679356 -10.91265993 10.91265993 12.59966 -2.91679842 2.91679842 3.3126645 -0.74320545 0.74320545 0.8015197 -0.17958376 0.17958376 0.17992328 -0.01970963 0.01970963 0.017226798 -0.00201888 0.00201888 0.0015236603 -0.00019109 0.00019109 0.00012954918 -130.80043296 130.80043296 128.46332 -66.86042593 66.86042593 69.4766 -34.15130587 34.15130587 37.110134 -8.85696618 8.85696618 10.194744 -2.27314845 2.27314845 2.6621475 -0.57514439 0.57514439 0.6631945 -0.14320961 0.14320961 0.15876852 -0.01740883 0.01740883 0.017585525 -0.00204613 0.00204613 0.0018646448 -0.00023279 0.00023279 0.00019323526 -38.44754072 38.44754072 39.82443 -8.47334528 8.47334528 9.893659 -1.82661412 1.82661412 2.3138547 -0.391649 0.391649 0.5138833 -0.03757115 0.03757115 0.048846614 -0.00336237 0.00336237 0.0042128293 -0.00027862 0.00027862 0.00034123176 -82.02514643 82.02514643 83.31455 -46.90917564 46.90917564 47.833233 -26.2310308 26.2310308 26.409723 -14.37040883 14.37040883 14.113771 -7.75444205 7.75444205 7.343277 -2.17339162 2.17339162 1.869926 -0.58628937 0.58628937 0.44993278 -0.15423035 0.15423035 0.10460439 -0.04001316 0.04001316 0.023881717 -0.00517377 0.00517377 0.0025821314 -0.00066015 0.00066015 0.0002826245 -8.756e-05 8.756e-05 3.1773772e-05 +80.81162479 80.81162479 86.96732613787162 +45.67030766 45.67030766 49.745228716710876 +25.28534297 25.28534297 27.80743725751493 +13.76810715 13.76810715 15.266598892313533 +3.93215704 3.93215704 4.421731689364717 +1.08843093 1.08843093 1.2330188105781894 +0.29564795 0.29564795 0.33459452209180013 +0.07993455 0.07993455 0.08890102657037292 +0.01135766 0.01135766 0.011813238756965884 +0.0016495 0.0016495 0.0015304853793832514 +0.0002429 0.0002429 0.00019544622093433097 +81.19892212 81.19892212 79.49870134494934 +20.9416574 20.9416574 21.745598473398488 +5.04881567 5.04881567 5.482828080082609 +1.16020761 1.16020761 1.3070093679810901 +0.26012447 0.26012447 0.29944362055371104 +0.02734281 0.02734281 0.031056360206151046 +0.00288427 0.00288427 0.0030531008534573356 +0.0002978 0.0002978 0.00028773986734187407 +111.19618165 111.19618165 125.87497573243044 +56.06959817 56.06959817 67.25798802778476 +14.00787204 14.00787204 17.970353506029344 +3.44233946 3.44233946 4.4540196898398134 +0.83769404 0.83769404 1.0389267777772269 +0.2011326 0.2011326 0.23099908969307992 +0.02313207 0.02313207 0.022688661687932283 +0.00257917 0.00257917 0.00212001340688992 +0.0002836 0.0002836 0.00019324022583196707 +179.42050663 179.42050663 177.68304893455255 +96.8513155 96.8513155 100.55405159199645 +51.86538946 51.86538946 55.766429817296945 +14.53630434 14.53630434 16.30577610460858 +3.96754954 3.96754954 4.518281980918556 +1.05968935 1.05968935 1.2022538061766825 +0.27775441 0.27775441 0.3103982713788017 +0.03635296 0.03635296 0.039164686193684704 +0.00462964 0.00462964 0.004802365239099723 +0.00056963 0.00056963 0.0005805849525477679 +107.81754666 107.81754666 102.74115686993329 +23.70746014 23.70746014 26.88805730507165 +4.80194981 4.80194981 6.344909277804353 +0.94534258 0.94534258 1.393867577130802 +0.1847089 0.1847089 0.28921373272671663 +0.01566481 0.01566481 0.02513839675826068 +0.00128169 0.00128169 0.0020445893848745453 +9.74e-05 9.74e-05 0.00016092890423539144 +80.80763674 80.80763674 79.11415586498747 +46.98282192 46.98282192 44.9747710462954 +26.80685261 26.80685261 24.800734075575097 +15.07303628 15.07303628 13.339838676291922 +8.37915495 8.37915495 7.0307432539989705 +2.51251029 2.51251029 1.8635624856713617 +0.73182983 0.73182983 0.4723291468953892 +0.20960848 0.20960848 0.11627529131417387 +0.05899804 0.05899804 0.0281176158957134 +0.00863982 0.00863982 0.003291485742408196 +0.00123981 0.00123981 0.0003846190224980529 +0.00017202 0.00017202 4.542261634178624e-05 +130.82044984 130.82044984 130.57697353597862 +71.03778212 71.03778212 73.30513940149916 +39.11822296 39.11822296 40.86493407381563 +11.89647485 11.89647485 12.02973568476236 +3.41252855 3.41252855 3.178009700299281 +0.89848169 0.89848169 0.7537207119252834 +0.21847793 0.21847793 0.16469685020403535 +0.02338589 0.02338589 0.015344969947124754 +0.00227683 0.00227683 0.0013620666684367455 +0.00021157 0.00021157 0.0001198044690665645 +100.82620211 100.82620211 107.34893256668151 +25.04563445 25.04563445 30.0124947878979 +5.79115858 5.79115858 7.495448203012862 +1.26937181 1.26937181 1.7253494297019303 +0.26777082 0.26777082 0.3754689951702085 +0.02478941 0.02478941 0.0357190933171343 +0.00219582 0.00219582 0.003260840540262988 +0.0001889 0.0001889 0.0002929214764915977 +63.06463522 63.06463522 65.75446641208937 +14.6071272 14.6071272 17.753562418871557 +3.26353873 3.26353873 4.556466702886427 +0.71026281 0.71026281 1.1294673307377925 +0.15189136 0.15189136 0.27313495716599495 +0.0147025 0.0147025 0.03146845874796746 +0.00138941 0.00138941 0.003541897205450027 +0.00013231 0.00013231 0.0003941416699472526 +101.08419067 101.08419067 104.23190779830836 +23.2550411 23.2550411 28.430306514320524 +5.23295161 5.23295161 7.032827642628409 +1.16989671 1.16989671 1.591315470646411 +0.25295749 0.25295749 0.32957218516689174 +0.02276107 0.02276107 0.02669730612951731 +0.00175401 0.00175401 0.0018899932535358216 +0.00011857 0.00011857 0.00012426808568653152 +119.5532546 119.5532546 118.50628218614193 +65.9197103 65.9197103 66.96992044048721 +19.65640089 19.65640089 20.04083528226825 +5.54020174 5.54020174 5.4536394348567985 +1.46897766 1.46897766 1.3671437144531293 +0.37017978 0.37017978 0.3227069986996229 +0.04420323 0.04420323 0.034591088410238106 +0.00502955 0.00502955 0.0035787547407964315 +0.0005534 0.0005534 0.000368002686674912 +87.26539754 87.26539754 92.2615000482791 +44.50293035 44.50293035 46.69633555890946 +22.69169598 22.69169598 23.256379737537173 +11.61635822 11.61635822 11.481086573195622 +6.00217243 6.00217243 5.650318127409751 +1.66623426 1.66623426 1.3745137014198363 +0.48569833 0.48569833 0.338315517227614 +0.1465023 0.1465023 0.08359835115289083 +0.04457761 0.04457761 0.0205086770088162 +0.00725325 0.00725325 0.002431797126930757 +0.00111496 0.00111496 0.00028156397881592965 +0.00015666 0.00015666 3.2366725630672555e-05 +216.66791866 216.66791866 195.13138709540755 +120.22575491 120.22575491 111.61257772380806 +66.20975228 66.20975228 62.93723457727878 +36.26902672 36.26902672 35.09502905897417 +10.77716567 10.77716567 10.640031702955408 +3.18068092 3.18068092 3.144136678291716 +0.9329935 0.9329935 0.9098968687379295 +0.27154013 0.27154013 0.2584423955962381 +0.04176955 0.04176955 0.03790931952028746 +0.00624903 0.00624903 0.005386689357209949 +0.00089999 0.00089999 0.0007475279321402413 +67.30688067 67.30688067 74.2879849060335 +36.85566737 36.85566737 41.33783992083789 +20.33111626 20.33111626 22.795849310192796 +11.22221575 11.22221575 12.444991849839166 +3.42694149 3.42694149 3.59009211555672 +1.02318286 1.02318286 0.9936082485233897 +0.298208 0.298208 0.2660420928100702 +0.08461913 0.08461913 0.06963829117618031 +0.01220791 0.01220791 0.00911759343383183 +0.00167736 0.00167736 0.0011839010865595451 +0.00022372 0.00022372 0.00015421638307865516 +93.37687554 93.37687554 92.1064338593678 +52.45384698 52.45384698 53.33544056308565 +14.71398474 14.71398474 15.779294341632644 +3.60669173 3.60669173 4.051533184038752 +0.80159546 0.80159546 0.9379189043874189 +0.1666214 0.1666214 0.20205735745916414 +0.01465776 0.01465776 0.01850034260087238 +0.00121799 0.00121799 0.001587426991045266 +9.383e-05 9.383e-05 0.0001316792615075307 +149.34442504 149.34442504 132.56425874393653 +82.16049802 82.16049802 76.89438105454529 +45.03356412 45.03356412 43.821585124552755 +13.34633431 13.34633431 13.595363252550099 +3.8642361 3.8642361 4.00610037423955 +1.08971473 1.08971473 1.1318600830360388 +0.2992656 0.2992656 0.3091378698726965 +0.04131391 0.04131391 0.042057323688311554 +0.00542709 0.00542709 0.005497480372336233 +0.00067934 0.00067934 0.0007010218436557737 +108.68931674 108.68931674 101.70643411186245 +57.65730336 57.65730336 55.25345505709845 +30.28223358 30.28223358 29.55080849561072 +15.78771571 15.78771571 15.616539998758547 +4.23022752 4.23022752 4.255732509762792 +1.12390369 1.12390369 1.1379538309372865 +0.29839275 0.29839275 0.30192621159266897 +0.07965342 0.07965342 0.08005293784073425 +0.01113357 0.01113357 0.011014812025307652 +0.00157014 0.00157014 0.0015393600746727353 +0.00021972 0.00021972 0.00021893277562381154 +110.00229177 110.00229177 91.66329315355814 +57.37995395 57.37995395 49.55876293554028 +15.15951063 15.15951063 13.482528508249988 +3.87498808 3.87498808 3.3967471245666814 +0.96909653 0.96909653 0.8077696123519711 +0.23848427 0.23848427 0.18405780901198737 +0.02831561 0.02831561 0.018940368688795173 +0.00326517 0.00326517 0.0018697990838891787 +0.00036438 0.00036438 0.00018074148944124957 +72.65446924 72.65446924 74.51438085081443 +38.07194335 38.07194335 40.19353590803338 +19.68788662 19.68788662 21.208377958070283 +5.09090876 5.09090876 5.603719748015905 +1.2713094 1.2713094 1.407393073461631 +0.309402 0.309402 0.3420960576477136 +0.07385018 0.07385018 0.08156764260348373 +0.00836847 0.00836847 0.009353548406699315 +0.0009262 0.0009262 0.001073453705447904 +9.905e-05 9.905e-05 0.00012486320141999693 +111.56683465 111.56683465 103.07686388740706 +61.11436147 61.11436147 57.348219714239434 +33.27008439 33.27008439 31.438830608478572 +9.71704756 9.71704756 9.130504971417935 +2.79744308 2.79744308 2.5664647181820226 +0.79921787 0.79921787 0.7063200988266564 +0.22723204 0.22723204 0.19188984601509346 +0.03422538 0.03422538 0.026846009070048298 +0.005109 0.005109 0.00374131901061204 +0.00075181 0.00075181 0.0005229321015093869 +102.82157346 102.82157346 95.2408921775668 +58.57497704 58.57497704 54.151232854468695 +33.13802061 33.13802061 30.28563986094189 +18.62832677 18.62832677 16.711644119506495 +10.42256366 10.42256366 9.119692005310167 +3.23213606 3.23213606 2.645702734128764 +0.99116905 0.99116905 0.7477282021327576 +0.30201708 0.30201708 0.2074269520601952 +0.09135472 0.09135472 0.056789020006720724 +0.01502183 0.01502183 0.00800616539347174 +0.00239847 0.00239847 0.0011173058313451692 +0.00037347 0.00037347 0.0001555231425709601 +115.0823843 115.0823843 109.86452763113688 +60.18012106 60.18012106 60.254945873299285 +31.05925174 31.05925174 32.27476266508389 +15.8543799 15.8543799 16.97569819845005 +4.05498035 4.05498035 4.526816589012601 +1.02259984 1.02259984 1.1742552321261894 +0.25662441 0.25662441 0.3008844917989933 +0.06464364 0.06464364 0.07666652265821511 +0.00818958 0.00818958 0.009795454300780146 +0.00103649 0.00103649 0.0012427051649884172 +0.00012788 0.00012788 0.0001568199041666121 +75.74804487 75.74804487 68.80751428671097 +43.70197891 43.70197891 37.11795635407648 +24.91274622 24.91274622 19.684242721045752 +14.06602376 14.06602376 10.303154464403145 +7.88157453 7.88157453 5.339660196083162 +2.42619569 2.42619569 1.4057953418510682 +0.73293612 0.73293612 0.36481400765193917 +0.21786616 0.21786616 0.09431594839755275 +0.06410577 0.06410577 0.024470450060278703 +0.01005075 0.01005075 0.003288310360828439 +0.0015495 0.0015495 0.00045399848749172467 +0.00023683 0.00023683 6.453303927245191e-05 +89.22532178 89.22532178 83.63315419336506 +47.78098749 47.78098749 44.744330448671434 +25.51277223 25.51277223 23.738182540317993 +13.57960276 13.57960276 12.492475586264593 +3.81180468 3.81180468 3.3665744183311777 +1.04955862 1.04955862 0.8705314231756858 +0.28389628 0.28389628 0.2159436813755364 +0.07541649 0.07541649 0.051677166353230296 +0.00999225 0.00999225 0.00576160304069623 +0.00127555 0.00127555 0.0006215545632235894 +0.00015638 0.00015638 6.642830585659726e-05 +87.9433854 87.9433854 89.5705638681426 +43.37897341 43.37897341 45.15507412061358 +21.70185035 21.70185035 22.804816676459126 +5.619594 5.619594 5.85311200940621 +1.48189345 1.48189345 1.4967090755418946 +0.3881973 0.3881973 0.3760117548652549 +0.10058659 0.10058659 0.09222896460420729 +0.01305563 0.01305563 0.010679761263081684 +0.00166438 0.00166438 0.001168699144895826 +0.00019737 0.00019737 0.00012171453656448109 +98.62550218 98.62550218 96.75313074311322 +47.73815227 47.73815227 49.30212379711898 +23.60972938 23.60972938 25.228373048285636 +6.10815588 6.10815588 6.732404779728884 +1.64328934 1.64328934 1.830303252326202 +0.44008685 0.44008685 0.4988580906489399 +0.11479427 0.11479427 0.13472213864222868 +0.01455537 0.01455537 0.018421017016356594 +0.00176929 0.00176929 0.0024393849547179364 +0.00020572 0.00020572 0.00031318245712242705 +125.72080809 125.72080809 134.97712129622374 +68.81465919 68.81465919 76.78277752254078 +37.29551729 37.29551729 42.68033483004396 +10.66540532 10.66540532 12.422639842073648 +2.9504688 2.9504688 3.3869817150582615 +0.79618343 0.79618343 0.8778401530611836 +0.21054168 0.21054168 0.21888398877304824 +0.02799126 0.02799126 0.025866589281871907 +0.00363898 0.00363898 0.0029326577526494688 +0.00046596 0.00046596 0.0003247412051146719 +123.1789275 123.1789275 110.61864388674658 +31.64224743 31.64224743 32.24424198192218 +7.52514812 7.52514812 8.624126452263292 +1.77867078 1.77867078 2.1761389295701896 +0.42390389 0.42390389 0.5178900120869512 +0.04772212 0.04772212 0.05356694056633945 +0.00488591 0.00488591 0.004922021234875197 +0.00045647 0.00045647 0.00041710956461656567 +73.06234345 73.06234345 74.42545946588983 +42.36893894 42.36893894 42.20128003176144 +24.29285413 24.29285413 23.358149211341328 +13.78741038 13.78741038 12.677800608131042 +7.77529036 7.77529036 6.772149693373727 +2.43353832 2.43353832 1.862629065529096 +0.74980966 0.74980966 0.49444738198415666 +0.22814472 0.22814472 0.12818374840423385 +0.06891836 0.06891836 0.03273814059067999 +0.011266 0.011266 0.004169565802165406 +0.00182545 0.00182545 0.0005307936985043732 +0.000291 0.000291 6.839767386167133e-05 +103.43984183 103.43984183 98.56315193643644 +58.00508755 58.00508755 56.16095972757008 +32.03297333 32.03297333 31.347629385908437 +17.47800853 17.47800853 17.207901028576284 +5.08305421 5.08305421 4.9873711731868005 +1.44941895 1.44941895 1.3891092440241153 +0.40971913 0.40971913 0.3751630086067685 +0.11551482 0.11551482 0.09881758274206445 +0.01719369 0.01719369 0.012872867763238743 +0.00253736 0.00253736 0.0016237597337300403 +0.00036595 0.00036595 0.00020075283945151498 +73.8417029 73.8417029 86.8898339639755 +41.22494485 41.22494485 48.50445660625538 +22.66987673 22.66987673 26.48131643153731 +12.30635533 12.30635533 14.208262511035727 +6.60841824 6.60841824 7.520865833380982 +1.85566173 1.85566173 2.0476146625825606 +0.50697384 0.50697384 0.5442848004537861 +0.13570706 0.13570706 0.14294659058040973 +0.0358772 0.0358772 0.037383782443797586 +0.00481742 0.00481742 0.005013243720573268 +0.00063854 0.00063854 0.000680014136586915 +8.441e-05 8.441e-05 9.368219885994011e-05 +68.68076916 68.68076916 65.3278173260904 +35.84942689 35.84942689 34.43687019635684 +18.48906493 18.48906493 17.799975408536685 +4.76871067 4.76871067 4.523017029434724 +1.19149407 1.19149407 1.0906040792364604 +0.29133719 0.29133719 0.2535487250154362 +0.07026962 0.07026962 0.05760184120461675 +0.00822786 0.00822786 0.006108881810896881 +0.00096045 0.00096045 0.0006455434684327364 +0.00010877 0.00010877 6.897005911753808e-05 +128.78858627 128.78858627 124.86782902021685 +75.41369713 75.41369713 75.57569461952542 +21.73222029 21.73222029 23.783013272334614 +5.30457907 5.30457907 6.33823310623214 +1.19729182 1.19729182 1.507824983623505 +0.26208437 0.26208437 0.3295819202727249 +0.02549299 0.02549299 0.029437547024036993 +0.00226959 0.00226959 0.0023074226788831163 +0.00018088 0.00018088 0.00016615624054821333 +87.36554902 87.36554902 102.51310552331344 +41.60004654 41.60004654 49.78291228517682 +19.48376534 19.48376534 23.291050617991317 +8.98618934 8.98618934 10.570696009311993 +1.82900215 1.82900215 2.0304409726012103 +0.35459405 0.35459405 0.36292762877313606 +0.06612496 0.06612496 0.0613402234137863 +0.01196231 0.01196231 0.009933837598151328 +0.00086895 0.00086895 0.0006132772476879425 +5.918e-05 5.918e-05 3.649645565899698e-05 +2.79e-06 2.79e-06 2.139487911935966e-06 +122.43746763 122.43746763 117.62135246986279 +57.57433084 57.57433084 60.80411162324035 +12.54897354 12.54897354 15.477870575644143 +2.72870513 2.72870513 3.7675488396552033 +0.59584632 0.59584632 0.8892740566079994 +0.12998318 0.12998318 0.205360774595598 +0.0129486 0.0129486 0.02220859790497566 +0.00123701 0.00123701 0.0023640480533103224 +0.00011228 0.00011228 0.00025011063565262895 +157.20829838 157.20829838 149.47561571432902 +87.91117345 87.91117345 86.0044781027341 +24.61978856 24.61978856 24.73581584769434 +6.13937678 6.13937678 6.152255531047855 +1.40767204 1.40767204 1.3896152840026785 +0.30410364 0.30410364 0.2956692806184897 +0.02859157 0.02859157 0.02728149840550756 +0.00257078 0.00257078 0.0024310656656285207 +0.00022281 0.00022281 0.00021424994196089786 +108.40481002 108.40481002 89.47258177577075 +55.36728273 55.36728273 46.506652242087775 +28.41018403 28.41018403 23.88863885934515 +7.51912985 7.51912985 6.090117374920978 +1.97882474 1.97882474 1.4809524558489138 +0.51250287 0.51250287 0.34398047005735405 +0.12992582 0.12992582 0.07679191157937112 +0.01596771 0.01596771 0.007669205498464144 +0.00188355 0.00188355 0.0007370806176877864 +0.00021628 0.00021628 6.991272900914482e-05 +128.93239372 128.93239372 118.7303618933524 +71.51019195 71.51019195 67.54349237641532 +39.21205747 39.21205747 37.84070398818657 +21.313186 21.313186 20.941535774123 +6.17640063 6.17640063 6.231291610570979 +1.76198492 1.76198492 1.7983681999211196 +0.49751218 0.49751218 0.5062383930025924 +0.13933483 0.13933483 0.13954081870037993 +0.02035998 0.02035998 0.01955899012549822 +0.00292394 0.00292394 0.00266365829711257 +0.00041138 0.00041138 0.0003557074571000074 +186.2217493 186.2217493 169.6923759540192 +102.35181274 102.35181274 95.23696292899106 +55.76367046 55.76367046 52.640570788235166 +30.16057829 30.16057829 28.727322639297025 +8.67052113 8.67052113 8.297558123200815 +2.45054371 2.45054371 2.322752631474936 +0.68368586 0.68368586 0.6353831164911232 +0.18909594 0.18909594 0.1708514365235962 +0.02717218 0.02717218 0.02328732876142698 +0.00383138 0.00383138 0.003118350720424322 +0.00052691 0.00052691 0.0004135344827361557 +121.13759916 121.13759916 119.9487169083958 +64.88432611 64.88432611 65.58285155321117 +34.57121506 34.57121506 35.14769146679658 +9.62107849 9.62107849 9.567773110765064 +2.60332702 2.60332702 2.4432184797978977 +0.68193798 0.68193798 0.5908414501495391 +0.17383564 0.17383564 0.13678660025772618 +0.02142196 0.02142196 0.01438236771143013 +0.00252892 0.00252892 0.00145265247983276 +0.00029068 0.00029068 0.0001446030194591566 +120.15539192 120.15539192 121.3338703588836 +63.95758009 63.95758009 66.88396417625921 +34.16530668 34.16530668 36.49692307615959 +18.28082851 18.28082851 19.689123277839492 +5.21277179 5.21277179 5.51283065260983 +1.45947835 1.45947835 1.4636973728233753 +0.39924713 0.39924713 0.3704257522003119 +0.10648933 0.10648933 0.09016955629237143 +0.01420109 0.01420109 0.01027699924605976 +0.00182684 0.00182684 0.0011264713882823566 +0.00022844 0.00022844 0.00012113413284671351 +149.10524328 149.10524328 147.7884816577085 +70.60156109 70.60156109 74.77590093523816 +16.16799605 16.16799605 18.432307060983234 +3.778675 3.778675 4.3586077378207255 +0.8826778 0.8826778 0.9917048646291622 +0.20387587 0.20387587 0.2181244883094761 +0.02199406 0.02199406 0.021539565269678748 +0.00230549 0.00230549 0.002079746488351051 +0.00023643 0.00023643 0.00020091423686228788 +153.59216639 153.59216639 135.28166730695978 +81.32049825 81.32049825 75.98546650691361 +42.5188084 42.5188084 41.70172578745985 +21.98836011 21.98836011 22.427967266074507 +5.73001763 5.73001763 6.169560178876264 +1.45161008 1.45161008 1.6104074667614456 +0.36074341 0.36074341 0.4043391289770277 +0.08857868 0.08857868 0.09865933110271519 +0.01057473 0.01057473 0.011458590543990989 +0.00122501 0.00122501 0.0012943658409096323 +0.00013497 0.00013497 0.00014415939372621617 +118.95545279 118.95545279 106.07760793081323 +62.73657301 62.73657301 59.24226389020385 +16.84879169 16.84879169 17.350998450813325 +4.35032873 4.35032873 4.7357246996142806 +1.08712917 1.08712917 1.2207805577379551 +0.26327397 0.26327397 0.3009011723162549 +0.02976308 0.02976308 0.03466985106283946 +0.00318329 0.00318329 0.0038124430504052065 +0.00032048 0.00032048 0.00040802071479173127 +116.26150347 116.26150347 115.69159073601857 +65.66173822 65.66173822 67.50817114180347 +20.222838 20.222838 20.980893617767972 +5.73341806 5.73341806 5.583593102265879 +1.45425035 1.45425035 1.2465934916970676 +0.33170886 0.33170886 0.23961320663348723 +0.03113869 0.03113869 0.01673814876024705 +0.00259832 0.00259832 0.0010435192962167858 +0.00019712 0.00019712 6.335614719576439e-05 +70.95517942 70.95517942 67.04487771510625 +19.04843951 19.04843951 20.879991798753224 +4.94051739 4.94051739 6.203629382798177 +1.24928802 1.24928802 1.7808031467469463 +0.31012161 0.31012161 0.4983034293053318 +0.03754306 0.03754306 0.07127971668571373 +0.00443287 0.00443287 0.009915394199193878 +0.0005128 0.0005128 0.0013545506321133993 +152.49984222 152.49984222 153.13036066499362 +77.60650753 77.60650753 82.87612018725147 +40.08682531 40.08682531 44.67937560443195 +10.91265993 10.91265993 12.5996638034183 +2.91679842 2.91679842 3.3126654441391286 +0.74320545 0.74320545 0.801520078253536 +0.17958376 0.17958376 0.1799234181037748 +0.01970963 0.01970963 0.017226807687688597 +0.00201888 0.00201888 0.0015236584210327156 +0.00019109 0.00019109 0.00012954774822948085 +130.80043296 130.80043296 128.46338271369896 +66.86042593 66.86042593 69.47662757712136 +34.15130587 34.15130587 37.110148907969055 +8.85696618 8.85696618 10.194748342055084 +2.27314845 2.27314845 2.6621493352417875 +0.57514439 0.57514439 0.6631948015142373 +0.14320961 0.14320961 0.1587686752821314 +0.01740883 0.01740883 0.017585537958775935 +0.00204613 0.00204613 0.001864646050148004 +0.00023279 0.00023279 0.00019323550152743166 +38.44754072 38.44754072 39.82443766003779 +8.47334528 8.47334528 9.89366176973345 +1.82661412 1.82661412 2.3138552696007304 +0.391649 0.391649 0.5138838218380495 +0.03757115 0.03757115 0.04884663608711478 +0.00336237 0.00336237 0.004212834235773666 +0.00027862 0.00027862 0.00034123562130706033 +82.02514643 82.02514643 83.31456440612034 +46.90917564 46.90917564 47.833249967590454 +26.2310308 26.2310308 26.409738217903985 +14.37040883 14.37040883 14.113779236123392 +7.75444205 7.75444205 7.343278177893763 +2.17339162 2.17339162 1.8699266191008144 +0.58628937 0.58628937 0.4499332553650231 +0.15423035 0.15423035 0.10460439776951498 +0.04001316 0.04001316 0.023881735443879972 +0.00517377 0.00517377 0.0025821328103609125 +0.00066015 0.00066015 0.0002826247444796989 +8.756e-05 8.756e-05 3.177378571853804e-05 diff --git a/examples/peg_slater_isa/res_pol.xvg b/examples/peg_slater_isa/res_pol.xvg index 0e63e198b..8fe417304 100644 --- a/examples/peg_slater_isa/res_pol.xvg +++ b/examples/peg_slater_isa/res_pol.xvg @@ -1,499 +1,499 @@ --2.9867738300000006 -2.9867738300000006 -0.32006687 --1.7410505799999996 -1.7410505799999996 -0.22341275 --1.0313661500000002 -1.0313661500000002 -0.16856864 --0.6197615399999998 -0.6197615399999998 -0.13065414 --0.23255161999999996 -0.23255161999999996 -0.077081144 --0.09287790000000001 -0.09287790000000001 -0.04384822 --0.0404051 -0.0404051 -0.024577016 --0.01939309 -0.01939309 -0.013934527 --0.00766772 -0.00766772 -0.006324706 --0.0035559999999999997 -0.0035559999999999997 -0.0032013562 --0.00184514 -0.00184514 -0.001582989 --1.2872213200000004 -1.2872213200000004 1.6462147 --0.6462609600000002 -0.6462609600000002 -0.05882901 --0.31944003 -0.31944003 -0.21041948 --0.15671598 -0.15671598 -0.1463019 --0.08046444999999999 -0.08046444999999999 -0.0881663 --0.03361341 -0.03361341 -0.041691203 --0.0160983 -0.0160983 -0.021284753 --0.00853081 -0.00853081 -0.011701674 --3.340312500000003 -3.340312500000003 -5.386713 --1.973259070000001 -1.973259070000001 -2.7669234 --0.7320812799999996 -0.7320812799999996 -0.76173234 --0.28770668 -0.28770668 -0.23719272 --0.12046013000000003 -0.12046013000000003 -0.088246256 --0.054086669999999996 -0.054086669999999996 -0.038612105 --0.0186238 -0.0186238 -0.013709408 --0.00735808 -0.00735808 -0.005707203 --0.00325321 -0.00325321 -0.0021817263 --4.1805351900000005 -4.1805351900000005 -10.41943 --2.6979595399999994 -2.6979595399999994 -6.0209713 --1.8021193900000014 -1.8021193900000014 -3.4821222 --0.8274635200000002 -0.8274635200000002 -1.196679 --0.3871570000000001 -0.3871570000000001 -0.44488484 --0.18752875 -0.18752875 -0.1864247 --0.09525278000000001 -0.09525278000000001 -0.08781179 --0.038059380000000004 -0.038059380000000004 -0.03394971 --0.01699881 -0.01699881 -0.015501344 --0.00835298 -0.00835298 -0.008162808 --3.7359058099999984 -3.7359058099999984 -2.433062 --2.2760762100000003 -2.2760762100000003 -1.8464619 --1.1675321500000002 -1.1675321500000002 -1.0916288 --0.57066748 -0.57066748 -0.5892399 --0.28587138 -0.28587138 -0.31548622 --0.1123701 -0.1123701 -0.13037619 --0.05013146 -0.05013146 -0.059344623 --0.02481673 -0.02481673 -0.029578345 --2.6696867100000006 -2.6696867100000006 -0.15057409 --1.4984133799999988 -1.4984133799999988 -0.17213953 --0.8586817700000005 -0.8586817700000005 -0.1759505 --0.50778423 -0.50778423 -0.16572773 --0.31140258 -0.31140258 -0.1473266 --0.13280041999999997 -0.13280041999999997 -0.10596418 --0.0674855 -0.0674855 -0.07256479 --0.03971345 -0.03971345 -0.049376663 --0.025810100000000002 -0.025810100000000002 -0.033974055 --0.014927240000000001 -0.014927240000000001 -0.020016715 --0.00919646 -0.00919646 -0.011495087 --0.00589439 -0.00589439 -0.0077483137 --2.486839170000003 -2.486839170000003 0.41133165 --1.3919750499999992 -1.3919750499999992 0.100514054 --0.8666200499999999 -0.8666200499999999 -0.079442024 --0.3602871699999999 -0.3602871699999999 -0.14348115 --0.14915149000000005 -0.14915149000000005 -0.09701435 --0.06554971000000001 -0.06554971000000001 -0.057119485 --0.03255729 -0.03255729 -0.033755027 --0.014221049999999999 -0.014221049999999999 -0.016606253 --0.007366510000000001 -0.007366510000000001 -0.007948443 --0.00419869 -0.00419869 -0.0052414215 --2.1054115999999965 -2.1054115999999965 -9.837036 --1.1688860100000005 -1.1688860100000005 -2.7201028 --0.5881147700000002 -0.5881147700000002 -0.87753576 --0.28987292000000003 -0.28987292000000003 -0.34409347 --0.14774446 -0.14774446 -0.16116576 --0.05946048 -0.05946048 -0.06389988 --0.02689718 -0.02689718 -0.02969923 --0.01339684 -0.01339684 -0.015318705 --1.7423239499999994 -1.7423239499999994 0.4444883 --0.8342606799999999 -0.8342606799999999 -0.12593007 --0.39342058 -0.39342058 -0.1714055 --0.19043439 -0.19043439 -0.11651748 --0.09716 -0.09716 -0.068747394 --0.039490899999999995 -0.039490899999999995 -0.030006094 --0.01799245 -0.01799245 -0.014402513 --0.00898943 -0.00898943 -0.008759929 --2.575961790000001 -2.575961790000001 -0.48683405 --1.0967911900000002 -1.0967911900000002 -0.31911063 --0.41707965 -0.41707965 -0.21126479 --0.15859147 -0.15859147 -0.11121136 --0.06426112 -0.06426112 -0.054867845 --0.01973977 -0.01973977 -0.020061 --0.0074584199999999995 -0.0074584199999999995 -0.00874687 --0.0033111200000000003 -0.0033111200000000003 -0.0038428085 --2.6568066700000017 -2.6568066700000017 -0.85530686 --1.7878091299999994 -1.7878091299999994 -0.5822226 --0.83127306 -0.83127306 -0.3573914 --0.39454751 -0.39454751 -0.21893632 --0.19238413000000001 -0.19238413000000001 -0.12621434 --0.09716022000000002 -0.09716022000000002 -0.07022267 --0.03737787 -0.03737787 -0.029275792 --0.015576539999999998 -0.015576539999999998 -0.013060052 --0.00700939 -0.00700939 -0.006518387 --2.71206853 -2.71206853 -0.6402234 --1.3159329199999998 -1.3159329199999998 -0.41428986 --0.6866266999999997 -0.6866266999999997 -0.2881739 --0.3883769300000002 -0.3883769300000002 -0.21146253 --0.23745543999999996 -0.23745543999999996 -0.16062917 --0.10797298 -0.10797298 -0.098272584 --0.058707369999999995 -0.058707369999999995 -0.06275584 --0.03518478 -0.03518478 -0.041221023 --0.022446010000000002 -0.022446010000000002 -0.026406419 --0.01239491 -0.01239491 -0.015989574 --0.00730156 -0.00730156 -0.009089558 --0.00450799 -0.00450799 -0.0060969917 --6.410525250000006 -6.410525250000006 -11.509333 --4.442752720000001 -4.442752720000001 -7.009965 --3.310677649999999 -3.310677649999999 -4.4704494 --2.556056119999999 -2.556056119999999 -2.9984248 --1.5885010999999998 -1.5885010999999998 -1.5605745 --1.0117770899999998 -1.0117770899999998 -0.92918456 --0.65435902 -0.65435902 -0.5924128 --0.42902199 -0.42902199 -0.38881567 --0.23326852999999997 -0.23326852999999997 -0.21295819 --0.1309521 -0.1309521 -0.12042626 --0.07598540000000001 -0.07598540000000001 -0.07033891 --1.468682059999999 -1.468682059999999 0.06429732 --0.8277038100000009 -0.8277038100000009 -0.028891534 --0.49808615000000067 -0.49808615000000067 -0.06839788 --0.31227632000000005 -0.31227632000000005 -0.07809714 --0.13132823999999998 -0.13132823999999998 -0.06298464 --0.061130640000000014 -0.061130640000000014 -0.041946266 --0.031890020000000005 -0.031890020000000005 -0.026638867 --0.018462279999999998 -0.018462279999999998 -0.01695324 --0.00932987 -0.00932987 -0.00900244 --0.00520415 -0.00520415 -0.0046162023 --0.00308478 -0.00308478 -0.0031764195 --3.2130537399999994 -3.2130537399999994 -4.0488424 --2.3596328900000003 -2.3596328900000003 -2.0217333 --1.15220864 -1.15220864 -0.6354265 --0.51682658 -0.51682658 -0.27737913 --0.22821179000000003 -0.22821179000000003 -0.13848582 --0.10423148 -0.10423148 -0.072056614 --0.03592228 -0.03592228 -0.028721051 --0.014205869999999999 -0.014205869999999999 -0.012820238 --0.00633455 -0.00633455 -0.0064959484 --2.1774803899999924 -2.1774803899999924 -1.4079721 --1.7051859 -1.7051859 -1.3779966 --1.3721258200000008 -1.3721258200000008 -1.1728729 --0.8601741400000003 -0.8601741400000003 -0.74993217 --0.51291645 -0.51291645 -0.46276712 --0.30087717 -0.30087717 -0.28709087 --0.17822042 -0.17822042 -0.17947668 --0.08542004 -0.08542004 -0.09116576 --0.04387343 -0.04387343 -0.048608914 --0.02406041 -0.02406041 -0.027327795 --1.8400887699999977 -1.8400887699999977 -0.6211131 --0.9708254699999994 -0.9708254699999994 -0.4145466 --0.5546286899999995 -0.5546286899999995 -0.28577816 --0.33604356000000024 -0.33604356000000024 -0.20192763 --0.13830701 -0.13830701 -0.10674728 --0.06431297999999999 -0.06431297999999999 -0.059890844 --0.03339104 -0.03339104 -0.03518087 --0.019112619999999997 -0.019112619999999997 -0.02151598 --0.00951594 -0.00951594 -0.011037097 --0.00532224 -0.00532224 -0.0053066234 --0.00321237 -0.00321237 -0.0036459859 --1.684563709999999 -1.684563709999999 -1.175756 --1.0048426799999994 -1.0048426799999994 -0.8255792 --0.41765615 -0.41765615 -0.40691552 --0.19270410000000004 -0.19270410000000004 -0.20820959 --0.09739024999999998 -0.09739024999999998 -0.1135858 --0.05368488 -0.05368488 -0.06568889 --0.02492403 -0.02492403 -0.03167354 --0.01281095 -0.01281095 -0.016695527 --0.007054820000000001 -0.007054820000000001 -0.00860659 --2.2145058499999983 -2.2145058499999983 -0.8196333 --1.1772381100000011 -1.1772381100000011 -0.5244086 --0.6581225499999999 -0.6581225499999999 -0.34872538 --0.23642748000000013 -0.23642748000000013 -0.17246874 --0.10181140999999999 -0.10181140999999999 -0.09696471 --0.052045629999999996 -0.052045629999999996 -0.059702523 --0.030415990000000004 -0.030415990000000004 -0.039024394 --0.015861519999999997 -0.015861519999999997 -0.022148915 --0.00917547 -0.00917547 -0.012303409 --0.00565812 -0.00565812 -0.008454791 --1.6422782700000056 -1.6422782700000056 -0.27077782 --1.1433589699999978 -1.1433589699999978 -0.3221166 --0.8342613399999994 -0.8342613399999994 -0.32655185 --0.4538161299999999 -0.4538161299999999 -0.25977445 --0.24570340999999996 -0.24570340999999996 -0.17426312 --0.13469941000000002 -0.13469941000000002 -0.10913599 --0.07599699 -0.07599699 -0.06668251 --0.034479 -0.034479 -0.032056138 --0.0169416 -0.0169416 -0.01605895 --0.00890281 -0.00890281 -0.007268171 --3.835298810000001 -3.835298810000001 -1.8418733 --2.215989630000003 -2.215989630000003 -1.1071335 --1.3444062100000007 -1.3444062100000007 -0.69965196 --0.8529438999999996 -0.8529438999999996 -0.4686867 --0.5617464700000001 -0.5617464700000001 -0.33127093 --0.26667105 -0.26667105 -0.1861454 --0.1394262 -0.1394262 -0.114032075 --0.07883445 -0.07883445 -0.072478235 --0.04737246 -0.04737246 -0.047104754 --0.024072220000000002 -0.024072220000000002 -0.025696553 --0.01320521 -0.01320521 -0.014824302 --0.0076752 -0.0076752 -0.008306902 --3.1817270800000017 -3.1817270800000017 -0.3907529 --1.8192877799999998 -1.8192877799999998 -0.2371828 --1.07935086 -1.07935086 -0.16746116 --0.6579188199999999 -0.6579188199999999 -0.12830572 --0.25825805999999984 -0.25825805999999984 -0.077818364 --0.10972272000000002 -0.10972272000000002 -0.045880042 --0.050865570000000006 -0.050865570000000006 -0.026661249 --0.02572701 -0.02572701 -0.01578442 --0.01068852 -0.01068852 -0.007813126 --0.005117539999999999 -0.005117539999999999 -0.004420033 --0.00271731 -0.00271731 -0.0025736182 --3.038443840000003 -3.038443840000003 -0.8587673 --1.5741967 -1.5741967 -0.5577606 --0.8458187600000002 -0.8458187600000002 -0.3794987 --0.47396945000000024 -0.47396945000000024 -0.27005094 --0.27806317 -0.27806317 -0.19923903 --0.11174390000000001 -0.11174390000000001 -0.11816855 --0.055955019999999994 -0.055955019999999994 -0.076025605 --0.03377261 -0.03377261 -0.051428355 --0.02293186 -0.02293186 -0.03600713 --0.01428837 -0.01428837 -0.022121172 --0.00944132 -0.00944132 -0.0135322455 --0.00643446 -0.00643446 -0.009575461 --2.49255887 -2.49255887 -0.23288405 --1.411926750000001 -1.411926750000001 -0.26788986 --0.8471079999999995 -0.8471079999999995 -0.25512105 --0.5269438599999998 -0.5269438599999998 -0.2192137 --0.21722969999999997 -0.21722969999999997 -0.13775602 --0.09561720999999998 -0.09561720999999998 -0.08028551 --0.04536696999999999 -0.04536696999999999 -0.046668235 --0.023383539999999998 -0.023383539999999998 -0.028038448 --0.01002361 -0.01002361 -0.014392356 --0.0049682699999999995 -0.0049682699999999995 -0.00832996 --0.00274864 -0.00274864 -0.0050315736 --2.852020060000001 -2.852020060000001 -2.8519335 --1.9437572900000006 -1.9437572900000006 -1.8253584 --1.3754291099999998 -1.3754291099999998 -1.201746 --0.7036792300000001 -0.7036792300000001 -0.55848765 --0.35606473 -0.35606473 -0.27715275 --0.17958237999999999 -0.17958237999999999 -0.14421381 --0.09224675 -0.09224675 -0.07730661 --0.036350749999999994 -0.036350749999999994 -0.032248363 --0.015796130000000002 -0.015796130000000002 -0.014657327 --0.00753416 -0.00753416 -0.0072895074 --3.5894518899999994 -3.5894518899999994 -1.354754 --2.7768894500000005 -2.7768894500000005 -1.5553291 --2.1930232000000007 -2.1930232000000007 -1.5000821 --1.3492270700000002 -1.3492270700000002 -1.095643 --0.80652203 -0.80652203 -0.6997788 --0.47377108 -0.47377108 -0.42844734 --0.27818114000000005 -0.27818114000000005 -0.2600595 --0.12898004 -0.12898004 -0.12565263 --0.06325517 -0.06325517 -0.0637942 --0.033013390000000004 -0.033013390000000004 -0.034257125 --2.854500509999994 -2.854500509999994 -2.4893498 --1.8367119500000015 -1.8367119500000015 -1.6582571 --1.213682499999999 -1.213682499999999 -1.0861088 --0.5464699500000001 -0.5464699500000001 -0.47452763 --0.25482565999999995 -0.25482565999999995 -0.22578613 --0.12525631999999998 -0.12525631999999998 -0.11851686 --0.06594736 -0.06594736 -0.06755091 --0.02842587 -0.02842587 -0.03260468 --0.01382994 -0.01382994 -0.017621892 --0.0073604000000000004 -0.0073604000000000004 -0.009438597 --0.9463429600000026 -0.9463429600000026 -0.40563786 --0.6490761299999992 -0.6490761299999992 -0.051118493 --0.32705316999999967 -0.32705316999999967 -0.0880526 --0.13611554000000003 -0.13611554000000003 -0.067876026 --0.05497457 -0.05497457 -0.03990438 --0.016198789999999998 -0.016198789999999998 -0.016428426 --0.00614632 -0.00614632 -0.0074479636 --0.00289422 -0.00289422 -0.003100303 --2.653861580000001 -2.653861580000001 -0.09602469 --1.5013679500000006 -1.5013679500000006 -0.12823035 --0.8748372 -0.8748372 -0.13691387 --0.52819241 -0.52819241 -0.13052006 --0.33030842000000016 -0.33030842000000016 -0.11603441 --0.14353578 -0.14353578 -0.08266878 --0.07166741 -0.07166741 -0.056016687 --0.040371899999999995 -0.040371899999999995 -0.03782047 --0.02498368 -0.02498368 -0.025994956 --0.013661880000000001 -0.013661880000000001 -0.015418708 --0.008161000000000002 -0.008161000000000002 -0.009030972 --0.0051493699999999995 -0.0051493699999999995 -0.006322274 --2.8676897299999986 -2.8676897299999986 -1.0463946 --1.6161133400000018 -1.6161133400000018 -0.7009176 --0.9460670700000007 -0.9460670700000007 -0.47353014 --0.5767480100000002 -0.5767480100000002 -0.325088 --0.24105570999999992 -0.24105570999999992 -0.16074568 --0.11550158999999999 -0.11550158999999999 -0.08554957 --0.061713080000000003 -0.061713080000000003 -0.048392452 --0.03580279 -0.03580279 -0.028799376 --0.017569219999999997 -0.017569219999999997 -0.014210297 --0.0094092 -0.0094092 -0.0075499043 --0.005353930000000001 -0.005353930000000001 -0.0038131748 --4.324307899999997 -4.324307899999997 -1.4754713 --2.5736894799999988 -2.5736894799999988 -1.0014493 --1.57420179 -1.57420179 -0.70419085 --0.9929250700000001 -0.9929250700000001 -0.51016194 --0.6465564400000001 -0.6465564400000001 -0.37802193 --0.30229746999999996 -0.30229746999999996 -0.21833038 --0.15946131000000002 -0.15946131000000002 -0.1328701 --0.09243609 -0.09243609 -0.08426876 --0.05741405 -0.05741405 -0.055376224 --0.03075913 -0.03075913 -0.031230206 --0.01779867 -0.01779867 -0.018718243 --0.01089473 -0.01089473 -0.011076313 --2.1947300500000004 -2.1947300500000004 -0.9724095 --1.2115739899999998 -1.2115739899999998 -0.5749254 --0.6995314100000005 -0.6995314100000005 -0.35287854 --0.25823500999999993 -0.25823500999999993 -0.15021203 --0.10711005999999998 -0.10711005999999998 -0.07480473 --0.04973227 -0.04973227 -0.042131204 --0.02550235 -0.02550235 -0.025945727 --0.010768709999999999 -0.010768709999999999 -0.014146248 --0.005101329999999999 -0.005101329999999999 -0.007974851 --0.00262125 -0.00262125 -0.0058221146 --4.0867737800000015 -4.0867737800000015 -4.667248 --3.1059770899999997 -3.1059770899999997 -2.3206403 --1.5443552499999997 -1.5443552499999997 -0.7954225 --0.6921047999999999 -0.6921047999999999 -0.3906502 --0.30404778 -0.30404778 -0.20139667 --0.1372986 -0.1372986 -0.103130214 --0.0460676 -0.0460676 -0.03920173 --0.01785914 -0.01785914 -0.016631965 --0.00791951 -0.00791951 -0.008917875 --4.07672097 -4.07672097 -5.9306273 --2.261450759999999 -2.261450759999999 -2.8048124 --1.24933022 -1.24933022 -1.3728724 --0.7012984200000003 -0.7012984200000003 -0.7123556 --0.24341083000000002 -0.24341083000000002 -0.23886995 --0.0985742 -0.0985742 -0.10446561 --0.04574944 -0.04574944 -0.05335554 --0.02354962 -0.02354962 -0.029641904 --0.009972519999999999 -0.009972519999999999 -0.013555039 --0.00475618 -0.00475618 -0.0058661336 --0.0025749 -0.0025749 -0.0036621138 --3.1255340099999955 -3.1255340099999955 -1.3466935 --2.350370869999999 -2.350370869999999 -1.4516869 --1.2281260300000003 -1.2281260300000003 -1.0968258 --0.60265856 -0.60265856 -0.65233827 --0.29845406 -0.29845406 -0.35930923 --0.15436819 -0.15436819 -0.19666111 --0.06351561 -0.06351561 -0.083226874 --0.029273379999999998 -0.029273379999999998 -0.038152017 --0.014802889999999999 -0.014802889999999999 -0.01902637 --3.1027740500000007 -3.1027740500000007 -1.2283146 --2.039402850000002 -2.039402850000002 -0.76243746 --0.8746445299999994 -0.8746445299999994 -0.45046073 --0.37547069999999994 -0.37547069999999994 -0.30429482 --0.17327924 -0.17327924 -0.1950627 --0.08968931999999999 -0.08968931999999999 -0.12232418 --0.040350500000000004 -0.040350500000000004 -0.062338393 --0.0208627 -0.0208627 -0.03402022 --0.011702430000000002 -0.011702430000000002 -0.019915517 --2.3606396799999985 -2.3606396799999985 -0.2583928 --1.5578893700000016 -1.5578893700000016 -0.3138975 --1.07447992 -1.07447992 -0.34060127 --0.5012391699999998 -0.5012391699999998 -0.26302183 --0.22639089 -0.22639089 -0.16039738 --0.10419816 -0.10419816 -0.092482194 --0.05103715 -0.05103715 -0.05392597 --0.0203194 -0.0203194 -0.025927458 --0.00949267 -0.00949267 -0.013814143 --0.005006989999999999 -0.005006989999999999 -0.007287011 --3.3517568900000043 -3.3517568900000043 -0.5657685 --2.131921330000001 -2.131921330000001 -0.5265075 --1.4533293700000005 -1.4533293700000005 -0.48742747 --1.0334824999999999 -1.0334824999999999 -0.436922 --0.5553910200000001 -0.5553910200000001 -0.321298 --0.31132936 -0.31132936 -0.21873283 --0.18030419999999997 -0.18030419999999997 -0.14348042 --0.10806895 -0.10806895 -0.093320474 --0.05358959 -0.05358959 -0.049866587 --0.02858799 -0.02858799 -0.02787063 --0.01620738 -0.01620738 -0.016405601 --4.998961800000004 -4.998961800000004 -8.042626 --3.387173339999997 -3.387173339999997 -4.899208 --2.3606405499999994 -2.3606405499999994 -3.0359974 --1.6632344100000003 -1.6632344100000003 -1.9235865 --0.8375017100000002 -0.8375017100000002 -0.8375321 --0.43089355 -0.43089355 -0.4078979 --0.22872682 -0.22872682 -0.21941823 --0.1262297 -0.1262297 -0.12688443 --0.0556489 -0.0556489 -0.061679244 --0.02647912 -0.02647912 -0.033088695 --0.01342896 -0.01342896 -0.019342413 --2.349125479999998 -2.349125479999998 -2.642174 --1.4214822999999974 -1.4214822999999974 -1.5766382 --0.9262622999999994 -0.9262622999999994 -0.96733236 --0.4355033399999999 -0.4355033399999999 -0.4083763 --0.21466041000000002 -0.21466041000000002 -0.19834696 --0.10949377000000002 -0.10949377000000002 -0.10515537 --0.05823728 -0.05823728 -0.058713034 --0.02457664 -0.02457664 -0.02620288 --0.01134014 -0.01134014 -0.012591647 --0.005644229999999999 -0.005644229999999999 -0.005591696 --3.0884293599999992 -3.0884293599999992 0.05764115 --1.7784271800000013 -1.7784271800000013 -0.16047806 --1.0857345400000007 -1.0857345400000007 -0.2338103 --0.6841868500000006 -0.6841868500000006 -0.23413026 --0.28509262999999996 -0.28509262999999996 -0.16878185 --0.12663399 -0.12663399 -0.10542521 --0.06155557999999999 -0.06155557999999999 -0.06404942 --0.033018610000000004 -0.033018610000000004 -0.03952842 --0.015107549999999999 -0.015107549999999999 -0.020310234 --0.00786286 -0.00786286 -0.009952957 --0.004458869999999999 -0.004458869999999999 -0.006611018 --4.007546570000002 -4.007546570000002 -4.2915735 --3.0299107299999974 -3.0299107299999974 -3.1597795 --1.6776611200000002 -1.6776611200000002 -1.7476437 --0.90205598 -0.90205598 -0.97038764 --0.48921427000000006 -0.48921427000000006 -0.544806 --0.27303106 -0.27303106 -0.31335792 --0.12176635999999999 -0.12176635999999999 -0.14427727 --0.05896692 -0.05896692 -0.071440965 --0.03079078 -0.03079078 -0.037821393 --3.0539781100000027 -3.0539781100000027 -0.5191274 --1.813277890000002 -1.813277890000002 -0.4756673 --1.133714059999999 -1.133714059999999 -0.40650114 --0.7324033200000004 -0.7324033200000004 -0.3358655 --0.32584554 -0.32584554 -0.21900022 --0.15751775 -0.15751775 -0.14122967 --0.08306648 -0.08306648 -0.09216012 --0.04744402 -0.04744402 -0.061609283 --0.023028299999999998 -0.023028299999999998 -0.035713024 --0.0123832 -0.0123832 -0.022365427 --0.00716432 -0.00716432 -0.014266306 --2.2163468500000008 -2.2163468500000008 -1.1119723 --2.1446331900000004 -2.1446331900000004 -1.4622581 --1.4890868499999996 -1.4890868499999996 -1.243073 --0.8547689599999999 -0.8547689599999999 -0.78619474 --0.46187791999999994 -0.46187791999999994 -0.45486748 --0.24973726000000002 -0.24973726000000002 -0.2575225 --0.1056136 -0.1056136 -0.112775676 --0.049117629999999995 -0.049117629999999995 -0.052772824 --0.024963179999999998 -0.024963179999999998 -0.02654283 --2.412281059999998 -2.412281059999998 -0.67353725 --1.6072761 -1.6072761 -0.5259515 --0.7841218999999997 -0.7841218999999997 -0.3559489 --0.34579375999999984 -0.34579375999999984 -0.19209366 --0.13802461 -0.13802461 -0.09507196 --0.055793999999999996 -0.055793999999999996 -0.047807734 --0.017342979999999997 -0.017342979999999997 -0.019378524 --0.00684442 -0.00684442 -0.009442241 --0.00325883 -0.00325883 -0.0047814236 --1.517754889999999 -1.517754889999999 0.3986919 --0.9605527699999996 -0.9605527699999996 -0.26070988 --0.56361248 -0.56361248 -0.33572504 --0.32184727999999996 -0.32184727999999996 -0.25601825 --0.18600279 -0.18600279 -0.17062724 --0.08657024 -0.08657024 -0.0871621 --0.043633740000000004 -0.043633740000000004 -0.045677494 --0.023648319999999997 -0.023648319999999997 -0.025528837 --5.585173830000002 -5.585173830000002 -10.772657 --3.3264204900000003 -3.3264204900000003 -5.2846756 --2.1249876000000008 -2.1249876000000008 -2.6748743 --0.9544539199999997 -0.9544539199999997 -0.7994002 --0.45438565 -0.45438565 -0.30989313 --0.22526406000000002 -0.22526406000000002 -0.14813358 --0.11659892999999999 -0.11659892999999999 -0.079267085 --0.047488899999999994 -0.047488899999999994 -0.0347675 --0.02138087 -0.02138087 -0.016826592 --0.01049924 -0.01049924 -0.008855935 --3.2183105199999957 -3.2183105199999957 -5.155996 --1.7857847400000004 -1.7857847400000004 -2.5439978 --1.0561265200000012 -1.0561265200000012 -1.296618 --0.4143951699999997 -0.4143951699999997 -0.39725232 --0.18368169 -0.18368169 -0.16448344 --0.09198873 -0.09198873 -0.087184526 --0.05147302999999999 -0.05147302999999999 -0.05296711 --0.024864229999999998 -0.024864229999999998 -0.028392093 --0.01345453 -0.01345453 -0.016648034 --0.007800189999999999 -0.007800189999999999 -0.009797992 --2.2432414299999994 -2.2432414299999994 -1.5403852 --1.2314724099999999 -1.2314724099999999 -0.97256666 --0.59591966 -0.59591966 -0.5243499 --0.28572954 -0.28572954 -0.27200183 --0.10313958000000001 -0.10313958000000001 -0.105049826 --0.04236797 -0.04236797 -0.044799436 --0.01956622 -0.01956622 -0.021146156 --3.2061168799999997 -3.2061168799999997 -0.555277 --1.8523682899999994 -1.8523682899999994 -0.3606379 --1.0594761300000002 -1.0594761300000002 -0.23049906 --0.6062098300000001 -0.6062098300000001 -0.14764386 --0.34876408999999997 -0.34876408999999997 -0.09593881 --0.12079060000000003 -0.12079060000000003 -0.04362644 --0.04671607 -0.04671607 -0.02230455 --0.020877780000000002 -0.020877780000000002 -0.012667527 --0.01068821 -0.01068821 -0.0072593577 --0.00464027 -0.00464027 -0.004199499 --0.00236704 -0.00236704 -0.0023396558 --0.0012661 -0.0012661 -0.0010921186 +-2.9867738300000006 -2.9867738300000006 9645.067913247896 +-1.7410505799999996 -1.7410505799999996 5467.872825911109 +-1.0313661500000002 -1.0313661500000002 2998.9444314143825 +-0.6197615399999998 -0.6197615399999998 1569.8681184562117 +-0.23255161999999996 -0.23255161999999996 295.5469086695603 +-0.09287790000000001 -0.09287790000000001 -102.3170586493717 +-0.0404051 -0.0404051 -222.94646710860525 +-0.01939309 -0.01939309 -258.9591323277562 +-0.00766772 -0.00766772 -272.0802136234352 +-0.0035559999999999997 -0.0035559999999999997 -275.59330915375295 +-0.00184514 -0.00184514 -278.5942083901596 +-1.2872213200000004 -1.2872213200000004 7240.755040812263 +-0.6462609600000002 -0.6462609600000002 4492.960439122855 +-0.31944003 -0.31944003 2949.5078947580523 +-0.15671598 -0.15671598 2010.552447169475 +-0.08046444999999999 -0.08046444999999999 1479.3572566679154 +-0.03361341 -0.03361341 1078.0422269977728 +-0.0160983 -0.0160983 888.5641343153957 +-0.00853081 -0.00853081 789.9063970366691 +-3.340312500000003 -3.340312500000003 9561.537115542109 +-1.973259070000001 -1.973259070000001 5408.374331602012 +-0.7320812799999996 -0.7320812799999996 1311.836564021145 +-0.28770668 -0.28770668 -163.8345250611128 +-0.12046013000000003 -0.12046013000000003 -681.0045725714116 +-0.054086669999999996 -0.054086669999999996 -835.66063364011 +-0.0186238 -0.0186238 -828.9696834949009 +-0.00735808 -0.00735808 -741.8377085409093 +-0.00325321 -0.00325321 -649.9815169425319 +-4.1805351900000005 -4.1805351900000005 -13481.121370906907 +-2.6979595399999994 -2.6979595399999994 -9446.400986823299 +-1.8021193900000014 -1.8021193900000014 -6935.466920300846 +-0.8274635200000002 -0.8274635200000002 -4201.6506725837635 +-0.3871570000000001 -0.3871570000000001 -2887.5671354444585 +-0.18752875 -0.18752875 -2173.7395693754634 +-0.09525278000000001 -0.09525278000000001 -1745.530770965166 +-0.038059380000000004 -0.038059380000000004 -1367.63280366119 +-0.01699881 -0.01699881 -1151.9353571518982 +-0.00835298 -0.00835298 -1020.7291518735428 +-3.7359058099999984 -3.7359058099999984 4473.481279730469 +-2.2760762100000003 -2.2760762100000003 7335.8173252770675 +-1.1675321500000002 -1.1675321500000002 4551.920375612157 +-0.57066748 -0.57066748 2411.042913452026 +-0.28587138 -0.28587138 1207.5727533097104 +-0.1123701 -0.1123701 350.40542712912145 +-0.05013146 -0.05013146 -20.758164919055456 +-0.02481673 -0.02481673 -202.97427379744335 +-2.6696867100000006 -2.6696867100000006 -2212.0489567743666 +-1.4984133799999988 -1.4984133799999988 -1389.914649933793 +-0.8586817700000005 -0.8586817700000005 -821.6006914777402 +-0.50778423 -0.50778423 -476.3129040250452 +-0.31140258 -0.31140258 -286.1699214782628 +-0.13280041999999997 -0.13280041999999997 -159.04131189334578 +-0.0674855 -0.0674855 -171.57687958488364 +-0.03971345 -0.03971345 -219.02912562538023 +-0.025810100000000002 -0.025810100000000002 -266.2994085848056 +-0.014927240000000001 -0.014927240000000001 -318.8905564861371 +-0.00919646 -0.00919646 -350.31689362056335 +-0.00589439 -0.00589439 -367.34604520267936 +-2.486839170000003 -2.486839170000003 7055.682407681632 +-1.3919750499999992 -1.3919750499999992 3938.642359919847 +-0.8666200499999999 -0.8666200499999999 2592.240660731893 +-0.3602871699999999 -0.3602871699999999 1462.3182194520696 +-0.14915149000000005 -0.14915149000000005 884.5606505492617 +-0.06554971000000001 -0.06554971000000001 507.0543041139504 +-0.03255729 -0.03255729 261.2622332956695 +-0.014221049999999999 -0.014221049999999999 44.863098558698994 +-0.007366510000000001 -0.007366510000000001 -71.39552108208716 +-0.00419869 -0.00419869 -136.5622749159364 +-2.1054115999999965 -2.1054115999999965 -16012.624625439596 +-1.1688860100000005 -1.1688860100000005 -6861.570825693908 +-0.5881147700000002 -0.5881147700000002 -3143.547610279889 +-0.28987292000000003 -0.28987292000000003 -1573.3220203603732 +-0.14774446 -0.14774446 -859.9327781097028 +-0.05946048 -0.05946048 -400.4931621411519 +-0.02689718 -0.02689718 -211.47004343199816 +-0.01339684 -0.01339684 -120.34057070192942 +-1.7423239499999994 -1.7423239499999994 -2632.2286391089838 +-0.8342606799999999 -0.8342606799999999 -2491.8438235810668 +-0.39342058 -0.39342058 -1859.8655820913725 +-0.19043439 -0.19043439 -1363.109861558622 +-0.09716 -0.09716 -1033.5263387601012 +-0.039490899999999995 -0.039490899999999995 -744.4801474717174 +-0.01799245 -0.01799245 -592.6475352590259 +-0.00898943 -0.00898943 -493.37402828253323 +-2.575961790000001 -2.575961790000001 212.86857050321106 +-1.0967911900000002 -1.0967911900000002 5717.764470679056 +-0.41707965 -0.41707965 3589.3278281235266 +-0.15859147 -0.15859147 1837.7679239371987 +-0.06426112 -0.06426112 907.9844141111954 +-0.01973977 -0.01973977 276.3507684709059 +-0.0074584199999999995 -0.0074584199999999995 21.03372036009035 +-0.0033111200000000003 -0.0033111200000000003 -89.58993346281302 +-2.6568066700000017 -2.6568066700000017 2682.3354133883254 +-1.7878091299999994 -1.7878091299999994 860.1870700306913 +-0.83127306 -0.83127306 -983.619392282701 +-0.39454751 -0.39454751 -1185.3789414925125 +-0.19238413000000001 -0.19238413000000001 -918.3007106500627 +-0.09716022000000002 -0.09716022000000002 -646.3842411216779 +-0.03737787 -0.03737787 -394.9799243246431 +-0.015576539999999998 -0.015576539999999998 -282.06549263009276 +-0.00700939 -0.00700939 -239.58472325329004 +-2.71206853 -2.71206853 1712.7789181841008 +-1.3159329199999998 -1.3159329199999998 1238.3284403409898 +-0.6866266999999997 -0.6866266999999997 949.8819394022555 +-0.3883769300000002 -0.3883769300000002 782.4188657685805 +-0.23745543999999996 -0.23745543999999996 686.6788159179706 +-0.10797298 -0.10797298 596.5678883137554 +-0.058707369999999995 -0.058707369999999995 554.8626943801934 +-0.03518478 -0.03518478 525.0223932586623 +-0.022446010000000002 -0.022446010000000002 498.86711981168037 +-0.01239491 -0.01239491 465.0135488377335 +-0.00730156 -0.00730156 438.2788550006908 +-0.00450799 -0.00450799 418.21257027881876 +-6.410525250000006 -6.410525250000006 32.85213194286039 +-4.442752720000001 -4.442752720000001 -2314.3473666350965 +-3.310677649999999 -3.310677649999999 -3667.030275080795 +-2.556056119999999 -2.556056119999999 -4249.220752513504 +-1.5885010999999998 -1.5885010999999998 -4095.113931053754 +-1.0117770899999998 -1.0117770899999998 -3292.7377086965903 +-0.65435902 -0.65435902 -2478.6695853645265 +-0.42902199 -0.42902199 -1837.784323067283 +-0.23326852999999997 -0.23326852999999997 -1203.9796472488765 +-0.1309521 -0.1309521 -841.220758248081 +-0.07598540000000001 -0.07598540000000001 -633.5769828310666 +-1.468682059999999 -1.468682059999999 -5330.835687938502 +-0.8277038100000009 -0.8277038100000009 -3214.154499001694 +-0.49808615000000067 -0.49808615000000067 -1890.2256028781305 +-0.31227632000000005 -0.31227632000000005 -1056.724614136189 +-0.13132823999999998 -0.13132823999999998 -210.20520914117174 +-0.061130640000000014 -0.061130640000000014 97.73577826906043 +-0.031890020000000005 -0.031890020000000005 178.61847022124684 +-0.018462279999999998 -0.018462279999999998 164.0775918884372 +-0.00932987 -0.00932987 82.20652751137806 +-0.00520415 -0.00520415 -8.621535923987853 +-0.00308478 -0.00308478 -87.91332516787469 +-3.2130537399999994 -3.2130537399999994 -1523.0569651310889 +-2.3596328900000003 -2.3596328900000003 2073.9727615232096 +-1.15220864 -1.15220864 3173.7459671930937 +-0.51682658 -0.51682658 2002.8186511102167 +-0.22821179000000003 -0.22821179000000003 1031.5533088529078 +-0.10423148 -0.10423148 469.97340865232945 +-0.03592228 -0.03592228 71.48242782542957 +-0.014205869999999999 -0.014205869999999999 -92.71333308465208 +-0.00633455 -0.00633455 -166.77671363321153 +-2.1774803899999924 -2.1774803899999924 -18286.962364359537 +-1.7051859 -1.7051859 -13896.540606716313 +-1.3721258200000008 -1.3721258200000008 -10138.832291741273 +-0.8601741400000003 -0.8601741400000003 -5251.239259268854 +-0.51291645 -0.51291645 -2848.9569972564896 +-0.30087717 -0.30087717 -1710.6403635212457 +-0.17822042 -0.17822042 -1162.4030645352984 +-0.08542004 -0.08542004 -804.6427586839508 +-0.04387343 -0.04387343 -662.4293027953421 +-0.02406041 -0.02406041 -597.3721336150999 +-1.8400887699999977 -1.8400887699999977 2488.882199553595 +-0.9708254699999994 -0.9708254699999994 1019.6489409529795 +-0.5546286899999995 -0.5546286899999995 266.72313737819724 +-0.33604356000000024 -0.33604356000000024 -128.88684796393878 +-0.13830701 -0.13830701 -462.28844063758925 +-0.06431297999999999 -0.06431297999999999 -573.8041936259269 +-0.03339104 -0.03339104 -618.5607055324499 +-0.019112619999999997 -0.019112619999999997 -640.6133332815238 +-0.00951594 -0.00951594 -658.7043151846602 +-0.00532224 -0.00532224 -669.8580976538876 +-0.00321237 -0.00321237 -677.8019776368319 +-1.684563709999999 -1.684563709999999 3643.197927292518 +-1.0048426799999994 -1.0048426799999994 2140.3945488040836 +-0.41765615 -0.41765615 973.0846733241611 +-0.19270410000000004 -0.19270410000000004 625.2759405019023 +-0.09739024999999998 -0.09739024999999998 487.9769113493625 +-0.05368488 -0.05368488 419.13419452738134 +-0.02492403 -0.02492403 367.70230957130326 +-0.01281095 -0.01281095 344.7237508081323 +-0.007054820000000001 -0.007054820000000001 334.48651968526025 +-2.2145058499999983 -2.2145058499999983 -10221.645272975737 +-1.1772381100000011 -1.1772381100000011 -7421.199125990088 +-0.6581225499999999 -0.6581225499999999 -5533.932395582314 +-0.23642748000000013 -0.23642748000000013 -3294.6750759539277 +-0.10181140999999999 -0.10181140999999999 -2109.569064367193 +-0.052045629999999996 -0.052045629999999996 -1429.682956696754 +-0.030415990000000004 -0.030415990000000004 -1014.733939300879 +-0.015861519999999997 -0.015861519999999997 -651.6302857775954 +-0.00917547 -0.00917547 -449.3686548721074 +-0.00565812 -0.00565812 -328.95659892361283 +-1.6422782700000056 -1.6422782700000056 -17732.517069310114 +-1.1433589699999978 -1.1433589699999978 -12703.92295938514 +-0.8342613399999994 -0.8342613399999994 -9238.689864196336 +-0.4538161299999999 -0.4538161299999999 -5213.239244851235 +-0.24570340999999996 -0.24570340999999996 -3231.649880086271 +-0.13469941000000002 -0.13469941000000002 -2185.503952975331 +-0.07599699 -0.07599699 -1590.2148755583935 +-0.034479 -0.034479 -1097.217721489385 +-0.0169416 -0.0169416 -830.6441318016751 +-0.00890281 -0.00890281 -671.8020910607239 +-3.835298810000001 -3.835298810000001 -1587.6114643967203 +-2.215989630000003 -2.215989630000003 -1122.6233988459128 +-1.3444062100000007 -1.3444062100000007 -907.2342611643115 +-0.8529438999999996 -0.8529438999999996 -782.5530935838688 +-0.5617464700000001 -0.5617464700000001 -695.3093873232066 +-0.26667105 -0.26667105 -573.4405476839977 +-0.1394262 -0.1394262 -494.20357168596047 +-0.07883445 -0.07883445 -443.10630776014386 +-0.04737246 -0.04737246 -410.31213557670014 +-0.024072220000000002 -0.024072220000000002 -381.3290672331577 +-0.01320521 -0.01320521 -365.67808278512206 +-0.0076752 -0.0076752 -357.0699689611692 +-3.1817270800000017 -3.1817270800000017 -7534.283771541745 +-1.8192877799999998 -1.8192877799999998 -5475.472158214798 +-1.07935086 -1.07935086 -3784.7175051018794 +-0.6579188199999999 -0.6579188199999999 -2511.396012040719 +-0.25825805999999984 -0.25825805999999984 -969.3980681047623 +-0.10972272000000002 -0.10972272000000002 -263.9880248008172 +-0.050865570000000006 -0.050865570000000006 22.92472520715426 +-0.02572701 -0.02572701 111.82467489884725 +-0.01068852 -0.01068852 94.15331505135026 +-0.005117539999999999 -0.005117539999999999 21.089056425216185 +-0.00271731 -0.00271731 -54.86152778478409 +-3.038443840000003 -3.038443840000003 -2141.894069225806 +-1.5741967 -1.5741967 -1482.2977775103427 +-0.8458187600000002 -0.8458187600000002 -1073.930673800338 +-0.47396945000000024 -0.47396945000000024 -823.3598947706015 +-0.27806317 -0.27806317 -670.8984013196662 +-0.11174390000000001 -0.11174390000000001 -526.2463313789875 +-0.055955019999999994 -0.055955019999999994 -481.6352359606423 +-0.03377261 -0.03377261 -474.7472586201883 +-0.02293186 -0.02293186 -480.95766493069544 +-0.01428837 -0.01428837 -495.7191724298175 +-0.00944132 -0.00944132 -509.16988142543437 +-0.00643446 -0.00643446 -519.5728687920581 +-2.49255887 -2.49255887 7599.39104115304 +-1.411926750000001 -1.411926750000001 5072.439219871704 +-0.8471079999999995 -0.8471079999999995 3500.2485774659212 +-0.5269438599999998 -0.5269438599999998 2481.854090805007 +-0.21722969999999997 -0.21722969999999997 1347.3337293152 +-0.09561720999999998 -0.09561720999999998 815.1954304742696 +-0.04536696999999999 -0.04536696999999999 547.5996325257738 +-0.023383539999999998 -0.023383539999999998 399.57708383977456 +-0.01002361 -0.01002361 275.2149834572341 +-0.0049682699999999995 -0.0049682699999999995 203.13365607410475 +-0.00274864 -0.00274864 156.43112475321902 +-2.852020060000001 -2.852020060000001 -15640.986062534354 +-1.9437572900000006 -1.9437572900000006 -11005.629006892055 +-1.3754291099999998 -1.3754291099999998 -7574.667835737806 +-0.7036792300000001 -0.7036792300000001 -3455.471822898094 +-0.35606473 -0.35606473 -1618.2668421273136 +-0.17958237999999999 -0.17958237999999999 -885.2049246233508 +-0.09224675 -0.09224675 -624.7717303799343 +-0.036350749999999994 -0.036350749999999994 -545.4295934222284 +-0.015796130000000002 -0.015796130000000002 -569.3676672475598 +-0.00753416 -0.00753416 -608.7150726121406 +-3.5894518899999994 -3.5894518899999994 10167.65715238798 +-2.7768894500000005 -2.7768894500000005 4922.8773017280655 +-2.1930232000000007 -2.1930232000000007 2524.7843898564806 +-1.3492270700000002 -1.3492270700000002 1331.5819504375747 +-0.80652203 -0.80652203 1333.6595661951928 +-0.47377108 -0.47377108 1248.6024444460434 +-0.27818114000000005 -0.27818114000000005 1010.3338295092617 +-0.12898004 -0.12898004 608.2098374454309 +-0.06325517 -0.06325517 296.77555628376604 +-0.033013390000000004 -0.033013390000000004 85.57398301863677 +-2.854500509999994 -2.854500509999994 4477.335576912961 +-1.8367119500000015 -1.8367119500000015 3014.700168422782 +-1.213682499999999 -1.213682499999999 2166.314750910531 +-0.5464699500000001 -0.5464699500000001 1160.867627329587 +-0.25482565999999995 -0.25482565999999995 519.1138469626869 +-0.12525631999999998 -0.12525631999999998 97.13155769319995 +-0.06594736 -0.06594736 -163.0990287359024 +-0.02842587 -0.02842587 -362.7301380047879 +-0.01382994 -0.01382994 -442.4683585638098 +-0.0073604000000000004 -0.0073604000000000004 -469.9980543248774 +-0.9463429600000026 -0.9463429600000026 -23742.32696261474 +-0.6490761299999992 -0.6490761299999992 -7330.145153281418 +-0.32705316999999967 -0.32705316999999967 -1766.3146828030551 +-0.13611554000000003 -0.13611554000000003 -136.88323411357578 +-0.05497457 -0.05497457 418.95719076059635 +-0.016198789999999998 -0.016198789999999998 646.2540538259025 +-0.00614632 -0.00614632 617.1683983710323 +-0.00289422 -0.00289422 530.1926550494977 +-2.653861580000001 -2.653861580000001 -1463.0753467346367 +-1.5013679500000006 -1.5013679500000006 -2150.677115686171 +-0.8748372 -0.8748372 -2175.042151575778 +-0.52819241 -0.52819241 -2000.326304372449 +-0.33030842000000016 -0.33030842000000016 -1790.1271298588808 +-0.14353578 -0.14353578 -1430.560128566904 +-0.07166741 -0.07166741 -1180.5062455695693 +-0.040371899999999995 -0.040371899999999995 -1011.9569969962329 +-0.02498368 -0.02498368 -897.558757572107 +-0.013661880000000001 -0.013661880000000001 -788.9095884145743 +-0.008161000000000002 -0.008161000000000002 -724.6633473369253 +-0.0051493699999999995 -0.0051493699999999995 -685.2332607109217 +-2.8676897299999986 -2.8676897299999986 -958.3581431978757 +-1.6161133400000018 -1.6161133400000018 -1406.0748917355063 +-0.9460670700000007 -0.9460670700000007 -1452.36110440122 +-0.5767480100000002 -0.5767480100000002 -1352.7388457794364 +-0.24105570999999992 -0.24105570999999992 -1048.8669398554482 +-0.11550158999999999 -0.11550158999999999 -779.7603876211384 +-0.061713080000000003 -0.061713080000000003 -593.244502661979 +-0.03580279 -0.03580279 -477.03621954414024 +-0.017569219999999997 -0.017569219999999997 -384.79925217772967 +-0.0094092 -0.0094092 -342.54741362903275 +-0.005353930000000001 -0.005353930000000001 -322.05062919528973 +-4.324307899999997 -4.324307899999997 2062.043493165714 +-2.5736894799999988 -2.5736894799999988 1057.2926557801352 +-1.57420179 -1.57420179 349.60644222126774 +-0.9929250700000001 -0.9929250700000001 -117.02203276168444 +-0.6465564400000001 -0.6465564400000001 -411.08100000556067 +-0.30229746999999996 -0.30229746999999996 -687.9392105784951 +-0.15946131000000002 -0.15946131000000002 -757.8268092840683 +-0.09243609 -0.09243609 -748.376902146521 +-0.05741405 -0.05741405 -714.0152119909079 +-0.03075913 -0.03075913 -658.9718258711843 +-0.01779867 -0.01779867 -615.873630370374 +-0.01089473 -0.01089473 -585.8860817653751 +-2.1947300500000004 -2.1947300500000004 2367.299973959655 +-1.2115739899999998 -1.2115739899999998 2107.045752185212 +-0.6995314100000005 -0.6995314100000005 1745.0060597482452 +-0.25823500999999993 -0.25823500999999993 954.7878758146572 +-0.10711005999999998 -0.10711005999999998 357.8600687779208 +-0.04973227 -0.04973227 -7.820958538723768 +-0.02550235 -0.02550235 -212.884643048623 +-0.010768709999999999 -0.010768709999999999 -354.2308657135086 +-0.005101329999999999 -0.005101329999999999 -401.216487748662 +-0.00262125 -0.00262125 -410.1337803945315 +-4.0867737800000015 -4.0867737800000015 5877.362689246314 +-3.1059770899999997 -3.1059770899999997 6557.511704464749 +-1.5443552499999997 -1.5443552499999997 5912.255633588786 +-0.6921047999999999 -0.6921047999999999 3739.4627671747103 +-0.30404778 -0.30404778 2077.371028047912 +-0.1372986 -0.1372986 1063.639220093114 +-0.0460676 -0.0460676 242.22475846425132 +-0.01785914 -0.01785914 -158.31204703068457 +-0.00791951 -0.00791951 -361.53979374822313 +-4.07672097 -4.07672097 -8534.364888107193 +-2.261450759999999 -2.261450759999999 -5559.931849970873 +-1.24933022 -1.24933022 -3958.231205405601 +-0.7012984200000003 -0.7012984200000003 -3066.414385573126 +-0.24341083000000002 -0.24341083000000002 -2136.0628668128975 +-0.0985742 -0.0985742 -1632.2220498334814 +-0.04574944 -0.04574944 -1303.50225984721 +-0.02354962 -0.02354962 -1072.9698945680884 +-0.009972519999999999 -0.009972519999999999 -842.3580991348055 +-0.00475618 -0.00475618 -699.9499470517247 +-0.0025749 -0.0025749 -611.5448110201569 +-3.1255340099999955 -3.1255340099999955 19305.740395545254 +-2.350370869999999 -2.350370869999999 13623.313340903282 +-1.2281260300000003 -1.2281260300000003 7207.976470802454 +-0.60265856 -0.60265856 4200.224823388474 +-0.29845406 -0.29845406 2611.4119603410786 +-0.15436819 -0.15436819 1666.0534061219412 +-0.06351561 -0.06351561 830.336501224173 +-0.029273379999999998 -0.029273379999999998 356.97208610600575 +-0.014802889999999999 -0.014802889999999999 75.50684119573721 +-3.1027740500000007 -3.1027740500000007 -12951.535870179017 +-2.039402850000002 -2.039402850000002 -7324.460433175754 +-0.8746445299999994 -0.8746445299999994 -2474.666974253678 +-0.37547069999999994 -0.37547069999999994 -785.1680711614641 +-0.17327924 -0.17327924 -130.4303518270624 +-0.08968931999999999 -0.08968931999999999 125.80312694483754 +-0.040350500000000004 -0.040350500000000004 247.1573252436526 +-0.0208627 -0.0208627 272.8547315922421 +-0.011702430000000002 -0.011702430000000002 275.21353689861394 +-2.3606396799999985 -2.3606396799999985 -2587.6743466488233 +-1.5578893700000016 -1.5578893700000016 -1848.0501964230475 +-1.07447992 -1.07447992 -1335.4176615442589 +-0.5012391699999998 -0.5012391699999998 -786.4850261466638 +-0.22639089 -0.22639089 -568.4099717965341 +-0.10419816 -0.10419816 -474.1025371233666 +-0.05103715 -0.05103715 -422.50800218379544 +-0.0203194 -0.0203194 -372.1063078416192 +-0.00949267 -0.00949267 -336.03517623259603 +-0.005006989999999999 -0.005006989999999999 -309.172841692201 +-3.3517568900000043 -3.3517568900000043 -561.4306871407881 +-2.131921330000001 -2.131921330000001 -2454.7081517085558 +-1.4533293700000005 -1.4533293700000005 -3014.0411812203156 +-1.0334824999999999 -1.0334824999999999 -2937.501186368726 +-0.5553910200000001 -0.5553910200000001 -2128.9733821487366 +-0.31132936 -0.31132936 -1247.9649926828608 +-0.18030419999999997 -0.18030419999999997 -573.3683738914976 +-0.10806895 -0.10806895 -116.37201929867557 +-0.05358959 -0.05358959 278.934225487863 +-0.02858799 -0.02858799 472.9208008732056 +-0.01620738 -0.01620738 567.0351215296473 +-4.998961800000004 -4.998961800000004 -4863.86992180577 +-3.387173339999997 -3.387173339999997 -4076.968690191316 +-2.3606405499999994 -2.3606405499999994 -3293.4524531913125 +-1.6632344100000003 -1.6632344100000003 -2670.805686289817 +-0.8375017100000002 -0.8375017100000002 -1879.3369281370183 +-0.43089355 -0.43089355 -1455.8861692320384 +-0.22872682 -0.22872682 -1202.299853406938 +-0.1262297 -0.1262297 -1027.5665111343444 +-0.0556489 -0.0556489 -839.2270744275529 +-0.02647912 -0.02647912 -703.7622816515013 +-0.01342896 -0.01342896 -604.5114771430723 +-2.349125479999998 -2.349125479999998 -2485.862847340728 +-1.4214822999999974 -1.4214822999999974 -331.75468822225724 +-0.9262622999999994 -0.9262622999999994 418.8775709891337 +-0.4355033399999999 -0.4355033399999999 496.09168568955954 +-0.21466041000000002 -0.21466041000000002 234.5352025473537 +-0.10949377000000002 -0.10949377000000002 50.58683645548249 +-0.05823728 -0.05823728 -49.621065608032445 +-0.02457664 -0.02457664 -121.84654717795213 +-0.01134014 -0.01134014 -158.70449915355348 +-0.005644229999999999 -0.005644229999999999 -183.1180005501097 +-3.0884293599999992 -3.0884293599999992 16410.997893696273 +-1.7784271800000013 -1.7784271800000013 11188.346347529154 +-1.0857345400000007 -1.0857345400000007 8030.520227748827 +-0.6841868500000006 -0.6841868500000006 5993.677061001848 +-0.28509262999999996 -0.28509262999999996 3616.119858542121 +-0.12663399 -0.12663399 2363.3033528312653 +-0.06155557999999999 -0.06155557999999999 1672.2671297405773 +-0.033018610000000004 -0.033018610000000004 1288.6209876742378 +-0.015107549999999999 -0.015107549999999999 1009.6998736359935 +-0.00786286 -0.00786286 897.7155522931722 +-0.004458869999999999 -0.004458869999999999 855.1783721531332 +-4.007546570000002 -4.007546570000002 -20668.292659178744 +-3.0299107299999974 -3.0299107299999974 -12983.703693249188 +-1.6776611200000002 -1.6776611200000002 -5919.845343611571 +-0.90205598 -0.90205598 -2865.776830283572 +-0.48921427000000006 -0.48921427000000006 -1365.441942257546 +-0.27303106 -0.27303106 -626.7286079670613 +-0.12176635999999999 -0.12176635999999999 -179.9629917416982 +-0.05896692 -0.05896692 -49.53874629792663 +-0.03079078 -0.03079078 -21.096201967177056 +-3.0539781100000027 -3.0539781100000027 -538.2450140049639 +-1.813277890000002 -1.813277890000002 -674.698901445856 +-1.133714059999999 -1.133714059999999 -721.2366139078305 +-0.7324033200000004 -0.7324033200000004 -718.8362402096536 +-0.32584554 -0.32584554 -669.1816833530944 +-0.15751775 -0.15751775 -620.4453485051146 +-0.08306648 -0.08306648 -589.0927754182444 +-0.04744402 -0.04744402 -573.4753700180189 +-0.023028299999999998 -0.023028299999999998 -569.0694525653702 +-0.0123832 -0.0123832 -575.9726420982873 +-0.00716432 -0.00716432 -586.5941055993176 +-2.2163468500000008 -2.2163468500000008 12655.08037926391 +-2.1446331900000004 -2.1446331900000004 10576.274787849447 +-1.4890868499999996 -1.4890868499999996 6951.598489615385 +-0.8547689599999999 -0.8547689599999999 4329.008979288892 +-0.46187791999999994 -0.46187791999999994 2594.8272832279786 +-0.24973726000000002 -0.24973726000000002 1499.8692430025342 +-0.1056136 -0.1056136 578.0553928153461 +-0.049117629999999995 -0.049117629999999995 111.80896894090402 +-0.024963179999999998 -0.024963179999999998 -137.15332627439082 +-2.412281059999998 -2.412281059999998 -8696.871657011265 +-1.6072761 -1.6072761 -4626.920449637295 +-0.7841218999999997 -0.7841218999999997 -1178.3505194760585 +-0.34579375999999984 -0.34579375999999984 -433.8691005674942 +-0.13802461 -0.13802461 -352.04222886074245 +-0.055793999999999996 -0.055793999999999996 -378.2231565209426 +-0.017342979999999997 -0.017342979999999997 -420.7671742373271 +-0.00684442 -0.00684442 -443.48746511116263 +-0.00325883 -0.00325883 -453.9258825356302 +-1.517754889999999 -1.517754889999999 12515.549956638179 +-0.9605527699999996 -0.9605527699999996 6464.505287772138 +-0.56361248 -0.56361248 3262.7734109521934 +-0.32184727999999996 -0.32184727999999996 1573.4731748202953 +-0.18600279 -0.18600279 658.0478119106688 +-0.08657024 -0.08657024 -23.455141949698262 +-0.043633740000000004 -0.043633740000000004 -331.1051236383345 +-0.023648319999999997 -0.023648319999999997 -479.80205487136146 +-5.585173830000002 -5.585173830000002 17633.618682204728 +-3.3264204900000003 -3.3264204900000003 9420.290331452074 +-2.1249876000000008 -2.1249876000000008 5394.758346677511 +-0.9544539199999997 -0.9544539199999997 2219.050701474884 +-0.45438565 -0.45438565 1017.7782863950644 +-0.22526406000000002 -0.22526406000000002 396.377523698455 +-0.11659892999999999 -0.11659892999999999 66.60152412132071 +-0.047488899999999994 -0.047488899999999994 -137.57461219434583 +-0.02138087 -0.02138087 -186.93890217021547 +-0.01049924 -0.01049924 -183.87953426611128 +-3.2183105199999957 -3.2183105199999957 6027.738907262479 +-1.7857847400000004 -1.7857847400000004 3809.5093581981737 +-1.0561265200000012 -1.0561265200000012 2822.1750697968455 +-0.4143951699999997 -0.4143951699999997 1817.517677783831 +-0.18368169 -0.18368169 1109.9819651427895 +-0.09198873 -0.09198873 569.272595612785 +-0.05147302999999999 -0.05147302999999999 188.1701947953984 +-0.024864229999999998 -0.024864229999999998 -156.46321134863973 +-0.01345453 -0.01345453 -333.4447163289532 +-0.007800189999999999 -0.007800189999999999 -422.49929683748076 +-2.2432414299999994 -2.2432414299999994 1485.9985184748969 +-1.2314724099999999 -1.2314724099999999 2937.614992361822 +-0.59591966 -0.59591966 1869.8167655496363 +-0.28572954 -0.28572954 1038.5230503545438 +-0.10313958000000001 -0.10313958000000001 339.25646426381434 +-0.04236797 -0.04236797 -44.98157568248315 +-0.01956622 -0.01956622 -271.8520558288503 +-3.2061168799999997 -3.2061168799999997 1348.8190198246825 +-1.8523682899999994 -1.8523682899999994 154.23377292454393 +-1.0594761300000002 -1.0594761300000002 -337.8071839148461 +-0.6062098300000001 -0.6062098300000001 -512.6210165744237 +-0.34876408999999997 -0.34876408999999997 -559.2914818204828 +-0.12079060000000003 -0.12079060000000003 -542.3636390242798 +-0.04671607 -0.04671607 -503.5523487130452 +-0.020877780000000002 -0.020877780000000002 -470.92745263244996 +-0.01068821 -0.01068821 -445.54612993753165 +-0.00464027 -0.00464027 -417.5415812667439 +-0.00236704 -0.00236704 -397.9640713754221 +-0.0012661 -0.0012661 -384.1503109119871 diff --git a/examples/peg_slater_isa/res_tot.xvg b/examples/peg_slater_isa/res_tot.xvg index a290e1039..94655f693 100644 --- a/examples/peg_slater_isa/res_tot.xvg +++ b/examples/peg_slater_isa/res_tot.xvg @@ -1,499 +1,499 @@ -9.034358785030001 9.034358785030001 12.221075 --1.54130224297 -1.54130224297 0.17375302 --6.23051849442 -6.23051849442 -5.332278 --7.67928477985 -7.67928477985 -7.2188015 --6.677093386355001 -6.677093386355001 -6.5781684 --4.630296014435 -4.630296014435 -4.645474 --3.0181196329500004 -3.0181196329500004 -3.0648823 --1.9553490802650002 -1.9553490802650002 -2.0029671 --1.0539313080900001 -1.0539313080900001 -1.0875331 --0.60033858593 -0.60033858593 -0.6205552 --0.36031944545500005 -0.36031944545500005 -0.37160948 -4.712831547495 4.712831547495 5.3621316 --9.880558826545 -9.880558826545 -9.967577 --8.98608492426 -8.98608492426 -9.184024 --6.02717992564 -6.02717992564 -6.23285 --3.79902346321 -3.79902346321 -3.974594 --1.9454092785800001 -1.9454092785800001 -2.0621188 --1.0745555557700002 -1.0745555557700002 -1.1480213 --0.6399451461 -0.6399451461 -0.6878774 --3.3231579944300003 -3.3231579944300003 1.352891 --14.629535632540001 -14.629535632540001 -11.538988 --15.685626493145001 -15.685626493145001 -15.262093 --10.643616870755 -10.643616870755 -11.011622 --6.551204442075 -6.551204442075 -6.9578447 --3.988767796855 -3.988767796855 -4.2857 --1.9748924095950002 -1.9748924095950002 -2.1344857 --1.046494815635 -1.046494815635 -1.1322877 --0.5914965845600001 -0.5914965845600001 -0.63814455 -30.899366489015 30.899366489015 26.224644 -4.969331056490001 4.969331056490001 4.0362225 --6.387252547840001 -6.387252547840001 -6.2216406 --10.776249385530003 -10.776249385530003 -10.5494585 --8.22403522958 -8.22403522958 -8.267323 --5.363592414590001 -5.363592414590001 -5.545572 --3.360140446115 -3.360140446115 -3.5781255 --1.6803453623300002 -1.6803453623300002 -1.87423 --0.8790565462050001 -0.8790565462050001 -1.0287961 --0.48367472972500003 -0.48367472972500003 -0.59423465 -14.034793273605002 14.034793273605002 12.876911 --11.489672063435 -11.489672063435 -9.214397 --10.95866271931 -10.95866271931 -9.893579 --7.35801184916 -7.35801184916 -7.038135 --4.733594264045 -4.733594264045 -4.663537 --2.584993707235 -2.584993707235 -2.5904946 --1.5476780596800002 -1.5476780596800002 -1.5609208 --0.9996697320200001 -0.9996697320200001 -1.012531 -19.849560088560004 19.849560088560004 21.389458 -7.544519072580001 7.544519072580001 8.138672 -1.07410013654 1.07410013654 1.3460221 --1.97195387123 -1.97195387123 -1.6873043 --3.1308412221400004 -3.1308412221400004 -2.7206826 --3.070464515255 -3.070464515255 -2.4673269 --2.2043804595300003 -2.2043804595300003 -1.593907 --1.4443813591150003 -1.4443813591150003 -0.9153087 --0.920494865215 -0.920494865215 -0.48645958 --0.46696247704500005 -0.46696247704500005 -0.1465957 --0.23914862969500003 -0.23914862969500003 0.0052249045 --0.121737950015 -0.121737950015 0.069574274 -25.044411486875003 25.044411486875003 27.37014 -7.161451717515 7.161451717515 8.356461 --0.8568516425050001 -0.8568516425050001 -0.5753472 --4.9658660528650005 -4.9658660528650005 -5.3463407 --4.205904838415 -4.205904838415 -4.4618855 --2.78483849691 -2.78483849691 -2.8688188 --1.690006335915 -1.690006335915 -1.7038563 --0.77129035197 -0.77129035197 -0.76642996 --0.35924375185 -0.35924375185 -0.3528361 --0.17130557842000002 -0.17130557842000002 -0.1652587 -24.24310912317 24.24310912317 20.569324 --0.724963483235 -0.724963483235 0.2979462 --3.704806424275 -3.704806424275 -3.074075 --2.6457449679500002 -2.6457449679500002 -2.4434779 --1.5182097102300003 -1.5182097102300003 -1.4963868 --0.607873954715 -0.607873954715 -0.65194225 --0.24432220370000002 -0.24432220370000002 -0.28911725 --0.096474601365 -0.096474601365 -0.13335976 -8.848875795415001 8.848875795415001 12.0027275 --5.912567871430001 -5.912567871430001 -3.3345187 --5.937914369665 -5.937914369665 -4.688513 --4.05622442704 -4.05622442704 -3.4880698 --2.59987968837 -2.59987968837 -2.3173692 --1.37462416081 -1.37462416081 -1.2438046 --0.785487927005 -0.785487927005 -0.6664993 --0.48263781475500006 -0.48263781475500006 -0.5089743 -16.00831532973 16.00831532973 17.848637 --7.45799414478 -7.45799414478 -4.618513 --7.563510915635001 -7.563510915635001 -6.5564537 --4.905312676085001 -4.905312676085001 -4.6379795 --2.95209923003 -2.95209923003 -2.8768032 --1.412218774075 -1.412218774075 -1.3974911 --0.7398760081750001 -0.7398760081750001 -0.7407793 --0.42602744013 -0.42602744013 -0.43111748 -19.765076066930003 19.765076066930003 19.333797 -3.0034654572100004 3.0034654572100004 2.649898 --7.41941552037 -7.41941552037 -8.130003 --7.33768643589 -7.33768643589 -7.874594 --5.28580179015 -5.28580179015 -5.604017 --3.49089929907 -3.49089929907 -3.689185 --1.84591590357 -1.84591590357 -1.9627656 --1.022222698255 -1.022222698255 -1.0970663 --0.599359615745 -0.599359615745 -0.64797485 -13.78812957024 13.78812957024 17.238558 -0.059527646440000005 0.059527646440000005 1.0145907 --5.3385644420150005 -5.3385644420150005 -5.3598433 --6.837977620135001 -6.837977620135001 -7.1226354 --6.659295305640001 -6.659295305640001 -6.945444 --4.9473581682250005 -4.9473581682250005 -5.100819 --3.34739976103 -3.34739976103 -3.4225862 --2.2493563509850003 -2.2493563509850003 -2.2965307 --1.53995662171 -1.53995662171 -1.5793865 --0.917135905535 -0.917135905535 -0.9573943 --0.581520708505 -0.581520708505 -0.6185496 --0.39007027245000003 -0.39007027245000003 -0.4227356 -42.098175186705 42.098175186705 29.660707 -9.53013888135 9.53013888135 3.6204057 --6.063572847555 -6.063572847555 -8.860981 --12.490037894270001 -12.490037894270001 -13.83256 --13.769775828704999 -13.769775828704999 -14.177799 --10.769118868845 -10.769118868845 -11.022134 --7.764526389505001 -7.764526389505001 -8.004044 --5.523602698185001 -5.523602698185001 -5.757996 --3.39630552714 -3.39630552714 -3.599665 --2.1835695388 -2.1835695388 -2.3494048 --1.4662171700250002 -1.4662171700250002 -1.5981909 -11.09654909588 11.09654909588 15.399071 -1.2692303421200002 1.2692303421200002 3.3994281 --2.92346778496 -2.92346778496 -1.9950974 --4.366286709025 -4.366286709025 -4.030924 --4.13637411574 -4.13637411574 -4.139494 --2.964122260945 -2.964122260945 -2.969521 --1.9689595935 -1.9689595935 -1.9438361 --1.287526060105 -1.287526060105 -1.2494725 --0.6971439740400001 -0.6971439740400001 -0.6579257 --0.397767161995 -0.397767161995 -0.3624242 --0.239992780455 -0.239992780455 -0.17462246 -17.79118100602 17.79118100602 18.5284 -3.4712517373900003 3.4712517373900003 6.17492 --6.000235863165 -6.000235863165 -3.3261073 --5.799083023135 -5.799083023135 -4.112479 --3.94353114074 -3.94353114074 -2.9800925 --2.467677808105 -2.467677808105 -1.9237446 --1.23046940299 -1.23046940299 -0.9906012 --0.658247165285 -0.658247165285 -0.54880166 --0.38022908454500004 -0.38022908454500004 -0.33129987 -33.926610732155005 33.926610732155005 29.266663 -9.533580097945 9.533580097945 8.182538 --1.934801812245 -1.934801812245 -2.2806983 --8.06354681618 -8.06354681618 -8.286234 --7.06233502299 -7.06233502299 -7.471151 --5.080328926165 -5.080328926165 -5.57094 --3.4895606091299998 -3.4895606091299998 -3.9756236 --2.011383236405 -2.011383236405 -2.4258904 --1.22936301729 -1.22936301729 -1.5565039 --0.799904757545 -0.799904757545 -1.0526738 -28.506915478345 28.506915478345 22.605776 -9.010740233365 9.010740233365 5.625826 --0.08764575375000001 -0.08764575375000001 -2.034769 --3.7960015652200005 -3.7960015652200005 -4.918151 --4.77652457594 -4.77652457594 -5.16035 --3.5649387403850006 -3.5649387403850006 -3.7102408 --2.397750083575 -2.397750083575 -2.4606018 --1.5938832364900002 -1.5938832364900002 -1.6198832 --0.895148445745 -0.895148445745 -0.89465666 --0.5333664130050001 -0.5333664130050001 -0.5196483 --0.33516256083 -0.33516256083 -0.31710216 -19.971014274535 19.971014274535 10.972975 -2.149044030015 2.149044030015 -2.051651 --7.4606578720600005 -7.4606578720600005 -8.340635 --6.539547274585001 -6.539547274585001 -6.6535034 --4.373848254045 -4.373848254045 -4.3382516 --2.7565393876300006 -2.7565393876300006 -2.7190924 --1.396530203845 -1.396530203845 -1.3920977 --0.7544058664900001 -0.7544058664900001 -0.7676672 --0.43721871264500006 -0.43721871264500006 -0.45455793 -17.232420126895 17.232420126895 16.938976 -4.59466637788 4.59466637788 4.0838766 --1.142899604955 -1.142899604955 -1.7495811 --3.8497098696750003 -3.8497098696750003 -4.3943486 --3.13096630096 -3.13096630096 -3.5600858 --2.1240544159950003 -2.1240544159950003 -2.4704394 --1.394733626705 -1.394733626705 -1.6811409 --0.762737969505 -0.762737969505 -0.981618 --0.442455797495 -0.442455797495 -0.60930353 --0.27059957296000003 -0.27059957296000003 -0.40019032 -24.553484627305004 24.553484627305004 17.723103 -6.330474114960001 6.330474114960001 1.7525201 --2.160481075585 -2.160481075585 -5.443632 --6.48865502892 -6.48865502892 -8.391001 --5.53900191206 -5.53900191206 -6.782006 --3.9489329757150005 -3.9489329757150005 -4.8395424 --2.7033871640750005 -2.7033871640750005 -3.3761673 --1.55225404363 -1.55225404363 -2.013278 --0.9366080575600001 -0.9366080575600001 -1.2601837 --0.595431920255 -0.595431920255 -0.82489645 -17.214788214075 17.214788214075 14.790785 -2.35921900697 2.35921900697 0.55669 --4.62843062294 -4.62843062294 -6.0426965 --7.395989050285 -7.395989050285 -8.480416 --7.9972935051550005 -7.9972935051550005 -8.810527 --6.7376733331950005 -6.7376733331950005 -7.198409 --4.899129728605001 -4.899129728605001 -5.199106 --3.4243789484400002 -3.4243789484400002 -3.6561038 --2.39162408319 -2.39162408319 -2.58698 --1.43547169861 -1.43547169861 -1.5924737 --0.89986308235 -0.89986308235 -1.0247651 --0.58742921247 -0.58742921247 -0.6851529 -22.40335505806 22.40335505806 22.931198 -3.8793072624500007 3.8793072624500007 5.0931535 --4.116323513555 -4.116323513555 -3.0479665 --6.8284523849 -6.8284523849 -6.0493383 --6.38072523978 -6.38072523978 -6.020205 --4.38549090252 -4.38549090252 -4.2144933 --2.80908042104 -2.80908042104 -2.7238865 --1.79071550121 -1.79071550121 -1.7448435 --0.9437714192500001 -0.9437714192500001 -0.9228311 --0.5249709829300001 -0.5249709829300001 -0.5141416 --0.306559812475 -0.306559812475 -0.30053464 -16.984465596455 16.984465596455 16.993763 -5.89535824403 5.89535824403 5.1152 -0.25305960515 0.25305960515 -0.31234276 --2.311916134865 -2.311916134865 -2.4106474 --3.2185920484 -3.2185920484 -2.9124212 --2.98813069936 -2.98813069936 -2.2930098 --2.09968560145 -2.09968560145 -1.3950862 --1.33880026351 -1.33880026351 -0.74946624 --0.8152591803900001 -0.8152591803900001 -0.34817037 --0.36047781561500003 -0.36047781561500003 -0.03183135 --0.13493169138000002 -0.13493169138000002 0.10641718 --0.022623460910000004 -0.022623460910000004 0.16047639 -15.606281809 15.606281809 14.131881 -2.26318499076 2.26318499076 1.2698419 --3.4658238312000003 -3.4658238312000003 -4.036084 --5.41727275747 -5.41727275747 -5.6793814 --5.06493769381 -5.06493769381 -5.027174 --3.5115134123200002 -3.5115134123200002 -3.412064 --2.2455857916700004 -2.2455857916700004 -2.162372 --1.40977314708 -1.40977314708 -1.3553236 --0.7092703971450001 -0.7092703971450001 -0.68515104 --0.36688555840500003 -0.36688555840500003 -0.35645238 --0.192912682025 -0.192912682025 -0.18786752 -2.4537235119000003 2.4537235119000003 3.695128 --9.69143867927 -9.69143867927 -7.9393806 --12.97295529852 -12.97295529852 -11.359352 --11.0776235467 -11.0776235467 -10.063346 --7.531812729035001 -7.531812729035001 -6.9659224 --4.88159698092 -4.88159698092 -4.575549 --3.17241233894 -3.17241233894 -3.0028477 --1.737156325155 -1.737156325155 -1.6554196 --1.01415508811 -1.01415508811 -0.96684957 --0.62882174276 -0.62882174276 -0.597794 -4.6732260637800005 4.6732260637800005 4.17054 --9.56189761198 -9.56189761198 -9.304367 --13.667902569220002 -13.667902569220002 -13.575923 --12.28381694657 -12.28381694657 -12.571988 --8.81520147373 -8.81520147373 -9.168316 --6.08005922847 -6.08005922847 -6.392521 --4.220381819160001 -4.220381819160001 -4.4724226 --2.53850295479 -2.53850295479 -2.7150986 --1.6122575882 -1.6122575882 -1.7357373 --1.07476811625 -1.07476811625 -1.163973 -9.161348207635001 9.161348207635001 15.272049 --6.302159488975 -6.302159488975 -2.4509602 --12.177036837625 -12.177036837625 -10.145195 --12.427196157945001 -12.427196157945001 -12.207053 --8.914748067625002 -8.914748067625002 -9.171195 --5.835279583905 -5.835279583905 -6.1496687 --3.7555772930750004 -3.7555772930750004 -4.0281887 --1.9909035487550002 -1.9909035487550002 -2.185444 --1.11510934383 -1.11510934383 -1.2500638 --0.660576141315 -0.660576141315 -0.75291014 -25.53060034289 25.53060034289 20.62461 --4.304164307190001 -4.304164307190001 -3.5598323 --7.369876037325001 -7.369876037325001 -6.342439 --5.21036587164 -5.21036587164 -4.5654116 --3.159906111005 -3.159906111005 -2.7442417 --1.42832167446 -1.42832167446 -1.1679585 --0.66680222576 -0.66680222576 -0.4910192 --0.327272854565 -0.327272854565 -0.2051593 -17.731309104020003 17.731309104020003 18.519814 -6.455463379155001 6.455463379155001 6.1481323 -0.6505286678750001 0.6505286678750001 -0.02674985 --2.03855366949 -2.03855366949 -2.6945734 --3.03713539431 -3.03713539431 -3.529674 --2.92796663172 -2.92796663172 -3.1056328 --2.11589811646 -2.11589811646 -2.147247 --1.4019843387800002 -1.4019843387800002 -1.3972024 --0.9061863628050001 -0.9061863628050001 -0.9039175 --0.472204707875 -0.472204707875 -0.48344362 --0.25223829624000005 -0.25223829624000005 -0.26939774 --0.13743045849500002 -0.13743045849500002 -0.15670943 -18.149831421125 18.149831421125 16.287306 -3.03184994775 3.03184994775 1.7400694 --4.086927680415 -4.086927680415 -5.0366087 --6.825736173875001 -6.825736173875001 -7.5411777 --6.816385193075001 -6.816385193075001 -7.2629895 --4.970664049095 -4.970664049095 -5.2903166 --3.3428913574500005 -3.3428913574500005 -3.5926867 --2.2201153698350002 -2.2201153698350002 -2.4214118 --1.235795781095 -1.235795781095 -1.3833001 --0.7255085895450001 -0.7255085895450001 -0.83371055 --0.44874851713 -0.44874851713 -0.528138 -17.249431791595 17.249431791595 21.450937 -5.089869258025001 5.089869258025001 6.661804 --0.899115471225 -0.899115471225 -0.6424694 --3.48810025352 -3.48810025352 -3.7994566 --4.30822291011 -4.30822291011 -4.8181496 --3.881725164165 -3.881725164165 -4.4125276 --2.879433240275 -2.879433240275 -3.3372097 --2.0555417572000003 -2.0555417572000003 -2.4482877 --1.48382815761 -1.48382815761 -1.8217472 --0.95729452959 -0.95729452959 -1.2274739 --0.65650800783 -0.65650800783 -0.87399524 --0.47343514845000007 -0.47343514845000007 -0.64933825 -12.679868554355 12.679868554355 10.431677 -1.9184014952200001 1.9184014952200001 0.53589535 --2.6264406116300005 -2.6264406116300005 -3.4552193 --4.166200609645 -4.166200609645 -4.4517303 --3.05153783711 -3.05153783711 -3.1805785 --1.9305773564900002 -1.9305773564900002 -2.030894 --1.1859304997550002 -1.1859304997550002 -1.2823774 --0.58466613627 -0.58466613627 -0.6721829 --0.304673233195 -0.304673233195 -0.37695736 --0.16756949192000004 -0.16756949192000004 -0.22596554 -17.013727161525 17.013727161525 16.53183 -1.410646782205 1.410646782205 3.4386187 --9.569976590540001 -9.569976590540001 -7.2189875 --8.614720997995 -8.614720997995 -7.4013395 --5.667363394710001 -5.667363394710001 -5.161884 --3.45916750607 -3.45916750607 -3.2471926 --1.67588558301 -1.67588558301 -1.6035448 --0.879099341855 -0.879099341855 -0.8489672 --0.50259836229 -0.50259836229 -0.4560524 -7.71380432875 7.71380432875 10.474033 --4.277490014840001 -4.277490014840001 -2.1574636 --7.563415715005001 -7.563415715005001 -6.2540855 --7.387675404535001 -7.387675404535001 -6.552303 --4.683398799825 -4.683398799825 -4.2044168 --2.515353264915 -2.515353264915 -2.1736422 --1.309808048485 -1.309808048485 -1.0582778 --0.6915594567750001 -0.6915594567750001 -0.50496614 --0.278854066195 -0.278854066195 -0.15671998 --0.118424463995 -0.118424463995 -0.034670774 --0.05138024735 -0.05138024735 0.006476429 -20.451325423700002 20.451325423700002 20.85561 --1.9355325414050002 -1.9355325414050002 0.97661877 --11.05067110888 -11.05067110888 -9.363645 --8.478947991395001 -8.478947991395001 -8.0599165 --5.47542816008 -5.47542816008 -5.5230365 --3.4760321165150003 -3.4760321165150003 -3.6417434 --1.8476677947000002 -1.8476677947000002 -2.014522 --1.063852153665 -1.063852153665 -1.1956401 --0.6576380755400001 -0.6576380755400001 -0.7450519 -33.488101953830004 33.488101953830004 27.261887 -10.106692616445 10.106692616445 6.6597037 --6.69116572504 -6.69116572504 -8.252367 --7.638323487935 -7.638323487935 -8.524845 --5.443511138055 -5.443511138055 -6.015211 --3.5128752591700003 -3.5128752591700003 -3.925552 --1.84124419389 -1.84124419389 -2.1155565 --1.049754058825 -1.049754058825 -1.2377949 --0.6531140239800001 -0.6531140239800001 -0.78560823 -17.88269543402 17.88269543402 14.466749 -2.391145953385 2.391145953385 0.6656661 --3.951483964025 -3.951483964025 -4.9319677 --6.108878790615 -6.108878790615 -6.4854145 --4.627558615625 -4.627558615625 -4.823806 --3.0745474828150003 -3.0745474828150003 -3.2364943 --1.998740876295 -1.998740876295 -2.1621094 --1.08774417741 -1.08774417741 -1.2468265 --0.636329333755 -0.636329333755 -0.77771986 --0.39968375074 -0.39968375074 -0.51821285 -26.00129368169 26.00129368169 20.654274 -6.019479255375 6.019479255375 3.2859073 --3.39753835692 -3.39753835692 -4.8642397 --7.167961172175 -7.167961172175 -8.029131 --7.7527553540800005 -7.7527553540800005 -8.1807995 --5.909702532005 -5.909702532005 -6.2176213 --4.174381195055 -4.174381195055 -4.421696 --2.937633433915 -2.937633433915 -3.1367724 --1.80801807131 -1.80801807131 -1.9501636 --1.183697984595 -1.183697984595 -1.2863069 --0.8179301277950001 -0.8179301277950001 -0.8944168 -32.128939073715 32.128939073715 21.759817 -4.9671409169 4.9671409169 0.19355011 --7.222153382535001 -7.222153382535001 -9.228178 --11.61409941812 -11.61409941812 -12.302699 --11.153679949625001 -11.153679949625001 -11.049761 --7.850032071950001 -7.850032071950001 -7.736953 --5.06802459918 -5.06802459918 -5.0564885 --3.200058565135 -3.200058565135 -3.2586465 --1.620329294125 -1.620329294125 -1.7120578 --0.8459475734350002 -0.8459475734350002 -0.9306138 --0.455971818985 -0.455971818985 -0.5232227 -10.47973948821 10.47973948821 11.159775 --5.293553080055 -5.293553080055 -4.301451 --11.146017690425 -11.146017690425 -10.234148 --11.337385712035001 -11.337385712035001 -10.621801 --7.974515402295 -7.974515402295 -7.3874736 --5.109599864270001 -5.109599864270001 -4.646035 --3.21965647861 -3.21965647861 -2.8621962 --1.6543845758600002 -1.6543845758600002 -1.4099762 --0.89807102107 -0.89807102107 -0.7217683 --0.5143695815 -0.5143695815 -0.3797795 -16.041898914135 16.041898914135 16.691214 --1.4033043089050001 -1.4033043089050001 -1.0333958 --8.235451034855 -8.235451034855 -8.330203 --10.075382688785 -10.075382688785 -10.4672575 --8.55516738536 -8.55516738536 -9.061178 --5.89907049099 -5.89907049099 -6.2807207 --3.8727715527900006 -3.8727715527900006 -4.1325636 --2.54862289203 -2.54862289203 -2.7315795 --1.425612867345 -1.425612867345 -1.545426 --0.8542676254050001 -0.8542676254050001 -0.9387265 --0.545360957245 -0.545360957245 -0.60981065 -22.146713562025003 22.146713562025003 18.747185 --3.7558634200650003 -3.7558634200650003 -4.3340917 --13.653893741380001 -13.653893741380001 -14.601892 --10.551683885545001 -10.551683885545001 -11.885701 --7.037638703575 -7.037638703575 -8.27868 --4.659279407780001 -4.659279407780001 -5.693934 --2.6678182028250004 -2.6678182028250004 -3.4205818 --1.66455150955 -1.66455150955 -2.2133002 --1.11373568223 -1.11373568223 -1.5223062 -39.34217478797 39.34217478797 27.960764 -11.684208695975 11.684208695975 6.2574778 --0.9934999645500001 -0.9934999645500001 -3.9510016 --5.997376877450001 -5.997376877450001 -7.921206 --7.0009249455600004 -7.0009249455600004 -8.201595 --5.080872509685 -5.080872509685 -5.990119 --3.3554493339900002 -3.3554493339900002 -4.0630636 --2.20456424453 -2.20456424453 -2.7594924 --1.235089154025 -1.235089154025 -1.6280031 --0.746761486945 -0.746761486945 -1.0336949 --0.483744673045 -0.483744673045 -0.69870883 -19.038702952745002 19.038702952745002 13.993597 --0.04698135337500001 -0.04698135337500001 -1.706521 --10.323329710295 -10.323329710295 -10.667524 --8.96993389846 -8.96993389846 -9.368776 --6.189946826705 -6.189946826705 -6.6215367 --4.075514054305001 -4.075514054305001 -4.4553494 --2.23050581234 -2.23050581234 -2.5043578 --1.3089981079900002 -1.3089981079900002 -1.499978 --0.823815868675 -0.823815868675 -0.9586471 -20.271486550200002 20.271486550200002 23.918175 -5.495670581295 5.495670581295 7.9181533 --4.365448701935001 -4.365448701935001 -4.011669 --4.899796290545 -4.899796290545 -5.0963397 --3.536941406075 -3.536941406075 -3.711131 --2.2660543997100002 -2.2660543997100002 -2.381183 --1.14017399464 -1.14017399464 -1.2288947 --0.618546139625 -0.618546139625 -0.69403374 --0.36670563289 -0.36670563289 -0.42654097 -10.99413275172 10.99413275172 16.075546 --4.58481686714 -4.58481686714 -0.68300796 --5.765427867600001 -5.765427867600001 -3.6957088 --4.2601093886250005 -4.2601093886250005 -3.236696 --2.82156834924 -2.82156834924 -2.288753 --1.4885109731550001 -1.4885109731550001 -1.2351663 --0.81796376045 -0.81796376045 -0.6585942 --0.4710420052 -0.4710420052 -0.35428596 -14.770022041760003 14.770022041760003 17.51206 --3.5428151221650004 -3.5428151221650004 -0.2475338 --10.058496207925 -10.058496207925 -7.565999 --10.50893536327 -10.50893536327 -9.637562 --7.314445378615001 -7.314445378615001 -7.1627645 --4.593718808675 -4.593718808675 -4.6766605 --2.817444817705 -2.817444817705 -2.9670691 --1.3876292862550001 -1.3876292862550001 -1.5467862 --0.72960093014 -0.72960093014 -0.86593914 --0.410725474775 -0.410725474775 -0.51998585 -16.835371643015 16.835371643015 14.414176 --1.91545909737 -1.91545909737 -1.7998714 --8.88690828957 -8.88690828957 -8.275747 --9.784137496575001 -9.784137496575001 -9.471135 --6.80847805349 -6.80847805349 -6.7347193 --4.28419832487 -4.28419832487 -4.2691774 --2.653446005785 -2.653446005785 -2.6385498 --1.33530876859 -1.33530876859 -1.3073974 --0.7143797514200001 -0.7143797514200001 -0.67912084 --0.40538302861000003 -0.40538302861000003 -0.3675854 --6.50619919753 -6.50619919753 -4.3291078 --10.006175033885 -10.006175033885 -8.721431 --6.956824710865 -6.956824710865 -6.517555 --4.284724028735001 -4.284724028735001 -4.181056 --2.0751249153650004 -2.0751249153650004 -2.0994534 --1.0867569106450001 -1.0867569106450001 -1.1287893 --0.6198706781200001 -0.6198706781200001 -0.65967464 -23.41828130803 23.41828130803 23.76476 -10.121420936305 10.121420936305 10.051835 -2.9974765079250005 2.9974765079250005 2.682176 --0.48447910416 -0.48447910416 -0.8155037 --1.938127690625 -1.938127690625 -2.1741781 --2.2632414127550002 -2.2632414127550002 -2.2952638 --1.66294685646 -1.66294685646 -1.6164945 --1.0967248576900002 -1.0967248576900002 -1.0484774 --0.710751756755 -0.710751756755 -0.67875797 --0.38262222779500005 -0.38262222779500005 -0.37146676 --0.21911210019 -0.21911210019 -0.21657003 --0.13296338028500002 -0.13296338028500002 -0.1329558 +9.034358785030001 9.034358785030001 12.22097892049183 +-1.54130224297 -1.54130224297 0.17395699197600623 +-6.23051849442 -6.23051849442 -5.33254854417668 +-7.67928477985 -7.67928477985 -7.218878631244996 +-6.677093386355001 -6.677093386355001 -6.578267382856441 +-4.630296014435 -4.630296014435 -4.6447450086982 +-3.0181196329500004 -3.0181196329500004 -3.064249272472707 +-1.9553490802650002 -1.9553490802650002 -2.002411702439135 +-1.0539313080900001 -1.0539313080900001 -1.0870360597809545 +-0.60033858593 -0.60033858593 -0.620088888371704 +-0.36031944545500005 -0.36031944545500005 -0.37140667486800394 +4.712831547495 4.712831547495 5.361876214835741 +-9.880558826545 -9.880558826545 -9.967597090310363 +-8.98608492426 -8.98608492426 -9.1848906999219 +-6.02717992564 -6.02717992564 -6.233002496506891 +-3.79902346321 -3.79902346321 -3.9746724355987766 +-1.9454092785800001 -1.9454092785800001 -2.062217390247424 +-1.0745555557700002 -1.0745555557700002 -1.1481037302499175 +-0.6399451461 -0.6399451461 -0.6879684151358593 +-3.3231579944300003 -3.3231579944300003 1.3528157376152556 +-14.629535632540001 -14.629535632540001 -11.538359396968453 +-15.685626493145001 -15.685626493145001 -15.261817164831285 +-10.643616870755 -10.643616870755 -11.010224315809607 +-6.551204442075 -6.551204442075 -6.9567839033133305 +-3.988767796855 -3.988767796855 -4.2848332426862665 +-1.9748924095950002 -1.9748924095950002 -2.133753587686747 +-1.046494815635 -1.046494815635 -1.131600161172808 +-0.5914965845600001 -0.5914965845600001 -0.6380278111576809 +30.899366489015 30.899366489015 26.224995686176467 +4.969331056490001 4.969331056490001 4.037015450537523 +-6.387252547840001 -6.387252547840001 -6.221382034726215 +-10.776249385530003 -10.776249385530003 -10.549011850013834 +-8.22403522958 -8.22403522958 -8.268055930239614 +-5.363592414590001 -5.363592414590001 -5.545428543746735 +-3.360140446115 -3.360140446115 -3.5779384518701822 +-1.6803453623300002 -1.6803453623300002 -1.8740400420614938 +-0.8790565462050001 -0.8790565462050001 -1.0270637261234654 +-0.48367472972500003 -0.48367472972500003 -0.5924706682989155 +14.034793273605002 14.034793273605002 12.876782381084281 +-11.489672063435 -11.489672063435 -9.214478179469321 +-10.95866271931 -10.95866271931 -9.893489562318601 +-7.35801184916 -7.35801184916 -7.039198989574199 +-4.733594264045 -4.733594264045 -4.663838831778507 +-2.584993707235 -2.584993707235 -2.5896982901433985 +-1.5476780596800002 -1.5476780596800002 -1.5602083584797926 +-0.9996697320200001 -0.9996697320200001 -1.0118845483258303 +19.849560088560004 19.849560088560004 21.38921236473083 +7.544519072580001 7.544519072580001 8.138563947533898 +1.07410013654 1.07410013654 1.345519908508025 +-1.97195387123 -1.97195387123 -1.6872362308778694 +-3.1308412221400004 -3.1308412221400004 -2.720775500243642 +-3.070464515255 -3.070464515255 -2.467602191299656 +-2.2043804595300003 -2.2043804595300003 -1.5917687357371937 +-1.4443813591150003 -1.4443813591150003 -0.9134858297198389 +-0.920494865215 -0.920494865215 -0.48475536965380306 +-0.46696247704500005 -0.46696247704500005 -0.1449376936665667 +-0.23914862969500003 -0.23914862969500003 0.004251783389636544 +-0.121737950015 -0.121737950015 0.06933970646918686 +25.044411486875003 25.044411486875003 27.370439296121212 +7.161451717515 7.161451717515 8.35630369092146 +-0.8568516425050001 -0.8568516425050001 -0.5749039295296354 +-4.9658660528650005 -4.9658660528650005 -5.346131824757621 +-4.205904838415 -4.205904838415 -4.461874814899564 +-2.78483849691 -2.78483849691 -2.868701353206013 +-1.690006335915 -1.690006335915 -1.7037191284421518 +-0.77129035197 -0.77129035197 -0.7663054133109852 +-0.35924375185 -0.35924375185 -0.3537485192378951 +-0.17130557842000002 -0.17130557842000002 -0.1651428803538018 +24.24310912317 24.24310912317 20.569516601391747 +-0.724963483235 -0.724963483235 0.29766885477910243 +-3.704806424275 -3.704806424275 -3.0735387667859078 +-2.6457449679500002 -2.6457449679500002 -2.444015527201361 +-1.5182097102300003 -1.5182097102300003 -1.4963152719166777 +-0.607873954715 -0.607873954715 -0.6496099496585709 +-0.24432220370000002 -0.24432220370000002 -0.28711923445978993 +-0.096474601365 -0.096474601365 -0.13151736752831822 +8.848875795415001 8.848875795415001 12.003688996995503 +-5.912567871430001 -5.912567871430001 -3.3331229062700394 +-5.937914369665 -5.937914369665 -4.687342862678918 +-4.05622442704 -4.05622442704 -3.487146290176808 +-2.59987968837 -2.59987968837 -2.315462685207028 +-1.37462416081 -1.37462416081 -1.2421564516082892 +-0.785487927005 -0.785487927005 -0.6649073919429994 +-0.48263781475500006 -0.48263781475500006 -0.5074430981268866 +16.00831532973 16.00831532973 17.849742635469454 +-7.45799414478 -7.45799414478 -4.6179881340300595 +-7.563510915635001 -7.563510915635001 -6.555876980862455 +-4.905312676085001 -4.905312676085001 -4.636130830349216 +-2.95209923003 -2.95209923003 -2.8751491395666178 +-1.412218774075 -1.412218774075 -1.3960803768339185 +-0.7398760081750001 -0.7398760081750001 -0.7394344388538393 +-0.42602744013 -0.42602744013 -0.4306014356178364 +19.765076066930003 19.765076066930003 19.335326462356143 +3.0034654572100004 3.0034654572100004 2.6511869421002556 +-7.41941552037 -7.41941552037 -8.12860495816265 +-7.33768643589 -7.33768643589 -7.871984005072953 +-5.28580179015 -5.28580179015 -5.601590173715536 +-3.49089929907 -3.49089929907 -3.6869431898476517 +-1.84591590357 -1.84591590357 -1.9606786948086479 +-1.022222698255 -1.022222698255 -1.0950332110418823 +-0.599359615745 -0.599359615745 -0.6459923579385151 +13.78812957024 13.78812957024 17.23859044663385 +0.059527646440000005 0.059527646440000005 1.0146786846018307 +-5.3385644420150005 -5.3385644420150005 -5.359941388841737 +-6.837977620135001 -6.837977620135001 -7.122125085668033 +-6.659295305640001 -6.659295305640001 -6.945077180155659 +-4.9473581682250005 -4.9473581682250005 -5.100633398203333 +-3.34739976103 -3.34739976103 -3.422443514117381 +-2.2493563509850003 -2.2493563509850003 -2.2964295455942496 +-1.53995662171 -1.53995662171 -1.5806733935309323 +-0.917135905535 -0.917135905535 -0.9573594025359761 +-0.581520708505 -0.581520708505 -0.6190878341607216 +-0.39007027245000003 -0.39007027245000003 -0.4226860841285914 +42.098175186705 42.098175186705 29.660414361767266 +9.53013888135 9.53013888135 3.6207228238078057 +-6.063572847555 -6.063572847555 -8.861233149804082 +-12.490037894270001 -12.490037894270001 -13.834504243252658 +-13.769775828704999 -13.769775828704999 -14.177514271337376 +-10.769118868845 -10.769118868845 -11.023242859367603 +-7.764526389505001 -7.764526389505001 -8.004764353117926 +-5.523602698185001 -5.523602698185001 -5.7587377886616595 +-3.39630552714 -3.39630552714 -3.598862657711293 +-2.1835695388 -2.1835695388 -2.3487989492191144 +-1.4662171700250002 -1.4662171700250002 -1.5976849992943345 +11.09654909588 11.09654909588 15.398973231670313 +1.2692303421200002 1.2692303421200002 3.399864376805863 +-2.92346778496 -2.92346778496 -1.9952577158203986 +-4.366286709025 -4.366286709025 -4.031009591197391 +-4.13637411574 -4.13637411574 -4.13977648361856 +-2.964122260945 -2.964122260945 -2.9690630373283273 +-1.9689595935 -1.9689595935 -1.9435492145841853 +-1.287526060105 -1.287526060105 -1.249259653395303 +-0.6971439740400001 -0.6971439740400001 -0.6577237035742409 +-0.397767161995 -0.397767161995 -0.36270828082887385 +-0.239992780455 -0.239992780455 -0.1744328162465383 +17.79118100602 17.79118100602 18.528579588320998 +3.4712517373900003 3.4712517373900003 6.174858115649197 +-6.000235863165 -6.000235863165 -3.3257431136268485 +-5.799083023135 -5.799083023135 -4.11242860563902 +-3.94353114074 -3.94353114074 -2.98047568422225 +-2.467677808105 -2.467677808105 -1.9226308623937474 +-1.23046940299 -1.23046940299 -0.9898478302661379 +-0.658247165285 -0.658247165285 -0.5481213730326865 +-0.38022908454500004 -0.38022908454500004 -0.33065224161401163 +33.926610732155005 33.926610732155005 29.26505045438678 +9.533580097945 9.533580097945 8.181854230254121 +-1.934801812245 -1.934801812245 -2.281514551909488 +-8.06354681618 -8.06354681618 -8.286580740626457 +-7.06233502299 -7.06233502299 -7.472779038166272 +-5.080328926165 -5.080328926165 -5.571931068988726 +-3.4895606091299998 -3.4895606091299998 -3.97464930278697 +-2.011383236405 -2.011383236405 -2.425521747185884 +-1.22936301729 -1.22936301729 -1.5562708334222608 +-0.799904757545 -0.799904757545 -1.052520512841966 +28.506915478345 28.506915478345 22.60556170785627 +9.010740233365 9.010740233365 5.624614543602501 +-0.08764575375000001 -0.08764575375000001 -2.0358787121902147 +-3.7960015652200005 -3.7960015652200005 -4.919245453204576 +-4.77652457594 -4.77652457594 -5.161471973787787 +-3.5649387403850006 -3.5649387403850006 -3.711304595994767 +-2.397750083575 -2.397750083575 -2.461671439143067 +-1.5938832364900002 -1.5938832364900002 -1.6209330599827385 +-0.895148445745 -0.895148445745 -0.89408912099516 +-0.5333664130050001 -0.5333664130050001 -0.5199262152205878 +-0.33516256083 -0.33516256083 -0.316593537568201 +19.971014274535 19.971014274535 10.974174992298373 +2.149044030015 2.149044030015 -2.0508678437192067 +-7.4606578720600005 -7.4606578720600005 -8.339514381604893 +-6.539547274585001 -6.539547274585001 -6.6531117730732845 +-4.373848254045 -4.373848254045 -4.337636588086275 +-2.7565393876300006 -2.7565393876300006 -2.71846703528256 +-1.396530203845 -1.396530203845 -1.3914715809399707 +-0.7544058664900001 -0.7544058664900001 -0.7670304216983378 +-0.43721871264500006 -0.43721871264500006 -0.45481038351105846 +17.232420126895 17.232420126895 16.93948083535682 +4.59466637788 4.59466637788 4.084132155369201 +-1.142899604955 -1.142899604955 -1.7495283121505643 +-3.8497098696750003 -3.8497098696750003 -4.394280956638148 +-3.13096630096 -3.13096630096 -3.5599106372767744 +-2.1240544159950003 -2.1240544159950003 -2.4702476432176264 +-1.394733626705 -1.394733626705 -1.6809366415468607 +-0.762737969505 -0.762737969505 -0.9814280107392627 +-0.442455797495 -0.442455797495 -0.6101767823113927 +-0.27059957296000003 -0.27059957296000003 -0.400002163815369 +24.553484627305004 24.553484627305004 17.7232890602356 +6.330474114960001 6.330474114960001 1.7526597028822444 +-2.160481075585 -2.160481075585 -5.442968108201793 +-6.48865502892 -6.48865502892 -8.39078327166407 +-5.53900191206 -5.53900191206 -6.782099392717997 +-3.9489329757150005 -3.9489329757150005 -4.838551938628249 +-2.7033871640750005 -2.7033871640750005 -3.3753406019225243 +-1.55225404363 -1.55225404363 -2.012563511515466 +-0.9366080575600001 -0.9366080575600001 -1.259478521156455 +-0.595431920255 -0.595431920255 -0.8254404913702872 +17.214788214075 17.214788214075 14.791278572560334 +2.35921900697 2.35921900697 0.5577377455363011 +-4.62843062294 -4.62843062294 -6.042499381535736 +-7.395989050285 -7.395989050285 -8.479984413411122 +-7.9972935051550005 -7.9972935051550005 -8.810019404085942 +-6.7376733331950005 -6.7376733331950005 -7.196530292088334 +-4.899129728605001 -4.899129728605001 -5.19752905002083 +-3.4243789484400002 -3.4243789484400002 -3.654638841902012 +-2.39162408319 -2.39162408319 -2.585575262310383 +-1.43547169861 -1.43547169861 -1.5911450579395852 +-0.89986308235 -0.89986308235 -1.0234636360203981 +-0.58742921247 -0.58742921247 -0.6846753469084862 +22.40335505806 22.40335505806 22.931635235355223 +3.8793072624500007 3.8793072624500007 5.094099522909741 +-4.116323513555 -4.116323513555 -3.047833917750704 +-6.8284523849 -6.8284523849 -6.048984255638427 +-6.38072523978 -6.38072523978 -6.018805202359268 +-4.38549090252 -4.38549090252 -4.213464078341855 +-2.80908042104 -2.80908042104 -2.722973184414824 +-1.79071550121 -1.79071550121 -1.7439741573521885 +-0.9437714192500001 -0.9437714192500001 -0.9220012145274932 +-0.5249709829300001 -0.5249709829300001 -0.5133075879390553 +-0.306559812475 -0.306559812475 -0.2999546296124234 +16.984465596455 16.984465596455 16.99472138720316 +5.89535824403 5.89535824403 5.116536306195313 +0.25305960515 0.25305960515 -0.3114437149235276 +-2.311916134865 -2.311916134865 -2.408766618710834 +-3.2185920484 -3.2185920484 -2.9107675040182777 +-2.98813069936 -2.98813069936 -2.2916286685451372 +-2.09968560145 -2.09968560145 -1.3936861536538907 +-1.33880026351 -1.33880026351 -0.7480968675562947 +-0.8152591803900001 -0.8152591803900001 -0.346803261738931 +-0.36047781561500003 -0.36047781561500003 -0.030482592732633464 +-0.13493169138000002 -0.13493169138000002 0.10704741610802378 +-0.022623460910000004 -0.022623460910000004 0.16180996252458807 +15.606281809 15.606281809 14.13134574375654 +2.26318499076 2.26318499076 1.26937616958365 +-3.4658238312000003 -3.4658238312000003 -4.036839198985714 +-5.41727275747 -5.41727275747 -5.6798165272726955 +-5.06493769381 -5.06493769381 -5.027790131826126 +-3.5115134123200002 -3.5115134123200002 -3.412503780768909 +-2.2455857916700004 -2.2455857916700004 -2.1627913811951336 +-1.40977314708 -1.40977314708 -1.3557438093190182 +-0.7092703971450001 -0.7092703971450001 -0.6836145197644261 +-0.36688555840500003 -0.36688555840500003 -0.3550772934069095 +-0.192912682025 -0.192912682025 -0.1869453694654371 +2.4537235119000003 2.4537235119000003 3.6956284706385176 +-9.69143867927 -9.69143867927 -7.93904145073528 +-12.97295529852 -12.97295529852 -11.358132951433731 +-11.0776235467 -11.0776235467 -10.062928310193517 +-7.531812729035001 -7.531812729035001 -6.96634588825794 +-4.88159698092 -4.88159698092 -4.573733290111209 +-3.17241233894 -3.17241233894 -3.002492720727591 +-1.737156325155 -1.737156325155 -1.6550688685566517 +-1.01415508811 -1.01415508811 -0.9664590964677587 +-0.62882174276 -0.62882174276 -0.5973921736200787 +4.6732260637800005 4.6732260637800005 4.17124708356304 +-9.56189761198 -9.56189761198 -9.304392612594876 +-13.667902569220002 -13.667902569220002 -13.576023935497858 +-12.28381694657 -12.28381694657 -12.571800243205555 +-8.81520147373 -8.81520147373 -9.169179166507593 +-6.08005922847 -6.08005922847 -6.392800284298121 +-4.220381819160001 -4.220381819160001 -4.472623007093055 +-2.53850295479 -2.53850295479 -2.714435638901371 +-1.6122575882 -1.6122575882 -1.7351052000929035 +-1.07476811625 -1.07476811625 -1.1633889015765118 +9.161348207635001 9.161348207635001 15.273201022409701 +-6.302159488975 -6.302159488975 -2.449807294996053 +-12.177036837625 -12.177036837625 -10.144655602156217 +-12.427196157945001 -12.427196157945001 -12.206800851183676 +-8.914748067625002 -8.914748067625002 -9.170182492428708 +-5.835279583905 -5.835279583905 -6.14721989759379 +-3.7555772930750004 -3.7555772930750004 -4.025965737220037 +-1.9909035487550002 -1.9909035487550002 -2.183425314818524 +-1.11510934383 -1.11510934383 -1.248137212966509 +-0.660576141315 -0.660576141315 -0.7521325341925097 +25.53060034289 25.53060034289 20.624845173364214 +-4.304164307190001 -4.304164307190001 -3.5595044556635185 +-7.369876037325001 -7.369876037325001 -6.342612243737763 +-5.21036587164 -5.21036587164 -4.565972474089206 +-3.159906111005 -3.159906111005 -2.744432032122119 +-1.42832167446 -1.42832167446 -1.1681303088334916 +-0.66680222576 -0.66680222576 -0.4911614418079126 +-0.327272854565 -0.327272854565 -0.20598421757361246 +17.731309104020003 17.731309104020003 18.519245225103845 +6.455463379155001 6.455463379155001 6.147626495905042 +0.6505286678750001 0.6505286678750001 -0.027128354837269164 +-2.03855366949 -2.03855366949 -2.6949548476194147 +-3.03713539431 -3.03713539431 -3.530160373469677 +-2.92796663172 -2.92796663172 -3.106241577434631 +-2.11589811646 -2.11589811646 -2.1464278849185505 +-1.4019843387800002 -1.4019843387800002 -1.3965631319193281 +-0.9061863628050001 -0.9061863628050001 -0.9033045393704817 +-0.472204707875 -0.472204707875 -0.48286102927636804 +-0.25223829624000005 -0.25223829624000005 -0.26941290779951965 +-0.13743045849500002 -0.13743045849500002 -0.15610050305203843 +18.149831421125 18.149831421125 16.28695887157408 +3.03184994775 3.03184994775 1.7403255303394376 +-4.086927680415 -4.086927680415 -5.0373439801164315 +-6.825736173875001 -6.825736173875001 -7.541472459703135 +-6.816385193075001 -6.816385193075001 -7.262209060396518 +-4.970664049095 -4.970664049095 -5.289699524818753 +-3.3428913574500005 -3.3428913574500005 -3.592178555144376 +-2.2201153698350002 -2.2201153698350002 -2.4209402222239214 +-1.235795781095 -1.235795781095 -1.382884255189082 +-0.7255085895450001 -0.7255085895450001 -0.8333386324418408 +-0.44874851713 -0.44874851713 -0.528245074653928 +17.249431791595 17.249431791595 21.451731431467046 +5.089869258025001 5.089869258025001 6.66331666904028 +-0.899115471225 -0.899115471225 -0.6416656433882475 +-3.48810025352 -3.48810025352 -3.7985527229852427 +-4.30822291011 -4.30822291011 -4.8172759439320885 +-3.881725164165 -3.881725164165 -4.411788457502932 +-2.879433240275 -2.879433240275 -3.3364264592844544 +-2.0555417572000003 -2.0555417572000003 -2.447490713225541 +-1.48382815761 -1.48382815761 -1.8209392783737293 +-0.95729452959 -0.95729452959 -1.2266720570784673 +-0.65650800783 -0.65650800783 -0.8731833435330726 +-0.47343514845000007 -0.47343514845000007 -0.6492917531030606 +12.679868554355 12.679868554355 10.433307629034491 +1.9184014952200001 1.9184014952200001 0.5372935926144957 +-2.6264406116300005 -2.6264406116300005 -3.454071067505538 +-4.166200609645 -4.166200609645 -4.449631923483867 +-3.05153783711 -3.05153783711 -3.1786963745648182 +-1.9305773564900002 -1.9305773564900002 -2.029111250486782 +-1.1859304997550002 -1.1859304997550002 -1.2806215519568394 +-0.58466613627 -0.58466613627 -0.6704677096336213 +-0.304673233195 -0.304673233195 -0.37592778830523405 +-0.16756949192000004 -0.16756949192000004 -0.22428631094913987 +17.013727161525 17.013727161525 16.53106700762153 +1.410646782205 1.410646782205 3.437724448705743 +-9.569976590540001 -9.569976590540001 -7.220429495251404 +-8.614720997995 -8.614720997995 -7.402147627239516 +-5.667363394710001 -5.667363394710001 -5.163469570423751 +-3.45916750607 -3.45916750607 -3.246554761911029 +-1.67588558301 -1.67588558301 -1.6032556331793915 +-0.879099341855 -0.879099341855 -0.848741589332984 +-0.50259836229 -0.50259836229 -0.4559122897888401 +7.71380432875 7.71380432875 10.473860360058854 +-4.277490014840001 -4.277490014840001 -2.156309690190411 +-7.563415715005001 -7.563415715005001 -6.254643654119142 +-7.387675404535001 -7.387675404535001 -6.552494680729395 +-4.683398799825 -4.683398799825 -4.202395315388068 +-2.515353264915 -2.515353264915 -2.172710327111764 +-1.309808048485 -1.309808048485 -1.057769993176041 +-0.6915594567750001 -0.6915594567750001 -0.5046131355933288 +-0.278854066195 -0.278854066195 -0.15645650269696487 +-0.118424463995 -0.118424463995 -0.03535258758609243 +-0.05138024735 -0.05138024735 0.0066957266126535 +20.451325423700002 20.451325423700002 20.855791532901343 +-1.9355325414050002 -1.9355325414050002 0.9767629242219247 +-11.05067110888 -11.05067110888 -9.363739977423942 +-8.478947991395001 -8.478947991395001 -8.059684979071386 +-5.47542816008 -5.47542816008 -5.523205524650353 +-3.4760321165150003 -3.4760321165150003 -3.6406683488224414 +-1.8476677947000002 -1.8476677947000002 -2.013668630094856 +-1.063852153665 -1.063852153665 -1.194776458422675 +-0.6576380755400001 -0.6576380755400001 -0.7442152813660814 +33.488101953830004 33.488101953830004 27.263064729012584 +10.106692616445 10.106692616445 6.660519620309229 +-6.69116572504 -6.69116572504 -8.251562634342342 +-7.638323487935 -7.638323487935 -8.52402348869288 +-5.443511138055 -5.443511138055 -6.014529225629497 +-3.5128752591700003 -3.5128752591700003 -3.924763103187167 +-1.84124419389 -1.84124419389 -2.1148027265434965 +-1.049754058825 -1.049754058825 -1.2370211976756615 +-0.6531140239800001 -0.6531140239800001 -0.7848313265600372 +17.88269543402 17.88269543402 14.46682195428585 +2.391145953385 2.391145953385 0.6652769358009842 +-3.951483964025 -3.951483964025 -4.932238008754438 +-6.108878790615 -6.108878790615 -6.4856156637349365 +-4.627558615625 -4.627558615625 -4.824239243912647 +-3.0745474828150003 -3.0745474828150003 -3.235527437321553 +-1.998740876295 -1.998740876295 -2.1613576244496695 +-1.08774417741 -1.08774417741 -1.2462170963530428 +-0.636329333755 -0.636329333755 -0.7771810554096648 +-0.39968375074 -0.39968375074 -0.5184887041478501 +26.00129368169 26.00129368169 20.65402981127843 +6.019479255375 6.019479255375 3.285690588721506 +-3.39753835692 -3.39753835692 -4.863696832847706 +-7.167961172175 -7.167961172175 -8.029452621181065 +-7.7527553540800005 -7.7527553540800005 -8.18138139415283 +-5.909702532005 -5.909702532005 -6.217854365189981 +-4.174381195055 -4.174381195055 -4.421876447643388 +-2.937633433915 -2.937633433915 -3.1369200215148774 +-1.80801807131 -1.80801807131 -1.950336624593227 +-1.183697984595 -1.183697984595 -1.286465243580328 +-0.8179301277950001 -0.8179301277950001 -0.8945577953125343 +32.128939073715 32.128939073715 21.76076917124581 +4.9671409169 4.9671409169 0.1955511487141397 +-7.222153382535001 -7.222153382535001 -9.226327647341634 +-11.61409941812 -11.61409941812 -12.300965509666451 +-11.153679949625001 -11.153679949625001 -11.047705735081918 +-7.850032071950001 -7.850032071950001 -7.735692513433702 +-5.06802459918 -5.06802459918 -5.053138031919642 +-3.200058565135 -3.200058565135 -3.2560403763838455 +-1.620329294125 -1.620329294125 -1.7098411378940432 +-0.8459475734350002 -0.8459475734350002 -0.9284915145594692 +-0.455971818985 -0.455971818985 -0.5211248881187976 +10.47973948821 10.47973948821 11.16015763840868 +-5.293553080055 -5.293553080055 -4.3014502892298125 +-11.146017690425 -11.146017690425 -10.233499882598188 +-11.337385712035001 -11.337385712035001 -10.622252837669786 +-7.974515402295 -7.974515402295 -7.387701200760739 +-5.109599864270001 -5.109599864270001 -4.646226792507072 +-3.21965647861 -3.21965647861 -2.8623820220744003 +-1.6543845758600002 -1.6543845758600002 -1.4088779184371232 +-0.89807102107 -0.89807102107 -0.7209748069528373 +-0.5143695815 -0.5143695815 -0.380039620657466 +16.041898914135 16.041898914135 16.69134706175226 +-1.4033043089050001 -1.4033043089050001 -1.0347548496466228 +-8.235451034855 -8.235451034855 -8.329895823418338 +-10.075382688785 -10.075382688785 -10.467096111767574 +-8.55516738536 -8.55516738536 -9.061277619244438 +-5.89907049099 -5.89907049099 -6.280784689247591 +-3.8727715527900006 -3.8727715527900006 -4.132628619834671 +-2.54862289203 -2.54862289203 -2.731640919777699 +-1.425612867345 -1.425612867345 -1.5455058211532668 +-0.8542676254050001 -0.8542676254050001 -0.9400861463100414 +-0.545360957245 -0.545360957245 -0.609910157968679 +22.146713562025003 22.146713562025003 18.746188678210338 +-3.7558634200650003 -3.7558634200650003 -4.335102759095232 +-13.653893741380001 -13.653893741380001 -14.602283565973465 +-10.551683885545001 -10.551683885545001 -11.88660824553748 +-7.037638703575 -7.037638703575 -8.280185745563475 +-4.659279407780001 -4.659279407780001 -5.695042609542627 +-2.6678182028250004 -2.6678182028250004 -3.421733711161783 +-1.66455150955 -1.66455150955 -2.2143695889025268 +-1.11373568223 -1.11373568223 -1.523355200302133 +39.34217478797 39.34217478797 27.96250334161951 +11.684208695975 11.684208695975 6.259086055594501 +-0.9934999645500001 -0.9934999645500001 -3.949389743545521 +-5.997376877450001 -5.997376877450001 -7.919571171316132 +-7.0009249455600004 -7.0009249455600004 -8.200182963666808 +-5.080872509685 -5.080872509685 -5.986323363266196 +-3.3554493339900002 -3.3554493339900002 -4.059796175935582 +-2.20456424453 -2.20456424453 -2.756462225567417 +-1.235089154025 -1.235089154025 -1.6251732211807413 +-0.746761486945 -0.746761486945 -1.0309414596829718 +-0.483744673045 -0.483744673045 -0.6967864386366637 +19.038702952745002 19.038702952745002 13.993700059155035 +-0.04698135337500001 -0.04698135337500001 -1.7066499950756606 +-10.323329710295 -10.323329710295 -10.667906995329947 +-8.96993389846 -8.96993389846 -9.370443281878622 +-6.189946826705 -6.189946826705 -6.621936693126994 +-4.075514054305001 -4.075514054305001 -4.455630424488438 +-2.23050581234 -2.23050581234 -2.5032547400516227 +-1.3089981079900002 -1.3089981079900002 -1.4988861426668558 +-0.823815868675 -0.823815868675 -0.9576029890035516 +20.271486550200002 20.271486550200002 23.919915100656603 +5.495670581295 5.495670581295 7.919634956872754 +-4.365448701935001 -4.365448701935001 -4.010242250890774 +-4.899796290545 -4.899796290545 -5.0955802863012645 +-3.536941406075 -3.536941406075 -3.7088179334731444 +-2.2660543997100002 -2.2660543997100002 -2.378959839508226 +-1.14017399464 -1.14017399464 -1.2267413376569436 +-0.618546139625 -0.618546139625 -0.69191001680941 +-0.36670563289 -0.36670563289 -0.4251657122147872 +10.99413275172 10.99413275172 16.076794797712825 +-4.58481686714 -4.58481686714 -0.6822294482821525 +-5.765427867600001 -5.765427867600001 -3.69429950330393 +-4.2601093886250005 -4.2601093886250005 -3.2360423048295694 +-2.82156834924 -2.82156834924 -2.287768125878299 +-1.4885109731550001 -1.4885109731550001 -1.2342259690948818 +-0.81796376045 -0.81796376045 -0.6576053604515242 +-0.4710420052 -0.4710420052 -0.353289465202561 +14.770022041760003 14.770022041760003 17.51192421772761 +-3.5428151221650004 -3.5428151221650004 -0.248426024653293 +-10.058496207925 -10.058496207925 -7.5668218417180695 +-10.50893536327 -10.50893536327 -9.638192578594229 +-7.314445378615001 -7.314445378615001 -7.163915141443334 +-4.593718808675 -4.593718808675 -4.677514816415334 +-2.817444817705 -2.817444817705 -2.966195847639761 +-1.3876292862550001 -1.3876292862550001 -1.5462495897007165 +-0.72960093014 -0.72960093014 -0.8655299204631964 +-0.410725474775 -0.410725474775 -0.51962848733584 +16.835371643015 16.835371643015 14.415121995409063 +-1.91545909737 -1.91545909737 -1.7992815206824488 +-8.88690828957 -8.88690828957 -8.274277313259397 +-9.784137496575001 -9.784137496575001 -9.471047336542371 +-6.80847805349 -6.80847805349 -6.7341168158426905 +-4.28419832487 -4.28419832487 -4.266189615887493 +-2.653446005785 -2.653446005785 -2.6362096781555113 +-1.33530876859 -1.33530876859 -1.305554990413951 +-0.7143797514200001 -0.7143797514200001 -0.6775245293328216 +-0.40538302861000003 -0.40538302861000003 -0.36681089366383 +-6.50619919753 -6.50619919753 -4.330105908642175 +-10.006175033885 -10.006175033885 -8.722131234799624 +-6.956824710865 -6.956824710865 -6.519787231376422 +-4.284724028735001 -4.284724028735001 -4.182284243257234 +-2.0751249153650004 -2.0751249153650004 -2.1006716508268464 +-1.0867569106450001 -1.0867569106450001 -1.1299054970557485 +-0.6198706781200001 -0.6198706781200001 -0.6607768836738426 +23.41828130803 23.41828130803 23.76475274611732 +10.121420936305 10.121420936305 10.052208762187568 +2.9974765079250005 2.9974765079250005 2.6821707999358666 +-0.48447910416 -0.48447910416 -0.8154867363760084 +-1.938127690625 -1.938127690625 -2.1733768170239918 +-2.2632414127550002 -2.2632414127550002 -2.294788051752535 +-1.66294685646 -1.66294685646 -1.6160568625280083 +-1.0967248576900002 -1.0967248576900002 -1.048035150221385 +-0.710751756755 -0.710751756755 -0.6788442872113734 +-0.38262222779500005 -0.38262222779500005 -0.3710440049287494 +-0.21911210019 -0.21911210019 -0.21632160095918126 +-0.13296338028500002 -0.13296338028500002 -0.13309726677435219 diff --git a/examples/water_fullpol/run.py b/examples/water_fullpol/run.py index cec878a0f..badaa453d 100755 --- a/examples/water_fullpol/run.py +++ b/examples/water_fullpol/run.py @@ -20,6 +20,7 @@ pots = H.createPotential(pdb.topology, \ nonbondedMethod=app.PME, \ nonbondedCutoff=rc*unit.nanometer, \ + has_aux=True, \ ethresh=5e-4) # construct inputs @@ -34,18 +35,21 @@ params = H.getParameters() pot_disp = pots.dmff_potentials['ADMPDispForce'] - E_disp, F_disp = value_and_grad(pot_disp)(positions, box, nbl.pairs, params) + res_disp, F_disp = value_and_grad(pot_disp, has_aux=True)(positions, box, nbl.pairs, params) + E_disp = res_disp[0] pot_pme = pots.dmff_potentials['ADMPPmeForce'] - E_pme, F_pme = value_and_grad(pot_pme)(positions, box, nbl.pairs, params) + res_pme, F_pme = value_and_grad(pot_pme, has_aux=True)(positions, box, nbl.pairs, params) + E_pme = res_pme[0] + U_ind = res_pme[1]["U_ind"] print('# Electrostatic+Polarization Energy:') print('#', E_pme, 'kJ/mol') print('# Dispersion+Damping Energy:') print('#', E_disp, 'kJ/mol') - sys.exit() + # compare induced dipole with mpid with open('mpid_dip.pickle', 'rb') as ifile: U_ind_mpid = pickle.load(ifile) * 10 - for x, y in zip(pme_generator.pme_force.U_ind.flatten(), U_ind_mpid.flatten()): + for x, y in zip(U_ind.flatten(), U_ind_mpid.flatten()): print(y, y, x) From a2c8bebb4013468b8794e7d055a7c4b9d0d8775d Mon Sep 17 00:00:00 2001 From: KuangYu Date: Thu, 2 Nov 2023 18:19:29 +0800 Subject: [PATCH 07/14] Break a long line in code --- dmff/generators/admp.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dmff/generators/admp.py b/dmff/generators/admp.py index 1262570c7..ea2f8987f 100644 --- a/dmff/generators/admp.py +++ b/dmff/generators/admp.py @@ -1398,7 +1398,11 @@ def potential_fn(positions, box, pairs, params, aux=None): U_init = aux["U_ind"], aux = aux ) else: - energy, aux = pme_force.get_energy(positions, box, pairs, Q_local, pol, tholes, self.mScales, self.pScales, self.dScales, U_init=jnp.zeros((n_atoms,3)), aux={}) + energy, aux = pme_force.get_energy( + positions, box, pairs, Q_local, pol, tholes, + self.mScales, self.pScales, self.dScales, + U_init=jnp.zeros((n_atoms,3)), aux={} + ) return energy, aux else: energy = pme_force.get_energy( From 8f3abe138b5a062063ecaa994dea903893436df1 Mon Sep 17 00:00:00 2001 From: KuangYu Date: Thu, 2 Nov 2023 21:54:58 +0800 Subject: [PATCH 08/14] Fix the ADMP aux test --- tests/test_admp/test_compute.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_admp/test_compute.py b/tests/test_admp/test_compute.py index c527000cf..f3c66a788 100644 --- a/tests/test_admp/test_compute.py +++ b/tests/test_admp/test_compute.py @@ -86,8 +86,8 @@ def test_ADMPPmeForce_aux(self, pot_prm): covalent_map = potential.meta["cov_map"] # check map-atomtype & map-poltype - print('map-atomtype', potential.meta["admp_map_atomtype"]) - print("map-poltype", potential.meta["admp_map_poltype"]) + print('map-atomtype', potential.meta["ADMPPmeForce_map_atomtype"]) + print("map-poltype", potential.meta["ADMPPmeForce_map_poltype"]) # neighbor list nblist = NeighborList(box, rc, covalent_map) nblist.allocate(positions) From 04196e7b9c3acb034476632ea9f4a5185b3d2a4a Mon Sep 17 00:00:00 2001 From: KuangYu Date: Sun, 5 Nov 2023 08:42:29 +0800 Subject: [PATCH 09/14] Test modifying the MBAR.md file --- docs/user_guide/4.6MBAR.md | 63 ++++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/docs/user_guide/4.6MBAR.md b/docs/user_guide/4.6MBAR.md index c23b148d3..8c0d78bcb 100644 --- a/docs/user_guide/4.6MBAR.md +++ b/docs/user_guide/4.6MBAR.md @@ -7,81 +7,86 @@ In molecular dynamics (MD) simulations, the deep computational graph spanning th In the MBAR theory, it is assumed that there are K ensembles defined by potential energies $$ -u_{i}(x)(i=1,2,3,……,K) +u_{i}(x)(i=1,2,3,……,K) \label{eq-1} $$ For each ensemble, the Boltzmann weight, partition function, and probability function are defined as: - $$ -w_i = \exp(-\beta_i u_i(x)) -c_i = \int dx \cdot w_i(x) -p_i(x) = \frac{w_i(x)}{c_i} +w_i = \exp(-\beta_i u_i(x)) \\ +c_i = \int dx \cdot w_i(x) \\ +p_i(x) = \frac{w_i(x)}{c_i} \label{eq-2} $$ -For each ensemble $i$, select$N_{i}$ configurations, represented by{${x_{in}}$}$(where n=1,2,3,……,N_{i})$, and the total number of configurations across ensembles is represented by{${x_{n}}$}(n=1,2,3,……,N), where N is: +For each ensemble $i$, select $N_{i}$ configurations, represented by {${x_{in}}$} (where $n=1,2,3,……,N_{i}$), and the total number of configurations across ensembles is represented by {${x_{n}}$} ($n=1,2,3,……,N$), where N is: $$ -N = \sum_{i=1}^{K} N_i -$$ +N = \sum_{i=1}^{K} N_i \label{eq-3} +$$ {eq-3} Within the context of MBAR, for any ensemble K, the weighted average of the observable is defined as: $$ -\hat{c}_i = \sum_{n=1}^{N} \frac{w_{i}(x_n)}{\sum_{k=1}^{K} N_{k} \hat{c}_k^{-1} w_{k}(x_n)} (1) +\hat{c}_i = \sum_{n=1}^{N} \frac{w_{i}(x_n)}{\sum_{k=1}^{K} N_{k} \hat{c}_k^{-1} w_{k}(x_n)} \label{eq-4} $$ -To compute the average of a physical quantity A in ensemble i, one can utilize the above values to define a virtual ensemble j and provide its corresponding Boltzmann weight and partition function: - -$$w_j = w_i(x)A(x)$$ -$$c_i = \int dx \cdot w_j(x)$$ +To compute the average of a physical quantity $A$ in ensemble $i$, one can utilize the above values to define a virtual ensemble $j$ , with its corresponding Boltzmann weight and partition function: +$$ +w_j = w_i(x)A(x) \\ +c_i = \int dx \cdot w_j(x) \label{eq-5} +$$ Thus, the ensemble average of A is: -$$\langle A \rangle_i = \frac{\hat{c}_j}{\hat{c}_i} = \frac{\int dx \cdot w_i(x)A(x)}{\int dx \cdot w_i(x)}$$ - +$$ +\langle A \rangle_i = \frac{\hat{c}_j}{\hat{c}_i} = \frac{\int dx \cdot w_i(x)A(x)}{\int dx \cdot w_i(x)} \label{eq-6} +$$ Thus, the MBAR theory provides a method for estimating the average of physical properties using multiple samples. -In the MBAR framework, $\hat{c}_i$in Equation (1) requires iterative solution; however, the reweighting algorithm can simplify this estimation process. During gradient descent training for parameter optimization, the parameters undergo only slight perturbations in each training cycle. This allows for the continued use of samples from the previous cycle, such that resampling is not necessary until the optimized ensemble deviates significantly from the sampling ensemble, considerably reducing optimization time and computational cost. In the reweighted MBAR estimator, we define two types of ensembles: the sampling ensemble, from which all samples are extracted (assuming there are m samples, labeled as m=1, 2, 3, …, M), and the target ensemble, which needs optimization (corresponding to the above i, j, labeled as p, q). The sampling ensemble is updated only when necessary and does not need to be differentiable. Its data can be generated by external samplers like OpenMM. Hence, $\hat{c}_i$ can be transformed into: +In the MBAR framework, $\hat{c}_i$ in Eqn $\ref{eq-4}$ needs to be solved iteratively; however, the differentiable reweighting algorithm can simplify this estimation process. During gradient descent training for parameter optimization, the parameters undergo only slight perturbations in each training cycle. This allows for the usage of samples from the previous cycles, such that resampling is not necessary until the optimized ensemble deviates significantly from the sampling ensemble. This reduces the time and computational cost of the optimization considerably. In the reweighted MBAR estimator, we define two types of ensembles: the sampling ensemble, from which all samples are extracted (assuming there are $m$ samples, labeled as $m=1, 2, 3, …, M$), and the target ensemble, which needs optimization (labeled as $p, q$, corresponding to the indices $i, j$ in Eqn $\ref{eq-6}$). The sampling ensemble is updated only when necessary and does not need to be differentiable. Its data can be generated by external samplers like OpenMM. Hence, $\hat{c}_i$ can be transformed into: -$$\hat{c}_p = \sum_{n=1}^{N} w_{p}(x_n) \left( \sum_{m=1}^{M} N_{m} \hat{c}_m^{-1} w_{m}(x_n) \right)^{-1}(2)$$ - -Every time resampling is needed, the method of iteratively solving Equation(1) is utilized for updating $\hat{c}_m$ and storage until the next sampling. Subsequently, during the parameter optimization process, Equation (2) is employed for computating $\hat{c}_p$ and serves as a differentiable estimator. +$$ +\hat{c}_p = \sum_{n=1}^{N} w_{p}(x_n) \left( \sum_{m=1}^{M} N_{m} \hat{c}_m^{-1} w_{m}(x_n) \right)^{-1} \label{eq-7} +$$ +When resample happens, Eqn. $\ref{eq-4}$ is solved iteratively using standard MBAR to update $\hat{c}_m$, which is stored and used to evaluate $\hat{c}_p$ until the next resampling. Subsequently, during the parameter optimization process, Eqn $\ref{eq-7}$ is employed to compute $\hat{c}_p$, serving as a differentiable estimator. Below, we illustrate the workflow of how to use MBAR Estimator in DMFF through a case study. If all sampling ensembles are defined as a single ensemble $w_{0}(x)$, and the target ensemble is defined as $w_{p}(x)$, and for physical quantity A, we have: -$$w_q(x) = w_p(x) A(x)$$ - +$$ +w_q(x) = w_p(x) A(x) \label{eq-8} +$$ and define: -$$\Delta u_{p_0} = u_p(x) - u_0(x)$$ - +$$ +\Delta u_{p_0} = u_p(x) - u_0(x) \label{eq-9} +$$ then: -$$\langle A \rangle_p = \frac{\hat{c}_q}{\hat{c}_p}= \frac{\sum_{n=1}^{N} A(x_n) \exp(-\beta \Delta u_{p_0}(x_n))}{\sum_{n=1}^{N} \exp(-\beta \Delta u_{p_0}(x_n))}$$ - +$$ +\langle A \rangle_p = \frac{\hat{c}_q}{\hat{c}_p}= \frac{\sum_{n=1}^{N} A(x_n) \exp(-\beta \Delta u_{p_0}(x_n))}{\sum_{n=1}^{N} \exp(-\beta \Delta u_{p_0}(x_n))} \label{eq-10} +$$ Refers to equations above, this equation indicates that the trajectory reweighting algorithm is a special case of the reweighted MBAR estimator. In DMFF, when calculating the average of the physical quantity A, the formula is expressed as: $$ -\langle A \rangle_p = \sum_{n=1}^{N} W_n A(x_n) +\langle A \rangle_p = \sum_{n=1}^{N} W_n A(x_n) \label{eq-11} $$ where $$ -\Delta U_{mp} = U_m(x_n) - U_p(x_n) +\Delta U_{mp} = U_m(x_n) - U_p(x_n) \label{eq-12} $$ $$ -W_n = \frac{\left[\sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)}\right]^{-1}}{\sum_{n=1}^{N} \left[ \sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)} \right]^{-1}} +W_n = \frac{\left[\sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)}\right]^{-1}}{\sum_{n=1}^{N} \left[ \sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)} \right]^{-1}} \label{eq-13} $$ $\hat{f}_m$ is the partition function of the sampling state. W is the MBAR weight for each sample. Finally, the effective sample size is given, based on which one can judge the deviation of the sampling ensemble from the target ensemble: $$ -n_{\text{eff}} = \frac{\left(\sum_{n=1}^{N} W_n\right)^2}{\sum_{n=1}^{N} W_n^2} +n_{\text{eff}} = \frac{\left(\sum_{n=1}^{N} W_n\right)^2}{\sum_{n=1}^{N} W_n^2} \label{eq-14} $$ When $n_{eff}$ is too small, it indicates that the current sampling ensemble deviates too much from the target ensemble and needs to be resampled. From 75654bc18419a7a8ebc96f328ffa30a66b3fc79f Mon Sep 17 00:00:00 2001 From: KuangYu Date: Sun, 5 Nov 2023 08:46:38 +0800 Subject: [PATCH 10/14] Update MBAR doc --- docs/user_guide/4.6MBAR.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user_guide/4.6MBAR.md b/docs/user_guide/4.6MBAR.md index 8c0d78bcb..1a0662f19 100644 --- a/docs/user_guide/4.6MBAR.md +++ b/docs/user_guide/4.6MBAR.md @@ -21,7 +21,7 @@ For each ensemble $i$, select $N_{i}$ configurations, represented by {${x_{in}}$ $$ N = \sum_{i=1}^{K} N_i \label{eq-3} -$$ {eq-3} +$$ Within the context of MBAR, for any ensemble K, the weighted average of the observable is defined as: From 5d6ee771101c6fdb661b7aa7923df8f194c48940 Mon Sep 17 00:00:00 2001 From: KuangYu Date: Sun, 5 Nov 2023 09:26:19 +0800 Subject: [PATCH 11/14] Update doc --- docs/user_guide/4.6MBAR.md | 50 +++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/docs/user_guide/4.6MBAR.md b/docs/user_guide/4.6MBAR.md index 1a0662f19..cf573805f 100644 --- a/docs/user_guide/4.6MBAR.md +++ b/docs/user_guide/4.6MBAR.md @@ -7,45 +7,57 @@ In molecular dynamics (MD) simulations, the deep computational graph spanning th In the MBAR theory, it is assumed that there are K ensembles defined by potential energies $$ -u_{i}(x)(i=1,2,3,……,K) \label{eq-1} +\tag{1} +u_{i}(x)(i=1,2,3,……,K) $$ For each ensemble, the Boltzmann weight, partition function, and probability function are defined as: + $$ +\tag{2} w_i = \exp(-\beta_i u_i(x)) \\ c_i = \int dx \cdot w_i(x) \\ -p_i(x) = \frac{w_i(x)}{c_i} \label{eq-2} +p_i(x) = \frac{w_i(x)}{c_i} $$ For each ensemble $i$, select $N_{i}$ configurations, represented by {${x_{in}}$} (where $n=1,2,3,……,N_{i}$), and the total number of configurations across ensembles is represented by {${x_{n}}$} ($n=1,2,3,……,N$), where N is: $$ -N = \sum_{i=1}^{K} N_i \label{eq-3} +\tag{3} +N = \sum_{i=1}^{K} N_i $$ Within the context of MBAR, for any ensemble K, the weighted average of the observable is defined as: $$ -\hat{c}_i = \sum_{n=1}^{N} \frac{w_{i}(x_n)}{\sum_{k=1}^{K} N_{k} \hat{c}_k^{-1} w_{k}(x_n)} \label{eq-4} +\tag{4} +\hat{c}_i = \sum_{n=1}^{N} \frac{w_{i}(x_n)}{\sum_{k=1}^{K} N_{k} \hat{c}_k^{-1} w_{k}(x_n)} $$ To compute the average of a physical quantity $A$ in ensemble $i$, one can utilize the above values to define a virtual ensemble $j$ , with its corresponding Boltzmann weight and partition function: $$ +\tag{5} w_j = w_i(x)A(x) \\ -c_i = \int dx \cdot w_j(x) \label{eq-5} +c_i = \int dx \cdot w_j(x) $$ + Thus, the ensemble average of A is: + $$ -\langle A \rangle_i = \frac{\hat{c}_j}{\hat{c}_i} = \frac{\int dx \cdot w_i(x)A(x)}{\int dx \cdot w_i(x)} \label{eq-6} +\tag{6} +\langle A \rangle_i = \frac{\hat{c}_j}{\hat{c}_i} = \frac{\int dx \cdot w_i(x)A(x)}{\int dx \cdot w_i(x)} $$ + Thus, the MBAR theory provides a method for estimating the average of physical properties using multiple samples. In the MBAR framework, $\hat{c}_i$ in Eqn $\ref{eq-4}$ needs to be solved iteratively; however, the differentiable reweighting algorithm can simplify this estimation process. During gradient descent training for parameter optimization, the parameters undergo only slight perturbations in each training cycle. This allows for the usage of samples from the previous cycles, such that resampling is not necessary until the optimized ensemble deviates significantly from the sampling ensemble. This reduces the time and computational cost of the optimization considerably. In the reweighted MBAR estimator, we define two types of ensembles: the sampling ensemble, from which all samples are extracted (assuming there are $m$ samples, labeled as $m=1, 2, 3, …, M$), and the target ensemble, which needs optimization (labeled as $p, q$, corresponding to the indices $i, j$ in Eqn $\ref{eq-6}$). The sampling ensemble is updated only when necessary and does not need to be differentiable. Its data can be generated by external samplers like OpenMM. Hence, $\hat{c}_i$ can be transformed into: $$ -\hat{c}_p = \sum_{n=1}^{N} w_{p}(x_n) \left( \sum_{m=1}^{M} N_{m} \hat{c}_m^{-1} w_{m}(x_n) \right)^{-1} \label{eq-7} +\tag{7} +\hat{c}_p = \sum_{n=1}^{N} w_{p}(x_n) \left( \sum_{m=1}^{M} N_{m} \hat{c}_m^{-1} w_{m}(x_n) \right)^{-1} $$ + When resample happens, Eqn. $\ref{eq-4}$ is solved iteratively using standard MBAR to update $\hat{c}_m$, which is stored and used to evaluate $\hat{c}_p$ until the next resampling. Subsequently, during the parameter optimization process, Eqn $\ref{eq-7}$ is employed to compute $\hat{c}_p$, serving as a differentiable estimator. Below, we illustrate the workflow of how to use MBAR Estimator in DMFF through a case study. @@ -53,40 +65,50 @@ Below, we illustrate the workflow of how to use MBAR Estimator in DMFF through a If all sampling ensembles are defined as a single ensemble $w_{0}(x)$, and the target ensemble is defined as $w_{p}(x)$, and for physical quantity A, we have: $$ -w_q(x) = w_p(x) A(x) \label{eq-8} +\tag{8} +w_q(x) = w_p(x) A(x) $$ + and define: $$ -\Delta u_{p_0} = u_p(x) - u_0(x) \label{eq-9} +\tag{9} +\Delta u_{p_0} = u_p(x) - u_0(x) $$ + then: $$ -\langle A \rangle_p = \frac{\hat{c}_q}{\hat{c}_p}= \frac{\sum_{n=1}^{N} A(x_n) \exp(-\beta \Delta u_{p_0}(x_n))}{\sum_{n=1}^{N} \exp(-\beta \Delta u_{p_0}(x_n))} \label{eq-10} +\tag{10} +\langle A \rangle_p = \frac{\hat{c}_q}{\hat{c}_p}= \frac{\sum_{n=1}^{N} A(x_n) \exp(-\beta \Delta u_{p_0}(x_n))}{\sum_{n=1}^{N} \exp(-\beta \Delta u_{p_0}(x_n))} $$ + Refers to equations above, this equation indicates that the trajectory reweighting algorithm is a special case of the reweighted MBAR estimator. In DMFF, when calculating the average of the physical quantity A, the formula is expressed as: $$ -\langle A \rangle_p = \sum_{n=1}^{N} W_n A(x_n) \label{eq-11} +\tag{11} +\langle A \rangle_p = \sum_{n=1}^{N} W_n A(x_n) $$ where $$ -\Delta U_{mp} = U_m(x_n) - U_p(x_n) \label{eq-12} +\tag{12} +\Delta U_{mp} = U_m(x_n) - U_p(x_n) $$ $$ -W_n = \frac{\left[\sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)}\right]^{-1}}{\sum_{n=1}^{N} \left[ \sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)} \right]^{-1}} \label{eq-13} +\tag{13} +W_n = \frac{\left[\sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)}\right]^{-1}}{\sum_{n=1}^{N} \left[ \sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)} \right]^{-1}} $$ $\hat{f}_m$ is the partition function of the sampling state. W is the MBAR weight for each sample. Finally, the effective sample size is given, based on which one can judge the deviation of the sampling ensemble from the target ensemble: $$ -n_{\text{eff}} = \frac{\left(\sum_{n=1}^{N} W_n\right)^2}{\sum_{n=1}^{N} W_n^2} \label{eq-14} +\tag{14} +n_{\text{eff}} = \frac{\left(\sum_{n=1}^{N} W_n\right)^2}{\sum_{n=1}^{N} W_n^2} $$ When $n_{eff}$ is too small, it indicates that the current sampling ensemble deviates too much from the target ensemble and needs to be resampled. From 4f525380665fbdbe496940a047da9436938f2e92 Mon Sep 17 00:00:00 2001 From: Kuang Yu Date: Tue, 7 Nov 2023 19:31:34 +0800 Subject: [PATCH 12/14] Update 4.6MBAR.md --- docs/user_guide/4.6MBAR.md | 96 ++++++++++++++++++++------------------ 1 file changed, 51 insertions(+), 45 deletions(-) diff --git a/docs/user_guide/4.6MBAR.md b/docs/user_guide/4.6MBAR.md index cf573805f..3dabc11af 100644 --- a/docs/user_guide/4.6MBAR.md +++ b/docs/user_guide/4.6MBAR.md @@ -2,116 +2,122 @@ ## 1. Theory -In molecular dynamics (MD) simulations, the deep computational graph spanning the entire trajectory incurs significant temporal and computational costs. This limitation can be circumvented through trajectory reweighting schemes. In DMFF, the reweighting algorithm is incorporated into the MBAR method, extending the differentiable estimators for average properties and free energy. Although differentiable estimation of dynamic quantities remains a challenge, introducing the reweighted MBAR estimator has optimized the fitting of thermodynamic properties. +In molecular dynamics (MD) simulations, the deep computational graph spanning the entire trajectory incurs significant temporal and computational costs. This limitation can be circumvented through trajectory reweighting schemes. In DMFF, the reweighting algorithm is incorporated into the MBAR method, extending the differentiable estimators for average properties and free energy. Although differentiable estimation of dynamic properties remains a challenge, introducing the reweighted MBAR estimator has largely eased the fitting of thermodynamic properties. -In the MBAR theory, it is assumed that there are K ensembles defined by potential energies +In the MBAR theory, it is assumed that there are K ensembles defined by (effective) potential energies -$$ +```math \tag{1} -u_{i}(x)(i=1,2,3,……,K) -$$ +u_{i}(x)\ (i=1,2,3,……,K) +``` For each ensemble, the Boltzmann weight, partition function, and probability function are defined as: -$$ +```math \tag{2} -w_i = \exp(-\beta_i u_i(x)) \\ -c_i = \int dx \cdot w_i(x) \\ -p_i(x) = \frac{w_i(x)}{c_i} -$$ +\begin{align} +w_i &= \exp(-\beta_i u_i(x)) \\ +c_i &= \int dx \cdot w_i(x) \\ +p_i(x) &= \frac{w_i(x)}{c_i} +\end{align} +``` -For each ensemble $i$, select $N_{i}$ configurations, represented by {${x_{in}}$} (where $n=1,2,3,……,N_{i}$), and the total number of configurations across ensembles is represented by {${x_{n}}$} ($n=1,2,3,……,N$), where N is: +For each ensemble $i$, select $N_{i}$ configurations, represented by { ${x_{in}}$ } $n=1,2,3,……,N_i$ , and the total number of configurations across ensembles is represented by { ${x_{n}}$ } ( $n=1,2,3,……,N$ ), where N is: -$$ +```math \tag{3} N = \sum_{i=1}^{K} N_i -$$ +``` Within the context of MBAR, for any ensemble K, the weighted average of the observable is defined as: -$$ +```math \tag{4} -\hat{c}_i = \sum_{n=1}^{N} \frac{w_{i}(x_n)}{\sum_{k=1}^{K} N_{k} \hat{c}_k^{-1} w_{k}(x_n)} -$$ +\hat{c}_i = \sum_{n=1}^{N} w_{i}(x_n) \cdot \left(\sum_{k=1}^{K} N_{k} \hat{c}_k^{-1} w_{k}(x_n)\right)^{-1} +``` To compute the average of a physical quantity $A$ in ensemble $i$, one can utilize the above values to define a virtual ensemble $j$ , with its corresponding Boltzmann weight and partition function: -$$ +```math \tag{5} -w_j = w_i(x)A(x) \\ -c_i = \int dx \cdot w_j(x) -$$ +\begin{align} +w_j &= w_i(x)A(x) \\ +c_i &= \int dx \cdot w_j(x) +\end{align} +``` Thus, the ensemble average of A is: -$$ +```math \tag{6} \langle A \rangle_i = \frac{\hat{c}_j}{\hat{c}_i} = \frac{\int dx \cdot w_i(x)A(x)}{\int dx \cdot w_i(x)} -$$ +``` -Thus, the MBAR theory provides a method for estimating the average of physical properties using multiple samples. +Thus, the MBAR theory provides a method to estimate the ensemble averages using multiple samples from different ensembles. -In the MBAR framework, $\hat{c}_i$ in Eqn $\ref{eq-4}$ needs to be solved iteratively; however, the differentiable reweighting algorithm can simplify this estimation process. During gradient descent training for parameter optimization, the parameters undergo only slight perturbations in each training cycle. This allows for the usage of samples from the previous cycles, such that resampling is not necessary until the optimized ensemble deviates significantly from the sampling ensemble. This reduces the time and computational cost of the optimization considerably. In the reweighted MBAR estimator, we define two types of ensembles: the sampling ensemble, from which all samples are extracted (assuming there are $m$ samples, labeled as $m=1, 2, 3, …, M$), and the target ensemble, which needs optimization (labeled as $p, q$, corresponding to the indices $i, j$ in Eqn $\ref{eq-6}$). The sampling ensemble is updated only when necessary and does not need to be differentiable. Its data can be generated by external samplers like OpenMM. Hence, $\hat{c}_i$ can be transformed into: +In the MBAR framework, $\hat{c}_i$ in Eqn (4) needs to be solved iteratively; however, the differentiable reweighting algorithm can simplify this estimation process. During the gradient descent parameter optimization, the parameters undergo only small changes in each training cycle. This allows for the usage of samples from the previous cycles to evaluate the target ensemble that is being optimized. So resampling is not necessary until the target ensemble deviates significantly from the sampling ensemble. This reduces the time and computational cost of the optimization considerably. -$$ +In the reweighted MBAR estimator, we define two types of ensembles: the sampling ensemble, from which all samples are extracted (labeled as $m=1, 2, 3, …, M$ ), and the target ensemble, which needs optimization (labeled as $p, q$, corresponding to the indices $i, j$ in Eqn (6)). The sampling ensemble is updated only when necessary and does not need to be differentiable. Its data can be generated by external samplers like OpenMM. Hence, $\hat{c}_i$ can be transformed into: + +```math \tag{7} \hat{c}_p = \sum_{n=1}^{N} w_{p}(x_n) \left( \sum_{m=1}^{M} N_{m} \hat{c}_m^{-1} w_{m}(x_n) \right)^{-1} -$$ +``` -When resample happens, Eqn. $\ref{eq-4}$ is solved iteratively using standard MBAR to update $\hat{c}_m$, which is stored and used to evaluate $\hat{c}_p$ until the next resampling. Subsequently, during the parameter optimization process, Eqn $\ref{eq-7}$ is employed to compute $\hat{c}_p$, serving as a differentiable estimator. +When resample happens, Eqn. (4) is solved iteratively using standard MBAR to update $\hat{c}_m$, which is stored and used to evaluate $\hat{c}_p$ until the next resampling. Subsequently, during the parameter optimization process, Eqn (7) is employed to compute $\hat{c}_p$, serving as a differentiable estimator. Below, we illustrate the workflow of how to use MBAR Estimator in DMFF through a case study. If all sampling ensembles are defined as a single ensemble $w_{0}(x)$, and the target ensemble is defined as $w_{p}(x)$, and for physical quantity A, we have: -$$ +```math \tag{8} w_q(x) = w_p(x) A(x) -$$ +``` and define: -$$ +```math \tag{9} \Delta u_{p_0} = u_p(x) - u_0(x) -$$ +``` then: -$$ +```math \tag{10} -\langle A \rangle_p = \frac{\hat{c}_q}{\hat{c}_p}= \frac{\sum_{n=1}^{N} A(x_n) \exp(-\beta \Delta u_{p_0}(x_n))}{\sum_{n=1}^{N} \exp(-\beta \Delta u_{p_0}(x_n))} -$$ +\langle A \rangle_p = \frac{\hat{c}_q}{\hat{c}_p} = \left(\sum_{n=1}^{N} A(x_n) \exp(-\beta \Delta u_{p_0}(x_n))\right) \cdot \left(\sum_{n=1}^{N} \exp(-\beta \Delta u_{p_0}(x_n))\right)^{-1} +``` Refers to equations above, this equation indicates that the trajectory reweighting algorithm is a special case of the reweighted MBAR estimator. In DMFF, when calculating the average of the physical quantity A, the formula is expressed as: -$$ +```math \tag{11} \langle A \rangle_p = \sum_{n=1}^{N} W_n A(x_n) -$$ +``` where -$$ +```math \tag{12} \Delta U_{mp} = U_m(x_n) - U_p(x_n) -$$ +``` -$$ +```math \tag{13} -W_n = \frac{\left[\sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)}\right]^{-1}}{\sum_{n=1}^{N} \left[ \sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)} \right]^{-1}} -$$ +W_n = \left[\sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)}\right]^{-1} \cdot \left(\sum_{n=1}^{N} \left[ \sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)} \right]^{-1}\right)^{-1} +``` $\hat{f}_m$ is the partition function of the sampling state. W is the MBAR weight for each sample. Finally, the effective sample size is given, based on which one can judge the deviation of the sampling ensemble from the target ensemble: -$$ +```math \tag{14} -n_{\text{eff}} = \frac{\left(\sum_{n=1}^{N} W_n\right)^2}{\sum_{n=1}^{N} W_n^2} -$$ +n_{\text{eff}} = \left(\sum_{n=1}^{N} W_n\right)^2\cdot\left(\sum_{n=1}^{N} W_n^2\right)^{-1} +``` -When $n_{eff}$ is too small, it indicates that the current sampling ensemble deviates too much from the target ensemble and needs to be resampled. +When $n_{eff}$ is too small, it indicates that the current sampling ensemble deviates too much from the target ensemble and resample is needed. Here is a graphical representation of the workflow mentioned above: From de7f928ab811302a89c3d1b3d4cca99e2829d0a6 Mon Sep 17 00:00:00 2001 From: Kuang Yu Date: Tue, 7 Nov 2023 19:53:25 +0800 Subject: [PATCH 13/14] Update 4.5Optimization.md --- docs/user_guide/4.5Optimization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user_guide/4.5Optimization.md b/docs/user_guide/4.5Optimization.md index 598be31de..2b6ede4cc 100644 --- a/docs/user_guide/4.5Optimization.md +++ b/docs/user_guide/4.5Optimization.md @@ -2,7 +2,7 @@ ## 1. Theory -Automatic differentiation is fundamental to DMFF and aids in neural network optimization. During training, it computes the derivatives from output to input using backpropagation, optimizing parameters through gradient descent. With its efficiency in optimizing high-dimensional parameters, this technique isn't limited to neural networks but suits any framework following the "input parameters → model computation → output" sequence, such as molecular dynamics (MD) simulations. Hence, using automatic differentiation and referencing experimental or ab initio data, we can optimize force field parameters by computing the output's derivative with respect to input parameters. +Automatic differentiation is a crucial component of DMFF and plays a significant role in optimizing neural networks. This technique computes the derivatives of output with respect to input using backpropagation, so parameters optimization can be conducted using gradient descent algorithms. With its efficiency in optimizing high-dimensional parameters, this technique is not limited to training neural networks but is also suitable for any physical model optimization (i.e., molecular force field in the case of DMFF). A typical optimization recipe needs two key ingradients: 1. gradient evaluation, which can be done easily using JAX; and 2. an optimizer that takes gradient as inputs, and update parameters following certain optimization algorithm. To help the users building optimization workflows, DMFF provides an wrapper API for optimizers implemented in [Optax](https://github.com/google-deepmind/optax), which is introduced here. ## 2. Function module From 34ed56b165366c2a3c5dd656e2c6aa024ab3bd61 Mon Sep 17 00:00:00 2001 From: Kuang Yu Date: Tue, 7 Nov 2023 20:03:42 +0800 Subject: [PATCH 14/14] Update 4.5Optimization.md --- docs/user_guide/4.5Optimization.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/user_guide/4.5Optimization.md b/docs/user_guide/4.5Optimization.md index 2b6ede4cc..883dd21ab 100644 --- a/docs/user_guide/4.5Optimization.md +++ b/docs/user_guide/4.5Optimization.md @@ -6,14 +6,12 @@ Automatic differentiation is a crucial component of DMFF and plays a significant ## 2. Function module -Imports: Importing necessary modules and functions from `jax` and `optax`. - Function `periodic_move`: - Creates a function to perform a periodic update on parameters. If the update causes the parameters to exceed a given range, they are wrapped around in a periodic manner (like an angle that wraps around after 360 degrees). Function `genOptimizer`: - It's a function to generate an optimizer based on user preferences. -- Depending on the arguments, it can produce various optimization schemes, such as SGD, Nesterov, Adam, and others. +- Depending on the arguments, it can produce various optimization schemes, such as SGD, Nesterov, Adam, etc. - Supports learning rate schedules like exponential decay and warmup exponential decay. - The optimizer can be further augmented with features like gradient clipping, periodic parameter wrapping, and keeping parameters non-negative.