diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index c5c2fb7cba..f9ff8355ba 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -69,9 +69,9 @@ OPT. * :doc:`edpd/source ` * :doc:`efield ` * :doc:`ehex ` - * :doc:`electrode/conp (i) ` - * :doc:`electrode/conq (i) ` - * :doc:`electrode/thermo (i) ` + * :doc:`electrode/conp (i) ` + * :doc:`electrode/conq (i) ` + * :doc:`electrode/thermo (i) ` * :doc:`electron/stopping ` * :doc:`electron/stopping/fit ` * :doc:`enforce2d (k) ` diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 2a3f5fc391..54dfc95bdb 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -865,7 +865,7 @@ ELECTRODE package The ELECTRODE package allows the user to enforce a constant potential method for groups of atoms that interact with the remaining atoms as electrolyte. -**Authors:** The ELECTRODE library is written and maintained by Ludwig +**Authors:** The ELECTRODE package is written and maintained by Ludwig Ahrens-Iwers (TUHH, Hamburg, Germany), Shern Tee (UQ, Brisbane, Australia) and Robert Meissner (TUHH, Hamburg, Germany). @@ -878,7 +878,7 @@ This package has :ref:`specific installation instructions ` on the **Supporting info:** -* :doc:`fix electrode/conp ` +* :doc:`fix electrode/conp ` ---------- diff --git a/doc/src/Packages_list.rst b/doc/src/Packages_list.rst index cfe0460d05..905a4ea232 100644 --- a/doc/src/Packages_list.rst +++ b/doc/src/Packages_list.rst @@ -155,7 +155,7 @@ whether an extra library is needed to build and use the package: - no * - :ref:`ELECTRODE ` - electrode charges to match potential - - :doc:`fix electrode/conp ` + - :doc:`fix electrode/conp ` - PACKAGES/electrode - no * - :ref:`EXTRA-COMPUTE ` diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 333e920bd9..5b4505459e 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -216,9 +216,9 @@ accelerated styles exist. * :doc:`edpd/source ` - add heat source to eDPD simulations * :doc:`efield ` - impose electric field on system * :doc:`ehex ` - enhanced heat exchange algorithm -* :doc:`electrode/conp ` - impose electric potential -* :doc:`electrode/conq ` - impose total electric charge -* :doc:`electrode/thermo ` - apply thermo-potentiostat +* :doc:`electrode/conp ` - impose electric potential +* :doc:`electrode/conq ` - impose total electric charge +* :doc:`electrode/thermo ` - apply thermo-potentiostat * :doc:`electron/stopping ` - electronic stopping power as a friction force * :doc:`electron/stopping/fit ` - electronic stopping power as a friction force * :doc:`enforce2d ` - zero out *z*-dimension velocity and force diff --git a/doc/src/fix_electrode.rst b/doc/src/fix_electrode.rst new file mode 100644 index 0000000000..9da8dcbdf9 --- /dev/null +++ b/doc/src/fix_electrode.rst @@ -0,0 +1,421 @@ +.. index:: fix electrode/conp +.. index:: fix electrode/conq +.. index:: fix electrode/thermo +.. index:: fix electrode/conp/intel +.. index:: fix electrode/conq/intel +.. index:: fix electrode/thermo/intel + +fix electrode/conp command +========================== + +Accelerator Variant: *electrode/conp/intel* + +fix electrode/conq command +========================== + +Accelerator Variant: *electrode/conq/intel* + +fix electrode/thermo command +============================ + +Accelerator Variant: *electrode/thermo/intel* + +Syntax +"""""" + +.. code-block:: LAMMPS + + fix ID group-ID style args keyword value ... + +* ID, group-ID are documented in :doc:`fix ` command +* style = *electrode/conp* or *electrode/conq* or *electrode/thermo* +* args = arguments used by a particular style + + .. parsed-literal:: + + *electrode/conp* args = potential eta + *electrode/conq* args = charge eta + *electrode/thermo* args = potential eta *temp* values + potential = electrode potential + charge = electrode charge + eta = reciprocal width of electrode charge smearing + *temp* values = T_v tau_v rng_v + T_v = temperature of thermo-potentiostat + tau_v = time constant of thermo-potentiostat + rng_v = integer used to initialize random number generator + +* zero or more keyword/value pairs may be appended +* keyword = *algo* or *symm* or *couple* or *etypes* or *ffield* or *write_mat* or *write_inv* or *read_mat* or *read_inv* + +.. parsed-literal:: + + *algo* values = *mat_inv* or *mat_cg* tol or *cg* tol + specify the algorithm used to compute the electrode charges + *symm* value = *on* or *off* + turn on/off charge neutrality constraint for the electrodes + *couple* values = group-ID val + group-ID = group of atoms treated as additional electrode + val = electric potential or charge on this electrode + *etypes* value = *on* or *off* + turn on/off type-based optimized neighbor lists (electrode and electrolyte types may not overlap) + *ffield* value = *on* or *off* + turn on/off finite-field implementation + *write_mat* value = filename + filename = file to which to write elastance matrix + *write_inv* value = filename + filename = file to which to write inverted matrix + *read_mat* value = filename + filename = file from which to read elastance matrix + *read_inv* value = filename + filename = file from which to read inverted matrix + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix fxconp bot electrode/conp -1.0 1.805 couple top 1.0 couple ref 0.0 write_inv inv.csv symm on + fix fxconp electrodes electrode/conq 0.0 1.805 algo cg 1e-5 + fix fxconp bot electrode/thermo -1.0 1.805 temp 298 100 couple top 1.0 + +Description +""""""""""" + +The *electrode* fixes implement the constant potential method (CPM) +(:ref:`Siepmann `, :ref:`Reed `), and modern variants, +to accurately model electrified, conductive electrodes. This is +primarily useful for studying electrode-electrolyte interfaces, +especially at high potential differences or ionicities, with non-planar +electrodes such as nanostructures or nanopores, and to study dynamic +phenomena such as charging or discharging time scales or conductivity or +ionic diffusivities. + +Each *electrode* fix allows users to set additional electrostatic +relationships between the specified groups which model useful +electrostatic configurations: + +* *electrode/conp* sets potentials or potential differences between electrodes + + * (resulting in changing electrode total charges) + +* *electrode/conq* sets the total charge on each electrode + + * (resulting in changing electrode potentials) + +* *electrode/thermo* sets a thermopotentiostat + :ref:`(Deissenbeck)` between two electrodes + + * (resulting in changing charges and potentials with appropriate + average potential difference and thermal variance) + +The first group-ID provided to each fix specifies the first electrode +group, and more group(s) are added using the *couple* keyword for each +additional group. While *electrode/thermo* only accepts two groups, +*electrode/conp* and *electrode/conq* accept any number of groups, up to +LAMMPS's internal restrictions (see Restrictions below). Electrode +groups must not overlap, i.e. the fix will issue an error if any +particle is detected to belong to at least two electrode groups. + +CPM involves updating charges on groups of electrode particles, per time +step, so that the system's total energy is minimized with respect to +those charges. From basic electrostatics, this is equivalent to making +each group conductive, or imposing an equal electrostatic potential on +every particle in the same group (hence the name CPM). The charges are +usually modelled as a Gaussian distribution to make the charge-charge +interaction matrix invertible (:ref:`Gingrich `). The keyword +*eta* specifies the distribution's width in units of inverse length. + +.. versionadded:: TBD + +Three algorithms are available to minimize the energy, varying in how +matrices are pre-calculated before a run to provide computational +speedup. These algorithms can be selected using the keyword *algo*: + +* *algo mat_inv* pre-calculates the capacitance matrix and obtains the + charge configuration in one matrix-vector calculation per time step + +* *algo mat_cg* pre-calculates the elastance matrix (inverse of + capacitance matrix) and obtains the charge configuration using a + conjugate gradient solver in multiple matrix-vector calculations per + time step + +* *algo cg* does not perform any pre-calculation and obtains the charge + configuration using a conjugate gradient solver and multiple + calculations of the electric potential per time step. + +For both *cg* methods, the command must specify the conjugate gradient +tolerance. *fix electrode/thermo* currently only supports the *mat_inv* +algorithm. + +The keyword *symm* can be set *on* (or *off*) to turn on (or turn off) +the capacitance matrix constraint that sets total electrode charge to be +zero. This has slightly different effects for each *fix electrode* +variant. For *fix electrode/conp*, with *symm off*, the potentials +specified are absolute potentials, but the charge configurations +satisfying them may add up to an overall non-zero, varying charge for +the electrodes (and thus the simulation box). With *symm on*, the total +charge over all electrode groups is constrained to zero, and potential +differences rather than absolute potentials are the physically relevant +quantities. + +For *fix electrode/conq*, with *symm off*, overall neutrality is +explicitly obeyed or violated by the user input (which is not +checked!). With *symm on*, overall neutrality is ensured by ignoring the +user-input charge for the last listed electrode (instead, its charge +will always be minus the total sum of all other electrode charges). For +*fix electrode/thermo*, overall neutrality is always automatically +imposed for any setting of *symm*, but *symm on* allows finite-field +mode (*ffield on*, described below) for faster simulations. + +For all three fixes, any potential (or charge for *conq*) can be +specified as an equal-style variable prefixed with "v\_". For example, +the following code will ramp the potential difference between electrodes +from 0.0V to 2.0V over the course of the simulation: + +.. code-block:: LAMMPS + + fix fxconp bot electrode/conp 0.0 1.805 couple top v_v symm on + variable v equal ramp(0.0, 2.0) + +Note that these fixes only parse their supplied variable name when +starting a run, and so these fixes will accept equal-style variables +defined *after* the fix definition, including variables dependent on the +fix's own output. This is useful, for example, in the fix's internal +finite-field commands (see below). For an advanced example of this see +the in.conq2 input file in the directory +``examples/PACKAGES/electrode/graph-il``. + +This fix necessitates the use of a long range solver that calculates and +provides the matrix of electrode-electrode interactions and a vector of +electrode-electrolyte interactions. The Kspace styles +*ewald/electrode*, *pppm/electrode* and *pppm/electrode/intel* are +created specifically for this task :ref:`(Ahrens-Iwers) `. + +For systems with non-periodic boundaries in one or two directions dipole +corrections are available with the :doc:`kspace_modify `. +For ewald/electrode a two-dimensional Ewald summation :ref:`(Hu) ` +can be used by setting "slab ew2d": + +.. code-block:: LAMMPS + + kspace_modify slab + kspace_modify wire + kspace_modify slab ew2d + +Two implementations for the calculation of the elastance matrix are +available with pppm and can be selected using the *amat onestep/twostep* +keyword. *onestep* is the default; *twostep* can be faster for large +electrodes and a moderate mesh size but requires more memory. + +.. code-block:: LAMMPS + + kspace_modify amat onestep/twostep + +For all versions of the fix, the keyword-value *ffield on* enables the +finite-field mode (:ref:`Dufils `, :ref:`Tee `), which uses +an electric field across a periodic cell instead of non-periodic +boundary conditions to impose a potential difference between the two +electrodes bounding the cell. The fix (with name *fix-ID*) detects which +of the two electrodes is "on top" (has the larger maximum *z*-coordinate +among all particles). Assuming the first electrode group is on top, it +then issues the following commands internally: + +.. code-block:: LAMMPS + + variable fix-ID_ffield_zfield equal (f_fix-ID[2]-f_fix-ID[1])/lz + efield fix-ID_efield all efield 0.0 0.0 v_fix-ID_ffield_zfield + +which implements the required electric field as the potential difference +divided by cell length. The internal commands use variable so that the +electric field will correctly vary with changing potentials in the +correct way (for example with equal-style potential difference or with +*fix electrode/conq*). This keyword requires two electrodes and will +issue an error with any other number of electrodes. This keyword +requires electroneutrality to be imposed (*symm on*) and will issue an +error otherwise. + +.. versionchanged:: TBD + +For all versions of the fix, the keyword-value *etypes on* enables +type-based optimized neighbor lists. With this feature enabled, LAMMPS +provides the fix with an occasional neighbor list restricted to +electrode-electrode interactions for calculating the electrode matrix, +and a perpetual neighbor list restricted to electrode-electrolyte +interactions for calculating the electrode potentials, using particle +types to list only desired interactions, and typically resulting in +5--10\% less computational time. Without this feature the fix will +simply use the active pair style's neighbor list. This feature cannot +be enabled if any electrode particle has the same type as any +electrolyte particle (which would be unusual in a typical simulation) +and the fix will issue an error in that case. + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +This fix currently does not write any information to restart files. + +The *fix_modify tf* option enables the Thomas-Fermi metallicity model +(:ref:`Scalfi `) and allows parameters to be set for each atom type. + +.. code-block:: LAMMPS + + fix_modify ID tf type length voronoi + + +If this option is used parameters must be set for all atom types of the +electrode. + +The *fix_modify timer* option turns on (off) additional timer outputs in the log +file, for code developers to track optimization. + +.. code-block:: LAMMPS + + fix_modify ID timer on/off + +---------- + +These fixes compute a global (extensive) scalar, a global (intensive) +vector, and a global array, which can be accessed by various +:doc:`output commands `. + +The global scalar outputs the energy added to the system by this fix, +which is the negative of the total charge on each electrode multiplied +by that electrode's potential. + +The global vector outputs the potential on each electrode (and thus has +*N* entries if the fix manages *N* electrode groups), in :doc:`units +` of electric field multiplied by distance (thus volts for *real* +and *metal* units). The electrode groups' ordering follows the order in +which they were input in the fix command using *couple*. The global +vector output is useful for *fix electrode/conq* and *fix +electrode/thermo*, where potential is dynamically updated based on +electrolyte configuration instead of being directly set. + +The global array has *N* rows and *2N+1* columns, where the fix manages +*N* electrode groups managed by the fix. For the *I*-th row of the +array, the elements are: + +* array[I][1] = total charge that group *I* would have had *if it were + at 0 V applied potential* * array[I][2 to *N* + 1] = the *N* entries + of the *I*-th row of the electrode capacitance matrix (definition + follows) * array[I][*N* + 2 to *2N* + 1] = the *N* entries of the + *I*-th row of the electrode elastance matrix (the inverse of the + electrode capacitance matrix) + +The :math:`N \times N` electrode capacitance matrix, denoted :math:`\mathbf{C}` +in the following equation, summarizes how the total charge induced on each +electrode (:math:`\mathbf{Q}` as an *N*-vector) is related to the potential on +each electrode, :math:`\mathbf{V}`, and the charge-at-0V :math:`\mathbf{Q}_{0V}` +(which is influenced by the local electrolyte structure): + +.. math:: + + \mathbf{Q} = \mathbf{Q}_{0V} + \mathbf{C} \cdot \mathbf{V} + +The charge-at-0V, electrode capacitance and elastance matrices are internally +used to calculate the potentials required to induce the specified total +electrode charges in *fix electrode/conq* and *fix electrode/thermo*. With the +*symm on* option, the electrode capacitance matrix would be singular, and thus +its last row is replaced with *N* copies of its top-left entry +(:math:`\mathbf{C}_{11}`) for invertibility. + +The global array output is mainly useful for quickly determining the 'vacuum +capacitance' of the system (capacitance with only electrodes, no electrolyte), +and can also be used for advanced simulations setting the potential as some +function of the charge-at-0V (such as the ``in.conq2`` example mentioned above). + +Please cite :ref:`(Ahrens-Iwers2022) ` in any publication that +uses this implementation. Please cite also the publication on the combination +of the CPM with PPPM if you use *pppm/electrode* :ref:`(Ahrens-Iwers) +`. + +---------- + +Restrictions +"""""""""""" + +For algorithms that use a matrix for the electrode-electrode +interactions, positions of electrode particles have to be immobilized at +all times. + +With *ffield off* (i.e. the default), the box geometry is expected to be +*z*-non-periodic (i.e. *boundary p p f*), and this fix will issue an +error if the box is *z*-periodic. With *ffield on*, the box geometry is +expected to be *z*-periodic, and this fix will issue an error if the box +is *z*-non-periodic. + +The parallelization for the fix works best if electrode atoms are evenly +distributed across processors. For a system with two electrodes at the bottom +and top of the cell this can be achieved with *processors * * 2*, or with the +line + +.. code-block:: LAMMPS + + if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +which avoids an error if the script is run on an odd number of +processors (such as on just one processor for testing). + +The fix creates an additional group named *[fix-ID]_group* which is the +union of all electrode groups supplied to LAMMPS. This additional group +counts towards LAMMPS's limitation on the total number of groups +(currently 32), which may not allow scripts that use that many groups to +run with this fix. + +The matrix-based algorithms (*algo mat_inv* and *algo mat_cg*) currently +store an interaction matrix (either elastance or capacitance) of *N* by +*N* doubles for each MPI process. This memory requirement may be +prohibitive for large electrode groups. The fix will issue a warning if +it expects to use more than 0.5 GiB of memory. + +Default +""""""" + +The default keyword-option settings are *algo mat_inv*, *symm off*, +*etypes off* and *ffield off*. + +---------- + +.. include:: accel_styles.rst + +---------- + +.. _Siepmann: + +**(Siepmann)** Siepmann and Sprik, J. Chem. Phys. 102, 511 (1995). + +.. _Reed3: + +**(Reed)** Reed *et al.*, J. Chem. Phys. 126, 084704 (2007). + +.. _Deissenbeck: + +**(Deissenbeck)** Deissenbeck *et al.*, Phys. Rev. Letters 126, 136803 (2021). + +.. _Gingrich: + +**(Gingrich)** Gingrich, `MSc thesis` ` (2010). + +.. _Ahrens-Iwers: + +**(Ahrens-Iwers)** Ahrens-Iwers and Meissner, J. Chem. Phys. 155, 104104 (2021). + +.. _Hu: + +**(Hu)** Hu, J. Chem. Theory Comput. 10, 5254 (2014). + +.. _Dufils: + +**(Dufils)** Dufils *et al.*, Phys. Rev. Letters 123, 195501 (2019). + +.. _Tee: + +**(Tee)** Tee and Searles, J. Chem. Phys. 156, 184101 (2022). + +.. _Scalfi: + +**(Scalfi)** Scalfi *et al.*, J. Chem. Phys., 153, 174704 (2020). + +.. _Ahrens-Iwers2: + +**(Ahrens-Iwers2022)** Ahrens-Iwers *et al.*, J. Chem. Phys. 157, 084801 (2022). diff --git a/doc/src/fix_electrode_conp.rst b/doc/src/fix_electrode_conp.rst deleted file mode 100644 index e070433c07..0000000000 --- a/doc/src/fix_electrode_conp.rst +++ /dev/null @@ -1,230 +0,0 @@ -.. index:: fix electrode/conp -.. index:: fix electrode/conq -.. index:: fix electrode/thermo -.. index:: fix electrode/conp/intel -.. index:: fix electrode/conq/intel -.. index:: fix electrode/thermo/intel - -fix electrode/conp command -========================== - -Accelerator Variant: *electrode/conp/intel* - -fix electrode/conq command -========================== - -Accelerator Variant: *electrode/conq/intel* - -fix electrode/thermo command -============================ - -Accelerator Variant: *electrode/thermo/intel* - -Syntax -"""""" - -.. parsed-literal:: - - fix ID group-ID style args keyword value ... - -* ID, group-ID are documented in :doc:`fix ` command -* style = *electrode/conp* or *electrode/conq* or *electrode/thermo* -* args = arguments used by a particular style - - .. parsed-literal:: - - *electrode/conp* args = potential eta - *electrode/conq* args = charge eta - *electrode/thermo* args = potential eta *temp* values - potential = electrode potential - charge = electrode charge - eta = reciprocal width of electrode charge smearing - *temp* values = T_v tau_v rng_v - T_v = temperature of thermo-potentiostat - tau_v = time constant of thermo-potentiostat - rng_v = integer used to initialize random number generator - -* zero or more keyword/value pairs may be appended -* keyword = *symm* or *couple* or *etypes* or *ffield* or *write_mat* or *write_inv* or *read_mat* or *read_inv* - -.. parsed-literal:: - - *symm* value = *on* or *off* - turn on/off charge neutrality constraint for the electrodes - *couple* values = group-ID val - group-ID = group of atoms treated as additional electrode - val = electric potential or charge on this electrode - *etypes* values = type - type = atom type (can be a range) exclusive to the electrode for optimized neighbor lists - *ffield* value = *on* or *off* - turn on/off finite-field implementation - *write_mat* value = filename - filename = file to which to write elastance matrix - *write_inv* value = filename - filename = file to which to write inverted matrix - *read_mat* value = filename - filename = file from which to read elastance matrix - *read_inv* value = filename - filename = file from which to read inverted matrix - -Examples -"""""""" - -.. code-block:: LAMMPS - - fix fxconp bot electrode/conp -1.0 1.805 couple top 1.0 couple ref 0.0 write_inv inv.csv symm on - fix fxconp electrodes electrode/conq 0.0 1.805 - fix fxconp bot electrode/thermo -1.0 1.805 temp 298 100 couple top 1.0 - -Description -""""""""""" - -fix electrode/conp mode implements a constant potential method (CPM) -(:ref:`Siepmann `, :ref:`Reed `). Charges of groups specified -via group-ID and optionally with the `couple` keyword are adapted to meet their respective -potential at every time step. An arbitrary number of electrodes can be set but -the respective groups may not overlap. Electrode charges have a Gaussian charge -distribution with reciprocal width eta. The energy minimization is achieved via -matrix inversion :ref:`(Wang) `. - -fix electrode/conq enforces a total charge specified in the input on each electrode. The energy is -minimized w.r.t. the charge distribution within the electrode. - -fix electrode/thermo implements a thermo-potentiostat :ref:`(Deissenbeck) -`. Temperature and time constant of the thermo-potentiostat need -to be specified using the temp keyword. Currently, only two electrodes are possible with -this style. - -This fix necessitates the use of a long range solver that calculates and provides the matrix -of electrode-electrode interactions and a vector of electrode-electrolyte -interactions. The Kspace styles *ewald/electrode*, *pppm/electrode* and -*pppm/electrode/intel* are created specifically for this task -:ref:`(Ahrens-Iwers) `. - -For systems with non-periodic boundaries in one or two directions dipole -corrections are available with the :doc:`kspace_modify `. For -ewald/electrode a two-dimensional Ewald summation :ref:`(Hu) ` can be used -by setting "slab ew2d": - -.. code-block:: LAMMPS - - kspace_modify slab - kspace_modify wire - kspace_modify slab ew2d - -Two implementations for the calculation of the elastance matrix are available -with pppm and can be selected using the *amat onestep/twostep* keyword. -*onestep* is the default; *twostep* can be faster for large electrodes and a -moderate mesh size but requires more memory. - -.. code-block:: LAMMPS - - kspace_modify amat onestep/twostep - - -The *fix_modify tf* option enables the Thomas-Fermi metallicity model -(:ref:`Scalfi `) and allows parameters to be set for each atom type. - -.. code-block:: LAMMPS - - fix_modify ID tf type length voronoi - - -If this option is used parameters must be set for all atom types of the electrode. - -The *fix_modify timer* option turns on (off) additional timer outputs in the log -file, for code developers to track optimization. - -.. code-block:: LAMMPS - - fix_modify ID timer on/off - -The *fix_modify set* options allow calculated quantities to be accessed via -internal variables. Currently four types of quantities can be accessed: - -.. code-block:: LAMMPS - - fix-modify ID set v group-ID variablename - fix-modify ID set qsb group-ID variablename - fix-modify ID set mc group-ID1 group-ID2 variablename - fix-modify ID set me group-ID1 group-ID2 variablename - -One use case is to output the potential that is internally calculated and -applied to each electrode group by *fix electrode/conq* or *fix electrode/thermo*. -For that case the *v* option makes *fix electrode* update the variable -*variablename* with the potential applied to group *group-ID*, where *group-ID* -must be a group whose charges are updated by *fix electrode* and *variablename* -must be an internal-style variable: - -.. code-block:: LAMMPS - - fix conq bot electrode/conq -1.0 1.979 couple top 1.0 - variable vbot internal 0.0 - fix_modify conq set v bot vbot - -The *qsb* option similarly outputs the total updated charge of the group if its -potential were 0.0V. The *mc* option requires two *group-IDs*, and outputs the -entry \{*group-ID1*, *group-ID2*\} of the (symmetric) *macro-capacitance* matrix -(MC) which relates the electrodes' applied potentials (V), total charges (Q), and -total charges at 0.0 V (Qsb): - -.. math:: - - \mathbf{Q} = \mathbf{Q}_{SB} + \mathbf{MC} \cdot \mathbf{V} - -Lastly, the *me* option also requires two *group-IDs* and outputs the entry -\{*group-ID1*, *group-ID2*\} of the *macro-elastance* matrix, which is the -inverse of the macro-capacitance matrix. (As the names denote, the -macro-capacitance matrix gives electrode charges from potentials, and the -macro-elastance matrix gives electrode potentials from charges). - -.. warning:: - - Positions of electrode particles have to be immobilized at all times. - -The parallelization for the fix works best if electrode atoms are evenly -distributed across processors. For a system with two electrodes at the bottom -and top of the cell this can be achieved with *processors * * 2*, or with the -line - -.. code-block:: LAMMPS - - if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" - -which avoids an error if the script is run on an odd number of processors (such -as on just one processor for testing). - ----------- - -.. include:: accel_styles.rst - ----------- - -.. _Siepmann: - -**(Siepmann)** Siepmann and Sprik, J. Chem. Phys. 102, 511 (1995). - -.. _Reed3: - -**(Reed)** Reed *et al.*, J. Chem. Phys. 126, 084704 (2007). - -.. _Wang5: - -**(Wang)** Wang *et al.*, J. Chem. Phys. 141, 184102 (2014). - -.. _Deissenbeck: - -**(Deissenbeck)** Deissenbeck *et al.*, Phys. Rev. Letters 126, 136803 (2021). - -.. _Ahrens-Iwers: - -**(Ahrens-Iwers)** Ahrens-Iwers and Meissner, J. Chem. Phys. 155, 104104 (2021). - -.. _Hu: - -**(Hu)** Hu, J. Chem. Theory Comput. 10, 5254 (2014). - -.. _Scalfi: - -**(Scalfi)** Scalfi *et al.*, J. Chem. Phys., 153, 174704 (2020). - diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index cbaa82d547..38a6fce375 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -283,7 +283,7 @@ parameters and how to choose them is described in ---------- The *electrode* styles add methods that are required for the constant potential -method implemented in :doc:`fix electrode/* `. The styles +method implemented in :doc:`fix electrode/* `. The styles *ewald/electrode*, *pppm/electrode* and *pppm/electrode/intel* are available. These styles do not support the `kspace_modify slab nozforce` command. diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 9e8fb042a0..e3350709bb 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -738,6 +738,7 @@ diel Dietz differentiable diffusively +diffusivities diffusivity dihedral dihedrals @@ -819,6 +820,7 @@ du dU Ducastelle Dudarev +Dufils Duin Dullweber dumpfile @@ -906,6 +908,7 @@ elastance Electroneg electronegative electronegativity +electroneutrality Eleftheriou ElementN elementset @@ -1510,6 +1513,9 @@ inumeric inv invariants inversed +invertible +invertibility +ionicities ionizable ionocovalent iostreams @@ -2277,6 +2283,8 @@ nanometer nanometers nanoparticle nanoparticles +nanopores +nanostructures nanotube Nanotube nanotubes @@ -3155,6 +3163,7 @@ sdpd SDPD se seagreen +Searles Secor sectoring sed @@ -3470,6 +3479,7 @@ thermo thermochemical thermochemistry thermodynamically +thermopotentiostat Thermophysical thermostatted thermostatting diff --git a/examples/PACKAGES/electrode/README b/examples/PACKAGES/electrode/README index 652194670b..b0c64d496b 100644 --- a/examples/PACKAGES/electrode/README +++ b/examples/PACKAGES/electrode/README @@ -1,14 +1,14 @@ These examples demonstrate the use of the ELECTRODE package for constant potential molecular dynamics. planar/ - au-vac.data -- gold electrodes with vacuum + data.au-vac -- gold electrodes with vacuum in.planar* -- comparison of gold electrodes with vacuum to theoretical capacitance of planar capacitor -- 5x, further labeled by long-range solver (ewald / pppm) and boundary correction (ew2d / ew3dc / ffield) -- the pppm-ew2d combination would not give correct results and will throw an error if selected test.sh -- run all in.planar files and check charge at 1.2V and %difference from theoretical (last column) graph-il/ - graph-il.data -- graphene electrodes with electrolyte (coarse-grained BMIm-PF6) + data.graph-il -- graphene electrodes with electrolyte (coarse-grained BMIm-PF6) in.conp -- reference run at constant potential in.etypes -- type-based smart neighborlists in.ffield -- finite field method with fully periodic cell @@ -18,10 +18,22 @@ graph-il/ in.thermo -- thermalize electrolyte with thermopotentiostat instead of NVT au-aq/ - au-aq.data -- gold electrodes with electrolyte (SPC water + NaCl) + data.au-aq -- gold electrodes with electrolyte (SPC water + NaCl) in.ffield -- finite field method with fully periodic cell in.tf -- Thomas-Fermi metallicity model with more delocalized charges +madelung/ + data.au-elyt -- tiny electrodes with two electrolyte atoms in between + settings.mod -- common settings + in.* -- setup KSpace and fix electrode/conp + plate_cap.py -- compute reference energy and charges from Madelung style sum + eval.py -- compare output of reference and Lammps job (used by test.sh) + test.sh -- run all in.* files and check charge at 1 V and %difference from theoretical (last column) + +piston/ + data.piston -- two electrodes with water + in.piston -- equilibrate distance between rigid electrodes + # future work: # in.cylinder -- comparison of carbon nanotube to theoretical induced charge for charge near circular conductor diff --git a/examples/PACKAGES/electrode/au-aq/in.ffield b/examples/PACKAGES/electrode/au-aq/in.ffield index 094fc39144..de594f8c9a 100644 --- a/examples/PACKAGES/electrode/au-aq/in.ffield +++ b/examples/PACKAGES/electrode/au-aq/in.ffield @@ -4,7 +4,7 @@ boundary p p p # ffield uses periodic z-boundary and no slab include settings.mod # styles, groups, computes and fixes -fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes 6*7 +fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes on thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qtop c_qbot c_qztop c_qzbot diff --git a/examples/PACKAGES/electrode/au-aq/in.tf b/examples/PACKAGES/electrode/au-aq/in.tf index d73efd10fc..23beb357d8 100644 --- a/examples/PACKAGES/electrode/au-aq/in.tf +++ b/examples/PACKAGES/electrode/au-aq/in.tf @@ -6,7 +6,7 @@ boundary p p p # ffield uses periodic z-boundary and no slab include settings.mod # styles, groups, computes and fixes -fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes 6*7 +fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes on fix_modify conp tf 6 1.0 18.1715745 fix_modify conp tf 7 1.0 18.1715745 diff --git a/examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-ffield.g++.1 b/examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-ffield.g++.1 similarity index 52% rename from examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-ffield.g++.1 rename to examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-ffield.g++.1 index 76e15ebe53..2c43724875 100644 --- a/examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-ffield.g++.1 +++ b/examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-ffield.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with constant potential using finite field # for z-periodic gold-saline electrochemical cell @@ -37,8 +37,8 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 2 = max # of special neighbors - special bonds CPU = 0.002 seconds - read_data CPU = 0.051 seconds + special bonds CPU = 0.006 seconds + read_data CPU = 0.097 seconds group bot type 6 1620 atoms in group bot @@ -52,11 +52,12 @@ group electrolyte type 1 2 3 4 5 fix nvt electrolyte nvt temp 298.0 298.0 241 fix shake SPC shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 2160 = # of frozen angles - find clusters CPU = 0.002 seconds + find clusters CPU = 0.006 seconds variable q atom q variable qz atom q*(z-lz/2) @@ -67,12 +68,41 @@ compute qzbot bot reduce sum v_qz compute ctemp electrolyte temp -fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes 6*7 +fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes on 3240 atoms in group conp_group thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qtop c_qbot c_qztop c_qzbot run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.24017705 @@ -82,9 +112,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.093542e-07 using double precision MKL FFT 3d grid and FFT values/proc = 472567 349920 - generated 21 of 21 mixed pair_coeff terms from geometric mixing rule +Generated 21 of 21 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 17 ghost atom cutoff = 17 @@ -105,35 +135,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 194.6 | 194.6 | 194.6 Mbytes +Per MPI rank memory allocation (min/avg/max) = 194.8 | 194.8 | 194.8 Mbytes Step Temp c_ctemp E_pair TotEng c_qtop c_qbot c_qztop c_qzbot - 0 171.61215 298.06731 -39212.819 -35306.164 4.1391573 -4.1391573 78.718381 131.56372 - 50 147.03139 255.37383 -39870.139 -36523.051 4.1312167 -4.1312167 78.563872 131.30255 - 100 149.89027 260.33932 -39878.859 -36466.689 4.0217834 -4.0217834 76.482548 127.82573 - 150 151.7382 263.54893 -39873.178 -36418.942 4.0469977 -4.0469977 76.967548 128.59855 - 200 151.7508 263.57081 -39827.015 -36372.492 4.1830375 -4.1830375 79.554159 132.93925 - 250 152.61146 265.06566 -39791.293 -36317.177 4.1835865 -4.1835865 79.56665 132.97185 - 300 153.51486 266.63475 -39751.841 -36257.16 4.1571861 -4.1571861 79.061431 132.12905 - 350 156.35115 271.561 -39754.955 -36195.708 4.3498059 -4.3498059 82.720202 138.28678 - 400 156.26118 271.40474 -39690.781 -36133.582 4.3444079 -4.3444079 82.619396 138.11873 - 450 158.54164 275.36558 -39681.083 -36071.97 4.2020488 -4.2020488 79.912674 133.55185 - 500 161.40138 280.33258 -39684.185 -36009.972 4.3021924 -4.3021924 81.807527 136.7464 -Loop time of 246.197 on 1 procs for 500 steps with 9798 atoms + 0 171.61215 298.06731 -39021.917 -35115.261 4.1391573 -4.1391573 78.718381 131.56372 + 50 147.03139 255.37383 -39679.603 -36332.515 4.1312167 -4.1312167 78.563872 131.30255 + 100 149.89027 260.33932 -39693.369 -36281.2 4.0217834 -4.0217834 76.482548 127.82573 + 150 151.7382 263.54893 -39686.526 -36232.29 4.0469977 -4.0469977 76.967548 128.59855 + 200 151.7508 263.57081 -39634.089 -36179.566 4.1830375 -4.1830375 79.554159 132.93925 + 250 152.61146 265.06566 -39598.341 -36124.226 4.1835865 -4.1835865 79.56665 132.97185 + 300 153.51486 266.63475 -39560.107 -36065.426 4.1571861 -4.1571861 79.06143 132.12905 + 350 156.35115 271.561 -39554.338 -35995.09 4.3498059 -4.3498059 82.720202 138.28678 + 400 156.26118 271.40474 -39490.412 -35933.213 4.344408 -4.344408 82.619398 138.11874 + 450 158.54163 275.36557 -39487.28 -35878.167 4.2020489 -4.2020489 79.912677 133.55186 + 500 161.40137 280.33257 -39485.763 -35811.55 4.3021927 -4.3021927 81.807532 136.74641 +Loop time of 146.959 on 1 procs for 500 steps with 9798 atoms -Performance: 0.175 ns/day, 136.776 hours/ns, 2.031 timesteps/s -356.3% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.294 ns/day, 81.644 hours/ns, 3.402 timesteps/s, 33.336 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 105.64 | 105.64 | 105.64 | 0.0 | 42.91 -Bond | 0.0010592 | 0.0010592 | 0.0010592 | 0.0 | 0.00 -Kspace | 37.643 | 37.643 | 37.643 | 0.0 | 15.29 -Neigh | 5.8827 | 5.8827 | 5.8827 | 0.0 | 2.39 -Comm | 0.18181 | 0.18181 | 0.18181 | 0.0 | 0.07 -Output | 0.0055762 | 0.0055762 | 0.0055762 | 0.0 | 0.00 -Modify | 96.78 | 96.78 | 96.78 | 0.0 | 39.31 -Other | | 0.06346 | | | 0.03 +Pair | 69.832 | 69.832 | 69.832 | 0.0 | 47.52 +Bond | 0.00091634 | 0.00091634 | 0.00091634 | 0.0 | 0.00 +Kspace | 33.817 | 33.817 | 33.817 | 0.0 | 23.01 +Neigh | 4.2067 | 4.2067 | 4.2067 | 0.0 | 2.86 +Comm | 0.12212 | 0.12212 | 0.12212 | 0.0 | 0.08 +Output | 0.0031896 | 0.0031896 | 0.0031896 | 0.0 | 0.00 +Modify | 38.92 | 38.92 | 38.92 | 0.0 | 26.48 +Other | | 0.05687 | | | 0.04 Nlocal: 9798 ave 9798 max 9798 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -147,4 +177,4 @@ Ave neighs/atom = 842.63544 Ave special neighs/atom = 1.3227189 Neighbor list builds = 22 Dangerous builds = 0 -Total wall time: 0:19:39 +Total wall time: 0:05:33 diff --git a/examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-ffield.g++.4 b/examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-ffield.g++.4 similarity index 53% rename from examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-ffield.g++.4 rename to examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-ffield.g++.4 index 685a71eb74..5a18629cab 100644 --- a/examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-ffield.g++.4 +++ b/examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-ffield.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with constant potential using finite field # for z-periodic gold-saline electrochemical cell @@ -39,7 +39,7 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-4 neighbors 2 = max # of special neighbors special bonds CPU = 0.002 seconds - read_data CPU = 0.149 seconds + read_data CPU = 0.118 seconds group bot type 6 1620 atoms in group bot @@ -53,11 +53,12 @@ group electrolyte type 1 2 3 4 5 fix nvt electrolyte nvt temp 298.0 298.0 241 fix shake SPC shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 2160 = # of frozen angles - find clusters CPU = 0.003 seconds + find clusters CPU = 0.002 seconds variable q atom q variable qz atom q*(z-lz/2) @@ -68,12 +69,41 @@ compute qzbot bot reduce sum v_qz compute ctemp electrolyte temp -fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes 6*7 +fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes on 3240 atoms in group conp_group thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qtop c_qbot c_qztop c_qzbot run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.24017705 @@ -83,9 +113,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.093542e-07 using double precision MKL FFT 3d grid and FFT values/proc = 138958 87480 - generated 21 of 21 mixed pair_coeff terms from geometric mixing rule +Generated 21 of 21 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 17 ghost atom cutoff = 17 @@ -106,35 +136,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 118.1 | 120.6 | 123.1 Mbytes +Per MPI rank memory allocation (min/avg/max) = 118.2 | 120.7 | 123.2 Mbytes Step Temp c_ctemp E_pair TotEng c_qtop c_qbot c_qztop c_qzbot - 0 171.61215 298.06731 -39212.819 -35306.164 4.1391573 -4.1391573 78.718381 131.56372 - 50 147.03139 255.37383 -39870.139 -36523.051 4.1312167 -4.1312167 78.563872 131.30255 - 100 149.89027 260.33932 -39878.859 -36466.689 4.0217834 -4.0217834 76.482548 127.82573 - 150 151.7382 263.54893 -39873.178 -36418.942 4.0469977 -4.0469977 76.967548 128.59855 - 200 151.7508 263.57081 -39827.015 -36372.492 4.1830375 -4.1830375 79.554159 132.93925 - 250 152.61146 265.06566 -39791.293 -36317.177 4.1835865 -4.1835865 79.56665 132.97185 - 300 153.51486 266.63475 -39751.841 -36257.16 4.1571861 -4.1571861 79.061431 132.12905 - 350 156.35115 271.561 -39754.955 -36195.708 4.3498059 -4.3498059 82.7202 138.28678 - 400 156.26118 271.40474 -39690.781 -36133.582 4.3444079 -4.3444079 82.619398 138.11873 - 450 158.54163 275.36558 -39681.083 -36071.97 4.2020488 -4.2020488 79.912675 133.55185 - 500 161.40138 280.33257 -39684.185 -36009.972 4.3021924 -4.3021924 81.807527 136.7464 -Loop time of 111.902 on 4 procs for 500 steps with 9798 atoms + 0 171.61215 298.06731 -39021.917 -35115.261 4.1391573 -4.1391573 78.718381 131.56372 + 50 147.03139 255.37383 -39679.603 -36332.515 4.1312167 -4.1312167 78.563872 131.30255 + 100 149.89027 260.33932 -39693.369 -36281.2 4.0217834 -4.0217834 76.482548 127.82573 + 150 151.7382 263.54893 -39686.526 -36232.29 4.0469977 -4.0469977 76.967548 128.59855 + 200 151.7508 263.57081 -39634.089 -36179.566 4.1830375 -4.1830375 79.554159 132.93925 + 250 152.61146 265.06566 -39598.341 -36124.226 4.1835864 -4.1835864 79.56665 132.97185 + 300 153.51486 266.63475 -39560.107 -36065.426 4.1571861 -4.1571861 79.06143 132.12905 + 350 156.35115 271.561 -39554.338 -35995.09 4.3498059 -4.3498059 82.720201 138.28678 + 400 156.26118 271.40474 -39490.412 -35933.213 4.3444079 -4.3444079 82.619397 138.11873 + 450 158.54163 275.36558 -39487.279 -35878.167 4.202049 -4.202049 79.912678 133.55186 + 500 161.40137 280.33256 -39485.763 -35811.55 4.3021925 -4.3021925 81.807529 136.7464 +Loop time of 97.2399 on 4 procs for 500 steps with 9798 atoms -Performance: 0.386 ns/day, 62.168 hours/ns, 4.468 timesteps/s -97.2% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.444 ns/day, 54.022 hours/ns, 5.142 timesteps/s, 50.381 katom-step/s +87.0% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 21.816 | 31.136 | 40.866 | 166.5 | 27.82 -Bond | 0.00073413 | 0.00080346 | 0.00084203 | 0.0 | 0.00 -Kspace | 29.546 | 39.137 | 48.326 | 146.4 | 34.97 -Neigh | 2.5867 | 2.5872 | 2.5877 | 0.0 | 2.31 -Comm | 0.33289 | 0.33603 | 0.33791 | 0.3 | 0.30 -Output | 0.0022537 | 0.0030028 | 0.005192 | 2.3 | 0.00 -Modify | 38.498 | 38.635 | 38.77 | 2.2 | 34.53 -Other | | 0.06679 | | | 0.06 +Pair | 19.363 | 28.08 | 37.126 | 160.3 | 28.88 +Bond | 0.00094043 | 0.00096516 | 0.00098016 | 0.0 | 0.00 +Kspace | 31.655 | 40.554 | 49.143 | 131.3 | 41.71 +Neigh | 2.2289 | 2.2294 | 2.2297 | 0.0 | 2.29 +Comm | 0.5341 | 0.54079 | 0.5478 | 0.9 | 0.56 +Output | 0.0024141 | 0.0026943 | 0.0034176 | 0.8 | 0.00 +Modify | 25.6 | 25.755 | 25.908 | 2.8 | 26.49 +Other | | 0.07733 | | | 0.08 Nlocal: 2449.5 ave 2908 max 2012 min Histogram: 2 0 0 0 0 0 0 0 0 2 @@ -148,4 +178,4 @@ Ave neighs/atom = 842.63544 Ave special neighs/atom = 1.3227189 Neighbor list builds = 22 Dangerous builds = 0 -Total wall time: 0:07:48 +Total wall time: 0:03:03 diff --git a/examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-tf.g++.1 b/examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-tf.g++.1 similarity index 53% rename from examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-tf.g++.1 rename to examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-tf.g++.1 index 316e092c55..5ed60bc88a 100644 --- a/examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-tf.g++.1 +++ b/examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-tf.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with constant potential using finite field # for z-periodic gold-saline electrochemical cell # using Thomas-Fermi metallicity model: electrode q and qz will be @@ -39,8 +39,8 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 2 = max # of special neighbors - special bonds CPU = 0.010 seconds - read_data CPU = 0.115 seconds + special bonds CPU = 0.003 seconds + read_data CPU = 0.065 seconds group bot type 6 1620 atoms in group bot @@ -54,11 +54,12 @@ group electrolyte type 1 2 3 4 5 fix nvt electrolyte nvt temp 298.0 298.0 241 fix shake SPC shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 2160 = # of frozen angles - find clusters CPU = 0.010 seconds + find clusters CPU = 0.002 seconds variable q atom q variable qz atom q*(z-lz/2) @@ -69,7 +70,7 @@ compute qzbot bot reduce sum v_qz compute ctemp electrolyte temp -fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes 6*7 +fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes on 3240 atoms in group conp_group fix_modify conp tf 6 1.0 18.1715745 fix_modify conp tf 7 1.0 18.1715745 @@ -77,6 +78,35 @@ fix_modify conp tf 7 1.0 18.1715745 thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qtop c_qbot c_qztop c_qzbot run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.24017705 @@ -86,9 +116,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.093542e-07 using double precision MKL FFT 3d grid and FFT values/proc = 472567 349920 - generated 21 of 21 mixed pair_coeff terms from geometric mixing rule +Generated 21 of 21 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 17 ghost atom cutoff = 17 @@ -109,35 +139,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 194.6 | 194.6 | 194.6 Mbytes +Per MPI rank memory allocation (min/avg/max) = 194.8 | 194.8 | 194.8 Mbytes Step Temp c_ctemp E_pair TotEng c_qtop c_qbot c_qztop c_qzbot - 0 171.61215 298.06731 -39190.106 -35283.45 4.0804484 -4.0804484 79.075127 131.20697 - 50 147.14308 255.56782 -39849.964 -36500.334 3.9990346 -3.9990346 77.497181 128.57759 - 100 149.94935 260.44194 -39857.533 -36444.019 3.8613914 -3.8613914 74.82985 124.15315 - 150 151.95924 263.93285 -39855.567 -36396.299 3.8677064 -3.8677064 74.957279 124.33201 - 200 151.66737 263.42591 -39802.585 -36349.961 3.99842 -3.99842 77.491015 128.54496 - 250 152.36874 264.64408 -39763.306 -36294.716 3.9925863 -3.9925863 77.379445 128.37226 - 300 153.83916 267.19802 -39737.075 -36235.012 3.94995 -3.94995 76.553896 127.00395 - 350 155.88897 270.75827 -39722.265 -36173.539 4.0598524 -4.0598524 78.679643 130.5394 - 400 156.51993 271.85415 -39674.759 -36111.669 4.1312899 -4.1312899 80.060369 132.83599 - 450 160.21339 278.26919 -39697.962 -36050.793 3.9068098 -3.9068098 75.713484 125.59216 - 500 161.63639 280.74075 -39669.412 -35989.849 3.9261656 -3.9261656 76.0806 126.22255 -Loop time of 280.183 on 1 procs for 500 steps with 9798 atoms + 0 171.61215 298.06731 -39001.911 -35095.255 4.0804484 -4.0804484 79.075127 131.20697 + 50 147.14308 255.56782 -39665.525 -36315.894 3.9990346 -3.9990346 77.497181 128.57759 + 100 149.94935 260.44194 -39679.441 -36265.927 3.8613914 -3.8613914 74.82985 124.15315 + 150 151.95924 263.93285 -39677.184 -36217.916 3.8677064 -3.8677064 74.957279 124.33201 + 200 151.66737 263.42591 -39618.173 -36165.549 3.99842 -3.99842 77.491015 128.54496 + 250 152.36874 264.64408 -39579.164 -36110.574 3.9925863 -3.9925863 77.379445 128.37226 + 300 153.83916 267.19802 -39554.899 -36052.836 3.94995 -3.94995 76.553896 127.00395 + 350 155.88897 270.75827 -39535.02 -35986.294 4.0598524 -4.0598524 78.679643 130.5394 + 400 156.51993 271.85415 -39484.219 -35921.13 4.1312898 -4.1312898 80.060368 132.83598 + 450 160.21339 278.26919 -39517.776 -35870.607 3.9068098 -3.9068098 75.713484 125.59216 + 500 161.63639 280.74075 -39488.333 -35808.771 3.9261656 -3.9261656 76.080599 126.22255 +Loop time of 185.804 on 1 procs for 500 steps with 9798 atoms -Performance: 0.154 ns/day, 155.657 hours/ns, 1.785 timesteps/s -341.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.233 ns/day, 103.225 hours/ns, 2.691 timesteps/s, 26.366 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 119.69 | 119.69 | 119.69 | 0.0 | 42.72 -Bond | 0.0010952 | 0.0010952 | 0.0010952 | 0.0 | 0.00 -Kspace | 42.137 | 42.137 | 42.137 | 0.0 | 15.04 -Neigh | 6.5403 | 6.5403 | 6.5403 | 0.0 | 2.33 -Comm | 0.19411 | 0.19411 | 0.19411 | 0.0 | 0.07 -Output | 0.0053644 | 0.0053644 | 0.0053644 | 0.0 | 0.00 -Modify | 111.54 | 111.54 | 111.54 | 0.0 | 39.81 -Other | | 0.07244 | | | 0.03 +Pair | 91 | 91 | 91 | 0.0 | 48.98 +Bond | 0.0010315 | 0.0010315 | 0.0010315 | 0.0 | 0.00 +Kspace | 40.32 | 40.32 | 40.32 | 0.0 | 21.70 +Neigh | 5.6505 | 5.6505 | 5.6505 | 0.0 | 3.04 +Comm | 0.15304 | 0.15304 | 0.15304 | 0.0 | 0.08 +Output | 0.0041829 | 0.0041829 | 0.0041829 | 0.0 | 0.00 +Modify | 48.607 | 48.607 | 48.607 | 0.0 | 26.16 +Other | | 0.06807 | | | 0.04 Nlocal: 9798 ave 9798 max 9798 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -151,4 +181,4 @@ Ave neighs/atom = 842.7079 Ave special neighs/atom = 1.3227189 Neighbor list builds = 23 Dangerous builds = 0 -Total wall time: 0:21:11 +Total wall time: 0:06:18 diff --git a/examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-tf.g++.4 b/examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-tf.g++.4 similarity index 53% rename from examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-tf.g++.4 rename to examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-tf.g++.4 index 450a6c1fda..9791c35b43 100644 --- a/examples/PACKAGES/electrode/au-aq/log.26Apr2022.au-aq-tf.g++.4 +++ b/examples/PACKAGES/electrode/au-aq/log.1Dec2022.au-aq-tf.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with constant potential using finite field # for z-periodic gold-saline electrochemical cell # using Thomas-Fermi metallicity model: electrode q and qz will be @@ -41,7 +41,7 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-4 neighbors 2 = max # of special neighbors special bonds CPU = 0.002 seconds - read_data CPU = 0.091 seconds + read_data CPU = 0.114 seconds group bot type 6 1620 atoms in group bot @@ -55,11 +55,12 @@ group electrolyte type 1 2 3 4 5 fix nvt electrolyte nvt temp 298.0 298.0 241 fix shake SPC shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 2160 = # of frozen angles - find clusters CPU = 0.001 seconds + find clusters CPU = 0.002 seconds variable q atom q variable qz atom q*(z-lz/2) @@ -70,7 +71,7 @@ compute qzbot bot reduce sum v_qz compute ctemp electrolyte temp -fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes 6*7 +fix conp bot electrode/conp -1.0 1.805132 couple top 1.0 symm on ffield yes etypes on 3240 atoms in group conp_group fix_modify conp tf 6 1.0 18.1715745 fix_modify conp tf 7 1.0 18.1715745 @@ -78,6 +79,35 @@ fix_modify conp tf 7 1.0 18.1715745 thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qtop c_qbot c_qztop c_qzbot run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.24017705 @@ -87,9 +117,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.093542e-07 using double precision MKL FFT 3d grid and FFT values/proc = 138958 87480 - generated 21 of 21 mixed pair_coeff terms from geometric mixing rule +Generated 21 of 21 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 17 ghost atom cutoff = 17 @@ -110,35 +140,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 118.1 | 120.6 | 123.1 Mbytes +Per MPI rank memory allocation (min/avg/max) = 118.2 | 120.7 | 123.2 Mbytes Step Temp c_ctemp E_pair TotEng c_qtop c_qbot c_qztop c_qzbot - 0 171.61215 298.06731 -39190.106 -35283.45 4.0804484 -4.0804484 79.075127 131.20697 - 50 147.14308 255.56782 -39849.964 -36500.334 3.9990346 -3.9990346 77.497181 128.57759 - 100 149.94935 260.44194 -39857.533 -36444.019 3.8613914 -3.8613914 74.82985 124.15315 - 150 151.95924 263.93285 -39855.567 -36396.299 3.8677064 -3.8677064 74.957279 124.33201 - 200 151.66737 263.42591 -39802.585 -36349.961 3.99842 -3.99842 77.491015 128.54496 - 250 152.36874 264.64408 -39763.306 -36294.716 3.9925863 -3.9925863 77.379445 128.37226 - 300 153.83916 267.19802 -39737.075 -36235.012 3.94995 -3.94995 76.553896 127.00395 - 350 155.88897 270.75827 -39722.265 -36173.539 4.0598524 -4.0598524 78.679643 130.5394 - 400 156.51993 271.85415 -39674.759 -36111.669 4.1312899 -4.1312899 80.060369 132.83599 - 450 160.21339 278.26919 -39697.962 -36050.793 3.9068098 -3.9068098 75.713485 125.59216 - 500 161.63639 280.74075 -39669.412 -35989.849 3.9261654 -3.9261654 76.080597 126.22255 -Loop time of 110.716 on 4 procs for 500 steps with 9798 atoms + 0 171.61215 298.06731 -39001.911 -35095.255 4.0804484 -4.0804484 79.075127 131.20697 + 50 147.14308 255.56782 -39665.525 -36315.894 3.9990346 -3.9990346 77.497181 128.57759 + 100 149.94935 260.44194 -39679.441 -36265.927 3.8613914 -3.8613914 74.82985 124.15315 + 150 151.95924 263.93285 -39677.184 -36217.916 3.8677064 -3.8677064 74.957279 124.33201 + 200 151.66737 263.42591 -39618.173 -36165.549 3.99842 -3.99842 77.491015 128.54496 + 250 152.36874 264.64408 -39579.163 -36110.574 3.9925863 -3.9925863 77.379445 128.37226 + 300 153.83916 267.19802 -39554.899 -36052.835 3.94995 -3.94995 76.553896 127.00395 + 350 155.88897 270.75826 -39535.02 -35986.294 4.0598523 -4.0598523 78.679642 130.5394 + 400 156.51993 271.85415 -39484.219 -35921.13 4.1312897 -4.1312897 80.060366 132.83598 + 450 160.21339 278.26919 -39517.776 -35870.607 3.9068099 -3.9068099 75.713486 125.59216 + 500 161.63639 280.74075 -39488.333 -35808.771 3.9261657 -3.9261657 76.080602 126.22256 +Loop time of 104.099 on 4 procs for 500 steps with 9798 atoms -Performance: 0.390 ns/day, 61.509 hours/ns, 4.516 timesteps/s -97.2% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.415 ns/day, 57.833 hours/ns, 4.803 timesteps/s, 47.061 katom-step/s +87.7% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 21.17 | 30.449 | 39.65 | 164.9 | 27.50 -Bond | 0.0007313 | 0.00077537 | 0.00081477 | 0.0 | 0.00 -Kspace | 29.854 | 38.911 | 48.058 | 143.8 | 35.14 -Neigh | 2.7206 | 2.7213 | 2.722 | 0.0 | 2.46 -Comm | 0.33023 | 0.33225 | 0.33384 | 0.2 | 0.30 -Output | 0.0024528 | 0.0027565 | 0.0035754 | 0.9 | 0.00 -Modify | 38.091 | 38.233 | 38.365 | 2.1 | 34.53 -Other | | 0.06636 | | | 0.06 +Pair | 20.951 | 30.326 | 40.07 | 166.7 | 29.13 +Bond | 0.00098259 | 0.0010706 | 0.0011926 | 0.3 | 0.00 +Kspace | 33.465 | 43.037 | 52.268 | 137.5 | 41.34 +Neigh | 2.6007 | 2.6014 | 2.6021 | 0.0 | 2.50 +Comm | 0.57766 | 0.58318 | 0.58875 | 0.7 | 0.56 +Output | 0.0022277 | 0.0024765 | 0.0031841 | 0.8 | 0.00 +Modify | 27.292 | 27.47 | 27.647 | 3.1 | 26.39 +Other | | 0.0787 | | | 0.08 Nlocal: 2449.5 ave 2908 max 2017 min Histogram: 2 0 0 0 0 0 0 0 0 2 @@ -147,9 +177,9 @@ Histogram: 2 0 0 0 0 0 0 0 0 2 Neighs: 2.06421e+06 ave 2.7551e+06 max 1.40237e+06 min Histogram: 2 0 0 0 0 0 0 0 0 2 -Total # of neighbors = 8256853 -Ave neighs/atom = 842.708 +Total # of neighbors = 8256852 +Ave neighs/atom = 842.7079 Ave special neighs/atom = 1.3227189 Neighbor list builds = 23 Dangerous builds = 0 -Total wall time: 0:08:22 +Total wall time: 0:03:12 diff --git a/examples/PACKAGES/electrode/graph-il/.gitignore b/examples/PACKAGES/electrode/graph-il/.gitignore index 8ee8bfa0f2..592bb61996 100644 --- a/examples/PACKAGES/electrode/graph-il/.gitignore +++ b/examples/PACKAGES/electrode/graph-il/.gitignore @@ -1 +1,2 @@ log.lammps* +in.temp diff --git a/examples/PACKAGES/electrode/graph-il/algo_test.sh b/examples/PACKAGES/electrode/graph-il/algo_test.sh new file mode 100755 index 0000000000..6106fe02dc --- /dev/null +++ b/examples/PACKAGES/electrode/graph-il/algo_test.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +LMP_BIN="$1" +NP="${2:-1}" +echo "MPI over $NP procs:" +for feat in conp etypes tf +do + echo "Using base input file in.$feat:" + echo "mat_inv, log excerpts:" + logfile="log.algo_test.$NP.$feat" + mpirun -np $NP $LMP_BIN -i in.$feat -l $logfile > /dev/null 2>&1 + grep -A2 'Per MPI rank' $logfile + grep -B1 'Loop time' $logfile + rm $logfile + for cgtype in mat_cg cg + do + for tol in 1e-4 1e-5 1e-6 + do + echo "$cgtype, tol = $tol, log excerpts:" + logfile="log.algo_test.$NP.$feat.$cgtype.$tol" + sed '/electrode/ s/$/ algo '"$cgtype"' '"$tol"'/' in.$feat > in.temp + mpirun -np $NP $LMP_BIN -i in.temp -l $logfile > /dev/null 2>&1 + grep -A2 'Per MPI rank' $logfile + grep -B1 'Loop time' $logfile + rm $logfile + done + done +done diff --git a/examples/PACKAGES/electrode/graph-il/data.graph-il b/examples/PACKAGES/electrode/graph-il/data.graph-il index 600adeb64f..597e3c21d8 100644 --- a/examples/PACKAGES/electrode/graph-il/data.graph-il +++ b/examples/PACKAGES/electrode/graph-il/data.graph-il @@ -3,7 +3,7 @@ LAMMPS data file. CGCMM style. atom_style full generated by VMD/TopoTools v1.7 o 3776 atoms 640 bonds 320 angles - 5 atom types + 6 atom types 2 bond types 1 angle types @@ -18,6 +18,7 @@ LAMMPS data file. CGCMM style. atom_style full generated by VMD/TopoTools v1.7 o 3 57.119999 # Roy-Maroncelli BMI3 4 144.960007 # Roy-Maroncelli PF64 5 12.001000 # carbon 5 + 6 12.001000 # carbon 5 Pair Coeffs # lj/cut/coul/long @@ -26,6 +27,7 @@ Pair Coeffs # lj/cut/coul/long 3 0.43738 5.04 4 1.12572 5.06 5 0.05497 3.37 +6 0.05497 3.37 Bond Coeffs # harmonic @@ -1318,1252 +1320,1252 @@ Angle Coeffs # harmonic 1278 639 2 0.157800 13.112696 26.068785 21.224487 # 2 1279 639 3 0.184800 13.700453 25.668398 15.818604 # 3 1280 640 4 -0.780000 30.804737 25.139051 26.365158 # 4 -1281 645 5 0.000000 1.229756 1.065000 -61.575001 # 5 -1282 645 5 0.000000 3.689268 1.065000 -61.575001 # 5 -1283 645 5 0.000000 2.459512 0.355000 -61.575001 # 5 -1284 645 5 0.000000 6.148780 1.065000 -61.575001 # 5 -1285 645 5 0.000000 4.919024 0.355000 -61.575001 # 5 -1286 645 5 0.000000 8.608293 1.065000 -61.575001 # 5 -1287 645 5 0.000000 7.378536 0.355000 -61.575001 # 5 -1288 645 5 0.000000 11.067804 1.065000 -61.575001 # 5 -1289 645 5 0.000000 9.838048 0.355000 -61.575001 # 5 -1290 645 5 0.000000 13.527316 1.065000 -61.575001 # 5 -1291 645 5 0.000000 12.297561 0.355000 -61.575001 # 5 -1292 645 5 0.000000 15.986829 1.065000 -61.575001 # 5 -1293 645 5 0.000000 14.757072 0.355000 -61.575001 # 5 -1294 645 5 0.000000 18.446341 1.065000 -61.575001 # 5 -1295 645 5 0.000000 17.216585 0.355000 -61.575001 # 5 -1296 645 5 0.000000 20.905853 1.065000 -61.575001 # 5 -1297 645 5 0.000000 19.676096 0.355000 -61.575001 # 5 -1298 645 5 0.000000 23.365364 1.065000 -61.575001 # 5 -1299 645 5 0.000000 22.135609 0.355000 -61.575001 # 5 -1300 645 5 0.000000 25.824877 1.065000 -61.575001 # 5 -1301 645 5 0.000000 24.595121 0.355000 -61.575001 # 5 -1302 645 5 0.000000 28.284389 1.065000 -61.575001 # 5 -1303 645 5 0.000000 27.054632 0.355000 -61.575001 # 5 -1304 645 5 0.000000 30.743900 1.065000 -61.575001 # 5 -1305 645 5 0.000000 29.514145 0.355000 -61.575001 # 5 -1306 645 5 0.000000 31.973658 0.355000 -61.575001 # 5 -1307 645 5 0.000000 2.459512 3.195000 -61.575001 # 5 -1308 645 5 0.000000 1.229756 2.485000 -61.575001 # 5 -1309 645 5 0.000000 4.919024 3.195000 -61.575001 # 5 -1310 645 5 0.000000 3.689268 2.485000 -61.575001 # 5 -1311 645 5 0.000000 7.378536 3.195000 -61.575001 # 5 -1312 645 5 0.000000 6.148780 2.485000 -61.575001 # 5 -1313 645 5 0.000000 9.838048 3.195000 -61.575001 # 5 -1314 645 5 0.000000 8.608293 2.485000 -61.575001 # 5 -1315 645 5 0.000000 12.297561 3.195000 -61.575001 # 5 -1316 645 5 0.000000 11.067804 2.485000 -61.575001 # 5 -1317 645 5 0.000000 14.757072 3.195000 -61.575001 # 5 -1318 645 5 0.000000 13.527316 2.485000 -61.575001 # 5 -1319 645 5 0.000000 17.216585 3.195000 -61.575001 # 5 -1320 645 5 0.000000 15.986829 2.485000 -61.575001 # 5 -1321 645 5 0.000000 19.676096 3.195000 -61.575001 # 5 -1322 645 5 0.000000 18.446341 2.485000 -61.575001 # 5 -1323 645 5 0.000000 22.135609 3.195000 -61.575001 # 5 -1324 645 5 0.000000 20.905853 2.485000 -61.575001 # 5 -1325 645 5 0.000000 24.595121 3.195000 -61.575001 # 5 -1326 645 5 0.000000 23.365364 2.485000 -61.575001 # 5 -1327 645 5 0.000000 27.054632 3.195000 -61.575001 # 5 -1328 645 5 0.000000 25.824877 2.485000 -61.575001 # 5 -1329 645 5 0.000000 29.514145 3.195000 -61.575001 # 5 -1330 645 5 0.000000 28.284389 2.485000 -61.575001 # 5 -1331 645 5 0.000000 31.973658 3.195000 -61.575001 # 5 -1332 645 5 0.000000 30.743900 2.485000 -61.575001 # 5 -1333 645 5 0.000000 1.229756 5.325000 -61.575001 # 5 -1334 645 5 0.000000 3.689268 5.325000 -61.575001 # 5 -1335 645 5 0.000000 2.459512 4.615000 -61.575001 # 5 -1336 645 5 0.000000 6.148780 5.325000 -61.575001 # 5 -1337 645 5 0.000000 4.919024 4.615000 -61.575001 # 5 -1338 645 5 0.000000 8.608293 5.325000 -61.575001 # 5 -1339 645 5 0.000000 7.378536 4.615000 -61.575001 # 5 -1340 645 5 0.000000 11.067804 5.325000 -61.575001 # 5 -1341 645 5 0.000000 9.838048 4.615000 -61.575001 # 5 -1342 645 5 0.000000 13.527316 5.325000 -61.575001 # 5 -1343 645 5 0.000000 12.297561 4.615000 -61.575001 # 5 -1344 645 5 0.000000 15.986829 5.325000 -61.575001 # 5 -1345 645 5 0.000000 14.757072 4.615000 -61.575001 # 5 -1346 645 5 0.000000 18.446341 5.325000 -61.575001 # 5 -1347 645 5 0.000000 17.216585 4.615000 -61.575001 # 5 -1348 645 5 0.000000 20.905853 5.325000 -61.575001 # 5 -1349 645 5 0.000000 19.676096 4.615000 -61.575001 # 5 -1350 645 5 0.000000 23.365364 5.325000 -61.575001 # 5 -1351 645 5 0.000000 22.135609 4.615000 -61.575001 # 5 -1352 645 5 0.000000 25.824877 5.325000 -61.575001 # 5 -1353 645 5 0.000000 24.595121 4.615000 -61.575001 # 5 -1354 645 5 0.000000 28.284389 5.325000 -61.575001 # 5 -1355 645 5 0.000000 27.054632 4.615000 -61.575001 # 5 -1356 645 5 0.000000 30.743900 5.325000 -61.575001 # 5 -1357 645 5 0.000000 29.514145 4.615000 -61.575001 # 5 -1358 645 5 0.000000 31.973658 4.615000 -61.575001 # 5 -1359 645 5 0.000000 2.459512 7.455000 -61.575001 # 5 -1360 645 5 0.000000 1.229756 6.745000 -61.575001 # 5 -1361 645 5 0.000000 4.919024 7.455000 -61.575001 # 5 -1362 645 5 0.000000 3.689268 6.745000 -61.575001 # 5 -1363 645 5 0.000000 7.378536 7.455000 -61.575001 # 5 -1364 645 5 0.000000 6.148780 6.745000 -61.575001 # 5 -1365 645 5 0.000000 9.838048 7.455000 -61.575001 # 5 -1366 645 5 0.000000 8.608293 6.745000 -61.575001 # 5 -1367 645 5 0.000000 12.297561 7.455000 -61.575001 # 5 -1368 645 5 0.000000 11.067804 6.745000 -61.575001 # 5 -1369 645 5 0.000000 14.757072 7.455000 -61.575001 # 5 -1370 645 5 0.000000 13.527316 6.745000 -61.575001 # 5 -1371 645 5 0.000000 17.216585 7.455000 -61.575001 # 5 -1372 645 5 0.000000 15.986829 6.745000 -61.575001 # 5 -1373 645 5 0.000000 19.676096 7.455000 -61.575001 # 5 -1374 645 5 0.000000 18.446341 6.745000 -61.575001 # 5 -1375 645 5 0.000000 22.135609 7.455000 -61.575001 # 5 -1376 645 5 0.000000 20.905853 6.745000 -61.575001 # 5 -1377 645 5 0.000000 24.595121 7.455000 -61.575001 # 5 -1378 645 5 0.000000 23.365364 6.745000 -61.575001 # 5 -1379 645 5 0.000000 27.054632 7.455000 -61.575001 # 5 -1380 645 5 0.000000 25.824877 6.745000 -61.575001 # 5 -1381 645 5 0.000000 29.514145 7.455000 -61.575001 # 5 -1382 645 5 0.000000 28.284389 6.745000 -61.575001 # 5 -1383 645 5 0.000000 31.973658 7.455000 -61.575001 # 5 -1384 645 5 0.000000 30.743900 6.745000 -61.575001 # 5 -1385 645 5 0.000000 1.229756 9.585000 -61.575001 # 5 -1386 645 5 0.000000 3.689268 9.585000 -61.575001 # 5 -1387 645 5 0.000000 2.459512 8.875000 -61.575001 # 5 -1388 645 5 0.000000 6.148780 9.585000 -61.575001 # 5 -1389 645 5 0.000000 4.919024 8.875000 -61.575001 # 5 -1390 645 5 0.000000 8.608293 9.585000 -61.575001 # 5 -1391 645 5 0.000000 7.378536 8.875000 -61.575001 # 5 -1392 645 5 0.000000 11.067804 9.585000 -61.575001 # 5 -1393 645 5 0.000000 9.838048 8.875000 -61.575001 # 5 -1394 645 5 0.000000 13.527316 9.585000 -61.575001 # 5 -1395 645 5 0.000000 12.297561 8.875000 -61.575001 # 5 -1396 645 5 0.000000 15.986829 9.585000 -61.575001 # 5 -1397 645 5 0.000000 14.757072 8.875000 -61.575001 # 5 -1398 645 5 0.000000 18.446341 9.585000 -61.575001 # 5 -1399 645 5 0.000000 17.216585 8.875000 -61.575001 # 5 -1400 645 5 0.000000 20.905853 9.585000 -61.575001 # 5 -1401 645 5 0.000000 19.676096 8.875000 -61.575001 # 5 -1402 645 5 0.000000 23.365364 9.585000 -61.575001 # 5 -1403 645 5 0.000000 22.135609 8.875000 -61.575001 # 5 -1404 645 5 0.000000 25.824877 9.585000 -61.575001 # 5 -1405 645 5 0.000000 24.595121 8.875000 -61.575001 # 5 -1406 645 5 0.000000 28.284389 9.585000 -61.575001 # 5 -1407 645 5 0.000000 27.054632 8.875000 -61.575001 # 5 -1408 645 5 0.000000 30.743900 9.585000 -61.575001 # 5 -1409 645 5 0.000000 29.514145 8.875000 -61.575001 # 5 -1410 645 5 0.000000 31.973658 8.875000 -61.575001 # 5 -1411 645 5 0.000000 2.459512 11.715001 -61.575001 # 5 -1412 645 5 0.000000 1.229756 11.005000 -61.575001 # 5 -1413 645 5 0.000000 4.919024 11.715001 -61.575001 # 5 -1414 645 5 0.000000 3.689268 11.005000 -61.575001 # 5 -1415 645 5 0.000000 7.378536 11.715001 -61.575001 # 5 -1416 645 5 0.000000 6.148780 11.005000 -61.575001 # 5 -1417 645 5 0.000000 9.838048 11.715001 -61.575001 # 5 -1418 645 5 0.000000 8.608293 11.005000 -61.575001 # 5 -1419 645 5 0.000000 12.297561 11.715001 -61.575001 # 5 -1420 645 5 0.000000 11.067804 11.005000 -61.575001 # 5 -1421 645 5 0.000000 14.757072 11.715001 -61.575001 # 5 -1422 645 5 0.000000 13.527316 11.005000 -61.575001 # 5 -1423 645 5 0.000000 17.216585 11.715001 -61.575001 # 5 -1424 645 5 0.000000 15.986829 11.005000 -61.575001 # 5 -1425 645 5 0.000000 19.676096 11.715001 -61.575001 # 5 -1426 645 5 0.000000 18.446341 11.005000 -61.575001 # 5 -1427 645 5 0.000000 22.135609 11.715001 -61.575001 # 5 -1428 645 5 0.000000 20.905853 11.005000 -61.575001 # 5 -1429 645 5 0.000000 24.595121 11.715001 -61.575001 # 5 -1430 645 5 0.000000 23.365364 11.005000 -61.575001 # 5 -1431 645 5 0.000000 27.054632 11.715001 -61.575001 # 5 -1432 645 5 0.000000 25.824877 11.005000 -61.575001 # 5 -1433 645 5 0.000000 29.514145 11.715001 -61.575001 # 5 -1434 645 5 0.000000 28.284389 11.005000 -61.575001 # 5 -1435 645 5 0.000000 31.973658 11.715001 -61.575001 # 5 -1436 645 5 0.000000 30.743900 11.005000 -61.575001 # 5 -1437 645 5 0.000000 1.229756 13.845000 -61.575001 # 5 -1438 645 5 0.000000 3.689268 13.845000 -61.575001 # 5 -1439 645 5 0.000000 2.459512 13.135000 -61.575001 # 5 -1440 645 5 0.000000 6.148780 13.845000 -61.575001 # 5 -1441 645 5 0.000000 4.919024 13.135000 -61.575001 # 5 -1442 645 5 0.000000 8.608293 13.845000 -61.575001 # 5 -1443 645 5 0.000000 7.378536 13.135000 -61.575001 # 5 -1444 645 5 0.000000 11.067804 13.845000 -61.575001 # 5 -1445 645 5 0.000000 9.838048 13.135000 -61.575001 # 5 -1446 645 5 0.000000 13.527316 13.845000 -61.575001 # 5 -1447 645 5 0.000000 12.297561 13.135000 -61.575001 # 5 -1448 645 5 0.000000 15.986829 13.845000 -61.575001 # 5 -1449 645 5 0.000000 14.757072 13.135000 -61.575001 # 5 -1450 645 5 0.000000 18.446341 13.845000 -61.575001 # 5 -1451 645 5 0.000000 17.216585 13.135000 -61.575001 # 5 -1452 645 5 0.000000 20.905853 13.845000 -61.575001 # 5 -1453 645 5 0.000000 19.676096 13.135000 -61.575001 # 5 -1454 645 5 0.000000 23.365364 13.845000 -61.575001 # 5 -1455 645 5 0.000000 22.135609 13.135000 -61.575001 # 5 -1456 645 5 0.000000 25.824877 13.845000 -61.575001 # 5 -1457 645 5 0.000000 24.595121 13.135000 -61.575001 # 5 -1458 645 5 0.000000 28.284389 13.845000 -61.575001 # 5 -1459 645 5 0.000000 27.054632 13.135000 -61.575001 # 5 -1460 645 5 0.000000 30.743900 13.845000 -61.575001 # 5 -1461 645 5 0.000000 29.514145 13.135000 -61.575001 # 5 -1462 645 5 0.000000 31.973658 13.135000 -61.575001 # 5 -1463 645 5 0.000000 2.459512 15.975000 -61.575001 # 5 -1464 645 5 0.000000 1.229756 15.265000 -61.575001 # 5 -1465 645 5 0.000000 4.919024 15.975000 -61.575001 # 5 -1466 645 5 0.000000 3.689268 15.265000 -61.575001 # 5 -1467 645 5 0.000000 7.378536 15.975000 -61.575001 # 5 -1468 645 5 0.000000 6.148780 15.265000 -61.575001 # 5 -1469 645 5 0.000000 9.838048 15.975000 -61.575001 # 5 -1470 645 5 0.000000 8.608293 15.265000 -61.575001 # 5 -1471 645 5 0.000000 12.297561 15.975000 -61.575001 # 5 -1472 645 5 0.000000 11.067804 15.265000 -61.575001 # 5 -1473 645 5 0.000000 14.757072 15.975000 -61.575001 # 5 -1474 645 5 0.000000 13.527316 15.265000 -61.575001 # 5 -1475 645 5 0.000000 17.216585 15.975000 -61.575001 # 5 -1476 645 5 0.000000 15.986829 15.265000 -61.575001 # 5 -1477 645 5 0.000000 19.676096 15.975000 -61.575001 # 5 -1478 645 5 0.000000 18.446341 15.265000 -61.575001 # 5 -1479 645 5 0.000000 22.135609 15.975000 -61.575001 # 5 -1480 645 5 0.000000 20.905853 15.265000 -61.575001 # 5 -1481 645 5 0.000000 24.595121 15.975000 -61.575001 # 5 -1482 645 5 0.000000 23.365364 15.265000 -61.575001 # 5 -1483 645 5 0.000000 27.054632 15.975000 -61.575001 # 5 -1484 645 5 0.000000 25.824877 15.265000 -61.575001 # 5 -1485 645 5 0.000000 29.514145 15.975000 -61.575001 # 5 -1486 645 5 0.000000 28.284389 15.265000 -61.575001 # 5 -1487 645 5 0.000000 31.973658 15.975000 -61.575001 # 5 -1488 645 5 0.000000 30.743900 15.265000 -61.575001 # 5 -1489 645 5 0.000000 1.229756 18.105000 -61.575001 # 5 -1490 645 5 0.000000 3.689268 18.105000 -61.575001 # 5 -1491 645 5 0.000000 2.459512 17.395000 -61.575001 # 5 -1492 645 5 0.000000 6.148780 18.105000 -61.575001 # 5 -1493 645 5 0.000000 4.919024 17.395000 -61.575001 # 5 -1494 645 5 0.000000 8.608293 18.105000 -61.575001 # 5 -1495 645 5 0.000000 7.378536 17.395000 -61.575001 # 5 -1496 645 5 0.000000 11.067804 18.105000 -61.575001 # 5 -1497 645 5 0.000000 9.838048 17.395000 -61.575001 # 5 -1498 645 5 0.000000 13.527316 18.105000 -61.575001 # 5 -1499 645 5 0.000000 12.297561 17.395000 -61.575001 # 5 -1500 645 5 0.000000 15.986829 18.105000 -61.575001 # 5 -1501 645 5 0.000000 14.757072 17.395000 -61.575001 # 5 -1502 645 5 0.000000 18.446341 18.105000 -61.575001 # 5 -1503 645 5 0.000000 17.216585 17.395000 -61.575001 # 5 -1504 645 5 0.000000 20.905853 18.105000 -61.575001 # 5 -1505 645 5 0.000000 19.676096 17.395000 -61.575001 # 5 -1506 645 5 0.000000 23.365364 18.105000 -61.575001 # 5 -1507 645 5 0.000000 22.135609 17.395000 -61.575001 # 5 -1508 645 5 0.000000 25.824877 18.105000 -61.575001 # 5 -1509 645 5 0.000000 24.595121 17.395000 -61.575001 # 5 -1510 645 5 0.000000 28.284389 18.105000 -61.575001 # 5 -1511 645 5 0.000000 27.054632 17.395000 -61.575001 # 5 -1512 645 5 0.000000 30.743900 18.105000 -61.575001 # 5 -1513 645 5 0.000000 29.514145 17.395000 -61.575001 # 5 -1514 645 5 0.000000 31.973658 17.395000 -61.575001 # 5 -1515 645 5 0.000000 2.459512 20.235001 -61.575001 # 5 -1516 645 5 0.000000 1.229756 19.525000 -61.575001 # 5 -1517 645 5 0.000000 4.919024 20.235001 -61.575001 # 5 -1518 645 5 0.000000 3.689268 19.525000 -61.575001 # 5 -1519 645 5 0.000000 7.378536 20.235001 -61.575001 # 5 -1520 645 5 0.000000 6.148780 19.525000 -61.575001 # 5 -1521 645 5 0.000000 9.838048 20.235001 -61.575001 # 5 -1522 645 5 0.000000 8.608293 19.525000 -61.575001 # 5 -1523 645 5 0.000000 12.297561 20.235001 -61.575001 # 5 -1524 645 5 0.000000 11.067804 19.525000 -61.575001 # 5 -1525 645 5 0.000000 14.757072 20.235001 -61.575001 # 5 -1526 645 5 0.000000 13.527316 19.525000 -61.575001 # 5 -1527 645 5 0.000000 17.216585 20.235001 -61.575001 # 5 -1528 645 5 0.000000 15.986829 19.525000 -61.575001 # 5 -1529 645 5 0.000000 19.676096 20.235001 -61.575001 # 5 -1530 645 5 0.000000 18.446341 19.525000 -61.575001 # 5 -1531 645 5 0.000000 22.135609 20.235001 -61.575001 # 5 -1532 645 5 0.000000 20.905853 19.525000 -61.575001 # 5 -1533 645 5 0.000000 24.595121 20.235001 -61.575001 # 5 -1534 645 5 0.000000 23.365364 19.525000 -61.575001 # 5 -1535 645 5 0.000000 27.054632 20.235001 -61.575001 # 5 -1536 645 5 0.000000 25.824877 19.525000 -61.575001 # 5 -1537 645 5 0.000000 29.514145 20.235001 -61.575001 # 5 -1538 645 5 0.000000 28.284389 19.525000 -61.575001 # 5 -1539 645 5 0.000000 31.973658 20.235001 -61.575001 # 5 -1540 645 5 0.000000 30.743900 19.525000 -61.575001 # 5 -1541 645 5 0.000000 1.229756 22.365000 -61.575001 # 5 -1542 645 5 0.000000 3.689268 22.365000 -61.575001 # 5 -1543 645 5 0.000000 2.459512 21.655001 -61.575001 # 5 -1544 645 5 0.000000 6.148780 22.365000 -61.575001 # 5 -1545 645 5 0.000000 4.919024 21.655001 -61.575001 # 5 -1546 645 5 0.000000 8.608293 22.365000 -61.575001 # 5 -1547 645 5 0.000000 7.378536 21.655001 -61.575001 # 5 -1548 645 5 0.000000 11.067804 22.365000 -61.575001 # 5 -1549 645 5 0.000000 9.838048 21.655001 -61.575001 # 5 -1550 645 5 0.000000 13.527316 22.365000 -61.575001 # 5 -1551 645 5 0.000000 12.297561 21.655001 -61.575001 # 5 -1552 645 5 0.000000 15.986829 22.365000 -61.575001 # 5 -1553 645 5 0.000000 14.757072 21.655001 -61.575001 # 5 -1554 645 5 0.000000 18.446341 22.365000 -61.575001 # 5 -1555 645 5 0.000000 17.216585 21.655001 -61.575001 # 5 -1556 645 5 0.000000 20.905853 22.365000 -61.575001 # 5 -1557 645 5 0.000000 19.676096 21.655001 -61.575001 # 5 -1558 645 5 0.000000 23.365364 22.365000 -61.575001 # 5 -1559 645 5 0.000000 22.135609 21.655001 -61.575001 # 5 -1560 645 5 0.000000 25.824877 22.365000 -61.575001 # 5 -1561 645 5 0.000000 24.595121 21.655001 -61.575001 # 5 -1562 645 5 0.000000 28.284389 22.365000 -61.575001 # 5 -1563 645 5 0.000000 27.054632 21.655001 -61.575001 # 5 -1564 645 5 0.000000 30.743900 22.365000 -61.575001 # 5 -1565 645 5 0.000000 29.514145 21.655001 -61.575001 # 5 -1566 645 5 0.000000 31.973658 21.655001 -61.575001 # 5 -1567 645 5 0.000000 2.459512 24.495001 -61.575001 # 5 -1568 645 5 0.000000 1.229756 23.785000 -61.575001 # 5 -1569 645 5 0.000000 4.919024 24.495001 -61.575001 # 5 -1570 645 5 0.000000 3.689268 23.785000 -61.575001 # 5 -1571 645 5 0.000000 7.378536 24.495001 -61.575001 # 5 -1572 645 5 0.000000 6.148780 23.785000 -61.575001 # 5 -1573 645 5 0.000000 9.838048 24.495001 -61.575001 # 5 -1574 645 5 0.000000 8.608293 23.785000 -61.575001 # 5 -1575 645 5 0.000000 12.297561 24.495001 -61.575001 # 5 -1576 645 5 0.000000 11.067804 23.785000 -61.575001 # 5 -1577 645 5 0.000000 14.757072 24.495001 -61.575001 # 5 -1578 645 5 0.000000 13.527316 23.785000 -61.575001 # 5 -1579 645 5 0.000000 17.216585 24.495001 -61.575001 # 5 -1580 645 5 0.000000 15.986829 23.785000 -61.575001 # 5 -1581 645 5 0.000000 19.676096 24.495001 -61.575001 # 5 -1582 645 5 0.000000 18.446341 23.785000 -61.575001 # 5 -1583 645 5 0.000000 22.135609 24.495001 -61.575001 # 5 -1584 645 5 0.000000 20.905853 23.785000 -61.575001 # 5 -1585 645 5 0.000000 24.595121 24.495001 -61.575001 # 5 -1586 645 5 0.000000 23.365364 23.785000 -61.575001 # 5 -1587 645 5 0.000000 27.054632 24.495001 -61.575001 # 5 -1588 645 5 0.000000 25.824877 23.785000 -61.575001 # 5 -1589 645 5 0.000000 29.514145 24.495001 -61.575001 # 5 -1590 645 5 0.000000 28.284389 23.785000 -61.575001 # 5 -1591 645 5 0.000000 31.973658 24.495001 -61.575001 # 5 -1592 645 5 0.000000 30.743900 23.785000 -61.575001 # 5 -1593 645 5 0.000000 1.229756 26.625000 -61.575001 # 5 -1594 645 5 0.000000 3.689268 26.625000 -61.575001 # 5 -1595 645 5 0.000000 2.459512 25.915003 -61.575001 # 5 -1596 645 5 0.000000 6.148780 26.625000 -61.575001 # 5 -1597 645 5 0.000000 4.919024 25.915003 -61.575001 # 5 -1598 645 5 0.000000 8.608293 26.625000 -61.575001 # 5 -1599 645 5 0.000000 7.378536 25.915003 -61.575001 # 5 -1600 645 5 0.000000 11.067804 26.625000 -61.575001 # 5 -1601 645 5 0.000000 9.838048 25.915003 -61.575001 # 5 -1602 645 5 0.000000 13.527316 26.625000 -61.575001 # 5 -1603 645 5 0.000000 12.297561 25.915003 -61.575001 # 5 -1604 645 5 0.000000 15.986829 26.625000 -61.575001 # 5 -1605 645 5 0.000000 14.757072 25.915003 -61.575001 # 5 -1606 645 5 0.000000 18.446341 26.625000 -61.575001 # 5 -1607 645 5 0.000000 17.216585 25.915003 -61.575001 # 5 -1608 645 5 0.000000 20.905853 26.625000 -61.575001 # 5 -1609 645 5 0.000000 19.676096 25.915003 -61.575001 # 5 -1610 645 5 0.000000 23.365364 26.625000 -61.575001 # 5 -1611 645 5 0.000000 22.135609 25.915003 -61.575001 # 5 -1612 645 5 0.000000 25.824877 26.625000 -61.575001 # 5 -1613 645 5 0.000000 24.595121 25.915003 -61.575001 # 5 -1614 645 5 0.000000 28.284389 26.625000 -61.575001 # 5 -1615 645 5 0.000000 27.054632 25.915003 -61.575001 # 5 -1616 645 5 0.000000 30.743900 26.625000 -61.575001 # 5 -1617 645 5 0.000000 29.514145 25.915003 -61.575001 # 5 -1618 645 5 0.000000 31.973658 25.915003 -61.575001 # 5 -1619 645 5 0.000000 2.459512 28.754999 -61.575001 # 5 -1620 645 5 0.000000 1.229756 28.045000 -61.575001 # 5 -1621 645 5 0.000000 4.919024 28.754999 -61.575001 # 5 -1622 645 5 0.000000 3.689268 28.045000 -61.575001 # 5 -1623 645 5 0.000000 7.378536 28.754999 -61.575001 # 5 -1624 645 5 0.000000 6.148780 28.045000 -61.575001 # 5 -1625 645 5 0.000000 9.838048 28.754999 -61.575001 # 5 -1626 645 5 0.000000 8.608293 28.045000 -61.575001 # 5 -1627 645 5 0.000000 12.297561 28.754999 -61.575001 # 5 -1628 645 5 0.000000 11.067804 28.045000 -61.575001 # 5 -1629 645 5 0.000000 14.757072 28.754999 -61.575001 # 5 -1630 645 5 0.000000 13.527316 28.045000 -61.575001 # 5 -1631 645 5 0.000000 17.216585 28.754999 -61.575001 # 5 -1632 645 5 0.000000 15.986829 28.045000 -61.575001 # 5 -1633 645 5 0.000000 19.676096 28.754999 -61.575001 # 5 -1634 645 5 0.000000 18.446341 28.045000 -61.575001 # 5 -1635 645 5 0.000000 22.135609 28.754999 -61.575001 # 5 -1636 645 5 0.000000 20.905853 28.045000 -61.575001 # 5 -1637 645 5 0.000000 24.595121 28.754999 -61.575001 # 5 -1638 645 5 0.000000 23.365364 28.045000 -61.575001 # 5 -1639 645 5 0.000000 27.054632 28.754999 -61.575001 # 5 -1640 645 5 0.000000 25.824877 28.045000 -61.575001 # 5 -1641 645 5 0.000000 29.514145 28.754999 -61.575001 # 5 -1642 645 5 0.000000 28.284389 28.045000 -61.575001 # 5 -1643 645 5 0.000000 31.973658 28.754999 -61.575001 # 5 -1644 645 5 0.000000 30.743900 28.045000 -61.575001 # 5 -1645 645 5 0.000000 1.229756 30.885000 -61.575001 # 5 -1646 645 5 0.000000 3.689268 30.885000 -61.575001 # 5 -1647 645 5 0.000000 2.459512 30.174999 -61.575001 # 5 -1648 645 5 0.000000 6.148780 30.885000 -61.575001 # 5 -1649 645 5 0.000000 4.919024 30.174999 -61.575001 # 5 -1650 645 5 0.000000 8.608293 30.885000 -61.575001 # 5 -1651 645 5 0.000000 7.378536 30.174999 -61.575001 # 5 -1652 645 5 0.000000 11.067804 30.885000 -61.575001 # 5 -1653 645 5 0.000000 9.838048 30.174999 -61.575001 # 5 -1654 645 5 0.000000 13.527316 30.885000 -61.575001 # 5 -1655 645 5 0.000000 12.297561 30.174999 -61.575001 # 5 -1656 645 5 0.000000 15.986829 30.885000 -61.575001 # 5 -1657 645 5 0.000000 14.757072 30.174999 -61.575001 # 5 -1658 645 5 0.000000 18.446341 30.885000 -61.575001 # 5 -1659 645 5 0.000000 17.216585 30.174999 -61.575001 # 5 -1660 645 5 0.000000 20.905853 30.885000 -61.575001 # 5 -1661 645 5 0.000000 19.676096 30.174999 -61.575001 # 5 -1662 645 5 0.000000 23.365364 30.885000 -61.575001 # 5 -1663 645 5 0.000000 22.135609 30.174999 -61.575001 # 5 -1664 645 5 0.000000 25.824877 30.885000 -61.575001 # 5 -1665 645 5 0.000000 24.595121 30.174999 -61.575001 # 5 -1666 645 5 0.000000 28.284389 30.885000 -61.575001 # 5 -1667 645 5 0.000000 27.054632 30.174999 -61.575001 # 5 -1668 645 5 0.000000 30.743900 30.885000 -61.575001 # 5 -1669 645 5 0.000000 29.514145 30.174999 -61.575001 # 5 -1670 645 5 0.000000 31.973658 30.174999 -61.575001 # 5 -1671 645 5 0.000000 2.459512 33.014999 -61.575001 # 5 -1672 645 5 0.000000 1.229756 32.305000 -61.575001 # 5 -1673 645 5 0.000000 4.919024 33.014999 -61.575001 # 5 -1674 645 5 0.000000 3.689268 32.305000 -61.575001 # 5 -1675 645 5 0.000000 7.378536 33.014999 -61.575001 # 5 -1676 645 5 0.000000 6.148780 32.305000 -61.575001 # 5 -1677 645 5 0.000000 9.838048 33.014999 -61.575001 # 5 -1678 645 5 0.000000 8.608293 32.305000 -61.575001 # 5 -1679 645 5 0.000000 12.297561 33.014999 -61.575001 # 5 -1680 645 5 0.000000 11.067804 32.305000 -61.575001 # 5 -1681 645 5 0.000000 14.757072 33.014999 -61.575001 # 5 -1682 645 5 0.000000 13.527316 32.305000 -61.575001 # 5 -1683 645 5 0.000000 17.216585 33.014999 -61.575001 # 5 -1684 645 5 0.000000 15.986829 32.305000 -61.575001 # 5 -1685 645 5 0.000000 19.676096 33.014999 -61.575001 # 5 -1686 645 5 0.000000 18.446341 32.305000 -61.575001 # 5 -1687 645 5 0.000000 22.135609 33.014999 -61.575001 # 5 -1688 645 5 0.000000 20.905853 32.305000 -61.575001 # 5 -1689 645 5 0.000000 24.595121 33.014999 -61.575001 # 5 -1690 645 5 0.000000 23.365364 32.305000 -61.575001 # 5 -1691 645 5 0.000000 27.054632 33.014999 -61.575001 # 5 -1692 645 5 0.000000 25.824877 32.305000 -61.575001 # 5 -1693 645 5 0.000000 29.514145 33.014999 -61.575001 # 5 -1694 645 5 0.000000 28.284389 32.305000 -61.575001 # 5 -1695 645 5 0.000000 31.973658 33.014999 -61.575001 # 5 -1696 645 5 0.000000 30.743900 32.305000 -61.575001 # 5 -1697 643 5 0.000000 1.229756 1.065000 -58.224998 # 5 +1281 645 6 0.000000 1.229756 1.065000 -61.575001 # 5 +1282 645 6 0.000000 3.689268 1.065000 -61.575001 # 5 +1283 645 6 0.000000 2.459512 0.355000 -61.575001 # 5 +1284 645 6 0.000000 6.148780 1.065000 -61.575001 # 5 +1285 645 6 0.000000 4.919024 0.355000 -61.575001 # 5 +1286 645 6 0.000000 8.608293 1.065000 -61.575001 # 5 +1287 645 6 0.000000 7.378536 0.355000 -61.575001 # 5 +1288 645 6 0.000000 11.067804 1.065000 -61.575001 # 5 +1289 645 6 0.000000 9.838048 0.355000 -61.575001 # 5 +1290 645 6 0.000000 13.527316 1.065000 -61.575001 # 5 +1291 645 6 0.000000 12.297561 0.355000 -61.575001 # 5 +1292 645 6 0.000000 15.986829 1.065000 -61.575001 # 5 +1293 645 6 0.000000 14.757072 0.355000 -61.575001 # 5 +1294 645 6 0.000000 18.446341 1.065000 -61.575001 # 5 +1295 645 6 0.000000 17.216585 0.355000 -61.575001 # 5 +1296 645 6 0.000000 20.905853 1.065000 -61.575001 # 5 +1297 645 6 0.000000 19.676096 0.355000 -61.575001 # 5 +1298 645 6 0.000000 23.365364 1.065000 -61.575001 # 5 +1299 645 6 0.000000 22.135609 0.355000 -61.575001 # 5 +1300 645 6 0.000000 25.824877 1.065000 -61.575001 # 5 +1301 645 6 0.000000 24.595121 0.355000 -61.575001 # 5 +1302 645 6 0.000000 28.284389 1.065000 -61.575001 # 5 +1303 645 6 0.000000 27.054632 0.355000 -61.575001 # 5 +1304 645 6 0.000000 30.743900 1.065000 -61.575001 # 5 +1305 645 6 0.000000 29.514145 0.355000 -61.575001 # 5 +1306 645 6 0.000000 31.973658 0.355000 -61.575001 # 5 +1307 645 6 0.000000 2.459512 3.195000 -61.575001 # 5 +1308 645 6 0.000000 1.229756 2.485000 -61.575001 # 5 +1309 645 6 0.000000 4.919024 3.195000 -61.575001 # 5 +1310 645 6 0.000000 3.689268 2.485000 -61.575001 # 5 +1311 645 6 0.000000 7.378536 3.195000 -61.575001 # 5 +1312 645 6 0.000000 6.148780 2.485000 -61.575001 # 5 +1313 645 6 0.000000 9.838048 3.195000 -61.575001 # 5 +1314 645 6 0.000000 8.608293 2.485000 -61.575001 # 5 +1315 645 6 0.000000 12.297561 3.195000 -61.575001 # 5 +1316 645 6 0.000000 11.067804 2.485000 -61.575001 # 5 +1317 645 6 0.000000 14.757072 3.195000 -61.575001 # 5 +1318 645 6 0.000000 13.527316 2.485000 -61.575001 # 5 +1319 645 6 0.000000 17.216585 3.195000 -61.575001 # 5 +1320 645 6 0.000000 15.986829 2.485000 -61.575001 # 5 +1321 645 6 0.000000 19.676096 3.195000 -61.575001 # 5 +1322 645 6 0.000000 18.446341 2.485000 -61.575001 # 5 +1323 645 6 0.000000 22.135609 3.195000 -61.575001 # 5 +1324 645 6 0.000000 20.905853 2.485000 -61.575001 # 5 +1325 645 6 0.000000 24.595121 3.195000 -61.575001 # 5 +1326 645 6 0.000000 23.365364 2.485000 -61.575001 # 5 +1327 645 6 0.000000 27.054632 3.195000 -61.575001 # 5 +1328 645 6 0.000000 25.824877 2.485000 -61.575001 # 5 +1329 645 6 0.000000 29.514145 3.195000 -61.575001 # 5 +1330 645 6 0.000000 28.284389 2.485000 -61.575001 # 5 +1331 645 6 0.000000 31.973658 3.195000 -61.575001 # 5 +1332 645 6 0.000000 30.743900 2.485000 -61.575001 # 5 +1333 645 6 0.000000 1.229756 5.325000 -61.575001 # 5 +1334 645 6 0.000000 3.689268 5.325000 -61.575001 # 5 +1335 645 6 0.000000 2.459512 4.615000 -61.575001 # 5 +1336 645 6 0.000000 6.148780 5.325000 -61.575001 # 5 +1337 645 6 0.000000 4.919024 4.615000 -61.575001 # 5 +1338 645 6 0.000000 8.608293 5.325000 -61.575001 # 5 +1339 645 6 0.000000 7.378536 4.615000 -61.575001 # 5 +1340 645 6 0.000000 11.067804 5.325000 -61.575001 # 5 +1341 645 6 0.000000 9.838048 4.615000 -61.575001 # 5 +1342 645 6 0.000000 13.527316 5.325000 -61.575001 # 5 +1343 645 6 0.000000 12.297561 4.615000 -61.575001 # 5 +1344 645 6 0.000000 15.986829 5.325000 -61.575001 # 5 +1345 645 6 0.000000 14.757072 4.615000 -61.575001 # 5 +1346 645 6 0.000000 18.446341 5.325000 -61.575001 # 5 +1347 645 6 0.000000 17.216585 4.615000 -61.575001 # 5 +1348 645 6 0.000000 20.905853 5.325000 -61.575001 # 5 +1349 645 6 0.000000 19.676096 4.615000 -61.575001 # 5 +1350 645 6 0.000000 23.365364 5.325000 -61.575001 # 5 +1351 645 6 0.000000 22.135609 4.615000 -61.575001 # 5 +1352 645 6 0.000000 25.824877 5.325000 -61.575001 # 5 +1353 645 6 0.000000 24.595121 4.615000 -61.575001 # 5 +1354 645 6 0.000000 28.284389 5.325000 -61.575001 # 5 +1355 645 6 0.000000 27.054632 4.615000 -61.575001 # 5 +1356 645 6 0.000000 30.743900 5.325000 -61.575001 # 5 +1357 645 6 0.000000 29.514145 4.615000 -61.575001 # 5 +1358 645 6 0.000000 31.973658 4.615000 -61.575001 # 5 +1359 645 6 0.000000 2.459512 7.455000 -61.575001 # 5 +1360 645 6 0.000000 1.229756 6.745000 -61.575001 # 5 +1361 645 6 0.000000 4.919024 7.455000 -61.575001 # 5 +1362 645 6 0.000000 3.689268 6.745000 -61.575001 # 5 +1363 645 6 0.000000 7.378536 7.455000 -61.575001 # 5 +1364 645 6 0.000000 6.148780 6.745000 -61.575001 # 5 +1365 645 6 0.000000 9.838048 7.455000 -61.575001 # 5 +1366 645 6 0.000000 8.608293 6.745000 -61.575001 # 5 +1367 645 6 0.000000 12.297561 7.455000 -61.575001 # 5 +1368 645 6 0.000000 11.067804 6.745000 -61.575001 # 5 +1369 645 6 0.000000 14.757072 7.455000 -61.575001 # 5 +1370 645 6 0.000000 13.527316 6.745000 -61.575001 # 5 +1371 645 6 0.000000 17.216585 7.455000 -61.575001 # 5 +1372 645 6 0.000000 15.986829 6.745000 -61.575001 # 5 +1373 645 6 0.000000 19.676096 7.455000 -61.575001 # 5 +1374 645 6 0.000000 18.446341 6.745000 -61.575001 # 5 +1375 645 6 0.000000 22.135609 7.455000 -61.575001 # 5 +1376 645 6 0.000000 20.905853 6.745000 -61.575001 # 5 +1377 645 6 0.000000 24.595121 7.455000 -61.575001 # 5 +1378 645 6 0.000000 23.365364 6.745000 -61.575001 # 5 +1379 645 6 0.000000 27.054632 7.455000 -61.575001 # 5 +1380 645 6 0.000000 25.824877 6.745000 -61.575001 # 5 +1381 645 6 0.000000 29.514145 7.455000 -61.575001 # 5 +1382 645 6 0.000000 28.284389 6.745000 -61.575001 # 5 +1383 645 6 0.000000 31.973658 7.455000 -61.575001 # 5 +1384 645 6 0.000000 30.743900 6.745000 -61.575001 # 5 +1385 645 6 0.000000 1.229756 9.585000 -61.575001 # 5 +1386 645 6 0.000000 3.689268 9.585000 -61.575001 # 5 +1387 645 6 0.000000 2.459512 8.875000 -61.575001 # 5 +1388 645 6 0.000000 6.148780 9.585000 -61.575001 # 5 +1389 645 6 0.000000 4.919024 8.875000 -61.575001 # 5 +1390 645 6 0.000000 8.608293 9.585000 -61.575001 # 5 +1391 645 6 0.000000 7.378536 8.875000 -61.575001 # 5 +1392 645 6 0.000000 11.067804 9.585000 -61.575001 # 5 +1393 645 6 0.000000 9.838048 8.875000 -61.575001 # 5 +1394 645 6 0.000000 13.527316 9.585000 -61.575001 # 5 +1395 645 6 0.000000 12.297561 8.875000 -61.575001 # 5 +1396 645 6 0.000000 15.986829 9.585000 -61.575001 # 5 +1397 645 6 0.000000 14.757072 8.875000 -61.575001 # 5 +1398 645 6 0.000000 18.446341 9.585000 -61.575001 # 5 +1399 645 6 0.000000 17.216585 8.875000 -61.575001 # 5 +1400 645 6 0.000000 20.905853 9.585000 -61.575001 # 5 +1401 645 6 0.000000 19.676096 8.875000 -61.575001 # 5 +1402 645 6 0.000000 23.365364 9.585000 -61.575001 # 5 +1403 645 6 0.000000 22.135609 8.875000 -61.575001 # 5 +1404 645 6 0.000000 25.824877 9.585000 -61.575001 # 5 +1405 645 6 0.000000 24.595121 8.875000 -61.575001 # 5 +1406 645 6 0.000000 28.284389 9.585000 -61.575001 # 5 +1407 645 6 0.000000 27.054632 8.875000 -61.575001 # 5 +1408 645 6 0.000000 30.743900 9.585000 -61.575001 # 5 +1409 645 6 0.000000 29.514145 8.875000 -61.575001 # 5 +1410 645 6 0.000000 31.973658 8.875000 -61.575001 # 5 +1411 645 6 0.000000 2.459512 11.715001 -61.575001 # 5 +1412 645 6 0.000000 1.229756 11.005000 -61.575001 # 5 +1413 645 6 0.000000 4.919024 11.715001 -61.575001 # 5 +1414 645 6 0.000000 3.689268 11.005000 -61.575001 # 5 +1415 645 6 0.000000 7.378536 11.715001 -61.575001 # 5 +1416 645 6 0.000000 6.148780 11.005000 -61.575001 # 5 +1417 645 6 0.000000 9.838048 11.715001 -61.575001 # 5 +1418 645 6 0.000000 8.608293 11.005000 -61.575001 # 5 +1419 645 6 0.000000 12.297561 11.715001 -61.575001 # 5 +1420 645 6 0.000000 11.067804 11.005000 -61.575001 # 5 +1421 645 6 0.000000 14.757072 11.715001 -61.575001 # 5 +1422 645 6 0.000000 13.527316 11.005000 -61.575001 # 5 +1423 645 6 0.000000 17.216585 11.715001 -61.575001 # 5 +1424 645 6 0.000000 15.986829 11.005000 -61.575001 # 5 +1425 645 6 0.000000 19.676096 11.715001 -61.575001 # 5 +1426 645 6 0.000000 18.446341 11.005000 -61.575001 # 5 +1427 645 6 0.000000 22.135609 11.715001 -61.575001 # 5 +1428 645 6 0.000000 20.905853 11.005000 -61.575001 # 5 +1429 645 6 0.000000 24.595121 11.715001 -61.575001 # 5 +1430 645 6 0.000000 23.365364 11.005000 -61.575001 # 5 +1431 645 6 0.000000 27.054632 11.715001 -61.575001 # 5 +1432 645 6 0.000000 25.824877 11.005000 -61.575001 # 5 +1433 645 6 0.000000 29.514145 11.715001 -61.575001 # 5 +1434 645 6 0.000000 28.284389 11.005000 -61.575001 # 5 +1435 645 6 0.000000 31.973658 11.715001 -61.575001 # 5 +1436 645 6 0.000000 30.743900 11.005000 -61.575001 # 5 +1437 645 6 0.000000 1.229756 13.845000 -61.575001 # 5 +1438 645 6 0.000000 3.689268 13.845000 -61.575001 # 5 +1439 645 6 0.000000 2.459512 13.135000 -61.575001 # 5 +1440 645 6 0.000000 6.148780 13.845000 -61.575001 # 5 +1441 645 6 0.000000 4.919024 13.135000 -61.575001 # 5 +1442 645 6 0.000000 8.608293 13.845000 -61.575001 # 5 +1443 645 6 0.000000 7.378536 13.135000 -61.575001 # 5 +1444 645 6 0.000000 11.067804 13.845000 -61.575001 # 5 +1445 645 6 0.000000 9.838048 13.135000 -61.575001 # 5 +1446 645 6 0.000000 13.527316 13.845000 -61.575001 # 5 +1447 645 6 0.000000 12.297561 13.135000 -61.575001 # 5 +1448 645 6 0.000000 15.986829 13.845000 -61.575001 # 5 +1449 645 6 0.000000 14.757072 13.135000 -61.575001 # 5 +1450 645 6 0.000000 18.446341 13.845000 -61.575001 # 5 +1451 645 6 0.000000 17.216585 13.135000 -61.575001 # 5 +1452 645 6 0.000000 20.905853 13.845000 -61.575001 # 5 +1453 645 6 0.000000 19.676096 13.135000 -61.575001 # 5 +1454 645 6 0.000000 23.365364 13.845000 -61.575001 # 5 +1455 645 6 0.000000 22.135609 13.135000 -61.575001 # 5 +1456 645 6 0.000000 25.824877 13.845000 -61.575001 # 5 +1457 645 6 0.000000 24.595121 13.135000 -61.575001 # 5 +1458 645 6 0.000000 28.284389 13.845000 -61.575001 # 5 +1459 645 6 0.000000 27.054632 13.135000 -61.575001 # 5 +1460 645 6 0.000000 30.743900 13.845000 -61.575001 # 5 +1461 645 6 0.000000 29.514145 13.135000 -61.575001 # 5 +1462 645 6 0.000000 31.973658 13.135000 -61.575001 # 5 +1463 645 6 0.000000 2.459512 15.975000 -61.575001 # 5 +1464 645 6 0.000000 1.229756 15.265000 -61.575001 # 5 +1465 645 6 0.000000 4.919024 15.975000 -61.575001 # 5 +1466 645 6 0.000000 3.689268 15.265000 -61.575001 # 5 +1467 645 6 0.000000 7.378536 15.975000 -61.575001 # 5 +1468 645 6 0.000000 6.148780 15.265000 -61.575001 # 5 +1469 645 6 0.000000 9.838048 15.975000 -61.575001 # 5 +1470 645 6 0.000000 8.608293 15.265000 -61.575001 # 5 +1471 645 6 0.000000 12.297561 15.975000 -61.575001 # 5 +1472 645 6 0.000000 11.067804 15.265000 -61.575001 # 5 +1473 645 6 0.000000 14.757072 15.975000 -61.575001 # 5 +1474 645 6 0.000000 13.527316 15.265000 -61.575001 # 5 +1475 645 6 0.000000 17.216585 15.975000 -61.575001 # 5 +1476 645 6 0.000000 15.986829 15.265000 -61.575001 # 5 +1477 645 6 0.000000 19.676096 15.975000 -61.575001 # 5 +1478 645 6 0.000000 18.446341 15.265000 -61.575001 # 5 +1479 645 6 0.000000 22.135609 15.975000 -61.575001 # 5 +1480 645 6 0.000000 20.905853 15.265000 -61.575001 # 5 +1481 645 6 0.000000 24.595121 15.975000 -61.575001 # 5 +1482 645 6 0.000000 23.365364 15.265000 -61.575001 # 5 +1483 645 6 0.000000 27.054632 15.975000 -61.575001 # 5 +1484 645 6 0.000000 25.824877 15.265000 -61.575001 # 5 +1485 645 6 0.000000 29.514145 15.975000 -61.575001 # 5 +1486 645 6 0.000000 28.284389 15.265000 -61.575001 # 5 +1487 645 6 0.000000 31.973658 15.975000 -61.575001 # 5 +1488 645 6 0.000000 30.743900 15.265000 -61.575001 # 5 +1489 645 6 0.000000 1.229756 18.105000 -61.575001 # 5 +1490 645 6 0.000000 3.689268 18.105000 -61.575001 # 5 +1491 645 6 0.000000 2.459512 17.395000 -61.575001 # 5 +1492 645 6 0.000000 6.148780 18.105000 -61.575001 # 5 +1493 645 6 0.000000 4.919024 17.395000 -61.575001 # 5 +1494 645 6 0.000000 8.608293 18.105000 -61.575001 # 5 +1495 645 6 0.000000 7.378536 17.395000 -61.575001 # 5 +1496 645 6 0.000000 11.067804 18.105000 -61.575001 # 5 +1497 645 6 0.000000 9.838048 17.395000 -61.575001 # 5 +1498 645 6 0.000000 13.527316 18.105000 -61.575001 # 5 +1499 645 6 0.000000 12.297561 17.395000 -61.575001 # 5 +1500 645 6 0.000000 15.986829 18.105000 -61.575001 # 5 +1501 645 6 0.000000 14.757072 17.395000 -61.575001 # 5 +1502 645 6 0.000000 18.446341 18.105000 -61.575001 # 5 +1503 645 6 0.000000 17.216585 17.395000 -61.575001 # 5 +1504 645 6 0.000000 20.905853 18.105000 -61.575001 # 5 +1505 645 6 0.000000 19.676096 17.395000 -61.575001 # 5 +1506 645 6 0.000000 23.365364 18.105000 -61.575001 # 5 +1507 645 6 0.000000 22.135609 17.395000 -61.575001 # 5 +1508 645 6 0.000000 25.824877 18.105000 -61.575001 # 5 +1509 645 6 0.000000 24.595121 17.395000 -61.575001 # 5 +1510 645 6 0.000000 28.284389 18.105000 -61.575001 # 5 +1511 645 6 0.000000 27.054632 17.395000 -61.575001 # 5 +1512 645 6 0.000000 30.743900 18.105000 -61.575001 # 5 +1513 645 6 0.000000 29.514145 17.395000 -61.575001 # 5 +1514 645 6 0.000000 31.973658 17.395000 -61.575001 # 5 +1515 645 6 0.000000 2.459512 20.235001 -61.575001 # 5 +1516 645 6 0.000000 1.229756 19.525000 -61.575001 # 5 +1517 645 6 0.000000 4.919024 20.235001 -61.575001 # 5 +1518 645 6 0.000000 3.689268 19.525000 -61.575001 # 5 +1519 645 6 0.000000 7.378536 20.235001 -61.575001 # 5 +1520 645 6 0.000000 6.148780 19.525000 -61.575001 # 5 +1521 645 6 0.000000 9.838048 20.235001 -61.575001 # 5 +1522 645 6 0.000000 8.608293 19.525000 -61.575001 # 5 +1523 645 6 0.000000 12.297561 20.235001 -61.575001 # 5 +1524 645 6 0.000000 11.067804 19.525000 -61.575001 # 5 +1525 645 6 0.000000 14.757072 20.235001 -61.575001 # 5 +1526 645 6 0.000000 13.527316 19.525000 -61.575001 # 5 +1527 645 6 0.000000 17.216585 20.235001 -61.575001 # 5 +1528 645 6 0.000000 15.986829 19.525000 -61.575001 # 5 +1529 645 6 0.000000 19.676096 20.235001 -61.575001 # 5 +1530 645 6 0.000000 18.446341 19.525000 -61.575001 # 5 +1531 645 6 0.000000 22.135609 20.235001 -61.575001 # 5 +1532 645 6 0.000000 20.905853 19.525000 -61.575001 # 5 +1533 645 6 0.000000 24.595121 20.235001 -61.575001 # 5 +1534 645 6 0.000000 23.365364 19.525000 -61.575001 # 5 +1535 645 6 0.000000 27.054632 20.235001 -61.575001 # 5 +1536 645 6 0.000000 25.824877 19.525000 -61.575001 # 5 +1537 645 6 0.000000 29.514145 20.235001 -61.575001 # 5 +1538 645 6 0.000000 28.284389 19.525000 -61.575001 # 5 +1539 645 6 0.000000 31.973658 20.235001 -61.575001 # 5 +1540 645 6 0.000000 30.743900 19.525000 -61.575001 # 5 +1541 645 6 0.000000 1.229756 22.365000 -61.575001 # 5 +1542 645 6 0.000000 3.689268 22.365000 -61.575001 # 5 +1543 645 6 0.000000 2.459512 21.655001 -61.575001 # 5 +1544 645 6 0.000000 6.148780 22.365000 -61.575001 # 5 +1545 645 6 0.000000 4.919024 21.655001 -61.575001 # 5 +1546 645 6 0.000000 8.608293 22.365000 -61.575001 # 5 +1547 645 6 0.000000 7.378536 21.655001 -61.575001 # 5 +1548 645 6 0.000000 11.067804 22.365000 -61.575001 # 5 +1549 645 6 0.000000 9.838048 21.655001 -61.575001 # 5 +1550 645 6 0.000000 13.527316 22.365000 -61.575001 # 5 +1551 645 6 0.000000 12.297561 21.655001 -61.575001 # 5 +1552 645 6 0.000000 15.986829 22.365000 -61.575001 # 5 +1553 645 6 0.000000 14.757072 21.655001 -61.575001 # 5 +1554 645 6 0.000000 18.446341 22.365000 -61.575001 # 5 +1555 645 6 0.000000 17.216585 21.655001 -61.575001 # 5 +1556 645 6 0.000000 20.905853 22.365000 -61.575001 # 5 +1557 645 6 0.000000 19.676096 21.655001 -61.575001 # 5 +1558 645 6 0.000000 23.365364 22.365000 -61.575001 # 5 +1559 645 6 0.000000 22.135609 21.655001 -61.575001 # 5 +1560 645 6 0.000000 25.824877 22.365000 -61.575001 # 5 +1561 645 6 0.000000 24.595121 21.655001 -61.575001 # 5 +1562 645 6 0.000000 28.284389 22.365000 -61.575001 # 5 +1563 645 6 0.000000 27.054632 21.655001 -61.575001 # 5 +1564 645 6 0.000000 30.743900 22.365000 -61.575001 # 5 +1565 645 6 0.000000 29.514145 21.655001 -61.575001 # 5 +1566 645 6 0.000000 31.973658 21.655001 -61.575001 # 5 +1567 645 6 0.000000 2.459512 24.495001 -61.575001 # 5 +1568 645 6 0.000000 1.229756 23.785000 -61.575001 # 5 +1569 645 6 0.000000 4.919024 24.495001 -61.575001 # 5 +1570 645 6 0.000000 3.689268 23.785000 -61.575001 # 5 +1571 645 6 0.000000 7.378536 24.495001 -61.575001 # 5 +1572 645 6 0.000000 6.148780 23.785000 -61.575001 # 5 +1573 645 6 0.000000 9.838048 24.495001 -61.575001 # 5 +1574 645 6 0.000000 8.608293 23.785000 -61.575001 # 5 +1575 645 6 0.000000 12.297561 24.495001 -61.575001 # 5 +1576 645 6 0.000000 11.067804 23.785000 -61.575001 # 5 +1577 645 6 0.000000 14.757072 24.495001 -61.575001 # 5 +1578 645 6 0.000000 13.527316 23.785000 -61.575001 # 5 +1579 645 6 0.000000 17.216585 24.495001 -61.575001 # 5 +1580 645 6 0.000000 15.986829 23.785000 -61.575001 # 5 +1581 645 6 0.000000 19.676096 24.495001 -61.575001 # 5 +1582 645 6 0.000000 18.446341 23.785000 -61.575001 # 5 +1583 645 6 0.000000 22.135609 24.495001 -61.575001 # 5 +1584 645 6 0.000000 20.905853 23.785000 -61.575001 # 5 +1585 645 6 0.000000 24.595121 24.495001 -61.575001 # 5 +1586 645 6 0.000000 23.365364 23.785000 -61.575001 # 5 +1587 645 6 0.000000 27.054632 24.495001 -61.575001 # 5 +1588 645 6 0.000000 25.824877 23.785000 -61.575001 # 5 +1589 645 6 0.000000 29.514145 24.495001 -61.575001 # 5 +1590 645 6 0.000000 28.284389 23.785000 -61.575001 # 5 +1591 645 6 0.000000 31.973658 24.495001 -61.575001 # 5 +1592 645 6 0.000000 30.743900 23.785000 -61.575001 # 5 +1593 645 6 0.000000 1.229756 26.625000 -61.575001 # 5 +1594 645 6 0.000000 3.689268 26.625000 -61.575001 # 5 +1595 645 6 0.000000 2.459512 25.915003 -61.575001 # 5 +1596 645 6 0.000000 6.148780 26.625000 -61.575001 # 5 +1597 645 6 0.000000 4.919024 25.915003 -61.575001 # 5 +1598 645 6 0.000000 8.608293 26.625000 -61.575001 # 5 +1599 645 6 0.000000 7.378536 25.915003 -61.575001 # 5 +1600 645 6 0.000000 11.067804 26.625000 -61.575001 # 5 +1601 645 6 0.000000 9.838048 25.915003 -61.575001 # 5 +1602 645 6 0.000000 13.527316 26.625000 -61.575001 # 5 +1603 645 6 0.000000 12.297561 25.915003 -61.575001 # 5 +1604 645 6 0.000000 15.986829 26.625000 -61.575001 # 5 +1605 645 6 0.000000 14.757072 25.915003 -61.575001 # 5 +1606 645 6 0.000000 18.446341 26.625000 -61.575001 # 5 +1607 645 6 0.000000 17.216585 25.915003 -61.575001 # 5 +1608 645 6 0.000000 20.905853 26.625000 -61.575001 # 5 +1609 645 6 0.000000 19.676096 25.915003 -61.575001 # 5 +1610 645 6 0.000000 23.365364 26.625000 -61.575001 # 5 +1611 645 6 0.000000 22.135609 25.915003 -61.575001 # 5 +1612 645 6 0.000000 25.824877 26.625000 -61.575001 # 5 +1613 645 6 0.000000 24.595121 25.915003 -61.575001 # 5 +1614 645 6 0.000000 28.284389 26.625000 -61.575001 # 5 +1615 645 6 0.000000 27.054632 25.915003 -61.575001 # 5 +1616 645 6 0.000000 30.743900 26.625000 -61.575001 # 5 +1617 645 6 0.000000 29.514145 25.915003 -61.575001 # 5 +1618 645 6 0.000000 31.973658 25.915003 -61.575001 # 5 +1619 645 6 0.000000 2.459512 28.754999 -61.575001 # 5 +1620 645 6 0.000000 1.229756 28.045000 -61.575001 # 5 +1621 645 6 0.000000 4.919024 28.754999 -61.575001 # 5 +1622 645 6 0.000000 3.689268 28.045000 -61.575001 # 5 +1623 645 6 0.000000 7.378536 28.754999 -61.575001 # 5 +1624 645 6 0.000000 6.148780 28.045000 -61.575001 # 5 +1625 645 6 0.000000 9.838048 28.754999 -61.575001 # 5 +1626 645 6 0.000000 8.608293 28.045000 -61.575001 # 5 +1627 645 6 0.000000 12.297561 28.754999 -61.575001 # 5 +1628 645 6 0.000000 11.067804 28.045000 -61.575001 # 5 +1629 645 6 0.000000 14.757072 28.754999 -61.575001 # 5 +1630 645 6 0.000000 13.527316 28.045000 -61.575001 # 5 +1631 645 6 0.000000 17.216585 28.754999 -61.575001 # 5 +1632 645 6 0.000000 15.986829 28.045000 -61.575001 # 5 +1633 645 6 0.000000 19.676096 28.754999 -61.575001 # 5 +1634 645 6 0.000000 18.446341 28.045000 -61.575001 # 5 +1635 645 6 0.000000 22.135609 28.754999 -61.575001 # 5 +1636 645 6 0.000000 20.905853 28.045000 -61.575001 # 5 +1637 645 6 0.000000 24.595121 28.754999 -61.575001 # 5 +1638 645 6 0.000000 23.365364 28.045000 -61.575001 # 5 +1639 645 6 0.000000 27.054632 28.754999 -61.575001 # 5 +1640 645 6 0.000000 25.824877 28.045000 -61.575001 # 5 +1641 645 6 0.000000 29.514145 28.754999 -61.575001 # 5 +1642 645 6 0.000000 28.284389 28.045000 -61.575001 # 5 +1643 645 6 0.000000 31.973658 28.754999 -61.575001 # 5 +1644 645 6 0.000000 30.743900 28.045000 -61.575001 # 5 +1645 645 6 0.000000 1.229756 30.885000 -61.575001 # 5 +1646 645 6 0.000000 3.689268 30.885000 -61.575001 # 5 +1647 645 6 0.000000 2.459512 30.174999 -61.575001 # 5 +1648 645 6 0.000000 6.148780 30.885000 -61.575001 # 5 +1649 645 6 0.000000 4.919024 30.174999 -61.575001 # 5 +1650 645 6 0.000000 8.608293 30.885000 -61.575001 # 5 +1651 645 6 0.000000 7.378536 30.174999 -61.575001 # 5 +1652 645 6 0.000000 11.067804 30.885000 -61.575001 # 5 +1653 645 6 0.000000 9.838048 30.174999 -61.575001 # 5 +1654 645 6 0.000000 13.527316 30.885000 -61.575001 # 5 +1655 645 6 0.000000 12.297561 30.174999 -61.575001 # 5 +1656 645 6 0.000000 15.986829 30.885000 -61.575001 # 5 +1657 645 6 0.000000 14.757072 30.174999 -61.575001 # 5 +1658 645 6 0.000000 18.446341 30.885000 -61.575001 # 5 +1659 645 6 0.000000 17.216585 30.174999 -61.575001 # 5 +1660 645 6 0.000000 20.905853 30.885000 -61.575001 # 5 +1661 645 6 0.000000 19.676096 30.174999 -61.575001 # 5 +1662 645 6 0.000000 23.365364 30.885000 -61.575001 # 5 +1663 645 6 0.000000 22.135609 30.174999 -61.575001 # 5 +1664 645 6 0.000000 25.824877 30.885000 -61.575001 # 5 +1665 645 6 0.000000 24.595121 30.174999 -61.575001 # 5 +1666 645 6 0.000000 28.284389 30.885000 -61.575001 # 5 +1667 645 6 0.000000 27.054632 30.174999 -61.575001 # 5 +1668 645 6 0.000000 30.743900 30.885000 -61.575001 # 5 +1669 645 6 0.000000 29.514145 30.174999 -61.575001 # 5 +1670 645 6 0.000000 31.973658 30.174999 -61.575001 # 5 +1671 645 6 0.000000 2.459512 33.014999 -61.575001 # 5 +1672 645 6 0.000000 1.229756 32.305000 -61.575001 # 5 +1673 645 6 0.000000 4.919024 33.014999 -61.575001 # 5 +1674 645 6 0.000000 3.689268 32.305000 -61.575001 # 5 +1675 645 6 0.000000 7.378536 33.014999 -61.575001 # 5 +1676 645 6 0.000000 6.148780 32.305000 -61.575001 # 5 +1677 645 6 0.000000 9.838048 33.014999 -61.575001 # 5 +1678 645 6 0.000000 8.608293 32.305000 -61.575001 # 5 +1679 645 6 0.000000 12.297561 33.014999 -61.575001 # 5 +1680 645 6 0.000000 11.067804 32.305000 -61.575001 # 5 +1681 645 6 0.000000 14.757072 33.014999 -61.575001 # 5 +1682 645 6 0.000000 13.527316 32.305000 -61.575001 # 5 +1683 645 6 0.000000 17.216585 33.014999 -61.575001 # 5 +1684 645 6 0.000000 15.986829 32.305000 -61.575001 # 5 +1685 645 6 0.000000 19.676096 33.014999 -61.575001 # 5 +1686 645 6 0.000000 18.446341 32.305000 -61.575001 # 5 +1687 645 6 0.000000 22.135609 33.014999 -61.575001 # 5 +1688 645 6 0.000000 20.905853 32.305000 -61.575001 # 5 +1689 645 6 0.000000 24.595121 33.014999 -61.575001 # 5 +1690 645 6 0.000000 23.365364 32.305000 -61.575001 # 5 +1691 645 6 0.000000 27.054632 33.014999 -61.575001 # 5 +1692 645 6 0.000000 25.824877 32.305000 -61.575001 # 5 +1693 645 6 0.000000 29.514145 33.014999 -61.575001 # 5 +1694 645 6 0.000000 28.284389 32.305000 -61.575001 # 5 +1695 645 6 0.000000 31.973658 33.014999 -61.575001 # 5 +1696 645 6 0.000000 30.743900 32.305000 -61.575001 # 5 +1697 643 6 0.000000 1.229756 1.065000 -58.224998 # 5 1698 641 5 -0.003588 1.229756 1.065000 -54.875000 # 5 -1699 643 5 0.000000 2.459512 1.775000 -58.224998 # 5 -1700 643 5 0.000000 3.689268 1.065000 -58.224998 # 5 +1699 643 6 0.000000 2.459512 1.775000 -58.224998 # 5 +1700 643 6 0.000000 3.689268 1.065000 -58.224998 # 5 1701 641 5 0.010943 3.689268 1.065000 -54.875000 # 5 1702 641 5 0.003654 2.459512 0.355000 -54.875000 # 5 -1703 643 5 0.000000 4.919024 1.775000 -58.224998 # 5 -1704 643 5 0.000000 6.148780 1.065000 -58.224998 # 5 +1703 643 6 0.000000 4.919024 1.775000 -58.224998 # 5 +1704 643 6 0.000000 6.148780 1.065000 -58.224998 # 5 1705 641 5 0.007813 6.148780 1.065000 -54.875000 # 5 1706 641 5 0.011720 4.919024 0.355000 -54.875000 # 5 -1707 643 5 0.000000 7.378536 1.775000 -58.224998 # 5 -1708 643 5 0.000000 8.608293 1.065000 -58.224998 # 5 +1707 643 6 0.000000 7.378536 1.775000 -58.224998 # 5 +1708 643 6 0.000000 8.608293 1.065000 -58.224998 # 5 1709 641 5 -0.003508 8.608293 1.065000 -54.875000 # 5 1710 641 5 0.001472 7.378536 0.355000 -54.875000 # 5 -1711 643 5 0.000000 9.838048 1.775000 -58.224998 # 5 -1712 643 5 0.000000 11.067804 1.065000 -58.224998 # 5 +1711 643 6 0.000000 9.838048 1.775000 -58.224998 # 5 +1712 643 6 0.000000 11.067804 1.065000 -58.224998 # 5 1713 641 5 -0.000091 11.067804 1.065000 -54.875000 # 5 1714 641 5 -0.002586 9.838048 0.355000 -54.875000 # 5 -1715 643 5 0.000000 12.297561 1.775000 -58.224998 # 5 -1716 643 5 0.000000 13.527316 1.065000 -58.224998 # 5 +1715 643 6 0.000000 12.297561 1.775000 -58.224998 # 5 +1716 643 6 0.000000 13.527316 1.065000 -58.224998 # 5 1717 641 5 0.011584 13.527316 1.065000 -54.875000 # 5 1718 641 5 0.009209 12.297561 0.355000 -54.875000 # 5 -1719 643 5 0.000000 14.757072 1.775000 -58.224998 # 5 -1720 643 5 0.000000 15.986829 1.065000 -58.224998 # 5 +1719 643 6 0.000000 14.757072 1.775000 -58.224998 # 5 +1720 643 6 0.000000 15.986829 1.065000 -58.224998 # 5 1721 641 5 0.004193 15.986829 1.065000 -54.875000 # 5 1722 641 5 0.013449 14.757072 0.355000 -54.875000 # 5 -1723 643 5 0.000000 17.216585 1.775000 -58.224998 # 5 -1724 643 5 0.000000 18.446341 1.065000 -58.224998 # 5 +1723 643 6 0.000000 17.216585 1.775000 -58.224998 # 5 +1724 643 6 0.000000 18.446341 1.065000 -58.224998 # 5 1725 641 5 -0.001422 18.446341 1.065000 -54.875000 # 5 1726 641 5 0.003415 17.216585 0.355000 -54.875000 # 5 -1727 643 5 0.000000 19.676096 1.775000 -58.224998 # 5 -1728 643 5 0.000000 20.905853 1.065000 -58.224998 # 5 +1727 643 6 0.000000 19.676096 1.775000 -58.224998 # 5 +1728 643 6 0.000000 20.905853 1.065000 -58.224998 # 5 1729 641 5 0.004366 20.905853 1.065000 -54.875000 # 5 1730 641 5 0.007882 19.676096 0.355000 -54.875000 # 5 -1731 643 5 0.000000 22.135609 1.775000 -58.224998 # 5 -1732 643 5 0.000000 23.365364 1.065000 -58.224998 # 5 +1731 643 6 0.000000 22.135609 1.775000 -58.224998 # 5 +1732 643 6 0.000000 23.365364 1.065000 -58.224998 # 5 1733 641 5 0.005847 23.365364 1.065000 -54.875000 # 5 1734 641 5 0.009526 22.135609 0.355000 -54.875000 # 5 -1735 643 5 0.000000 24.595121 1.775000 -58.224998 # 5 -1736 643 5 0.000000 25.824877 1.065000 -58.224998 # 5 +1735 643 6 0.000000 24.595121 1.775000 -58.224998 # 5 +1736 643 6 0.000000 25.824877 1.065000 -58.224998 # 5 1737 641 5 0.008915 25.824877 1.065000 -54.875000 # 5 1738 641 5 0.007506 24.595121 0.355000 -54.875000 # 5 -1739 643 5 0.000000 27.054632 1.775000 -58.224998 # 5 -1740 643 5 0.000000 28.284389 1.065000 -58.224998 # 5 +1739 643 6 0.000000 27.054632 1.775000 -58.224998 # 5 +1740 643 6 0.000000 28.284389 1.065000 -58.224998 # 5 1741 641 5 0.003894 28.284389 1.065000 -54.875000 # 5 1742 641 5 0.006134 27.054632 0.355000 -54.875000 # 5 -1743 643 5 0.000000 29.514145 1.775000 -58.224998 # 5 -1744 643 5 0.000000 30.743900 1.065000 -58.224998 # 5 +1743 643 6 0.000000 29.514145 1.775000 -58.224998 # 5 +1744 643 6 0.000000 30.743900 1.065000 -58.224998 # 5 1745 641 5 -0.008012 30.743900 1.065000 -54.875000 # 5 1746 641 5 -0.003567 29.514145 0.355000 -54.875000 # 5 -1747 643 5 0.000000 31.973658 1.775000 -58.224998 # 5 +1747 643 6 0.000000 31.973658 1.775000 -58.224998 # 5 1748 641 5 -0.009828 31.973658 0.355000 -54.875000 # 5 -1749 643 5 0.000000 1.229756 3.905000 -58.224998 # 5 -1750 643 5 0.000000 2.459512 3.195000 -58.224998 # 5 +1749 643 6 0.000000 1.229756 3.905000 -58.224998 # 5 +1750 643 6 0.000000 2.459512 3.195000 -58.224998 # 5 1751 641 5 0.005462 2.459512 3.195000 -54.875000 # 5 1752 641 5 -0.000737 1.229756 2.485000 -54.875000 # 5 -1753 643 5 0.000000 3.689268 3.905000 -58.224998 # 5 -1754 643 5 0.000000 4.919024 3.195000 -58.224998 # 5 +1753 643 6 0.000000 3.689268 3.905000 -58.224998 # 5 +1754 643 6 0.000000 4.919024 3.195000 -58.224998 # 5 1755 641 5 0.007224 4.919024 3.195000 -54.875000 # 5 1756 641 5 0.009510 3.689268 2.485000 -54.875000 # 5 -1757 643 5 0.000000 6.148780 3.905000 -58.224998 # 5 -1758 643 5 0.000000 7.378536 3.195000 -58.224998 # 5 +1757 643 6 0.000000 6.148780 3.905000 -58.224998 # 5 +1758 643 6 0.000000 7.378536 3.195000 -58.224998 # 5 1759 641 5 -0.002420 7.378536 3.195000 -54.875000 # 5 1760 641 5 0.005396 6.148780 2.485000 -54.875000 # 5 -1761 643 5 0.000000 8.608293 3.905000 -58.224998 # 5 -1762 643 5 0.000000 9.838048 3.195000 -58.224998 # 5 +1761 643 6 0.000000 8.608293 3.905000 -58.224998 # 5 +1762 643 6 0.000000 9.838048 3.195000 -58.224998 # 5 1763 641 5 -0.008531 9.838048 3.195000 -54.875000 # 5 1764 641 5 -0.005950 8.608293 2.485000 -54.875000 # 5 -1765 643 5 0.000000 11.067804 3.905000 -58.224998 # 5 -1766 643 5 0.000000 12.297561 3.195000 -58.224998 # 5 +1765 643 6 0.000000 11.067804 3.905000 -58.224998 # 5 +1766 643 6 0.000000 12.297561 3.195000 -58.224998 # 5 1767 641 5 -0.001160 12.297561 3.195000 -54.875000 # 5 1768 641 5 -0.004007 11.067804 2.485000 -54.875000 # 5 -1769 643 5 0.000000 13.527316 3.905000 -58.224998 # 5 -1770 643 5 0.000000 14.757072 3.195000 -58.224998 # 5 +1769 643 6 0.000000 13.527316 3.905000 -58.224998 # 5 +1770 643 6 0.000000 14.757072 3.195000 -58.224998 # 5 1771 641 5 0.001250 14.757072 3.195000 -54.875000 # 5 1772 641 5 0.005086 13.527316 2.485000 -54.875000 # 5 -1773 643 5 0.000000 15.986829 3.905000 -58.224998 # 5 -1774 643 5 0.000000 17.216585 3.195000 -58.224998 # 5 +1773 643 6 0.000000 15.986829 3.905000 -58.224998 # 5 +1774 643 6 0.000000 17.216585 3.195000 -58.224998 # 5 1775 641 5 -0.008754 17.216585 3.195000 -54.875000 # 5 1776 641 5 -0.001144 15.986829 2.485000 -54.875000 # 5 -1777 643 5 0.000000 18.446341 3.905000 -58.224998 # 5 -1778 643 5 0.000000 19.676096 3.195000 -58.224998 # 5 +1777 643 6 0.000000 18.446341 3.905000 -58.224998 # 5 +1778 643 6 0.000000 19.676096 3.195000 -58.224998 # 5 1779 641 5 -0.006182 19.676096 3.195000 -54.875000 # 5 1780 641 5 -0.008547 18.446341 2.485000 -54.875000 # 5 -1781 643 5 0.000000 20.905853 3.905000 -58.224998 # 5 -1782 643 5 0.000000 22.135609 3.195000 -58.224998 # 5 +1781 643 6 0.000000 20.905853 3.905000 -58.224998 # 5 +1782 643 6 0.000000 22.135609 3.195000 -58.224998 # 5 1783 641 5 -0.000136 22.135609 3.195000 -54.875000 # 5 1784 641 5 -0.001686 20.905853 2.485000 -54.875000 # 5 -1785 643 5 0.000000 23.365364 3.905000 -58.224998 # 5 -1786 643 5 0.000000 24.595121 3.195000 -58.224998 # 5 +1785 643 6 0.000000 23.365364 3.905000 -58.224998 # 5 +1786 643 6 0.000000 24.595121 3.195000 -58.224998 # 5 1787 641 5 0.007455 24.595121 3.195000 -54.875000 # 5 1788 641 5 0.003996 23.365364 2.485000 -54.875000 # 5 -1789 643 5 0.000000 25.824877 3.905000 -58.224998 # 5 -1790 643 5 0.000000 27.054632 3.195000 -58.224998 # 5 +1789 643 6 0.000000 25.824877 3.905000 -58.224998 # 5 +1790 643 6 0.000000 27.054632 3.195000 -58.224998 # 5 1791 641 5 0.011764 27.054632 3.195000 -54.875000 # 5 1792 641 5 0.011886 25.824877 2.485000 -54.875000 # 5 -1793 643 5 0.000000 28.284389 3.905000 -58.224998 # 5 -1794 643 5 0.000000 29.514145 3.195000 -58.224998 # 5 +1793 643 6 0.000000 28.284389 3.905000 -58.224998 # 5 +1794 643 6 0.000000 29.514145 3.195000 -58.224998 # 5 1795 641 5 0.000651 29.514145 3.195000 -54.875000 # 5 1796 641 5 0.006646 28.284389 2.485000 -54.875000 # 5 -1797 643 5 0.000000 30.743900 3.905000 -58.224998 # 5 -1798 643 5 0.000000 31.973658 3.195000 -58.224998 # 5 +1797 643 6 0.000000 30.743900 3.905000 -58.224998 # 5 +1798 643 6 0.000000 31.973658 3.195000 -58.224998 # 5 1799 641 5 -0.004203 31.973658 3.195000 -54.875000 # 5 1800 641 5 -0.006245 30.743900 2.485000 -54.875000 # 5 -1801 643 5 0.000000 1.229756 5.325000 -58.224998 # 5 +1801 643 6 0.000000 1.229756 5.325000 -58.224998 # 5 1802 641 5 0.008550 1.229756 5.325000 -54.875000 # 5 -1803 643 5 0.000000 2.459512 6.035000 -58.224998 # 5 -1804 643 5 0.000000 3.689268 5.325000 -58.224998 # 5 +1803 643 6 0.000000 2.459512 6.035000 -58.224998 # 5 +1804 643 6 0.000000 3.689268 5.325000 -58.224998 # 5 1805 641 5 0.004636 3.689268 5.325000 -54.875000 # 5 1806 641 5 0.006617 2.459512 4.615000 -54.875000 # 5 -1807 643 5 0.000000 4.919024 6.035000 -58.224998 # 5 -1808 643 5 0.000000 6.148780 5.325000 -58.224998 # 5 +1807 643 6 0.000000 4.919024 6.035000 -58.224998 # 5 +1808 643 6 0.000000 6.148780 5.325000 -58.224998 # 5 1809 641 5 -0.001615 6.148780 5.325000 -54.875000 # 5 1810 641 5 0.002141 4.919024 4.615000 -54.875000 # 5 -1811 643 5 0.000000 7.378536 6.035000 -58.224998 # 5 -1812 643 5 0.000000 8.608293 5.325000 -58.224998 # 5 +1811 643 6 0.000000 7.378536 6.035000 -58.224998 # 5 +1812 643 6 0.000000 8.608293 5.325000 -58.224998 # 5 1813 641 5 -0.005838 8.608293 5.325000 -54.875000 # 5 1814 641 5 -0.003742 7.378536 4.615000 -54.875000 # 5 -1815 643 5 0.000000 9.838048 6.035000 -58.224998 # 5 -1816 643 5 0.000000 11.067804 5.325000 -58.224998 # 5 +1815 643 6 0.000000 9.838048 6.035000 -58.224998 # 5 +1816 643 6 0.000000 11.067804 5.325000 -58.224998 # 5 1817 641 5 -0.007155 11.067804 5.325000 -54.875000 # 5 1818 641 5 -0.007801 9.838048 4.615000 -54.875000 # 5 -1819 643 5 0.000000 12.297561 6.035000 -58.224998 # 5 -1820 643 5 0.000000 13.527316 5.325000 -58.224998 # 5 +1819 643 6 0.000000 12.297561 6.035000 -58.224998 # 5 +1820 643 6 0.000000 13.527316 5.325000 -58.224998 # 5 1821 641 5 -0.002605 13.527316 5.325000 -54.875000 # 5 1822 641 5 -0.004730 12.297561 4.615000 -54.875000 # 5 -1823 643 5 0.000000 14.757072 6.035000 -58.224998 # 5 -1824 643 5 0.000000 15.986829 5.325000 -58.224998 # 5 +1823 643 6 0.000000 14.757072 6.035000 -58.224998 # 5 +1824 643 6 0.000000 15.986829 5.325000 -58.224998 # 5 1825 641 5 -0.000732 15.986829 5.325000 -54.875000 # 5 1826 641 5 -0.001883 14.757072 4.615000 -54.875000 # 5 -1827 643 5 0.000000 17.216585 6.035000 -58.224998 # 5 -1828 643 5 0.000000 18.446341 5.325000 -58.224998 # 5 +1827 643 6 0.000000 17.216585 6.035000 -58.224998 # 5 +1828 643 6 0.000000 18.446341 5.325000 -58.224998 # 5 1829 641 5 0.000743 18.446341 5.325000 -54.875000 # 5 1830 641 5 -0.004118 17.216585 4.615000 -54.875000 # 5 -1831 643 5 0.000000 19.676096 6.035000 -58.224998 # 5 -1832 643 5 0.000000 20.905853 5.325000 -58.224998 # 5 +1831 643 6 0.000000 19.676096 6.035000 -58.224998 # 5 +1832 643 6 0.000000 20.905853 5.325000 -58.224998 # 5 1833 641 5 0.001093 20.905853 5.325000 -54.875000 # 5 1834 641 5 -0.002237 19.676096 4.615000 -54.875000 # 5 -1835 643 5 0.000000 22.135609 6.035000 -58.224998 # 5 -1836 643 5 0.000000 23.365364 5.325000 -58.224998 # 5 +1835 643 6 0.000000 22.135609 6.035000 -58.224998 # 5 +1836 643 6 0.000000 23.365364 5.325000 -58.224998 # 5 1837 641 5 0.000579 23.365364 5.325000 -54.875000 # 5 1838 641 5 -0.000424 22.135609 4.615000 -54.875000 # 5 -1839 643 5 0.000000 24.595121 6.035000 -58.224998 # 5 -1840 643 5 0.000000 25.824877 5.325000 -58.224998 # 5 +1839 643 6 0.000000 24.595121 6.035000 -58.224998 # 5 +1840 643 6 0.000000 25.824877 5.325000 -58.224998 # 5 1841 641 5 0.002589 25.824877 5.325000 -54.875000 # 5 1842 641 5 0.004117 24.595121 4.615000 -54.875000 # 5 -1843 643 5 0.000000 27.054632 6.035000 -58.224998 # 5 -1844 643 5 0.000000 28.284389 5.325000 -58.224998 # 5 +1843 643 6 0.000000 27.054632 6.035000 -58.224998 # 5 +1844 643 6 0.000000 28.284389 5.325000 -58.224998 # 5 1845 641 5 -0.000439 28.284389 5.325000 -54.875000 # 5 1846 641 5 0.005714 27.054632 4.615000 -54.875000 # 5 -1847 643 5 0.000000 29.514145 6.035000 -58.224998 # 5 -1848 643 5 0.000000 30.743900 5.325000 -58.224998 # 5 +1847 643 6 0.000000 29.514145 6.035000 -58.224998 # 5 +1848 643 6 0.000000 30.743900 5.325000 -58.224998 # 5 1849 641 5 0.000936 30.743900 5.325000 -54.875000 # 5 1850 641 5 0.000273 29.514145 4.615000 -54.875000 # 5 -1851 643 5 0.000000 31.973658 6.035000 -58.224998 # 5 +1851 643 6 0.000000 31.973658 6.035000 -58.224998 # 5 1852 641 5 0.003837 31.973658 4.615000 -54.875000 # 5 -1853 643 5 0.000000 1.229756 8.165000 -58.224998 # 5 -1854 643 5 0.000000 2.459512 7.455000 -58.224998 # 5 +1853 643 6 0.000000 1.229756 8.165000 -58.224998 # 5 +1854 643 6 0.000000 2.459512 7.455000 -58.224998 # 5 1855 641 5 0.005056 2.459512 7.455000 -54.875000 # 5 1856 641 5 0.009685 1.229756 6.745000 -54.875000 # 5 -1857 643 5 0.000000 3.689268 8.165000 -58.224998 # 5 -1858 643 5 0.000000 4.919024 7.455000 -58.224998 # 5 +1857 643 6 0.000000 3.689268 8.165000 -58.224998 # 5 +1858 643 6 0.000000 4.919024 7.455000 -58.224998 # 5 1859 641 5 -0.001063 4.919024 7.455000 -54.875000 # 5 1860 641 5 0.002508 3.689268 6.745000 -54.875000 # 5 -1861 643 5 0.000000 6.148780 8.165000 -58.224998 # 5 -1862 643 5 0.000000 7.378536 7.455000 -58.224998 # 5 +1861 643 6 0.000000 6.148780 8.165000 -58.224998 # 5 +1862 643 6 0.000000 7.378536 7.455000 -58.224998 # 5 1863 641 5 -0.000730 7.378536 7.455000 -54.875000 # 5 1864 641 5 -0.001948 6.148780 6.745000 -54.875000 # 5 -1865 643 5 0.000000 8.608293 8.165000 -58.224998 # 5 -1866 643 5 0.000000 9.838048 7.455000 -58.224998 # 5 +1865 643 6 0.000000 8.608293 8.165000 -58.224998 # 5 +1866 643 6 0.000000 9.838048 7.455000 -58.224998 # 5 1867 641 5 -0.002210 9.838048 7.455000 -54.875000 # 5 1868 641 5 -0.002657 8.608293 6.745000 -54.875000 # 5 -1869 643 5 0.000000 11.067804 8.165000 -58.224998 # 5 -1870 643 5 0.000000 12.297561 7.455000 -58.224998 # 5 +1869 643 6 0.000000 11.067804 8.165000 -58.224998 # 5 +1870 643 6 0.000000 12.297561 7.455000 -58.224998 # 5 1871 641 5 -0.003415 12.297561 7.455000 -54.875000 # 5 1872 641 5 -0.005292 11.067804 6.745000 -54.875000 # 5 -1873 643 5 0.000000 13.527316 8.165000 -58.224998 # 5 -1874 643 5 0.000000 14.757072 7.455000 -58.224998 # 5 +1873 643 6 0.000000 13.527316 8.165000 -58.224998 # 5 +1874 643 6 0.000000 14.757072 7.455000 -58.224998 # 5 1875 641 5 0.000678 14.757072 7.455000 -54.875000 # 5 1876 641 5 -0.002777 13.527316 6.745000 -54.875000 # 5 -1877 643 5 0.000000 15.986829 8.165000 -58.224998 # 5 -1878 643 5 0.000000 17.216585 7.455000 -58.224998 # 5 +1877 643 6 0.000000 15.986829 8.165000 -58.224998 # 5 +1878 643 6 0.000000 17.216585 7.455000 -58.224998 # 5 1879 641 5 0.009440 17.216585 7.455000 -54.875000 # 5 1880 641 5 0.002971 15.986829 6.745000 -54.875000 # 5 -1881 643 5 0.000000 18.446341 8.165000 -58.224998 # 5 -1882 643 5 0.000000 19.676096 7.455000 -58.224998 # 5 +1881 643 6 0.000000 18.446341 8.165000 -58.224998 # 5 +1882 643 6 0.000000 19.676096 7.455000 -58.224998 # 5 1883 641 5 0.010732 19.676096 7.455000 -54.875000 # 5 1884 641 5 0.010304 18.446341 6.745000 -54.875000 # 5 -1885 643 5 0.000000 20.905853 8.165000 -58.224998 # 5 -1886 643 5 0.000000 22.135609 7.455000 -58.224998 # 5 +1885 643 6 0.000000 20.905853 8.165000 -58.224998 # 5 +1886 643 6 0.000000 22.135609 7.455000 -58.224998 # 5 1887 641 5 0.001280 22.135609 7.455000 -54.875000 # 5 1888 641 5 0.004551 20.905853 6.745000 -54.875000 # 5 -1889 643 5 0.000000 23.365364 8.165000 -58.224998 # 5 -1890 643 5 0.000000 24.595121 7.455000 -58.224998 # 5 +1889 643 6 0.000000 23.365364 8.165000 -58.224998 # 5 +1890 643 6 0.000000 24.595121 7.455000 -58.224998 # 5 1891 641 5 -0.002971 24.595121 7.455000 -54.875000 # 5 1892 641 5 -0.000717 23.365364 6.745000 -54.875000 # 5 -1893 643 5 0.000000 25.824877 8.165000 -58.224998 # 5 -1894 643 5 0.000000 27.054632 7.455000 -58.224998 # 5 +1893 643 6 0.000000 25.824877 8.165000 -58.224998 # 5 +1894 643 6 0.000000 27.054632 7.455000 -58.224998 # 5 1895 641 5 -0.009147 27.054632 7.455000 -54.875000 # 5 1896 641 5 -0.003601 25.824877 6.745000 -54.875000 # 5 -1897 643 5 0.000000 28.284389 8.165000 -58.224998 # 5 -1898 643 5 0.000000 29.514145 7.455000 -58.224998 # 5 +1897 643 6 0.000000 28.284389 8.165000 -58.224998 # 5 +1898 643 6 0.000000 29.514145 7.455000 -58.224998 # 5 1899 641 5 -0.008823 29.514145 7.455000 -54.875000 # 5 1900 641 5 -0.008714 28.284389 6.745000 -54.875000 # 5 -1901 643 5 0.000000 30.743900 8.165000 -58.224998 # 5 -1902 643 5 0.000000 31.973658 7.455000 -58.224998 # 5 +1901 643 6 0.000000 30.743900 8.165000 -58.224998 # 5 +1902 643 6 0.000000 31.973658 7.455000 -58.224998 # 5 1903 641 5 0.004843 31.973658 7.455000 -54.875000 # 5 1904 641 5 -0.000116 30.743900 6.745000 -54.875000 # 5 -1905 643 5 0.000000 1.229756 9.585000 -58.224998 # 5 +1905 643 6 0.000000 1.229756 9.585000 -58.224998 # 5 1906 641 5 -0.001203 1.229756 9.585000 -54.875000 # 5 -1907 643 5 0.000000 2.459512 10.295000 -58.224998 # 5 -1908 643 5 0.000000 3.689268 9.585000 -58.224998 # 5 +1907 643 6 0.000000 2.459512 10.295000 -58.224998 # 5 +1908 643 6 0.000000 3.689268 9.585000 -58.224998 # 5 1909 641 5 -0.004563 3.689268 9.585000 -54.875000 # 5 1910 641 5 -0.000358 2.459512 8.875000 -54.875000 # 5 -1911 643 5 0.000000 4.919024 10.295000 -58.224998 # 5 -1912 643 5 0.000000 6.148780 9.585000 -58.224998 # 5 +1911 643 6 0.000000 4.919024 10.295000 -58.224998 # 5 +1912 643 6 0.000000 6.148780 9.585000 -58.224998 # 5 1913 641 5 0.000004 6.148780 9.585000 -54.875000 # 5 1914 641 5 -0.002674 4.919024 8.875000 -54.875000 # 5 -1915 643 5 0.000000 7.378536 10.295000 -58.224998 # 5 -1916 643 5 0.000000 8.608293 9.585000 -58.224998 # 5 +1915 643 6 0.000000 7.378536 10.295000 -58.224998 # 5 +1916 643 6 0.000000 8.608293 9.585000 -58.224998 # 5 1917 641 5 0.004455 8.608293 9.585000 -54.875000 # 5 1918 641 5 0.002541 7.378536 8.875000 -54.875000 # 5 -1919 643 5 0.000000 9.838048 10.295000 -58.224998 # 5 -1920 643 5 0.000000 11.067804 9.585000 -58.224998 # 5 +1919 643 6 0.000000 9.838048 10.295000 -58.224998 # 5 +1920 643 6 0.000000 11.067804 9.585000 -58.224998 # 5 1921 641 5 0.000248 11.067804 9.585000 -54.875000 # 5 1922 641 5 0.001632 9.838048 8.875000 -54.875000 # 5 -1923 643 5 0.000000 12.297561 10.295000 -58.224998 # 5 -1924 643 5 0.000000 13.527316 9.585000 -58.224998 # 5 +1923 643 6 0.000000 12.297561 10.295000 -58.224998 # 5 +1924 643 6 0.000000 13.527316 9.585000 -58.224998 # 5 1925 641 5 -0.001488 13.527316 9.585000 -54.875000 # 5 1926 641 5 -0.001732 12.297561 8.875000 -54.875000 # 5 -1927 643 5 0.000000 14.757072 10.295000 -58.224998 # 5 -1928 643 5 0.000000 15.986829 9.585000 -58.224998 # 5 +1927 643 6 0.000000 14.757072 10.295000 -58.224998 # 5 +1928 643 6 0.000000 15.986829 9.585000 -58.224998 # 5 1929 641 5 0.002363 15.986829 9.585000 -54.875000 # 5 1930 641 5 0.000638 14.757072 8.875000 -54.875000 # 5 -1931 643 5 0.000000 17.216585 10.295000 -58.224998 # 5 -1932 643 5 0.000000 18.446341 9.585000 -58.224998 # 5 +1931 643 6 0.000000 17.216585 10.295000 -58.224998 # 5 +1932 643 6 0.000000 18.446341 9.585000 -58.224998 # 5 1933 641 5 0.006632 18.446341 9.585000 -54.875000 # 5 1934 641 5 0.008486 17.216585 8.875000 -54.875000 # 5 -1935 643 5 0.000000 19.676096 10.295000 -58.224998 # 5 -1936 643 5 0.000000 20.905853 9.585000 -58.224998 # 5 +1935 643 6 0.000000 19.676096 10.295000 -58.224998 # 5 +1936 643 6 0.000000 20.905853 9.585000 -58.224998 # 5 1937 641 5 -0.001081 20.905853 9.585000 -54.875000 # 5 1938 641 5 0.007670 19.676096 8.875000 -54.875000 # 5 -1939 643 5 0.000000 22.135609 10.295000 -58.224998 # 5 -1940 643 5 0.000000 23.365364 9.585000 -58.224998 # 5 +1939 643 6 0.000000 22.135609 10.295000 -58.224998 # 5 +1940 643 6 0.000000 23.365364 9.585000 -58.224998 # 5 1941 641 5 -0.000533 23.365364 9.585000 -54.875000 # 5 1942 641 5 -0.000633 22.135609 8.875000 -54.875000 # 5 -1943 643 5 0.000000 24.595121 10.295000 -58.224998 # 5 -1944 643 5 0.000000 25.824877 9.585000 -58.224998 # 5 +1943 643 6 0.000000 24.595121 10.295000 -58.224998 # 5 +1944 643 6 0.000000 25.824877 9.585000 -58.224998 # 5 1945 641 5 -0.001969 25.824877 9.585000 -54.875000 # 5 1946 641 5 -0.001500 24.595121 8.875000 -54.875000 # 5 -1947 643 5 0.000000 27.054632 10.295000 -58.224998 # 5 -1948 643 5 0.000000 28.284389 9.585000 -58.224998 # 5 +1947 643 6 0.000000 27.054632 10.295000 -58.224998 # 5 +1948 643 6 0.000000 28.284389 9.585000 -58.224998 # 5 1949 641 5 -0.010794 28.284389 9.585000 -54.875000 # 5 1950 641 5 -0.008912 27.054632 8.875000 -54.875000 # 5 -1951 643 5 0.000000 29.514145 10.295000 -58.224998 # 5 -1952 643 5 0.000000 30.743900 9.585000 -58.224998 # 5 +1951 643 6 0.000000 29.514145 10.295000 -58.224998 # 5 +1952 643 6 0.000000 30.743900 9.585000 -58.224998 # 5 1953 641 5 -0.006916 30.743900 9.585000 -54.875000 # 5 1954 641 5 -0.011078 29.514145 8.875000 -54.875000 # 5 -1955 643 5 0.000000 31.973658 10.295000 -58.224998 # 5 +1955 643 6 0.000000 31.973658 10.295000 -58.224998 # 5 1956 641 5 -0.000838 31.973658 8.875000 -54.875000 # 5 -1957 643 5 0.000000 1.229756 12.425000 -58.224998 # 5 -1958 643 5 0.000000 2.459512 11.715001 -58.224998 # 5 +1957 643 6 0.000000 1.229756 12.425000 -58.224998 # 5 +1958 643 6 0.000000 2.459512 11.715001 -58.224998 # 5 1959 641 5 -0.007341 2.459512 11.715001 -54.875000 # 5 1960 641 5 -0.006195 1.229756 11.005000 -54.875000 # 5 -1961 643 5 0.000000 3.689268 12.425000 -58.224998 # 5 -1962 643 5 0.000000 4.919024 11.715001 -58.224998 # 5 +1961 643 6 0.000000 3.689268 12.425000 -58.224998 # 5 +1962 643 6 0.000000 4.919024 11.715001 -58.224998 # 5 1963 641 5 -0.004578 4.919024 11.715001 -54.875000 # 5 1964 641 5 -0.006829 3.689268 11.005000 -54.875000 # 5 -1965 643 5 0.000000 6.148780 12.425000 -58.224998 # 5 -1966 643 5 0.000000 7.378536 11.715001 -58.224998 # 5 +1965 643 6 0.000000 6.148780 12.425000 -58.224998 # 5 +1966 643 6 0.000000 7.378536 11.715001 -58.224998 # 5 1967 641 5 0.003036 7.378536 11.715001 -54.875000 # 5 1968 641 5 0.000159 6.148780 11.005000 -54.875000 # 5 -1969 643 5 0.000000 8.608293 12.425000 -58.224998 # 5 -1970 643 5 0.000000 9.838048 11.715001 -58.224998 # 5 +1969 643 6 0.000000 8.608293 12.425000 -58.224998 # 5 +1970 643 6 0.000000 9.838048 11.715001 -58.224998 # 5 1971 641 5 0.000897 9.838048 11.715001 -54.875000 # 5 1972 641 5 0.004621 8.608293 11.005000 -54.875000 # 5 -1973 643 5 0.000000 11.067804 12.425000 -58.224998 # 5 -1974 643 5 0.000000 12.297561 11.715001 -58.224998 # 5 +1973 643 6 0.000000 11.067804 12.425000 -58.224998 # 5 +1974 643 6 0.000000 12.297561 11.715001 -58.224998 # 5 1975 641 5 -0.003884 12.297561 11.715001 -54.875000 # 5 1976 641 5 -0.000606 11.067804 11.005000 -54.875000 # 5 -1977 643 5 0.000000 13.527316 12.425000 -58.224998 # 5 -1978 643 5 0.000000 14.757072 11.715001 -58.224998 # 5 +1977 643 6 0.000000 13.527316 12.425000 -58.224998 # 5 +1978 643 6 0.000000 14.757072 11.715001 -58.224998 # 5 1979 641 5 -0.003377 14.757072 11.715001 -54.875000 # 5 1980 641 5 -0.002753 13.527316 11.005000 -54.875000 # 5 -1981 643 5 0.000000 15.986829 12.425000 -58.224998 # 5 -1982 643 5 0.000000 17.216585 11.715001 -58.224998 # 5 +1981 643 6 0.000000 15.986829 12.425000 -58.224998 # 5 +1982 643 6 0.000000 17.216585 11.715001 -58.224998 # 5 1983 641 5 -0.002284 17.216585 11.715001 -54.875000 # 5 1984 641 5 -0.000813 15.986829 11.005000 -54.875000 # 5 -1985 643 5 0.000000 18.446341 12.425000 -58.224998 # 5 -1986 643 5 0.000000 19.676096 11.715001 -58.224998 # 5 +1985 643 6 0.000000 18.446341 12.425000 -58.224998 # 5 +1986 643 6 0.000000 19.676096 11.715001 -58.224998 # 5 1987 641 5 -0.005689 19.676096 11.715001 -54.875000 # 5 1988 641 5 -0.001327 18.446341 11.005000 -54.875000 # 5 -1989 643 5 0.000000 20.905853 12.425000 -58.224998 # 5 -1990 643 5 0.000000 22.135609 11.715001 -58.224998 # 5 +1989 643 6 0.000000 20.905853 12.425000 -58.224998 # 5 +1990 643 6 0.000000 22.135609 11.715001 -58.224998 # 5 1991 641 5 -0.001225 22.135609 11.715001 -54.875000 # 5 1992 641 5 -0.006269 20.905853 11.005000 -54.875000 # 5 -1993 643 5 0.000000 23.365364 12.425000 -58.224998 # 5 -1994 643 5 0.000000 24.595121 11.715001 -58.224998 # 5 +1993 643 6 0.000000 23.365364 12.425000 -58.224998 # 5 +1994 643 6 0.000000 24.595121 11.715001 -58.224998 # 5 1995 641 5 0.012030 24.595121 11.715001 -54.875000 # 5 1996 641 5 0.003991 23.365364 11.005000 -54.875000 # 5 -1997 643 5 0.000000 25.824877 12.425000 -58.224998 # 5 -1998 643 5 0.000000 27.054632 11.715001 -58.224998 # 5 +1997 643 6 0.000000 25.824877 12.425000 -58.224998 # 5 +1998 643 6 0.000000 27.054632 11.715001 -58.224998 # 5 1999 641 5 0.002808 27.054632 11.715001 -54.875000 # 5 2000 641 5 0.005501 25.824877 11.005000 -54.875000 # 5 -2001 643 5 0.000000 28.284389 12.425000 -58.224998 # 5 -2002 643 5 0.000000 29.514145 11.715001 -58.224998 # 5 +2001 643 6 0.000000 28.284389 12.425000 -58.224998 # 5 +2002 643 6 0.000000 29.514145 11.715001 -58.224998 # 5 2003 641 5 -0.006380 29.514145 11.715001 -54.875000 # 5 2004 641 5 -0.005915 28.284389 11.005000 -54.875000 # 5 -2005 643 5 0.000000 30.743900 12.425000 -58.224998 # 5 -2006 643 5 0.000000 31.973658 11.715001 -58.224998 # 5 +2005 643 6 0.000000 30.743900 12.425000 -58.224998 # 5 +2006 643 6 0.000000 31.973658 11.715001 -58.224998 # 5 2007 641 5 -0.006475 31.973658 11.715001 -54.875000 # 5 2008 641 5 -0.007286 30.743900 11.005000 -54.875000 # 5 -2009 643 5 0.000000 1.229756 13.845000 -58.224998 # 5 +2009 643 6 0.000000 1.229756 13.845000 -58.224998 # 5 2010 641 5 -0.005636 1.229756 13.845000 -54.875000 # 5 -2011 643 5 0.000000 2.459512 14.555000 -58.224998 # 5 -2012 643 5 0.000000 3.689268 13.845000 -58.224998 # 5 +2011 643 6 0.000000 2.459512 14.555000 -58.224998 # 5 +2012 643 6 0.000000 3.689268 13.845000 -58.224998 # 5 2013 641 5 -0.003389 3.689268 13.845000 -54.875000 # 5 2014 641 5 -0.006559 2.459512 13.135000 -54.875000 # 5 -2015 643 5 0.000000 4.919024 14.555000 -58.224998 # 5 -2016 643 5 0.000000 6.148780 13.845000 -58.224998 # 5 +2015 643 6 0.000000 4.919024 14.555000 -58.224998 # 5 +2016 643 6 0.000000 6.148780 13.845000 -58.224998 # 5 2017 641 5 0.002367 6.148780 13.845000 -54.875000 # 5 2018 641 5 -0.002424 4.919024 13.135000 -54.875000 # 5 -2019 643 5 0.000000 7.378536 14.555000 -58.224998 # 5 -2020 643 5 0.000000 8.608293 13.845000 -58.224998 # 5 +2019 643 6 0.000000 7.378536 14.555000 -58.224998 # 5 +2020 643 6 0.000000 8.608293 13.845000 -58.224998 # 5 2021 641 5 0.000402 8.608293 13.845000 -54.875000 # 5 2022 641 5 0.002615 7.378536 13.135000 -54.875000 # 5 -2023 643 5 0.000000 9.838048 14.555000 -58.224998 # 5 -2024 643 5 0.000000 11.067804 13.845000 -58.224998 # 5 +2023 643 6 0.000000 9.838048 14.555000 -58.224998 # 5 +2024 643 6 0.000000 11.067804 13.845000 -58.224998 # 5 2025 641 5 -0.009056 11.067804 13.845000 -54.875000 # 5 2026 641 5 -0.003350 9.838048 13.135000 -54.875000 # 5 -2027 643 5 0.000000 12.297561 14.555000 -58.224998 # 5 -2028 643 5 0.000000 13.527316 13.845000 -58.224998 # 5 +2027 643 6 0.000000 12.297561 14.555000 -58.224998 # 5 +2028 643 6 0.000000 13.527316 13.845000 -58.224998 # 5 2029 641 5 -0.006284 13.527316 13.845000 -54.875000 # 5 2030 641 5 -0.007513 12.297561 13.135000 -54.875000 # 5 -2031 643 5 0.000000 14.757072 14.555000 -58.224998 # 5 -2032 643 5 0.000000 15.986829 13.845000 -58.224998 # 5 +2031 643 6 0.000000 14.757072 14.555000 -58.224998 # 5 +2032 643 6 0.000000 15.986829 13.845000 -58.224998 # 5 2033 641 5 -0.003130 15.986829 13.845000 -54.875000 # 5 2034 641 5 -0.004061 14.757072 13.135000 -54.875000 # 5 -2035 643 5 0.000000 17.216585 14.555000 -58.224998 # 5 -2036 643 5 0.000000 18.446341 13.845000 -58.224998 # 5 +2035 643 6 0.000000 17.216585 14.555000 -58.224998 # 5 +2036 643 6 0.000000 18.446341 13.845000 -58.224998 # 5 2037 641 5 -0.005508 18.446341 13.845000 -54.875000 # 5 2038 641 5 -0.004163 17.216585 13.135000 -54.875000 # 5 -2039 643 5 0.000000 19.676096 14.555000 -58.224998 # 5 -2040 643 5 0.000000 20.905853 13.845000 -58.224998 # 5 +2039 643 6 0.000000 19.676096 14.555000 -58.224998 # 5 +2040 643 6 0.000000 20.905853 13.845000 -58.224998 # 5 2041 641 5 -0.004896 20.905853 13.845000 -54.875000 # 5 2042 641 5 -0.006983 19.676096 13.135000 -54.875000 # 5 -2043 643 5 0.000000 22.135609 14.555000 -58.224998 # 5 -2044 643 5 0.000000 23.365364 13.845000 -58.224998 # 5 +2043 643 6 0.000000 22.135609 14.555000 -58.224998 # 5 +2044 643 6 0.000000 23.365364 13.845000 -58.224998 # 5 2045 641 5 0.008255 23.365364 13.845000 -54.875000 # 5 2046 641 5 0.001284 22.135609 13.135000 -54.875000 # 5 -2047 643 5 0.000000 24.595121 14.555000 -58.224998 # 5 -2048 643 5 0.000000 25.824877 13.845000 -58.224998 # 5 +2047 643 6 0.000000 24.595121 14.555000 -58.224998 # 5 +2048 643 6 0.000000 25.824877 13.845000 -58.224998 # 5 2049 641 5 0.009224 25.824877 13.845000 -54.875000 # 5 2050 641 5 0.014893 24.595121 13.135000 -54.875000 # 5 -2051 643 5 0.000000 27.054632 14.555000 -58.224998 # 5 -2052 643 5 0.000000 28.284389 13.845000 -58.224998 # 5 +2051 643 6 0.000000 27.054632 14.555000 -58.224998 # 5 +2052 643 6 0.000000 28.284389 13.845000 -58.224998 # 5 2053 641 5 -0.001344 28.284389 13.845000 -54.875000 # 5 2054 641 5 0.004420 27.054632 13.135000 -54.875000 # 5 -2055 643 5 0.000000 29.514145 14.555000 -58.224998 # 5 -2056 643 5 0.000000 30.743900 13.845000 -58.224998 # 5 +2055 643 6 0.000000 29.514145 14.555000 -58.224998 # 5 +2056 643 6 0.000000 30.743900 13.845000 -58.224998 # 5 2057 641 5 -0.003552 30.743900 13.845000 -54.875000 # 5 2058 641 5 -0.003214 29.514145 13.135000 -54.875000 # 5 -2059 643 5 0.000000 31.973658 14.555000 -58.224998 # 5 +2059 643 6 0.000000 31.973658 14.555000 -58.224998 # 5 2060 641 5 -0.006139 31.973658 13.135000 -54.875000 # 5 -2061 643 5 0.000000 1.229756 16.684999 -58.224998 # 5 -2062 643 5 0.000000 2.459512 15.975000 -58.224998 # 5 +2061 643 6 0.000000 1.229756 16.684999 -58.224998 # 5 +2062 643 6 0.000000 2.459512 15.975000 -58.224998 # 5 2063 641 5 0.001574 2.459512 15.975000 -54.875000 # 5 2064 641 5 -0.000780 1.229756 15.265000 -54.875000 # 5 -2065 643 5 0.000000 3.689268 16.684999 -58.224998 # 5 -2066 643 5 0.000000 4.919024 15.975000 -58.224998 # 5 +2065 643 6 0.000000 3.689268 16.684999 -58.224998 # 5 +2066 643 6 0.000000 4.919024 15.975000 -58.224998 # 5 2067 641 5 0.007831 4.919024 15.975000 -54.875000 # 5 2068 641 5 0.001119 3.689268 15.265000 -54.875000 # 5 -2069 643 5 0.000000 6.148780 16.684999 -58.224998 # 5 -2070 643 5 0.000000 7.378536 15.975000 -58.224998 # 5 +2069 643 6 0.000000 6.148780 16.684999 -58.224998 # 5 +2070 643 6 0.000000 7.378536 15.975000 -58.224998 # 5 2071 641 5 0.011161 7.378536 15.975000 -54.875000 # 5 2072 641 5 0.008319 6.148780 15.265000 -54.875000 # 5 -2073 643 5 0.000000 8.608293 16.684999 -58.224998 # 5 -2074 643 5 0.000000 9.838048 15.975000 -58.224998 # 5 +2073 643 6 0.000000 8.608293 16.684999 -58.224998 # 5 +2074 643 6 0.000000 9.838048 15.975000 -58.224998 # 5 2075 641 5 -0.003084 9.838048 15.975000 -54.875000 # 5 2076 641 5 0.002350 8.608293 15.265000 -54.875000 # 5 -2077 643 5 0.000000 11.067804 16.684999 -58.224998 # 5 -2078 643 5 0.000000 12.297561 15.975000 -58.224998 # 5 +2077 643 6 0.000000 11.067804 16.684999 -58.224998 # 5 +2078 643 6 0.000000 12.297561 15.975000 -58.224998 # 5 2079 641 5 -0.005651 12.297561 15.975000 -54.875000 # 5 2080 641 5 -0.009897 11.067804 15.265000 -54.875000 # 5 -2081 643 5 0.000000 13.527316 16.684999 -58.224998 # 5 -2082 643 5 0.000000 14.757072 15.975000 -58.224998 # 5 +2081 643 6 0.000000 13.527316 16.684999 -58.224998 # 5 +2082 643 6 0.000000 14.757072 15.975000 -58.224998 # 5 2083 641 5 0.003052 14.757072 15.975000 -54.875000 # 5 2084 641 5 -0.003381 13.527316 15.265000 -54.875000 # 5 -2085 643 5 0.000000 15.986829 16.684999 -58.224998 # 5 -2086 643 5 0.000000 17.216585 15.975000 -58.224998 # 5 +2085 643 6 0.000000 15.986829 16.684999 -58.224998 # 5 +2086 643 6 0.000000 17.216585 15.975000 -58.224998 # 5 2087 641 5 0.000425 17.216585 15.975000 -54.875000 # 5 2088 641 5 0.000337 15.986829 15.265000 -54.875000 # 5 -2089 643 5 0.000000 18.446341 16.684999 -58.224998 # 5 -2090 643 5 0.000000 19.676096 15.975000 -58.224998 # 5 +2089 643 6 0.000000 18.446341 16.684999 -58.224998 # 5 +2090 643 6 0.000000 19.676096 15.975000 -58.224998 # 5 2091 641 5 -0.005275 19.676096 15.975000 -54.875000 # 5 2092 641 5 -0.004269 18.446341 15.265000 -54.875000 # 5 -2093 643 5 0.000000 20.905853 16.684999 -58.224998 # 5 -2094 643 5 0.000000 22.135609 15.975000 -58.224998 # 5 +2093 643 6 0.000000 20.905853 16.684999 -58.224998 # 5 +2094 643 6 0.000000 22.135609 15.975000 -58.224998 # 5 2095 641 5 -0.002293 22.135609 15.975000 -54.875000 # 5 2096 641 5 -0.004618 20.905853 15.265000 -54.875000 # 5 -2097 643 5 0.000000 23.365364 16.684999 -58.224998 # 5 -2098 643 5 0.000000 24.595121 15.975000 -58.224998 # 5 +2097 643 6 0.000000 23.365364 16.684999 -58.224998 # 5 +2098 643 6 0.000000 24.595121 15.975000 -58.224998 # 5 2099 641 5 -0.000050 24.595121 15.975000 -54.875000 # 5 2100 641 5 0.002728 23.365364 15.265000 -54.875000 # 5 -2101 643 5 0.000000 25.824877 16.684999 -58.224998 # 5 -2102 643 5 0.000000 27.054632 15.975000 -58.224998 # 5 +2101 643 6 0.000000 25.824877 16.684999 -58.224998 # 5 +2102 643 6 0.000000 27.054632 15.975000 -58.224998 # 5 2103 641 5 -0.006245 27.054632 15.975000 -54.875000 # 5 2104 641 5 0.000248 25.824877 15.265000 -54.875000 # 5 -2105 643 5 0.000000 28.284389 16.684999 -58.224998 # 5 -2106 643 5 0.000000 29.514145 15.975000 -58.224998 # 5 +2105 643 6 0.000000 28.284389 16.684999 -58.224998 # 5 +2106 643 6 0.000000 29.514145 15.975000 -58.224998 # 5 2107 641 5 0.000383 29.514145 15.975000 -54.875000 # 5 2108 641 5 -0.003405 28.284389 15.265000 -54.875000 # 5 -2109 643 5 0.000000 30.743900 16.684999 -58.224998 # 5 -2110 643 5 0.000000 31.973658 15.975000 -58.224998 # 5 +2109 643 6 0.000000 30.743900 16.684999 -58.224998 # 5 +2110 643 6 0.000000 31.973658 15.975000 -58.224998 # 5 2111 641 5 0.002854 31.973658 15.975000 -54.875000 # 5 2112 641 5 0.000745 30.743900 15.265000 -54.875000 # 5 -2113 643 5 0.000000 1.229756 18.105000 -58.224998 # 5 +2113 643 6 0.000000 1.229756 18.105000 -58.224998 # 5 2114 641 5 0.006231 1.229756 18.105000 -54.875000 # 5 -2115 643 5 0.000000 2.459512 18.815001 -58.224998 # 5 -2116 643 5 0.000000 3.689268 18.105000 -58.224998 # 5 +2115 643 6 0.000000 2.459512 18.815001 -58.224998 # 5 +2116 643 6 0.000000 3.689268 18.105000 -58.224998 # 5 2117 641 5 0.005054 3.689268 18.105000 -54.875000 # 5 2118 641 5 0.003812 2.459512 17.395000 -54.875000 # 5 -2119 643 5 0.000000 4.919024 18.815001 -58.224998 # 5 -2120 643 5 0.000000 6.148780 18.105000 -58.224998 # 5 +2119 643 6 0.000000 4.919024 18.815001 -58.224998 # 5 +2120 643 6 0.000000 6.148780 18.105000 -58.224998 # 5 2121 641 5 0.013249 6.148780 18.105000 -54.875000 # 5 2122 641 5 0.010130 4.919024 17.395000 -54.875000 # 5 -2123 643 5 0.000000 7.378536 18.815001 -58.224998 # 5 -2124 643 5 0.000000 8.608293 18.105000 -58.224998 # 5 +2123 643 6 0.000000 7.378536 18.815001 -58.224998 # 5 +2124 643 6 0.000000 8.608293 18.105000 -58.224998 # 5 2125 641 5 0.006670 8.608293 18.105000 -54.875000 # 5 2126 641 5 0.014021 7.378536 17.395000 -54.875000 # 5 -2127 643 5 0.000000 9.838048 18.815001 -58.224998 # 5 -2128 643 5 0.000000 11.067804 18.105000 -58.224998 # 5 +2127 643 6 0.000000 9.838048 18.815001 -58.224998 # 5 +2128 643 6 0.000000 11.067804 18.105000 -58.224998 # 5 2129 641 5 -0.002118 11.067804 18.105000 -54.875000 # 5 2130 641 5 -0.000411 9.838048 17.395000 -54.875000 # 5 -2131 643 5 0.000000 12.297561 18.815001 -58.224998 # 5 -2132 643 5 0.000000 13.527316 18.105000 -58.224998 # 5 +2131 643 6 0.000000 12.297561 18.815001 -58.224998 # 5 +2132 643 6 0.000000 13.527316 18.105000 -58.224998 # 5 2133 641 5 0.007999 13.527316 18.105000 -54.875000 # 5 2134 641 5 -0.000407 12.297561 17.395000 -54.875000 # 5 -2135 643 5 0.000000 14.757072 18.815001 -58.224998 # 5 -2136 643 5 0.000000 15.986829 18.105000 -58.224998 # 5 +2135 643 6 0.000000 14.757072 18.815001 -58.224998 # 5 +2136 643 6 0.000000 15.986829 18.105000 -58.224998 # 5 2137 641 5 0.009877 15.986829 18.105000 -54.875000 # 5 2138 641 5 0.009779 14.757072 17.395000 -54.875000 # 5 -2139 643 5 0.000000 17.216585 18.815001 -58.224998 # 5 -2140 643 5 0.000000 18.446341 18.105000 -58.224998 # 5 +2139 643 6 0.000000 17.216585 18.815001 -58.224998 # 5 +2140 643 6 0.000000 18.446341 18.105000 -58.224998 # 5 2141 641 5 0.000396 18.446341 18.105000 -54.875000 # 5 2142 641 5 0.003629 17.216585 17.395000 -54.875000 # 5 -2143 643 5 0.000000 19.676096 18.815001 -58.224998 # 5 -2144 643 5 0.000000 20.905853 18.105000 -58.224998 # 5 +2143 643 6 0.000000 19.676096 18.815001 -58.224998 # 5 +2144 643 6 0.000000 20.905853 18.105000 -58.224998 # 5 2145 641 5 -0.002504 20.905853 18.105000 -54.875000 # 5 2146 641 5 -0.003126 19.676096 17.395000 -54.875000 # 5 -2147 643 5 0.000000 22.135609 18.815001 -58.224998 # 5 -2148 643 5 0.000000 23.365364 18.105000 -58.224998 # 5 +2147 643 6 0.000000 22.135609 18.815001 -58.224998 # 5 +2148 643 6 0.000000 23.365364 18.105000 -58.224998 # 5 2149 641 5 -0.002268 23.365364 18.105000 -54.875000 # 5 2150 641 5 -0.002543 22.135609 17.395000 -54.875000 # 5 -2151 643 5 0.000000 24.595121 18.815001 -58.224998 # 5 -2152 643 5 0.000000 25.824877 18.105000 -58.224998 # 5 +2151 643 6 0.000000 24.595121 18.815001 -58.224998 # 5 +2152 643 6 0.000000 25.824877 18.105000 -58.224998 # 5 2153 641 5 -0.007529 25.824877 18.105000 -54.875000 # 5 2154 641 5 -0.004597 24.595121 17.395000 -54.875000 # 5 -2155 643 5 0.000000 27.054632 18.815001 -58.224998 # 5 -2156 643 5 0.000000 28.284389 18.105000 -58.224998 # 5 +2155 643 6 0.000000 27.054632 18.815001 -58.224998 # 5 +2156 643 6 0.000000 28.284389 18.105000 -58.224998 # 5 2157 641 5 -0.002070 28.284389 18.105000 -54.875000 # 5 2158 641 5 -0.008049 27.054632 17.395000 -54.875000 # 5 -2159 643 5 0.000000 29.514145 18.815001 -58.224998 # 5 -2160 643 5 0.000000 30.743900 18.105000 -58.224998 # 5 +2159 643 6 0.000000 29.514145 18.815001 -58.224998 # 5 +2160 643 6 0.000000 30.743900 18.105000 -58.224998 # 5 2161 641 5 0.009740 30.743900 18.105000 -54.875000 # 5 2162 641 5 0.003938 29.514145 17.395000 -54.875000 # 5 -2163 643 5 0.000000 31.973658 18.815001 -58.224998 # 5 +2163 643 6 0.000000 31.973658 18.815001 -58.224998 # 5 2164 641 5 0.008697 31.973658 17.395000 -54.875000 # 5 -2165 643 5 0.000000 1.229756 20.945002 -58.224998 # 5 -2166 643 5 0.000000 2.459512 20.235001 -58.224998 # 5 +2165 643 6 0.000000 1.229756 20.945002 -58.224998 # 5 +2166 643 6 0.000000 2.459512 20.235001 -58.224998 # 5 2167 641 5 0.000833 2.459512 20.235001 -54.875000 # 5 2168 641 5 0.005078 1.229756 19.525000 -54.875000 # 5 -2169 643 5 0.000000 3.689268 20.945002 -58.224998 # 5 -2170 643 5 0.000000 4.919024 20.235001 -58.224998 # 5 +2169 643 6 0.000000 3.689268 20.945002 -58.224998 # 5 +2170 643 6 0.000000 4.919024 20.235001 -58.224998 # 5 2171 641 5 0.002076 4.919024 20.235001 -54.875000 # 5 2172 641 5 0.002543 3.689268 19.525000 -54.875000 # 5 -2173 643 5 0.000000 6.148780 20.945002 -58.224998 # 5 -2174 643 5 0.000000 7.378536 20.235001 -58.224998 # 5 +2173 643 6 0.000000 6.148780 20.945002 -58.224998 # 5 +2174 643 6 0.000000 7.378536 20.235001 -58.224998 # 5 2175 641 5 0.003162 7.378536 20.235001 -54.875000 # 5 2176 641 5 0.006698 6.148780 19.525000 -54.875000 # 5 -2177 643 5 0.000000 8.608293 20.945002 -58.224998 # 5 -2178 643 5 0.000000 9.838048 20.235001 -58.224998 # 5 +2177 643 6 0.000000 8.608293 20.945002 -58.224998 # 5 +2178 643 6 0.000000 9.838048 20.235001 -58.224998 # 5 2179 641 5 -0.002118 9.838048 20.235001 -54.875000 # 5 2180 641 5 0.002728 8.608293 19.525000 -54.875000 # 5 -2181 643 5 0.000000 11.067804 20.945002 -58.224998 # 5 -2182 643 5 0.000000 12.297561 20.235001 -58.224998 # 5 +2181 643 6 0.000000 11.067804 20.945002 -58.224998 # 5 +2182 643 6 0.000000 12.297561 20.235001 -58.224998 # 5 2183 641 5 0.000686 12.297561 20.235001 -54.875000 # 5 2184 641 5 -0.000752 11.067804 19.525000 -54.875000 # 5 -2185 643 5 0.000000 13.527316 20.945002 -58.224998 # 5 -2186 643 5 0.000000 14.757072 20.235001 -58.224998 # 5 +2185 643 6 0.000000 13.527316 20.945002 -58.224998 # 5 +2186 643 6 0.000000 14.757072 20.235001 -58.224998 # 5 2187 641 5 0.005540 14.757072 20.235001 -54.875000 # 5 2188 641 5 0.006939 13.527316 19.525000 -54.875000 # 5 -2189 643 5 0.000000 15.986829 20.945002 -58.224998 # 5 -2190 643 5 0.000000 17.216585 20.235001 -58.224998 # 5 +2189 643 6 0.000000 15.986829 20.945002 -58.224998 # 5 +2190 643 6 0.000000 17.216585 20.235001 -58.224998 # 5 2191 641 5 0.000313 17.216585 20.235001 -54.875000 # 5 2192 641 5 0.006963 15.986829 19.525000 -54.875000 # 5 -2193 643 5 0.000000 18.446341 20.945002 -58.224998 # 5 -2194 643 5 0.000000 19.676096 20.235001 -58.224998 # 5 +2193 643 6 0.000000 18.446341 20.945002 -58.224998 # 5 +2194 643 6 0.000000 19.676096 20.235001 -58.224998 # 5 2195 641 5 -0.001275 19.676096 20.235001 -54.875000 # 5 2196 641 5 0.000026 18.446341 19.525000 -54.875000 # 5 -2197 643 5 0.000000 20.905853 20.945002 -58.224998 # 5 -2198 643 5 0.000000 22.135609 20.235001 -58.224998 # 5 +2197 643 6 0.000000 20.905853 20.945002 -58.224998 # 5 +2198 643 6 0.000000 22.135609 20.235001 -58.224998 # 5 2199 641 5 0.002140 22.135609 20.235001 -54.875000 # 5 2200 641 5 -0.000590 20.905853 19.525000 -54.875000 # 5 -2201 643 5 0.000000 23.365364 20.945002 -58.224998 # 5 -2202 643 5 0.000000 24.595121 20.235001 -58.224998 # 5 +2201 643 6 0.000000 23.365364 20.945002 -58.224998 # 5 +2202 643 6 0.000000 24.595121 20.235001 -58.224998 # 5 2203 641 5 0.001859 24.595121 20.235001 -54.875000 # 5 2204 641 5 0.000575 23.365364 19.525000 -54.875000 # 5 -2205 643 5 0.000000 25.824877 20.945002 -58.224998 # 5 -2206 643 5 0.000000 27.054632 20.235001 -58.224998 # 5 +2205 643 6 0.000000 25.824877 20.945002 -58.224998 # 5 +2206 643 6 0.000000 27.054632 20.235001 -58.224998 # 5 2207 641 5 -0.002327 27.054632 20.235001 -54.875000 # 5 2208 641 5 -0.003830 25.824877 19.525000 -54.875000 # 5 -2209 643 5 0.000000 28.284389 20.945002 -58.224998 # 5 -2210 643 5 0.000000 29.514145 20.235001 -58.224998 # 5 +2209 643 6 0.000000 28.284389 20.945002 -58.224998 # 5 +2210 643 6 0.000000 29.514145 20.235001 -58.224998 # 5 2211 641 5 0.003241 29.514145 20.235001 -54.875000 # 5 2212 641 5 -0.000728 28.284389 19.525000 -54.875000 # 5 -2213 643 5 0.000000 30.743900 20.945002 -58.224998 # 5 -2214 643 5 0.000000 31.973658 20.235001 -58.224998 # 5 +2213 643 6 0.000000 30.743900 20.945002 -58.224998 # 5 +2214 643 6 0.000000 31.973658 20.235001 -58.224998 # 5 2215 641 5 0.006229 31.973658 20.235001 -54.875000 # 5 2216 641 5 0.008059 30.743900 19.525000 -54.875000 # 5 -2217 643 5 0.000000 1.229756 22.365000 -58.224998 # 5 +2217 643 6 0.000000 1.229756 22.365000 -58.224998 # 5 2218 641 5 0.000847 1.229756 22.365000 -54.875000 # 5 -2219 643 5 0.000000 2.459512 23.075001 -58.224998 # 5 -2220 643 5 0.000000 3.689268 22.365000 -58.224998 # 5 +2219 643 6 0.000000 2.459512 23.075001 -58.224998 # 5 +2220 643 6 0.000000 3.689268 22.365000 -58.224998 # 5 2221 641 5 -0.001325 3.689268 22.365000 -54.875000 # 5 2222 641 5 -0.000438 2.459512 21.655001 -54.875000 # 5 -2223 643 5 0.000000 4.919024 23.075001 -58.224998 # 5 -2224 643 5 0.000000 6.148780 22.365000 -58.224998 # 5 +2223 643 6 0.000000 4.919024 23.075001 -58.224998 # 5 +2224 643 6 0.000000 6.148780 22.365000 -58.224998 # 5 2225 641 5 0.000098 6.148780 22.365000 -54.875000 # 5 2226 641 5 -0.000806 4.919024 21.655001 -54.875000 # 5 -2227 643 5 0.000000 7.378536 23.075001 -58.224998 # 5 -2228 643 5 0.000000 8.608293 22.365000 -58.224998 # 5 +2227 643 6 0.000000 7.378536 23.075001 -58.224998 # 5 +2228 643 6 0.000000 8.608293 22.365000 -58.224998 # 5 2229 641 5 -0.000639 8.608293 22.365000 -54.875000 # 5 2230 641 5 -0.000020 7.378536 21.655001 -54.875000 # 5 -2231 643 5 0.000000 9.838048 23.075001 -58.224998 # 5 -2232 643 5 0.000000 11.067804 22.365000 -58.224998 # 5 +2231 643 6 0.000000 9.838048 23.075001 -58.224998 # 5 +2232 643 6 0.000000 11.067804 22.365000 -58.224998 # 5 2233 641 5 -0.002278 11.067804 22.365000 -54.875000 # 5 2234 641 5 -0.002485 9.838048 21.655001 -54.875000 # 5 -2235 643 5 0.000000 12.297561 23.075001 -58.224998 # 5 -2236 643 5 0.000000 13.527316 22.365000 -58.224998 # 5 +2235 643 6 0.000000 12.297561 23.075001 -58.224998 # 5 +2236 643 6 0.000000 13.527316 22.365000 -58.224998 # 5 2237 641 5 -0.002978 13.527316 22.365000 -54.875000 # 5 2238 641 5 -0.001476 12.297561 21.655001 -54.875000 # 5 -2239 643 5 0.000000 14.757072 23.075001 -58.224998 # 5 -2240 643 5 0.000000 15.986829 22.365000 -58.224998 # 5 +2239 643 6 0.000000 14.757072 23.075001 -58.224998 # 5 +2240 643 6 0.000000 15.986829 22.365000 -58.224998 # 5 2241 641 5 -0.008032 15.986829 22.365000 -54.875000 # 5 2242 641 5 -0.002538 14.757072 21.655001 -54.875000 # 5 -2243 643 5 0.000000 17.216585 23.075001 -58.224998 # 5 -2244 643 5 0.000000 18.446341 22.365000 -58.224998 # 5 +2243 643 6 0.000000 17.216585 23.075001 -58.224998 # 5 +2244 643 6 0.000000 18.446341 22.365000 -58.224998 # 5 2245 641 5 -0.006260 18.446341 22.365000 -54.875000 # 5 2246 641 5 -0.006008 17.216585 21.655001 -54.875000 # 5 -2247 643 5 0.000000 19.676096 23.075001 -58.224998 # 5 -2248 643 5 0.000000 20.905853 22.365000 -58.224998 # 5 +2247 643 6 0.000000 19.676096 23.075001 -58.224998 # 5 +2248 643 6 0.000000 20.905853 22.365000 -58.224998 # 5 2249 641 5 0.000811 20.905853 22.365000 -54.875000 # 5 2250 641 5 -0.002102 19.676096 21.655001 -54.875000 # 5 -2251 643 5 0.000000 22.135609 23.075001 -58.224998 # 5 -2252 643 5 0.000000 23.365364 22.365000 -58.224998 # 5 +2251 643 6 0.000000 22.135609 23.075001 -58.224998 # 5 +2252 643 6 0.000000 23.365364 22.365000 -58.224998 # 5 2253 641 5 0.010056 23.365364 22.365000 -54.875000 # 5 2254 641 5 0.004824 22.135609 21.655001 -54.875000 # 5 -2255 643 5 0.000000 24.595121 23.075001 -58.224998 # 5 -2256 643 5 0.000000 25.824877 22.365000 -58.224998 # 5 +2255 643 6 0.000000 24.595121 23.075001 -58.224998 # 5 +2256 643 6 0.000000 25.824877 22.365000 -58.224998 # 5 2257 641 5 0.006494 25.824877 22.365000 -54.875000 # 5 2258 641 5 0.008689 24.595121 21.655001 -54.875000 # 5 -2259 643 5 0.000000 27.054632 23.075001 -58.224998 # 5 -2260 643 5 0.000000 28.284389 22.365000 -58.224998 # 5 +2259 643 6 0.000000 27.054632 23.075001 -58.224998 # 5 +2260 643 6 0.000000 28.284389 22.365000 -58.224998 # 5 2261 641 5 -0.001213 28.284389 22.365000 -54.875000 # 5 2262 641 5 0.000874 27.054632 21.655001 -54.875000 # 5 -2263 643 5 0.000000 29.514145 23.075001 -58.224998 # 5 -2264 643 5 0.000000 30.743900 22.365000 -58.224998 # 5 +2263 643 6 0.000000 29.514145 23.075001 -58.224998 # 5 +2264 643 6 0.000000 30.743900 22.365000 -58.224998 # 5 2265 641 5 0.000251 30.743900 22.365000 -54.875000 # 5 2266 641 5 -0.000260 29.514145 21.655001 -54.875000 # 5 -2267 643 5 0.000000 31.973658 23.075001 -58.224998 # 5 +2267 643 6 0.000000 31.973658 23.075001 -58.224998 # 5 2268 641 5 0.002191 31.973658 21.655001 -54.875000 # 5 -2269 643 5 0.000000 1.229756 25.205000 -58.224998 # 5 -2270 643 5 0.000000 2.459512 24.495001 -58.224998 # 5 +2269 643 6 0.000000 1.229756 25.205000 -58.224998 # 5 +2270 643 6 0.000000 2.459512 24.495001 -58.224998 # 5 2271 641 5 0.002056 2.459512 24.495001 -54.875000 # 5 2272 641 5 0.002481 1.229756 23.785000 -54.875000 # 5 -2273 643 5 0.000000 3.689268 25.205000 -58.224998 # 5 -2274 643 5 0.000000 4.919024 24.495001 -58.224998 # 5 +2273 643 6 0.000000 3.689268 25.205000 -58.224998 # 5 +2274 643 6 0.000000 4.919024 24.495001 -58.224998 # 5 2275 641 5 0.000969 4.919024 24.495001 -54.875000 # 5 2276 641 5 -0.000433 3.689268 23.785000 -54.875000 # 5 -2277 643 5 0.000000 6.148780 25.205000 -58.224998 # 5 -2278 643 5 0.000000 7.378536 24.495001 -58.224998 # 5 +2277 643 6 0.000000 6.148780 25.205000 -58.224998 # 5 +2278 643 6 0.000000 7.378536 24.495001 -58.224998 # 5 2279 641 5 0.006329 7.378536 24.495001 -54.875000 # 5 2280 641 5 0.001582 6.148780 23.785000 -54.875000 # 5 -2281 643 5 0.000000 8.608293 25.205000 -58.224998 # 5 -2282 643 5 0.000000 9.838048 24.495001 -58.224998 # 5 +2281 643 6 0.000000 8.608293 25.205000 -58.224998 # 5 +2282 643 6 0.000000 9.838048 24.495001 -58.224998 # 5 2283 641 5 0.004981 9.838048 24.495001 -54.875000 # 5 2284 641 5 0.004188 8.608293 23.785000 -54.875000 # 5 -2285 643 5 0.000000 11.067804 25.205000 -58.224998 # 5 -2286 643 5 0.000000 12.297561 24.495001 -58.224998 # 5 +2285 643 6 0.000000 11.067804 25.205000 -58.224998 # 5 +2286 643 6 0.000000 12.297561 24.495001 -58.224998 # 5 2287 641 5 -0.001260 12.297561 24.495001 -54.875000 # 5 2288 641 5 -0.000028 11.067804 23.785000 -54.875000 # 5 -2289 643 5 0.000000 13.527316 25.205000 -58.224998 # 5 -2290 643 5 0.000000 14.757072 24.495001 -58.224998 # 5 +2289 643 6 0.000000 13.527316 25.205000 -58.224998 # 5 +2290 643 6 0.000000 14.757072 24.495001 -58.224998 # 5 2291 641 5 -0.005709 14.757072 24.495001 -54.875000 # 5 2292 641 5 -0.004497 13.527316 23.785000 -54.875000 # 5 -2293 643 5 0.000000 15.986829 25.205000 -58.224998 # 5 -2294 643 5 0.000000 17.216585 24.495001 -58.224998 # 5 +2293 643 6 0.000000 15.986829 25.205000 -58.224998 # 5 +2294 643 6 0.000000 17.216585 24.495001 -58.224998 # 5 2295 641 5 -0.006480 17.216585 24.495001 -54.875000 # 5 2296 641 5 -0.009101 15.986829 23.785000 -54.875000 # 5 -2297 643 5 0.000000 18.446341 25.205000 -58.224998 # 5 -2298 643 5 0.000000 19.676096 24.495001 -58.224998 # 5 +2297 643 6 0.000000 18.446341 25.205000 -58.224998 # 5 +2298 643 6 0.000000 19.676096 24.495001 -58.224998 # 5 2299 641 5 -0.004734 19.676096 24.495001 -54.875000 # 5 2300 641 5 -0.005912 18.446341 23.785000 -54.875000 # 5 -2301 643 5 0.000000 20.905853 25.205000 -58.224998 # 5 -2302 643 5 0.000000 22.135609 24.495001 -58.224998 # 5 +2301 643 6 0.000000 20.905853 25.205000 -58.224998 # 5 +2302 643 6 0.000000 22.135609 24.495001 -58.224998 # 5 2303 641 5 -0.001646 22.135609 24.495001 -54.875000 # 5 2304 641 5 -0.002450 20.905853 23.785000 -54.875000 # 5 -2305 643 5 0.000000 23.365364 25.205000 -58.224998 # 5 -2306 643 5 0.000000 24.595121 24.495001 -58.224998 # 5 +2305 643 6 0.000000 23.365364 25.205000 -58.224998 # 5 +2306 643 6 0.000000 24.595121 24.495001 -58.224998 # 5 2307 641 5 0.005414 24.595121 24.495001 -54.875000 # 5 2308 641 5 0.007322 23.365364 23.785000 -54.875000 # 5 -2309 643 5 0.000000 25.824877 25.205000 -58.224998 # 5 -2310 643 5 0.000000 27.054632 24.495001 -58.224998 # 5 +2309 643 6 0.000000 25.824877 25.205000 -58.224998 # 5 +2310 643 6 0.000000 27.054632 24.495001 -58.224998 # 5 2311 641 5 -0.000631 27.054632 24.495001 -54.875000 # 5 2312 641 5 0.005698 25.824877 23.785000 -54.875000 # 5 -2313 643 5 0.000000 28.284389 25.205000 -58.224998 # 5 -2314 643 5 0.000000 29.514145 24.495001 -58.224998 # 5 +2313 643 6 0.000000 28.284389 25.205000 -58.224998 # 5 +2314 643 6 0.000000 29.514145 24.495001 -58.224998 # 5 2315 641 5 -0.002033 29.514145 24.495001 -54.875000 # 5 2316 641 5 -0.002141 28.284389 23.785000 -54.875000 # 5 -2317 643 5 0.000000 30.743900 25.205000 -58.224998 # 5 -2318 643 5 0.000000 31.973658 24.495001 -58.224998 # 5 +2317 643 6 0.000000 30.743900 25.205000 -58.224998 # 5 +2318 643 6 0.000000 31.973658 24.495001 -58.224998 # 5 2319 641 5 0.003109 31.973658 24.495001 -54.875000 # 5 2320 641 5 -0.000306 30.743900 23.785000 -54.875000 # 5 -2321 643 5 0.000000 1.229756 26.625000 -58.224998 # 5 +2321 643 6 0.000000 1.229756 26.625000 -58.224998 # 5 2322 641 5 0.007488 1.229756 26.625000 -54.875000 # 5 -2323 643 5 0.000000 2.459512 27.335001 -58.224998 # 5 -2324 643 5 0.000000 3.689268 26.625000 -58.224998 # 5 +2323 643 6 0.000000 2.459512 27.335001 -58.224998 # 5 +2324 643 6 0.000000 3.689268 26.625000 -58.224998 # 5 2325 641 5 -0.001935 3.689268 26.625000 -54.875000 # 5 2326 641 5 0.003202 2.459512 25.915003 -54.875000 # 5 -2327 643 5 0.000000 4.919024 27.335001 -58.224998 # 5 -2328 643 5 0.000000 6.148780 26.625000 -58.224998 # 5 +2327 643 6 0.000000 4.919024 27.335001 -58.224998 # 5 +2328 643 6 0.000000 6.148780 26.625000 -58.224998 # 5 2329 641 5 0.003198 6.148780 26.625000 -54.875000 # 5 2330 641 5 -0.000216 4.919024 25.915003 -54.875000 # 5 -2331 643 5 0.000000 7.378536 27.335001 -58.224998 # 5 -2332 643 5 0.000000 8.608293 26.625000 -58.224998 # 5 +2331 643 6 0.000000 7.378536 27.335001 -58.224998 # 5 +2332 643 6 0.000000 8.608293 26.625000 -58.224998 # 5 2333 641 5 0.011576 8.608293 26.625000 -54.875000 # 5 2334 641 5 0.009867 7.378536 25.915003 -54.875000 # 5 -2335 643 5 0.000000 9.838048 27.335001 -58.224998 # 5 -2336 643 5 0.000000 11.067804 26.625000 -58.224998 # 5 +2335 643 6 0.000000 9.838048 27.335001 -58.224998 # 5 +2336 643 6 0.000000 11.067804 26.625000 -58.224998 # 5 2337 641 5 0.003285 11.067804 26.625000 -54.875000 # 5 2338 641 5 0.008584 9.838048 25.915003 -54.875000 # 5 -2339 643 5 0.000000 12.297561 27.335001 -58.224998 # 5 -2340 643 5 0.000000 13.527316 26.625000 -58.224998 # 5 +2339 643 6 0.000000 12.297561 27.335001 -58.224998 # 5 +2340 643 6 0.000000 13.527316 26.625000 -58.224998 # 5 2341 641 5 -0.003316 13.527316 26.625000 -54.875000 # 5 2342 641 5 -0.000890 12.297561 25.915003 -54.875000 # 5 -2343 643 5 0.000000 14.757072 27.335001 -58.224998 # 5 -2344 643 5 0.000000 15.986829 26.625000 -58.224998 # 5 +2343 643 6 0.000000 14.757072 27.335001 -58.224998 # 5 +2344 643 6 0.000000 15.986829 26.625000 -58.224998 # 5 2345 641 5 -0.001762 15.986829 26.625000 -54.875000 # 5 2346 641 5 -0.003871 14.757072 25.915003 -54.875000 # 5 -2347 643 5 0.000000 17.216585 27.335001 -58.224998 # 5 -2348 643 5 0.000000 18.446341 26.625000 -58.224998 # 5 +2347 643 6 0.000000 17.216585 27.335001 -58.224998 # 5 +2348 643 6 0.000000 18.446341 26.625000 -58.224998 # 5 2349 641 5 0.000557 18.446341 26.625000 -54.875000 # 5 2350 641 5 -0.001206 17.216585 25.915003 -54.875000 # 5 -2351 643 5 0.000000 19.676096 27.335001 -58.224998 # 5 -2352 643 5 0.000000 20.905853 26.625000 -58.224998 # 5 +2351 643 6 0.000000 19.676096 27.335001 -58.224998 # 5 +2352 643 6 0.000000 20.905853 26.625000 -58.224998 # 5 2353 641 5 -0.007701 20.905853 26.625000 -54.875000 # 5 2354 641 5 -0.003700 19.676096 25.915003 -54.875000 # 5 -2355 643 5 0.000000 22.135609 27.335001 -58.224998 # 5 -2356 643 5 0.000000 23.365364 26.625000 -58.224998 # 5 +2355 643 6 0.000000 22.135609 27.335001 -58.224998 # 5 +2356 643 6 0.000000 23.365364 26.625000 -58.224998 # 5 2357 641 5 -0.007612 23.365364 26.625000 -54.875000 # 5 2358 641 5 -0.008315 22.135609 25.915003 -54.875000 # 5 -2359 643 5 0.000000 24.595121 27.335001 -58.224998 # 5 -2360 643 5 0.000000 25.824877 26.625000 -58.224998 # 5 +2359 643 6 0.000000 24.595121 27.335001 -58.224998 # 5 +2360 643 6 0.000000 25.824877 26.625000 -58.224998 # 5 2361 641 5 -0.003587 25.824877 26.625000 -54.875000 # 5 2362 641 5 -0.002191 24.595121 25.915003 -54.875000 # 5 -2363 643 5 0.000000 27.054632 27.335001 -58.224998 # 5 -2364 643 5 0.000000 28.284389 26.625000 -58.224998 # 5 +2363 643 6 0.000000 27.054632 27.335001 -58.224998 # 5 +2364 643 6 0.000000 28.284389 26.625000 -58.224998 # 5 2365 641 5 -0.003499 28.284389 26.625000 -54.875000 # 5 2366 641 5 -0.003007 27.054632 25.915003 -54.875000 # 5 -2367 643 5 0.000000 29.514145 27.335001 -58.224998 # 5 -2368 643 5 0.000000 30.743900 26.625000 -58.224998 # 5 +2367 643 6 0.000000 29.514145 27.335001 -58.224998 # 5 +2368 643 6 0.000000 30.743900 26.625000 -58.224998 # 5 2369 641 5 0.003394 30.743900 26.625000 -54.875000 # 5 2370 641 5 -0.001233 29.514145 25.915003 -54.875000 # 5 -2371 643 5 0.000000 31.973658 27.335001 -58.224998 # 5 +2371 643 6 0.000000 31.973658 27.335001 -58.224998 # 5 2372 641 5 0.006692 31.973658 25.915003 -54.875000 # 5 -2373 643 5 0.000000 1.229756 29.465000 -58.224998 # 5 -2374 643 5 0.000000 2.459512 28.754999 -58.224998 # 5 +2373 643 6 0.000000 1.229756 29.465000 -58.224998 # 5 +2374 643 6 0.000000 2.459512 28.754999 -58.224998 # 5 2375 641 5 -0.001831 2.459512 28.754999 -54.875000 # 5 2376 641 5 0.005599 1.229756 28.045000 -54.875000 # 5 -2377 643 5 0.000000 3.689268 29.465000 -58.224998 # 5 -2378 643 5 0.000000 4.919024 28.754999 -58.224998 # 5 +2377 643 6 0.000000 3.689268 29.465000 -58.224998 # 5 +2378 643 6 0.000000 4.919024 28.754999 -58.224998 # 5 2379 641 5 -0.008531 4.919024 28.754999 -54.875000 # 5 2380 641 5 -0.006260 3.689268 28.045000 -54.875000 # 5 -2381 643 5 0.000000 6.148780 29.465000 -58.224998 # 5 -2382 643 5 0.000000 7.378536 28.754999 -58.224998 # 5 +2381 643 6 0.000000 6.148780 29.465000 -58.224998 # 5 +2382 643 6 0.000000 7.378536 28.754999 -58.224998 # 5 2383 641 5 0.001326 7.378536 28.754999 -54.875000 # 5 2384 641 5 -0.001277 6.148780 28.045000 -54.875000 # 5 -2385 643 5 0.000000 8.608293 29.465000 -58.224998 # 5 -2386 643 5 0.000000 9.838048 28.754999 -58.224998 # 5 +2385 643 6 0.000000 8.608293 29.465000 -58.224998 # 5 +2386 643 6 0.000000 9.838048 28.754999 -58.224998 # 5 2387 641 5 0.003092 9.838048 28.754999 -54.875000 # 5 2388 641 5 0.006884 8.608293 28.045000 -54.875000 # 5 -2389 643 5 0.000000 11.067804 29.465000 -58.224998 # 5 -2390 643 5 0.000000 12.297561 28.754999 -58.224998 # 5 +2389 643 6 0.000000 11.067804 29.465000 -58.224998 # 5 +2390 643 6 0.000000 12.297561 28.754999 -58.224998 # 5 2391 641 5 -0.002576 12.297561 28.754999 -54.875000 # 5 2392 641 5 0.001806 11.067804 28.045000 -54.875000 # 5 -2393 643 5 0.000000 13.527316 29.465000 -58.224998 # 5 -2394 643 5 0.000000 14.757072 28.754999 -58.224998 # 5 +2393 643 6 0.000000 13.527316 29.465000 -58.224998 # 5 +2394 643 6 0.000000 14.757072 28.754999 -58.224998 # 5 2395 641 5 -0.004872 14.757072 28.754999 -54.875000 # 5 2396 641 5 -0.004103 13.527316 28.045000 -54.875000 # 5 -2397 643 5 0.000000 15.986829 29.465000 -58.224998 # 5 -2398 643 5 0.000000 17.216585 28.754999 -58.224998 # 5 +2397 643 6 0.000000 15.986829 29.465000 -58.224998 # 5 +2398 643 6 0.000000 17.216585 28.754999 -58.224998 # 5 2399 641 5 -0.000422 17.216585 28.754999 -54.875000 # 5 2400 641 5 -0.002198 15.986829 28.045000 -54.875000 # 5 -2401 643 5 0.000000 18.446341 29.465000 -58.224998 # 5 -2402 643 5 0.000000 19.676096 28.754999 -58.224998 # 5 +2401 643 6 0.000000 18.446341 29.465000 -58.224998 # 5 +2402 643 6 0.000000 19.676096 28.754999 -58.224998 # 5 2403 641 5 0.001379 19.676096 28.754999 -54.875000 # 5 2404 641 5 0.001819 18.446341 28.045000 -54.875000 # 5 -2405 643 5 0.000000 20.905853 29.465000 -58.224998 # 5 -2406 643 5 0.000000 22.135609 28.754999 -58.224998 # 5 +2405 643 6 0.000000 20.905853 29.465000 -58.224998 # 5 +2406 643 6 0.000000 22.135609 28.754999 -58.224998 # 5 2407 641 5 -0.005427 22.135609 28.754999 -54.875000 # 5 2408 641 5 -0.004095 20.905853 28.045000 -54.875000 # 5 -2409 643 5 0.000000 23.365364 29.465000 -58.224998 # 5 -2410 643 5 0.000000 24.595121 28.754999 -58.224998 # 5 +2409 643 6 0.000000 23.365364 29.465000 -58.224998 # 5 +2410 643 6 0.000000 24.595121 28.754999 -58.224998 # 5 2411 641 5 -0.004898 24.595121 28.754999 -54.875000 # 5 2412 641 5 -0.008527 23.365364 28.045000 -54.875000 # 5 -2413 643 5 0.000000 25.824877 29.465000 -58.224998 # 5 -2414 643 5 0.000000 27.054632 28.754999 -58.224998 # 5 +2413 643 6 0.000000 25.824877 29.465000 -58.224998 # 5 +2414 643 6 0.000000 27.054632 28.754999 -58.224998 # 5 2415 641 5 -0.003380 27.054632 28.754999 -54.875000 # 5 2416 641 5 -0.004711 25.824877 28.045000 -54.875000 # 5 -2417 643 5 0.000000 28.284389 29.465000 -58.224998 # 5 -2418 643 5 0.000000 29.514145 28.754999 -58.224998 # 5 +2417 643 6 0.000000 28.284389 29.465000 -58.224998 # 5 +2418 643 6 0.000000 29.514145 28.754999 -58.224998 # 5 2419 641 5 -0.000594 29.514145 28.754999 -54.875000 # 5 2420 641 5 -0.002774 28.284389 28.045000 -54.875000 # 5 -2421 643 5 0.000000 30.743900 29.465000 -58.224998 # 5 -2422 643 5 0.000000 31.973658 28.754999 -58.224998 # 5 +2421 643 6 0.000000 30.743900 29.465000 -58.224998 # 5 +2422 643 6 0.000000 31.973658 28.754999 -58.224998 # 5 2423 641 5 0.004889 31.973658 28.754999 -54.875000 # 5 2424 641 5 0.003245 30.743900 28.045000 -54.875000 # 5 -2425 643 5 0.000000 1.229756 30.885000 -58.224998 # 5 +2425 643 6 0.000000 1.229756 30.885000 -58.224998 # 5 2426 641 5 -0.002838 1.229756 30.885000 -54.875000 # 5 -2427 643 5 0.000000 2.459512 31.594999 -58.224998 # 5 -2428 643 5 0.000000 3.689268 30.885000 -58.224998 # 5 +2427 643 6 0.000000 2.459512 31.594999 -58.224998 # 5 +2428 643 6 0.000000 3.689268 30.885000 -58.224998 # 5 2429 641 5 -0.006812 3.689268 30.885000 -54.875000 # 5 2430 641 5 -0.004015 2.459512 30.174999 -54.875000 # 5 -2431 643 5 0.000000 4.919024 31.594999 -58.224998 # 5 -2432 643 5 0.000000 6.148780 30.885000 -58.224998 # 5 +2431 643 6 0.000000 4.919024 31.594999 -58.224998 # 5 +2432 643 6 0.000000 6.148780 30.885000 -58.224998 # 5 2433 641 5 -0.006069 6.148780 30.885000 -54.875000 # 5 2434 641 5 -0.008296 4.919024 30.174999 -54.875000 # 5 -2435 643 5 0.000000 7.378536 31.594999 -58.224998 # 5 -2436 643 5 0.000000 8.608293 30.885000 -58.224998 # 5 +2435 643 6 0.000000 7.378536 31.594999 -58.224998 # 5 +2436 643 6 0.000000 8.608293 30.885000 -58.224998 # 5 2437 641 5 -0.002255 8.608293 30.885000 -54.875000 # 5 2438 641 5 -0.003430 7.378536 30.174999 -54.875000 # 5 -2439 643 5 0.000000 9.838048 31.594999 -58.224998 # 5 -2440 643 5 0.000000 11.067804 30.885000 -58.224998 # 5 +2439 643 6 0.000000 9.838048 31.594999 -58.224998 # 5 +2440 643 6 0.000000 11.067804 30.885000 -58.224998 # 5 2441 641 5 -0.000229 11.067804 30.885000 -54.875000 # 5 2442 641 5 -0.000462 9.838048 30.174999 -54.875000 # 5 -2443 643 5 0.000000 12.297561 31.594999 -58.224998 # 5 -2444 643 5 0.000000 13.527316 30.885000 -58.224998 # 5 +2443 643 6 0.000000 12.297561 31.594999 -58.224998 # 5 +2444 643 6 0.000000 13.527316 30.885000 -58.224998 # 5 2445 641 5 -0.001512 13.527316 30.885000 -54.875000 # 5 2446 641 5 -0.001278 12.297561 30.174999 -54.875000 # 5 -2447 643 5 0.000000 14.757072 31.594999 -58.224998 # 5 -2448 643 5 0.000000 15.986829 30.885000 -58.224998 # 5 +2447 643 6 0.000000 14.757072 31.594999 -58.224998 # 5 +2448 643 6 0.000000 15.986829 30.885000 -58.224998 # 5 2449 641 5 -0.004102 15.986829 30.885000 -54.875000 # 5 2450 641 5 -0.004635 14.757072 30.174999 -54.875000 # 5 -2451 643 5 0.000000 17.216585 31.594999 -58.224998 # 5 -2452 643 5 0.000000 18.446341 30.885000 -58.224998 # 5 +2451 643 6 0.000000 17.216585 31.594999 -58.224998 # 5 +2452 643 6 0.000000 18.446341 30.885000 -58.224998 # 5 2453 641 5 0.004251 18.446341 30.885000 -54.875000 # 5 2454 641 5 -0.002159 17.216585 30.174999 -54.875000 # 5 -2455 643 5 0.000000 19.676096 31.594999 -58.224998 # 5 -2456 643 5 0.000000 20.905853 30.885000 -58.224998 # 5 +2455 643 6 0.000000 19.676096 31.594999 -58.224998 # 5 +2456 643 6 0.000000 20.905853 30.885000 -58.224998 # 5 2457 641 5 0.008685 20.905853 30.885000 -54.875000 # 5 2458 641 5 0.005523 19.676096 30.174999 -54.875000 # 5 -2459 643 5 0.000000 22.135609 31.594999 -58.224998 # 5 -2460 643 5 0.000000 23.365364 30.885000 -58.224998 # 5 +2459 643 6 0.000000 22.135609 31.594999 -58.224998 # 5 +2460 643 6 0.000000 23.365364 30.885000 -58.224998 # 5 2461 641 5 0.002572 23.365364 30.885000 -54.875000 # 5 2462 641 5 0.002376 22.135609 30.174999 -54.875000 # 5 -2463 643 5 0.000000 24.595121 31.594999 -58.224998 # 5 -2464 643 5 0.000000 25.824877 30.885000 -58.224998 # 5 +2463 643 6 0.000000 24.595121 31.594999 -58.224998 # 5 +2464 643 6 0.000000 25.824877 30.885000 -58.224998 # 5 2465 641 5 -0.000839 25.824877 30.885000 -54.875000 # 5 2466 641 5 -0.001646 24.595121 30.174999 -54.875000 # 5 -2467 643 5 0.000000 27.054632 31.594999 -58.224998 # 5 -2468 643 5 0.000000 28.284389 30.885000 -58.224998 # 5 +2467 643 6 0.000000 27.054632 31.594999 -58.224998 # 5 +2468 643 6 0.000000 28.284389 30.885000 -58.224998 # 5 2469 641 5 -0.002002 28.284389 30.885000 -54.875000 # 5 2470 641 5 -0.002164 27.054632 30.174999 -54.875000 # 5 -2471 643 5 0.000000 29.514145 31.594999 -58.224998 # 5 -2472 643 5 0.000000 30.743900 30.885000 -58.224998 # 5 +2471 643 6 0.000000 29.514145 31.594999 -58.224998 # 5 +2472 643 6 0.000000 30.743900 30.885000 -58.224998 # 5 2473 641 5 -0.002250 30.743900 30.885000 -54.875000 # 5 2474 641 5 -0.001397 29.514145 30.174999 -54.875000 # 5 -2475 643 5 0.000000 31.973658 31.594999 -58.224998 # 5 +2475 643 6 0.000000 31.973658 31.594999 -58.224998 # 5 2476 641 5 -0.000786 31.973658 30.174999 -54.875000 # 5 -2477 643 5 0.000000 1.229756 33.724998 -58.224998 # 5 -2478 643 5 0.000000 2.459512 33.014999 -58.224998 # 5 +2477 643 6 0.000000 1.229756 33.724998 -58.224998 # 5 +2478 643 6 0.000000 2.459512 33.014999 -58.224998 # 5 2479 641 5 -0.000772 2.459512 33.014999 -54.875000 # 5 2480 641 5 -0.005455 1.229756 32.305000 -54.875000 # 5 -2481 643 5 0.000000 3.689268 33.724998 -58.224998 # 5 -2482 643 5 0.000000 4.919024 33.014999 -58.224998 # 5 +2481 643 6 0.000000 3.689268 33.724998 -58.224998 # 5 +2482 643 6 0.000000 4.919024 33.014999 -58.224998 # 5 2483 641 5 0.003106 4.919024 33.014999 -54.875000 # 5 2484 641 5 -0.001614 3.689268 32.305000 -54.875000 # 5 -2485 643 5 0.000000 6.148780 33.724998 -58.224998 # 5 -2486 643 5 0.000000 7.378536 33.014999 -58.224998 # 5 +2485 643 6 0.000000 6.148780 33.724998 -58.224998 # 5 +2486 643 6 0.000000 7.378536 33.014999 -58.224998 # 5 2487 641 5 -0.000846 7.378536 33.014999 -54.875000 # 5 2488 641 5 -0.002162 6.148780 32.305000 -54.875000 # 5 -2489 643 5 0.000000 8.608293 33.724998 -58.224998 # 5 -2490 643 5 0.000000 9.838048 33.014999 -58.224998 # 5 +2489 643 6 0.000000 8.608293 33.724998 -58.224998 # 5 +2490 643 6 0.000000 9.838048 33.014999 -58.224998 # 5 2491 641 5 -0.000940 9.838048 33.014999 -54.875000 # 5 2492 641 5 -0.003071 8.608293 32.305000 -54.875000 # 5 -2493 643 5 0.000000 11.067804 33.724998 -58.224998 # 5 -2494 643 5 0.000000 12.297561 33.014999 -58.224998 # 5 +2493 643 6 0.000000 11.067804 33.724998 -58.224998 # 5 +2494 643 6 0.000000 12.297561 33.014999 -58.224998 # 5 2495 641 5 0.007028 12.297561 33.014999 -54.875000 # 5 2496 641 5 0.000774 11.067804 32.305000 -54.875000 # 5 -2497 643 5 0.000000 13.527316 33.724998 -58.224998 # 5 -2498 643 5 0.000000 14.757072 33.014999 -58.224998 # 5 +2497 643 6 0.000000 13.527316 33.724998 -58.224998 # 5 +2498 643 6 0.000000 14.757072 33.014999 -58.224998 # 5 2499 641 5 0.008285 14.757072 33.014999 -54.875000 # 5 2500 641 5 0.004584 13.527316 32.305000 -54.875000 # 5 -2501 643 5 0.000000 15.986829 33.724998 -58.224998 # 5 -2502 643 5 0.000000 17.216585 33.014999 -58.224998 # 5 +2501 643 6 0.000000 15.986829 33.724998 -58.224998 # 5 +2502 643 6 0.000000 17.216585 33.014999 -58.224998 # 5 2503 641 5 0.004904 17.216585 33.014999 -54.875000 # 5 2504 641 5 0.000781 15.986829 32.305000 -54.875000 # 5 -2505 643 5 0.000000 18.446341 33.724998 -58.224998 # 5 -2506 643 5 0.000000 19.676096 33.014999 -58.224998 # 5 +2505 643 6 0.000000 18.446341 33.724998 -58.224998 # 5 +2506 643 6 0.000000 19.676096 33.014999 -58.224998 # 5 2507 641 5 0.014678 19.676096 33.014999 -54.875000 # 5 2508 641 5 0.006950 18.446341 32.305000 -54.875000 # 5 -2509 643 5 0.000000 20.905853 33.724998 -58.224998 # 5 -2510 643 5 0.000000 22.135609 33.014999 -58.224998 # 5 +2509 643 6 0.000000 20.905853 33.724998 -58.224998 # 5 +2510 643 6 0.000000 22.135609 33.014999 -58.224998 # 5 2511 641 5 0.013213 22.135609 33.014999 -54.875000 # 5 2512 641 5 0.014441 20.905853 32.305000 -54.875000 # 5 -2513 643 5 0.000000 23.365364 33.724998 -58.224998 # 5 -2514 643 5 0.000000 24.595121 33.014999 -58.224998 # 5 +2513 643 6 0.000000 23.365364 33.724998 -58.224998 # 5 +2514 643 6 0.000000 24.595121 33.014999 -58.224998 # 5 2515 641 5 0.005259 24.595121 33.014999 -54.875000 # 5 2516 641 5 0.006529 23.365364 32.305000 -54.875000 # 5 -2517 643 5 0.000000 25.824877 33.724998 -58.224998 # 5 -2518 643 5 0.000000 27.054632 33.014999 -58.224998 # 5 +2517 643 6 0.000000 25.824877 33.724998 -58.224998 # 5 +2518 643 6 0.000000 27.054632 33.014999 -58.224998 # 5 2519 641 5 0.001456 27.054632 33.014999 -54.875000 # 5 2520 641 5 0.001437 25.824877 32.305000 -54.875000 # 5 -2521 643 5 0.000000 28.284389 33.724998 -58.224998 # 5 -2522 643 5 0.000000 29.514145 33.014999 -58.224998 # 5 +2521 643 6 0.000000 28.284389 33.724998 -58.224998 # 5 +2522 643 6 0.000000 29.514145 33.014999 -58.224998 # 5 2523 641 5 -0.003657 29.514145 33.014999 -54.875000 # 5 2524 641 5 -0.001334 28.284389 32.305000 -54.875000 # 5 -2525 643 5 0.000000 30.743900 33.724998 -58.224998 # 5 -2526 643 5 0.000000 31.973658 33.014999 -58.224998 # 5 +2525 643 6 0.000000 30.743900 33.724998 -58.224998 # 5 +2526 643 6 0.000000 31.973658 33.014999 -58.224998 # 5 2527 641 5 -0.007720 31.973658 33.014999 -54.875000 # 5 2528 641 5 -0.004950 30.743900 32.305000 -54.875000 # 5 2529 642 5 -0.000663 1.229756 1.065000 54.875008 # 5 @@ -2982,838 +2984,838 @@ Angle Coeffs # harmonic 2942 642 5 -0.006769 28.284389 32.305000 54.875008 # 5 2943 642 5 0.003066 31.973658 33.014999 54.875008 # 5 2944 642 5 0.001246 30.743900 32.305000 54.875008 # 5 -2945 644 5 0.000000 1.229756 1.065000 58.225006 # 5 -2946 646 5 0.000000 1.229756 1.065000 61.574997 # 5 -2947 644 5 0.000000 2.459512 1.775000 58.225006 # 5 -2948 644 5 0.000000 3.689268 1.065000 58.225006 # 5 -2949 646 5 0.000000 3.689268 1.065000 61.574997 # 5 -2950 646 5 0.000000 2.459512 0.355000 61.574997 # 5 -2951 644 5 0.000000 4.919024 1.775000 58.225006 # 5 -2952 644 5 0.000000 6.148780 1.065000 58.225006 # 5 -2953 646 5 0.000000 6.148780 1.065000 61.574997 # 5 -2954 646 5 0.000000 4.919024 0.355000 61.574997 # 5 -2955 644 5 0.000000 7.378536 1.775000 58.225006 # 5 -2956 644 5 0.000000 8.608293 1.065000 58.225006 # 5 -2957 646 5 0.000000 8.608293 1.065000 61.574997 # 5 -2958 646 5 0.000000 7.378536 0.355000 61.574997 # 5 -2959 644 5 0.000000 9.838048 1.775000 58.225006 # 5 -2960 644 5 0.000000 11.067804 1.065000 58.225006 # 5 -2961 646 5 0.000000 11.067804 1.065000 61.574997 # 5 -2962 646 5 0.000000 9.838048 0.355000 61.574997 # 5 -2963 644 5 0.000000 12.297561 1.775000 58.225006 # 5 -2964 644 5 0.000000 13.527316 1.065000 58.225006 # 5 -2965 646 5 0.000000 13.527316 1.065000 61.574997 # 5 -2966 646 5 0.000000 12.297561 0.355000 61.574997 # 5 -2967 644 5 0.000000 14.757072 1.775000 58.225006 # 5 -2968 644 5 0.000000 15.986829 1.065000 58.225006 # 5 -2969 646 5 0.000000 15.986829 1.065000 61.574997 # 5 -2970 646 5 0.000000 14.757072 0.355000 61.574997 # 5 -2971 644 5 0.000000 17.216585 1.775000 58.225006 # 5 -2972 644 5 0.000000 18.446341 1.065000 58.225006 # 5 -2973 646 5 0.000000 18.446341 1.065000 61.574997 # 5 -2974 646 5 0.000000 17.216585 0.355000 61.574997 # 5 -2975 644 5 0.000000 19.676096 1.775000 58.225006 # 5 -2976 644 5 0.000000 20.905853 1.065000 58.225006 # 5 -2977 646 5 0.000000 20.905853 1.065000 61.574997 # 5 -2978 646 5 0.000000 19.676096 0.355000 61.574997 # 5 -2979 644 5 0.000000 22.135609 1.775000 58.225006 # 5 -2980 644 5 0.000000 23.365364 1.065000 58.225006 # 5 -2981 646 5 0.000000 23.365364 1.065000 61.574997 # 5 -2982 646 5 0.000000 22.135609 0.355000 61.574997 # 5 -2983 644 5 0.000000 24.595121 1.775000 58.225006 # 5 -2984 644 5 0.000000 25.824877 1.065000 58.225006 # 5 -2985 646 5 0.000000 25.824877 1.065000 61.574997 # 5 -2986 646 5 0.000000 24.595121 0.355000 61.574997 # 5 -2987 644 5 0.000000 27.054632 1.775000 58.225006 # 5 -2988 644 5 0.000000 28.284389 1.065000 58.225006 # 5 -2989 646 5 0.000000 28.284389 1.065000 61.574997 # 5 -2990 646 5 0.000000 27.054632 0.355000 61.574997 # 5 -2991 644 5 0.000000 29.514145 1.775000 58.225006 # 5 -2992 644 5 0.000000 30.743900 1.065000 58.225006 # 5 -2993 646 5 0.000000 30.743900 1.065000 61.574997 # 5 -2994 646 5 0.000000 29.514145 0.355000 61.574997 # 5 -2995 644 5 0.000000 31.973658 1.775000 58.225006 # 5 -2996 646 5 0.000000 31.973658 0.355000 61.574997 # 5 -2997 644 5 0.000000 1.229756 3.905000 58.225006 # 5 -2998 644 5 0.000000 2.459512 3.195000 58.225006 # 5 -2999 646 5 0.000000 2.459512 3.195000 61.574997 # 5 -3000 646 5 0.000000 1.229756 2.485000 61.574997 # 5 -3001 644 5 0.000000 3.689268 3.905000 58.225006 # 5 -3002 644 5 0.000000 4.919024 3.195000 58.225006 # 5 -3003 646 5 0.000000 4.919024 3.195000 61.574997 # 5 -3004 646 5 0.000000 3.689268 2.485000 61.574997 # 5 -3005 644 5 0.000000 6.148780 3.905000 58.225006 # 5 -3006 644 5 0.000000 7.378536 3.195000 58.225006 # 5 -3007 646 5 0.000000 7.378536 3.195000 61.574997 # 5 -3008 646 5 0.000000 6.148780 2.485000 61.574997 # 5 -3009 644 5 0.000000 8.608293 3.905000 58.225006 # 5 -3010 644 5 0.000000 9.838048 3.195000 58.225006 # 5 -3011 646 5 0.000000 9.838048 3.195000 61.574997 # 5 -3012 646 5 0.000000 8.608293 2.485000 61.574997 # 5 -3013 644 5 0.000000 11.067804 3.905000 58.225006 # 5 -3014 644 5 0.000000 12.297561 3.195000 58.225006 # 5 -3015 646 5 0.000000 12.297561 3.195000 61.574997 # 5 -3016 646 5 0.000000 11.067804 2.485000 61.574997 # 5 -3017 644 5 0.000000 13.527316 3.905000 58.225006 # 5 -3018 644 5 0.000000 14.757072 3.195000 58.225006 # 5 -3019 646 5 0.000000 14.757072 3.195000 61.574997 # 5 -3020 646 5 0.000000 13.527316 2.485000 61.574997 # 5 -3021 644 5 0.000000 15.986829 3.905000 58.225006 # 5 -3022 644 5 0.000000 17.216585 3.195000 58.225006 # 5 -3023 646 5 0.000000 17.216585 3.195000 61.574997 # 5 -3024 646 5 0.000000 15.986829 2.485000 61.574997 # 5 -3025 644 5 0.000000 18.446341 3.905000 58.225006 # 5 -3026 644 5 0.000000 19.676096 3.195000 58.225006 # 5 -3027 646 5 0.000000 19.676096 3.195000 61.574997 # 5 -3028 646 5 0.000000 18.446341 2.485000 61.574997 # 5 -3029 644 5 0.000000 20.905853 3.905000 58.225006 # 5 -3030 644 5 0.000000 22.135609 3.195000 58.225006 # 5 -3031 646 5 0.000000 22.135609 3.195000 61.574997 # 5 -3032 646 5 0.000000 20.905853 2.485000 61.574997 # 5 -3033 644 5 0.000000 23.365364 3.905000 58.225006 # 5 -3034 644 5 0.000000 24.595121 3.195000 58.225006 # 5 -3035 646 5 0.000000 24.595121 3.195000 61.574997 # 5 -3036 646 5 0.000000 23.365364 2.485000 61.574997 # 5 -3037 644 5 0.000000 25.824877 3.905000 58.225006 # 5 -3038 644 5 0.000000 27.054632 3.195000 58.225006 # 5 -3039 646 5 0.000000 27.054632 3.195000 61.574997 # 5 -3040 646 5 0.000000 25.824877 2.485000 61.574997 # 5 -3041 644 5 0.000000 28.284389 3.905000 58.225006 # 5 -3042 644 5 0.000000 29.514145 3.195000 58.225006 # 5 -3043 646 5 0.000000 29.514145 3.195000 61.574997 # 5 -3044 646 5 0.000000 28.284389 2.485000 61.574997 # 5 -3045 644 5 0.000000 30.743900 3.905000 58.225006 # 5 -3046 644 5 0.000000 31.973658 3.195000 58.225006 # 5 -3047 646 5 0.000000 31.973658 3.195000 61.574997 # 5 -3048 646 5 0.000000 30.743900 2.485000 61.574997 # 5 -3049 644 5 0.000000 1.229756 5.325000 58.225006 # 5 -3050 646 5 0.000000 1.229756 5.325000 61.574997 # 5 -3051 644 5 0.000000 2.459512 6.035000 58.225006 # 5 -3052 644 5 0.000000 3.689268 5.325000 58.225006 # 5 -3053 646 5 0.000000 3.689268 5.325000 61.574997 # 5 -3054 646 5 0.000000 2.459512 4.615000 61.574997 # 5 -3055 644 5 0.000000 4.919024 6.035000 58.225006 # 5 -3056 644 5 0.000000 6.148780 5.325000 58.225006 # 5 -3057 646 5 0.000000 6.148780 5.325000 61.574997 # 5 -3058 646 5 0.000000 4.919024 4.615000 61.574997 # 5 -3059 644 5 0.000000 7.378536 6.035000 58.225006 # 5 -3060 644 5 0.000000 8.608293 5.325000 58.225006 # 5 -3061 646 5 0.000000 8.608293 5.325000 61.574997 # 5 -3062 646 5 0.000000 7.378536 4.615000 61.574997 # 5 -3063 644 5 0.000000 9.838048 6.035000 58.225006 # 5 -3064 644 5 0.000000 11.067804 5.325000 58.225006 # 5 -3065 646 5 0.000000 11.067804 5.325000 61.574997 # 5 -3066 646 5 0.000000 9.838048 4.615000 61.574997 # 5 -3067 644 5 0.000000 12.297561 6.035000 58.225006 # 5 -3068 644 5 0.000000 13.527316 5.325000 58.225006 # 5 -3069 646 5 0.000000 13.527316 5.325000 61.574997 # 5 -3070 646 5 0.000000 12.297561 4.615000 61.574997 # 5 -3071 644 5 0.000000 14.757072 6.035000 58.225006 # 5 -3072 644 5 0.000000 15.986829 5.325000 58.225006 # 5 -3073 646 5 0.000000 15.986829 5.325000 61.574997 # 5 -3074 646 5 0.000000 14.757072 4.615000 61.574997 # 5 -3075 644 5 0.000000 17.216585 6.035000 58.225006 # 5 -3076 644 5 0.000000 18.446341 5.325000 58.225006 # 5 -3077 646 5 0.000000 18.446341 5.325000 61.574997 # 5 -3078 646 5 0.000000 17.216585 4.615000 61.574997 # 5 -3079 644 5 0.000000 19.676096 6.035000 58.225006 # 5 -3080 644 5 0.000000 20.905853 5.325000 58.225006 # 5 -3081 646 5 0.000000 20.905853 5.325000 61.574997 # 5 -3082 646 5 0.000000 19.676096 4.615000 61.574997 # 5 -3083 644 5 0.000000 22.135609 6.035000 58.225006 # 5 -3084 644 5 0.000000 23.365364 5.325000 58.225006 # 5 -3085 646 5 0.000000 23.365364 5.325000 61.574997 # 5 -3086 646 5 0.000000 22.135609 4.615000 61.574997 # 5 -3087 644 5 0.000000 24.595121 6.035000 58.225006 # 5 -3088 644 5 0.000000 25.824877 5.325000 58.225006 # 5 -3089 646 5 0.000000 25.824877 5.325000 61.574997 # 5 -3090 646 5 0.000000 24.595121 4.615000 61.574997 # 5 -3091 644 5 0.000000 27.054632 6.035000 58.225006 # 5 -3092 644 5 0.000000 28.284389 5.325000 58.225006 # 5 -3093 646 5 0.000000 28.284389 5.325000 61.574997 # 5 -3094 646 5 0.000000 27.054632 4.615000 61.574997 # 5 -3095 644 5 0.000000 29.514145 6.035000 58.225006 # 5 -3096 644 5 0.000000 30.743900 5.325000 58.225006 # 5 -3097 646 5 0.000000 30.743900 5.325000 61.574997 # 5 -3098 646 5 0.000000 29.514145 4.615000 61.574997 # 5 -3099 644 5 0.000000 31.973658 6.035000 58.225006 # 5 -3100 646 5 0.000000 31.973658 4.615000 61.574997 # 5 -3101 644 5 0.000000 1.229756 8.165000 58.225006 # 5 -3102 644 5 0.000000 2.459512 7.455000 58.225006 # 5 -3103 646 5 0.000000 2.459512 7.455000 61.574997 # 5 -3104 646 5 0.000000 1.229756 6.745000 61.574997 # 5 -3105 644 5 0.000000 3.689268 8.165000 58.225006 # 5 -3106 644 5 0.000000 4.919024 7.455000 58.225006 # 5 -3107 646 5 0.000000 4.919024 7.455000 61.574997 # 5 -3108 646 5 0.000000 3.689268 6.745000 61.574997 # 5 -3109 644 5 0.000000 6.148780 8.165000 58.225006 # 5 -3110 644 5 0.000000 7.378536 7.455000 58.225006 # 5 -3111 646 5 0.000000 7.378536 7.455000 61.574997 # 5 -3112 646 5 0.000000 6.148780 6.745000 61.574997 # 5 -3113 644 5 0.000000 8.608293 8.165000 58.225006 # 5 -3114 644 5 0.000000 9.838048 7.455000 58.225006 # 5 -3115 646 5 0.000000 9.838048 7.455000 61.574997 # 5 -3116 646 5 0.000000 8.608293 6.745000 61.574997 # 5 -3117 644 5 0.000000 11.067804 8.165000 58.225006 # 5 -3118 644 5 0.000000 12.297561 7.455000 58.225006 # 5 -3119 646 5 0.000000 12.297561 7.455000 61.574997 # 5 -3120 646 5 0.000000 11.067804 6.745000 61.574997 # 5 -3121 644 5 0.000000 13.527316 8.165000 58.225006 # 5 -3122 644 5 0.000000 14.757072 7.455000 58.225006 # 5 -3123 646 5 0.000000 14.757072 7.455000 61.574997 # 5 -3124 646 5 0.000000 13.527316 6.745000 61.574997 # 5 -3125 644 5 0.000000 15.986829 8.165000 58.225006 # 5 -3126 644 5 0.000000 17.216585 7.455000 58.225006 # 5 -3127 646 5 0.000000 17.216585 7.455000 61.574997 # 5 -3128 646 5 0.000000 15.986829 6.745000 61.574997 # 5 -3129 644 5 0.000000 18.446341 8.165000 58.225006 # 5 -3130 644 5 0.000000 19.676096 7.455000 58.225006 # 5 -3131 646 5 0.000000 19.676096 7.455000 61.574997 # 5 -3132 646 5 0.000000 18.446341 6.745000 61.574997 # 5 -3133 644 5 0.000000 20.905853 8.165000 58.225006 # 5 -3134 644 5 0.000000 22.135609 7.455000 58.225006 # 5 -3135 646 5 0.000000 22.135609 7.455000 61.574997 # 5 -3136 646 5 0.000000 20.905853 6.745000 61.574997 # 5 -3137 644 5 0.000000 23.365364 8.165000 58.225006 # 5 -3138 644 5 0.000000 24.595121 7.455000 58.225006 # 5 -3139 646 5 0.000000 24.595121 7.455000 61.574997 # 5 -3140 646 5 0.000000 23.365364 6.745000 61.574997 # 5 -3141 644 5 0.000000 25.824877 8.165000 58.225006 # 5 -3142 644 5 0.000000 27.054632 7.455000 58.225006 # 5 -3143 646 5 0.000000 27.054632 7.455000 61.574997 # 5 -3144 646 5 0.000000 25.824877 6.745000 61.574997 # 5 -3145 644 5 0.000000 28.284389 8.165000 58.225006 # 5 -3146 644 5 0.000000 29.514145 7.455000 58.225006 # 5 -3147 646 5 0.000000 29.514145 7.455000 61.574997 # 5 -3148 646 5 0.000000 28.284389 6.745000 61.574997 # 5 -3149 644 5 0.000000 30.743900 8.165000 58.225006 # 5 -3150 644 5 0.000000 31.973658 7.455000 58.225006 # 5 -3151 646 5 0.000000 31.973658 7.455000 61.574997 # 5 -3152 646 5 0.000000 30.743900 6.745000 61.574997 # 5 -3153 644 5 0.000000 1.229756 9.585000 58.225006 # 5 -3154 646 5 0.000000 1.229756 9.585000 61.574997 # 5 -3155 644 5 0.000000 2.459512 10.295000 58.225006 # 5 -3156 644 5 0.000000 3.689268 9.585000 58.225006 # 5 -3157 646 5 0.000000 3.689268 9.585000 61.574997 # 5 -3158 646 5 0.000000 2.459512 8.875000 61.574997 # 5 -3159 644 5 0.000000 4.919024 10.295000 58.225006 # 5 -3160 644 5 0.000000 6.148780 9.585000 58.225006 # 5 -3161 646 5 0.000000 6.148780 9.585000 61.574997 # 5 -3162 646 5 0.000000 4.919024 8.875000 61.574997 # 5 -3163 644 5 0.000000 7.378536 10.295000 58.225006 # 5 -3164 644 5 0.000000 8.608293 9.585000 58.225006 # 5 -3165 646 5 0.000000 8.608293 9.585000 61.574997 # 5 -3166 646 5 0.000000 7.378536 8.875000 61.574997 # 5 -3167 644 5 0.000000 9.838048 10.295000 58.225006 # 5 -3168 644 5 0.000000 11.067804 9.585000 58.225006 # 5 -3169 646 5 0.000000 11.067804 9.585000 61.574997 # 5 -3170 646 5 0.000000 9.838048 8.875000 61.574997 # 5 -3171 644 5 0.000000 12.297561 10.295000 58.225006 # 5 -3172 644 5 0.000000 13.527316 9.585000 58.225006 # 5 -3173 646 5 0.000000 13.527316 9.585000 61.574997 # 5 -3174 646 5 0.000000 12.297561 8.875000 61.574997 # 5 -3175 644 5 0.000000 14.757072 10.295000 58.225006 # 5 -3176 644 5 0.000000 15.986829 9.585000 58.225006 # 5 -3177 646 5 0.000000 15.986829 9.585000 61.574997 # 5 -3178 646 5 0.000000 14.757072 8.875000 61.574997 # 5 -3179 644 5 0.000000 17.216585 10.295000 58.225006 # 5 -3180 644 5 0.000000 18.446341 9.585000 58.225006 # 5 -3181 646 5 0.000000 18.446341 9.585000 61.574997 # 5 -3182 646 5 0.000000 17.216585 8.875000 61.574997 # 5 -3183 644 5 0.000000 19.676096 10.295000 58.225006 # 5 -3184 644 5 0.000000 20.905853 9.585000 58.225006 # 5 -3185 646 5 0.000000 20.905853 9.585000 61.574997 # 5 -3186 646 5 0.000000 19.676096 8.875000 61.574997 # 5 -3187 644 5 0.000000 22.135609 10.295000 58.225006 # 5 -3188 644 5 0.000000 23.365364 9.585000 58.225006 # 5 -3189 646 5 0.000000 23.365364 9.585000 61.574997 # 5 -3190 646 5 0.000000 22.135609 8.875000 61.574997 # 5 -3191 644 5 0.000000 24.595121 10.295000 58.225006 # 5 -3192 644 5 0.000000 25.824877 9.585000 58.225006 # 5 -3193 646 5 0.000000 25.824877 9.585000 61.574997 # 5 -3194 646 5 0.000000 24.595121 8.875000 61.574997 # 5 -3195 644 5 0.000000 27.054632 10.295000 58.225006 # 5 -3196 644 5 0.000000 28.284389 9.585000 58.225006 # 5 -3197 646 5 0.000000 28.284389 9.585000 61.574997 # 5 -3198 646 5 0.000000 27.054632 8.875000 61.574997 # 5 -3199 644 5 0.000000 29.514145 10.295000 58.225006 # 5 -3200 644 5 0.000000 30.743900 9.585000 58.225006 # 5 -3201 646 5 0.000000 30.743900 9.585000 61.574997 # 5 -3202 646 5 0.000000 29.514145 8.875000 61.574997 # 5 -3203 644 5 0.000000 31.973658 10.295000 58.225006 # 5 -3204 646 5 0.000000 31.973658 8.875000 61.574997 # 5 -3205 644 5 0.000000 1.229756 12.425000 58.225006 # 5 -3206 644 5 0.000000 2.459512 11.715001 58.225006 # 5 -3207 646 5 0.000000 2.459512 11.715001 61.574997 # 5 -3208 646 5 0.000000 1.229756 11.005000 61.574997 # 5 -3209 644 5 0.000000 3.689268 12.425000 58.225006 # 5 -3210 644 5 0.000000 4.919024 11.715001 58.225006 # 5 -3211 646 5 0.000000 4.919024 11.715001 61.574997 # 5 -3212 646 5 0.000000 3.689268 11.005000 61.574997 # 5 -3213 644 5 0.000000 6.148780 12.425000 58.225006 # 5 -3214 644 5 0.000000 7.378536 11.715001 58.225006 # 5 -3215 646 5 0.000000 7.378536 11.715001 61.574997 # 5 -3216 646 5 0.000000 6.148780 11.005000 61.574997 # 5 -3217 644 5 0.000000 8.608293 12.425000 58.225006 # 5 -3218 644 5 0.000000 9.838048 11.715001 58.225006 # 5 -3219 646 5 0.000000 9.838048 11.715001 61.574997 # 5 -3220 646 5 0.000000 8.608293 11.005000 61.574997 # 5 -3221 644 5 0.000000 11.067804 12.425000 58.225006 # 5 -3222 644 5 0.000000 12.297561 11.715001 58.225006 # 5 -3223 646 5 0.000000 12.297561 11.715001 61.574997 # 5 -3224 646 5 0.000000 11.067804 11.005000 61.574997 # 5 -3225 644 5 0.000000 13.527316 12.425000 58.225006 # 5 -3226 644 5 0.000000 14.757072 11.715001 58.225006 # 5 -3227 646 5 0.000000 14.757072 11.715001 61.574997 # 5 -3228 646 5 0.000000 13.527316 11.005000 61.574997 # 5 -3229 644 5 0.000000 15.986829 12.425000 58.225006 # 5 -3230 644 5 0.000000 17.216585 11.715001 58.225006 # 5 -3231 646 5 0.000000 17.216585 11.715001 61.574997 # 5 -3232 646 5 0.000000 15.986829 11.005000 61.574997 # 5 -3233 644 5 0.000000 18.446341 12.425000 58.225006 # 5 -3234 644 5 0.000000 19.676096 11.715001 58.225006 # 5 -3235 646 5 0.000000 19.676096 11.715001 61.574997 # 5 -3236 646 5 0.000000 18.446341 11.005000 61.574997 # 5 -3237 644 5 0.000000 20.905853 12.425000 58.225006 # 5 -3238 644 5 0.000000 22.135609 11.715001 58.225006 # 5 -3239 646 5 0.000000 22.135609 11.715001 61.574997 # 5 -3240 646 5 0.000000 20.905853 11.005000 61.574997 # 5 -3241 644 5 0.000000 23.365364 12.425000 58.225006 # 5 -3242 644 5 0.000000 24.595121 11.715001 58.225006 # 5 -3243 646 5 0.000000 24.595121 11.715001 61.574997 # 5 -3244 646 5 0.000000 23.365364 11.005000 61.574997 # 5 -3245 644 5 0.000000 25.824877 12.425000 58.225006 # 5 -3246 644 5 0.000000 27.054632 11.715001 58.225006 # 5 -3247 646 5 0.000000 27.054632 11.715001 61.574997 # 5 -3248 646 5 0.000000 25.824877 11.005000 61.574997 # 5 -3249 644 5 0.000000 28.284389 12.425000 58.225006 # 5 -3250 644 5 0.000000 29.514145 11.715001 58.225006 # 5 -3251 646 5 0.000000 29.514145 11.715001 61.574997 # 5 -3252 646 5 0.000000 28.284389 11.005000 61.574997 # 5 -3253 644 5 0.000000 30.743900 12.425000 58.225006 # 5 -3254 644 5 0.000000 31.973658 11.715001 58.225006 # 5 -3255 646 5 0.000000 31.973658 11.715001 61.574997 # 5 -3256 646 5 0.000000 30.743900 11.005000 61.574997 # 5 -3257 644 5 0.000000 1.229756 13.845000 58.225006 # 5 -3258 646 5 0.000000 1.229756 13.845000 61.574997 # 5 -3259 644 5 0.000000 2.459512 14.555000 58.225006 # 5 -3260 644 5 0.000000 3.689268 13.845000 58.225006 # 5 -3261 646 5 0.000000 3.689268 13.845000 61.574997 # 5 -3262 646 5 0.000000 2.459512 13.135000 61.574997 # 5 -3263 644 5 0.000000 4.919024 14.555000 58.225006 # 5 -3264 644 5 0.000000 6.148780 13.845000 58.225006 # 5 -3265 646 5 0.000000 6.148780 13.845000 61.574997 # 5 -3266 646 5 0.000000 4.919024 13.135000 61.574997 # 5 -3267 644 5 0.000000 7.378536 14.555000 58.225006 # 5 -3268 644 5 0.000000 8.608293 13.845000 58.225006 # 5 -3269 646 5 0.000000 8.608293 13.845000 61.574997 # 5 -3270 646 5 0.000000 7.378536 13.135000 61.574997 # 5 -3271 644 5 0.000000 9.838048 14.555000 58.225006 # 5 -3272 644 5 0.000000 11.067804 13.845000 58.225006 # 5 -3273 646 5 0.000000 11.067804 13.845000 61.574997 # 5 -3274 646 5 0.000000 9.838048 13.135000 61.574997 # 5 -3275 644 5 0.000000 12.297561 14.555000 58.225006 # 5 -3276 644 5 0.000000 13.527316 13.845000 58.225006 # 5 -3277 646 5 0.000000 13.527316 13.845000 61.574997 # 5 -3278 646 5 0.000000 12.297561 13.135000 61.574997 # 5 -3279 644 5 0.000000 14.757072 14.555000 58.225006 # 5 -3280 644 5 0.000000 15.986829 13.845000 58.225006 # 5 -3281 646 5 0.000000 15.986829 13.845000 61.574997 # 5 -3282 646 5 0.000000 14.757072 13.135000 61.574997 # 5 -3283 644 5 0.000000 17.216585 14.555000 58.225006 # 5 -3284 644 5 0.000000 18.446341 13.845000 58.225006 # 5 -3285 646 5 0.000000 18.446341 13.845000 61.574997 # 5 -3286 646 5 0.000000 17.216585 13.135000 61.574997 # 5 -3287 644 5 0.000000 19.676096 14.555000 58.225006 # 5 -3288 644 5 0.000000 20.905853 13.845000 58.225006 # 5 -3289 646 5 0.000000 20.905853 13.845000 61.574997 # 5 -3290 646 5 0.000000 19.676096 13.135000 61.574997 # 5 -3291 644 5 0.000000 22.135609 14.555000 58.225006 # 5 -3292 644 5 0.000000 23.365364 13.845000 58.225006 # 5 -3293 646 5 0.000000 23.365364 13.845000 61.574997 # 5 -3294 646 5 0.000000 22.135609 13.135000 61.574997 # 5 -3295 644 5 0.000000 24.595121 14.555000 58.225006 # 5 -3296 644 5 0.000000 25.824877 13.845000 58.225006 # 5 -3297 646 5 0.000000 25.824877 13.845000 61.574997 # 5 -3298 646 5 0.000000 24.595121 13.135000 61.574997 # 5 -3299 644 5 0.000000 27.054632 14.555000 58.225006 # 5 -3300 644 5 0.000000 28.284389 13.845000 58.225006 # 5 -3301 646 5 0.000000 28.284389 13.845000 61.574997 # 5 -3302 646 5 0.000000 27.054632 13.135000 61.574997 # 5 -3303 644 5 0.000000 29.514145 14.555000 58.225006 # 5 -3304 644 5 0.000000 30.743900 13.845000 58.225006 # 5 -3305 646 5 0.000000 30.743900 13.845000 61.574997 # 5 -3306 646 5 0.000000 29.514145 13.135000 61.574997 # 5 -3307 644 5 0.000000 31.973658 14.555000 58.225006 # 5 -3308 646 5 0.000000 31.973658 13.135000 61.574997 # 5 -3309 644 5 0.000000 1.229756 16.684999 58.225006 # 5 -3310 644 5 0.000000 2.459512 15.975000 58.225006 # 5 -3311 646 5 0.000000 2.459512 15.975000 61.574997 # 5 -3312 646 5 0.000000 1.229756 15.265000 61.574997 # 5 -3313 644 5 0.000000 3.689268 16.684999 58.225006 # 5 -3314 644 5 0.000000 4.919024 15.975000 58.225006 # 5 -3315 646 5 0.000000 4.919024 15.975000 61.574997 # 5 -3316 646 5 0.000000 3.689268 15.265000 61.574997 # 5 -3317 644 5 0.000000 6.148780 16.684999 58.225006 # 5 -3318 644 5 0.000000 7.378536 15.975000 58.225006 # 5 -3319 646 5 0.000000 7.378536 15.975000 61.574997 # 5 -3320 646 5 0.000000 6.148780 15.265000 61.574997 # 5 -3321 644 5 0.000000 8.608293 16.684999 58.225006 # 5 -3322 644 5 0.000000 9.838048 15.975000 58.225006 # 5 -3323 646 5 0.000000 9.838048 15.975000 61.574997 # 5 -3324 646 5 0.000000 8.608293 15.265000 61.574997 # 5 -3325 644 5 0.000000 11.067804 16.684999 58.225006 # 5 -3326 644 5 0.000000 12.297561 15.975000 58.225006 # 5 -3327 646 5 0.000000 12.297561 15.975000 61.574997 # 5 -3328 646 5 0.000000 11.067804 15.265000 61.574997 # 5 -3329 644 5 0.000000 13.527316 16.684999 58.225006 # 5 -3330 644 5 0.000000 14.757072 15.975000 58.225006 # 5 -3331 646 5 0.000000 14.757072 15.975000 61.574997 # 5 -3332 646 5 0.000000 13.527316 15.265000 61.574997 # 5 -3333 644 5 0.000000 15.986829 16.684999 58.225006 # 5 -3334 644 5 0.000000 17.216585 15.975000 58.225006 # 5 -3335 646 5 0.000000 17.216585 15.975000 61.574997 # 5 -3336 646 5 0.000000 15.986829 15.265000 61.574997 # 5 -3337 644 5 0.000000 18.446341 16.684999 58.225006 # 5 -3338 644 5 0.000000 19.676096 15.975000 58.225006 # 5 -3339 646 5 0.000000 19.676096 15.975000 61.574997 # 5 -3340 646 5 0.000000 18.446341 15.265000 61.574997 # 5 -3341 644 5 0.000000 20.905853 16.684999 58.225006 # 5 -3342 644 5 0.000000 22.135609 15.975000 58.225006 # 5 -3343 646 5 0.000000 22.135609 15.975000 61.574997 # 5 -3344 646 5 0.000000 20.905853 15.265000 61.574997 # 5 -3345 644 5 0.000000 23.365364 16.684999 58.225006 # 5 -3346 644 5 0.000000 24.595121 15.975000 58.225006 # 5 -3347 646 5 0.000000 24.595121 15.975000 61.574997 # 5 -3348 646 5 0.000000 23.365364 15.265000 61.574997 # 5 -3349 644 5 0.000000 25.824877 16.684999 58.225006 # 5 -3350 644 5 0.000000 27.054632 15.975000 58.225006 # 5 -3351 646 5 0.000000 27.054632 15.975000 61.574997 # 5 -3352 646 5 0.000000 25.824877 15.265000 61.574997 # 5 -3353 644 5 0.000000 28.284389 16.684999 58.225006 # 5 -3354 644 5 0.000000 29.514145 15.975000 58.225006 # 5 -3355 646 5 0.000000 29.514145 15.975000 61.574997 # 5 -3356 646 5 0.000000 28.284389 15.265000 61.574997 # 5 -3357 644 5 0.000000 30.743900 16.684999 58.225006 # 5 -3358 644 5 0.000000 31.973658 15.975000 58.225006 # 5 -3359 646 5 0.000000 31.973658 15.975000 61.574997 # 5 -3360 646 5 0.000000 30.743900 15.265000 61.574997 # 5 -3361 644 5 0.000000 1.229756 18.105000 58.225006 # 5 -3362 646 5 0.000000 1.229756 18.105000 61.574997 # 5 -3363 644 5 0.000000 2.459512 18.815001 58.225006 # 5 -3364 644 5 0.000000 3.689268 18.105000 58.225006 # 5 -3365 646 5 0.000000 3.689268 18.105000 61.574997 # 5 -3366 646 5 0.000000 2.459512 17.395000 61.574997 # 5 -3367 644 5 0.000000 4.919024 18.815001 58.225006 # 5 -3368 644 5 0.000000 6.148780 18.105000 58.225006 # 5 -3369 646 5 0.000000 6.148780 18.105000 61.574997 # 5 -3370 646 5 0.000000 4.919024 17.395000 61.574997 # 5 -3371 644 5 0.000000 7.378536 18.815001 58.225006 # 5 -3372 644 5 0.000000 8.608293 18.105000 58.225006 # 5 -3373 646 5 0.000000 8.608293 18.105000 61.574997 # 5 -3374 646 5 0.000000 7.378536 17.395000 61.574997 # 5 -3375 644 5 0.000000 9.838048 18.815001 58.225006 # 5 -3376 644 5 0.000000 11.067804 18.105000 58.225006 # 5 -3377 646 5 0.000000 11.067804 18.105000 61.574997 # 5 -3378 646 5 0.000000 9.838048 17.395000 61.574997 # 5 -3379 644 5 0.000000 12.297561 18.815001 58.225006 # 5 -3380 644 5 0.000000 13.527316 18.105000 58.225006 # 5 -3381 646 5 0.000000 13.527316 18.105000 61.574997 # 5 -3382 646 5 0.000000 12.297561 17.395000 61.574997 # 5 -3383 644 5 0.000000 14.757072 18.815001 58.225006 # 5 -3384 644 5 0.000000 15.986829 18.105000 58.225006 # 5 -3385 646 5 0.000000 15.986829 18.105000 61.574997 # 5 -3386 646 5 0.000000 14.757072 17.395000 61.574997 # 5 -3387 644 5 0.000000 17.216585 18.815001 58.225006 # 5 -3388 644 5 0.000000 18.446341 18.105000 58.225006 # 5 -3389 646 5 0.000000 18.446341 18.105000 61.574997 # 5 -3390 646 5 0.000000 17.216585 17.395000 61.574997 # 5 -3391 644 5 0.000000 19.676096 18.815001 58.225006 # 5 -3392 644 5 0.000000 20.905853 18.105000 58.225006 # 5 -3393 646 5 0.000000 20.905853 18.105000 61.574997 # 5 -3394 646 5 0.000000 19.676096 17.395000 61.574997 # 5 -3395 644 5 0.000000 22.135609 18.815001 58.225006 # 5 -3396 644 5 0.000000 23.365364 18.105000 58.225006 # 5 -3397 646 5 0.000000 23.365364 18.105000 61.574997 # 5 -3398 646 5 0.000000 22.135609 17.395000 61.574997 # 5 -3399 644 5 0.000000 24.595121 18.815001 58.225006 # 5 -3400 644 5 0.000000 25.824877 18.105000 58.225006 # 5 -3401 646 5 0.000000 25.824877 18.105000 61.574997 # 5 -3402 646 5 0.000000 24.595121 17.395000 61.574997 # 5 -3403 644 5 0.000000 27.054632 18.815001 58.225006 # 5 -3404 644 5 0.000000 28.284389 18.105000 58.225006 # 5 -3405 646 5 0.000000 28.284389 18.105000 61.574997 # 5 -3406 646 5 0.000000 27.054632 17.395000 61.574997 # 5 -3407 644 5 0.000000 29.514145 18.815001 58.225006 # 5 -3408 644 5 0.000000 30.743900 18.105000 58.225006 # 5 -3409 646 5 0.000000 30.743900 18.105000 61.574997 # 5 -3410 646 5 0.000000 29.514145 17.395000 61.574997 # 5 -3411 644 5 0.000000 31.973658 18.815001 58.225006 # 5 -3412 646 5 0.000000 31.973658 17.395000 61.574997 # 5 -3413 644 5 0.000000 1.229756 20.945002 58.225006 # 5 -3414 644 5 0.000000 2.459512 20.235001 58.225006 # 5 -3415 646 5 0.000000 2.459512 20.235001 61.574997 # 5 -3416 646 5 0.000000 1.229756 19.525000 61.574997 # 5 -3417 644 5 0.000000 3.689268 20.945002 58.225006 # 5 -3418 644 5 0.000000 4.919024 20.235001 58.225006 # 5 -3419 646 5 0.000000 4.919024 20.235001 61.574997 # 5 -3420 646 5 0.000000 3.689268 19.525000 61.574997 # 5 -3421 644 5 0.000000 6.148780 20.945002 58.225006 # 5 -3422 644 5 0.000000 7.378536 20.235001 58.225006 # 5 -3423 646 5 0.000000 7.378536 20.235001 61.574997 # 5 -3424 646 5 0.000000 6.148780 19.525000 61.574997 # 5 -3425 644 5 0.000000 8.608293 20.945002 58.225006 # 5 -3426 644 5 0.000000 9.838048 20.235001 58.225006 # 5 -3427 646 5 0.000000 9.838048 20.235001 61.574997 # 5 -3428 646 5 0.000000 8.608293 19.525000 61.574997 # 5 -3429 644 5 0.000000 11.067804 20.945002 58.225006 # 5 -3430 644 5 0.000000 12.297561 20.235001 58.225006 # 5 -3431 646 5 0.000000 12.297561 20.235001 61.574997 # 5 -3432 646 5 0.000000 11.067804 19.525000 61.574997 # 5 -3433 644 5 0.000000 13.527316 20.945002 58.225006 # 5 -3434 644 5 0.000000 14.757072 20.235001 58.225006 # 5 -3435 646 5 0.000000 14.757072 20.235001 61.574997 # 5 -3436 646 5 0.000000 13.527316 19.525000 61.574997 # 5 -3437 644 5 0.000000 15.986829 20.945002 58.225006 # 5 -3438 644 5 0.000000 17.216585 20.235001 58.225006 # 5 -3439 646 5 0.000000 17.216585 20.235001 61.574997 # 5 -3440 646 5 0.000000 15.986829 19.525000 61.574997 # 5 -3441 644 5 0.000000 18.446341 20.945002 58.225006 # 5 -3442 644 5 0.000000 19.676096 20.235001 58.225006 # 5 -3443 646 5 0.000000 19.676096 20.235001 61.574997 # 5 -3444 646 5 0.000000 18.446341 19.525000 61.574997 # 5 -3445 644 5 0.000000 20.905853 20.945002 58.225006 # 5 -3446 644 5 0.000000 22.135609 20.235001 58.225006 # 5 -3447 646 5 0.000000 22.135609 20.235001 61.574997 # 5 -3448 646 5 0.000000 20.905853 19.525000 61.574997 # 5 -3449 644 5 0.000000 23.365364 20.945002 58.225006 # 5 -3450 644 5 0.000000 24.595121 20.235001 58.225006 # 5 -3451 646 5 0.000000 24.595121 20.235001 61.574997 # 5 -3452 646 5 0.000000 23.365364 19.525000 61.574997 # 5 -3453 644 5 0.000000 25.824877 20.945002 58.225006 # 5 -3454 644 5 0.000000 27.054632 20.235001 58.225006 # 5 -3455 646 5 0.000000 27.054632 20.235001 61.574997 # 5 -3456 646 5 0.000000 25.824877 19.525000 61.574997 # 5 -3457 644 5 0.000000 28.284389 20.945002 58.225006 # 5 -3458 644 5 0.000000 29.514145 20.235001 58.225006 # 5 -3459 646 5 0.000000 29.514145 20.235001 61.574997 # 5 -3460 646 5 0.000000 28.284389 19.525000 61.574997 # 5 -3461 644 5 0.000000 30.743900 20.945002 58.225006 # 5 -3462 644 5 0.000000 31.973658 20.235001 58.225006 # 5 -3463 646 5 0.000000 31.973658 20.235001 61.574997 # 5 -3464 646 5 0.000000 30.743900 19.525000 61.574997 # 5 -3465 644 5 0.000000 1.229756 22.365000 58.225006 # 5 -3466 646 5 0.000000 1.229756 22.365000 61.574997 # 5 -3467 644 5 0.000000 2.459512 23.075001 58.225006 # 5 -3468 644 5 0.000000 3.689268 22.365000 58.225006 # 5 -3469 646 5 0.000000 3.689268 22.365000 61.574997 # 5 -3470 646 5 0.000000 2.459512 21.655001 61.574997 # 5 -3471 644 5 0.000000 4.919024 23.075001 58.225006 # 5 -3472 644 5 0.000000 6.148780 22.365000 58.225006 # 5 -3473 646 5 0.000000 6.148780 22.365000 61.574997 # 5 -3474 646 5 0.000000 4.919024 21.655001 61.574997 # 5 -3475 644 5 0.000000 7.378536 23.075001 58.225006 # 5 -3476 644 5 0.000000 8.608293 22.365000 58.225006 # 5 -3477 646 5 0.000000 8.608293 22.365000 61.574997 # 5 -3478 646 5 0.000000 7.378536 21.655001 61.574997 # 5 -3479 644 5 0.000000 9.838048 23.075001 58.225006 # 5 -3480 644 5 0.000000 11.067804 22.365000 58.225006 # 5 -3481 646 5 0.000000 11.067804 22.365000 61.574997 # 5 -3482 646 5 0.000000 9.838048 21.655001 61.574997 # 5 -3483 644 5 0.000000 12.297561 23.075001 58.225006 # 5 -3484 644 5 0.000000 13.527316 22.365000 58.225006 # 5 -3485 646 5 0.000000 13.527316 22.365000 61.574997 # 5 -3486 646 5 0.000000 12.297561 21.655001 61.574997 # 5 -3487 644 5 0.000000 14.757072 23.075001 58.225006 # 5 -3488 644 5 0.000000 15.986829 22.365000 58.225006 # 5 -3489 646 5 0.000000 15.986829 22.365000 61.574997 # 5 -3490 646 5 0.000000 14.757072 21.655001 61.574997 # 5 -3491 644 5 0.000000 17.216585 23.075001 58.225006 # 5 -3492 644 5 0.000000 18.446341 22.365000 58.225006 # 5 -3493 646 5 0.000000 18.446341 22.365000 61.574997 # 5 -3494 646 5 0.000000 17.216585 21.655001 61.574997 # 5 -3495 644 5 0.000000 19.676096 23.075001 58.225006 # 5 -3496 644 5 0.000000 20.905853 22.365000 58.225006 # 5 -3497 646 5 0.000000 20.905853 22.365000 61.574997 # 5 -3498 646 5 0.000000 19.676096 21.655001 61.574997 # 5 -3499 644 5 0.000000 22.135609 23.075001 58.225006 # 5 -3500 644 5 0.000000 23.365364 22.365000 58.225006 # 5 -3501 646 5 0.000000 23.365364 22.365000 61.574997 # 5 -3502 646 5 0.000000 22.135609 21.655001 61.574997 # 5 -3503 644 5 0.000000 24.595121 23.075001 58.225006 # 5 -3504 644 5 0.000000 25.824877 22.365000 58.225006 # 5 -3505 646 5 0.000000 25.824877 22.365000 61.574997 # 5 -3506 646 5 0.000000 24.595121 21.655001 61.574997 # 5 -3507 644 5 0.000000 27.054632 23.075001 58.225006 # 5 -3508 644 5 0.000000 28.284389 22.365000 58.225006 # 5 -3509 646 5 0.000000 28.284389 22.365000 61.574997 # 5 -3510 646 5 0.000000 27.054632 21.655001 61.574997 # 5 -3511 644 5 0.000000 29.514145 23.075001 58.225006 # 5 -3512 644 5 0.000000 30.743900 22.365000 58.225006 # 5 -3513 646 5 0.000000 30.743900 22.365000 61.574997 # 5 -3514 646 5 0.000000 29.514145 21.655001 61.574997 # 5 -3515 644 5 0.000000 31.973658 23.075001 58.225006 # 5 -3516 646 5 0.000000 31.973658 21.655001 61.574997 # 5 -3517 644 5 0.000000 1.229756 25.205000 58.225006 # 5 -3518 644 5 0.000000 2.459512 24.495001 58.225006 # 5 -3519 646 5 0.000000 2.459512 24.495001 61.574997 # 5 -3520 646 5 0.000000 1.229756 23.785000 61.574997 # 5 -3521 644 5 0.000000 3.689268 25.205000 58.225006 # 5 -3522 644 5 0.000000 4.919024 24.495001 58.225006 # 5 -3523 646 5 0.000000 4.919024 24.495001 61.574997 # 5 -3524 646 5 0.000000 3.689268 23.785000 61.574997 # 5 -3525 644 5 0.000000 6.148780 25.205000 58.225006 # 5 -3526 644 5 0.000000 7.378536 24.495001 58.225006 # 5 -3527 646 5 0.000000 7.378536 24.495001 61.574997 # 5 -3528 646 5 0.000000 6.148780 23.785000 61.574997 # 5 -3529 644 5 0.000000 8.608293 25.205000 58.225006 # 5 -3530 644 5 0.000000 9.838048 24.495001 58.225006 # 5 -3531 646 5 0.000000 9.838048 24.495001 61.574997 # 5 -3532 646 5 0.000000 8.608293 23.785000 61.574997 # 5 -3533 644 5 0.000000 11.067804 25.205000 58.225006 # 5 -3534 644 5 0.000000 12.297561 24.495001 58.225006 # 5 -3535 646 5 0.000000 12.297561 24.495001 61.574997 # 5 -3536 646 5 0.000000 11.067804 23.785000 61.574997 # 5 -3537 644 5 0.000000 13.527316 25.205000 58.225006 # 5 -3538 644 5 0.000000 14.757072 24.495001 58.225006 # 5 -3539 646 5 0.000000 14.757072 24.495001 61.574997 # 5 -3540 646 5 0.000000 13.527316 23.785000 61.574997 # 5 -3541 644 5 0.000000 15.986829 25.205000 58.225006 # 5 -3542 644 5 0.000000 17.216585 24.495001 58.225006 # 5 -3543 646 5 0.000000 17.216585 24.495001 61.574997 # 5 -3544 646 5 0.000000 15.986829 23.785000 61.574997 # 5 -3545 644 5 0.000000 18.446341 25.205000 58.225006 # 5 -3546 644 5 0.000000 19.676096 24.495001 58.225006 # 5 -3547 646 5 0.000000 19.676096 24.495001 61.574997 # 5 -3548 646 5 0.000000 18.446341 23.785000 61.574997 # 5 -3549 644 5 0.000000 20.905853 25.205000 58.225006 # 5 -3550 644 5 0.000000 22.135609 24.495001 58.225006 # 5 -3551 646 5 0.000000 22.135609 24.495001 61.574997 # 5 -3552 646 5 0.000000 20.905853 23.785000 61.574997 # 5 -3553 644 5 0.000000 23.365364 25.205000 58.225006 # 5 -3554 644 5 0.000000 24.595121 24.495001 58.225006 # 5 -3555 646 5 0.000000 24.595121 24.495001 61.574997 # 5 -3556 646 5 0.000000 23.365364 23.785000 61.574997 # 5 -3557 644 5 0.000000 25.824877 25.205000 58.225006 # 5 -3558 644 5 0.000000 27.054632 24.495001 58.225006 # 5 -3559 646 5 0.000000 27.054632 24.495001 61.574997 # 5 -3560 646 5 0.000000 25.824877 23.785000 61.574997 # 5 -3561 644 5 0.000000 28.284389 25.205000 58.225006 # 5 -3562 644 5 0.000000 29.514145 24.495001 58.225006 # 5 -3563 646 5 0.000000 29.514145 24.495001 61.574997 # 5 -3564 646 5 0.000000 28.284389 23.785000 61.574997 # 5 -3565 644 5 0.000000 30.743900 25.205000 58.225006 # 5 -3566 644 5 0.000000 31.973658 24.495001 58.225006 # 5 -3567 646 5 0.000000 31.973658 24.495001 61.574997 # 5 -3568 646 5 0.000000 30.743900 23.785000 61.574997 # 5 -3569 644 5 0.000000 1.229756 26.625000 58.225006 # 5 -3570 646 5 0.000000 1.229756 26.625000 61.574997 # 5 -3571 644 5 0.000000 2.459512 27.335001 58.225006 # 5 -3572 644 5 0.000000 3.689268 26.625000 58.225006 # 5 -3573 646 5 0.000000 3.689268 26.625000 61.574997 # 5 -3574 646 5 0.000000 2.459512 25.915003 61.574997 # 5 -3575 644 5 0.000000 4.919024 27.335001 58.225006 # 5 -3576 644 5 0.000000 6.148780 26.625000 58.225006 # 5 -3577 646 5 0.000000 6.148780 26.625000 61.574997 # 5 -3578 646 5 0.000000 4.919024 25.915003 61.574997 # 5 -3579 644 5 0.000000 7.378536 27.335001 58.225006 # 5 -3580 644 5 0.000000 8.608293 26.625000 58.225006 # 5 -3581 646 5 0.000000 8.608293 26.625000 61.574997 # 5 -3582 646 5 0.000000 7.378536 25.915003 61.574997 # 5 -3583 644 5 0.000000 9.838048 27.335001 58.225006 # 5 -3584 644 5 0.000000 11.067804 26.625000 58.225006 # 5 -3585 646 5 0.000000 11.067804 26.625000 61.574997 # 5 -3586 646 5 0.000000 9.838048 25.915003 61.574997 # 5 -3587 644 5 0.000000 12.297561 27.335001 58.225006 # 5 -3588 644 5 0.000000 13.527316 26.625000 58.225006 # 5 -3589 646 5 0.000000 13.527316 26.625000 61.574997 # 5 -3590 646 5 0.000000 12.297561 25.915003 61.574997 # 5 -3591 644 5 0.000000 14.757072 27.335001 58.225006 # 5 -3592 644 5 0.000000 15.986829 26.625000 58.225006 # 5 -3593 646 5 0.000000 15.986829 26.625000 61.574997 # 5 -3594 646 5 0.000000 14.757072 25.915003 61.574997 # 5 -3595 644 5 0.000000 17.216585 27.335001 58.225006 # 5 -3596 644 5 0.000000 18.446341 26.625000 58.225006 # 5 -3597 646 5 0.000000 18.446341 26.625000 61.574997 # 5 -3598 646 5 0.000000 17.216585 25.915003 61.574997 # 5 -3599 644 5 0.000000 19.676096 27.335001 58.225006 # 5 -3600 644 5 0.000000 20.905853 26.625000 58.225006 # 5 -3601 646 5 0.000000 20.905853 26.625000 61.574997 # 5 -3602 646 5 0.000000 19.676096 25.915003 61.574997 # 5 -3603 644 5 0.000000 22.135609 27.335001 58.225006 # 5 -3604 644 5 0.000000 23.365364 26.625000 58.225006 # 5 -3605 646 5 0.000000 23.365364 26.625000 61.574997 # 5 -3606 646 5 0.000000 22.135609 25.915003 61.574997 # 5 -3607 644 5 0.000000 24.595121 27.335001 58.225006 # 5 -3608 644 5 0.000000 25.824877 26.625000 58.225006 # 5 -3609 646 5 0.000000 25.824877 26.625000 61.574997 # 5 -3610 646 5 0.000000 24.595121 25.915003 61.574997 # 5 -3611 644 5 0.000000 27.054632 27.335001 58.225006 # 5 -3612 644 5 0.000000 28.284389 26.625000 58.225006 # 5 -3613 646 5 0.000000 28.284389 26.625000 61.574997 # 5 -3614 646 5 0.000000 27.054632 25.915003 61.574997 # 5 -3615 644 5 0.000000 29.514145 27.335001 58.225006 # 5 -3616 644 5 0.000000 30.743900 26.625000 58.225006 # 5 -3617 646 5 0.000000 30.743900 26.625000 61.574997 # 5 -3618 646 5 0.000000 29.514145 25.915003 61.574997 # 5 -3619 644 5 0.000000 31.973658 27.335001 58.225006 # 5 -3620 646 5 0.000000 31.973658 25.915003 61.574997 # 5 -3621 644 5 0.000000 1.229756 29.465000 58.225006 # 5 -3622 644 5 0.000000 2.459512 28.754999 58.225006 # 5 -3623 646 5 0.000000 2.459512 28.754999 61.574997 # 5 -3624 646 5 0.000000 1.229756 28.045000 61.574997 # 5 -3625 644 5 0.000000 3.689268 29.465000 58.225006 # 5 -3626 644 5 0.000000 4.919024 28.754999 58.225006 # 5 -3627 646 5 0.000000 4.919024 28.754999 61.574997 # 5 -3628 646 5 0.000000 3.689268 28.045000 61.574997 # 5 -3629 644 5 0.000000 6.148780 29.465000 58.225006 # 5 -3630 644 5 0.000000 7.378536 28.754999 58.225006 # 5 -3631 646 5 0.000000 7.378536 28.754999 61.574997 # 5 -3632 646 5 0.000000 6.148780 28.045000 61.574997 # 5 -3633 644 5 0.000000 8.608293 29.465000 58.225006 # 5 -3634 644 5 0.000000 9.838048 28.754999 58.225006 # 5 -3635 646 5 0.000000 9.838048 28.754999 61.574997 # 5 -3636 646 5 0.000000 8.608293 28.045000 61.574997 # 5 -3637 644 5 0.000000 11.067804 29.465000 58.225006 # 5 -3638 644 5 0.000000 12.297561 28.754999 58.225006 # 5 -3639 646 5 0.000000 12.297561 28.754999 61.574997 # 5 -3640 646 5 0.000000 11.067804 28.045000 61.574997 # 5 -3641 644 5 0.000000 13.527316 29.465000 58.225006 # 5 -3642 644 5 0.000000 14.757072 28.754999 58.225006 # 5 -3643 646 5 0.000000 14.757072 28.754999 61.574997 # 5 -3644 646 5 0.000000 13.527316 28.045000 61.574997 # 5 -3645 644 5 0.000000 15.986829 29.465000 58.225006 # 5 -3646 644 5 0.000000 17.216585 28.754999 58.225006 # 5 -3647 646 5 0.000000 17.216585 28.754999 61.574997 # 5 -3648 646 5 0.000000 15.986829 28.045000 61.574997 # 5 -3649 644 5 0.000000 18.446341 29.465000 58.225006 # 5 -3650 644 5 0.000000 19.676096 28.754999 58.225006 # 5 -3651 646 5 0.000000 19.676096 28.754999 61.574997 # 5 -3652 646 5 0.000000 18.446341 28.045000 61.574997 # 5 -3653 644 5 0.000000 20.905853 29.465000 58.225006 # 5 -3654 644 5 0.000000 22.135609 28.754999 58.225006 # 5 -3655 646 5 0.000000 22.135609 28.754999 61.574997 # 5 -3656 646 5 0.000000 20.905853 28.045000 61.574997 # 5 -3657 644 5 0.000000 23.365364 29.465000 58.225006 # 5 -3658 644 5 0.000000 24.595121 28.754999 58.225006 # 5 -3659 646 5 0.000000 24.595121 28.754999 61.574997 # 5 -3660 646 5 0.000000 23.365364 28.045000 61.574997 # 5 -3661 644 5 0.000000 25.824877 29.465000 58.225006 # 5 -3662 644 5 0.000000 27.054632 28.754999 58.225006 # 5 -3663 646 5 0.000000 27.054632 28.754999 61.574997 # 5 -3664 646 5 0.000000 25.824877 28.045000 61.574997 # 5 -3665 644 5 0.000000 28.284389 29.465000 58.225006 # 5 -3666 644 5 0.000000 29.514145 28.754999 58.225006 # 5 -3667 646 5 0.000000 29.514145 28.754999 61.574997 # 5 -3668 646 5 0.000000 28.284389 28.045000 61.574997 # 5 -3669 644 5 0.000000 30.743900 29.465000 58.225006 # 5 -3670 644 5 0.000000 31.973658 28.754999 58.225006 # 5 -3671 646 5 0.000000 31.973658 28.754999 61.574997 # 5 -3672 646 5 0.000000 30.743900 28.045000 61.574997 # 5 -3673 644 5 0.000000 1.229756 30.885000 58.225006 # 5 -3674 646 5 0.000000 1.229756 30.885000 61.574997 # 5 -3675 644 5 0.000000 2.459512 31.594999 58.225006 # 5 -3676 644 5 0.000000 3.689268 30.885000 58.225006 # 5 -3677 646 5 0.000000 3.689268 30.885000 61.574997 # 5 -3678 646 5 0.000000 2.459512 30.174999 61.574997 # 5 -3679 644 5 0.000000 4.919024 31.594999 58.225006 # 5 -3680 644 5 0.000000 6.148780 30.885000 58.225006 # 5 -3681 646 5 0.000000 6.148780 30.885000 61.574997 # 5 -3682 646 5 0.000000 4.919024 30.174999 61.574997 # 5 -3683 644 5 0.000000 7.378536 31.594999 58.225006 # 5 -3684 644 5 0.000000 8.608293 30.885000 58.225006 # 5 -3685 646 5 0.000000 8.608293 30.885000 61.574997 # 5 -3686 646 5 0.000000 7.378536 30.174999 61.574997 # 5 -3687 644 5 0.000000 9.838048 31.594999 58.225006 # 5 -3688 644 5 0.000000 11.067804 30.885000 58.225006 # 5 -3689 646 5 0.000000 11.067804 30.885000 61.574997 # 5 -3690 646 5 0.000000 9.838048 30.174999 61.574997 # 5 -3691 644 5 0.000000 12.297561 31.594999 58.225006 # 5 -3692 644 5 0.000000 13.527316 30.885000 58.225006 # 5 -3693 646 5 0.000000 13.527316 30.885000 61.574997 # 5 -3694 646 5 0.000000 12.297561 30.174999 61.574997 # 5 -3695 644 5 0.000000 14.757072 31.594999 58.225006 # 5 -3696 644 5 0.000000 15.986829 30.885000 58.225006 # 5 -3697 646 5 0.000000 15.986829 30.885000 61.574997 # 5 -3698 646 5 0.000000 14.757072 30.174999 61.574997 # 5 -3699 644 5 0.000000 17.216585 31.594999 58.225006 # 5 -3700 644 5 0.000000 18.446341 30.885000 58.225006 # 5 -3701 646 5 0.000000 18.446341 30.885000 61.574997 # 5 -3702 646 5 0.000000 17.216585 30.174999 61.574997 # 5 -3703 644 5 0.000000 19.676096 31.594999 58.225006 # 5 -3704 644 5 0.000000 20.905853 30.885000 58.225006 # 5 -3705 646 5 0.000000 20.905853 30.885000 61.574997 # 5 -3706 646 5 0.000000 19.676096 30.174999 61.574997 # 5 -3707 644 5 0.000000 22.135609 31.594999 58.225006 # 5 -3708 644 5 0.000000 23.365364 30.885000 58.225006 # 5 -3709 646 5 0.000000 23.365364 30.885000 61.574997 # 5 -3710 646 5 0.000000 22.135609 30.174999 61.574997 # 5 -3711 644 5 0.000000 24.595121 31.594999 58.225006 # 5 -3712 644 5 0.000000 25.824877 30.885000 58.225006 # 5 -3713 646 5 0.000000 25.824877 30.885000 61.574997 # 5 -3714 646 5 0.000000 24.595121 30.174999 61.574997 # 5 -3715 644 5 0.000000 27.054632 31.594999 58.225006 # 5 -3716 644 5 0.000000 28.284389 30.885000 58.225006 # 5 -3717 646 5 0.000000 28.284389 30.885000 61.574997 # 5 -3718 646 5 0.000000 27.054632 30.174999 61.574997 # 5 -3719 644 5 0.000000 29.514145 31.594999 58.225006 # 5 -3720 644 5 0.000000 30.743900 30.885000 58.225006 # 5 -3721 646 5 0.000000 30.743900 30.885000 61.574997 # 5 -3722 646 5 0.000000 29.514145 30.174999 61.574997 # 5 -3723 644 5 0.000000 31.973658 31.594999 58.225006 # 5 -3724 646 5 0.000000 31.973658 30.174999 61.574997 # 5 -3725 644 5 0.000000 1.229756 33.724998 58.225006 # 5 -3726 644 5 0.000000 2.459512 33.014999 58.225006 # 5 -3727 646 5 0.000000 2.459512 33.014999 61.574997 # 5 -3728 646 5 0.000000 1.229756 32.305000 61.574997 # 5 -3729 644 5 0.000000 3.689268 33.724998 58.225006 # 5 -3730 644 5 0.000000 4.919024 33.014999 58.225006 # 5 -3731 646 5 0.000000 4.919024 33.014999 61.574997 # 5 -3732 646 5 0.000000 3.689268 32.305000 61.574997 # 5 -3733 644 5 0.000000 6.148780 33.724998 58.225006 # 5 -3734 644 5 0.000000 7.378536 33.014999 58.225006 # 5 -3735 646 5 0.000000 7.378536 33.014999 61.574997 # 5 -3736 646 5 0.000000 6.148780 32.305000 61.574997 # 5 -3737 644 5 0.000000 8.608293 33.724998 58.225006 # 5 -3738 644 5 0.000000 9.838048 33.014999 58.225006 # 5 -3739 646 5 0.000000 9.838048 33.014999 61.574997 # 5 -3740 646 5 0.000000 8.608293 32.305000 61.574997 # 5 -3741 644 5 0.000000 11.067804 33.724998 58.225006 # 5 -3742 644 5 0.000000 12.297561 33.014999 58.225006 # 5 -3743 646 5 0.000000 12.297561 33.014999 61.574997 # 5 -3744 646 5 0.000000 11.067804 32.305000 61.574997 # 5 -3745 644 5 0.000000 13.527316 33.724998 58.225006 # 5 -3746 644 5 0.000000 14.757072 33.014999 58.225006 # 5 -3747 646 5 0.000000 14.757072 33.014999 61.574997 # 5 -3748 646 5 0.000000 13.527316 32.305000 61.574997 # 5 -3749 644 5 0.000000 15.986829 33.724998 58.225006 # 5 -3750 644 5 0.000000 17.216585 33.014999 58.225006 # 5 -3751 646 5 0.000000 17.216585 33.014999 61.574997 # 5 -3752 646 5 0.000000 15.986829 32.305000 61.574997 # 5 -3753 644 5 0.000000 18.446341 33.724998 58.225006 # 5 -3754 644 5 0.000000 19.676096 33.014999 58.225006 # 5 -3755 646 5 0.000000 19.676096 33.014999 61.574997 # 5 -3756 646 5 0.000000 18.446341 32.305000 61.574997 # 5 -3757 644 5 0.000000 20.905853 33.724998 58.225006 # 5 -3758 644 5 0.000000 22.135609 33.014999 58.225006 # 5 -3759 646 5 0.000000 22.135609 33.014999 61.574997 # 5 -3760 646 5 0.000000 20.905853 32.305000 61.574997 # 5 -3761 644 5 0.000000 23.365364 33.724998 58.225006 # 5 -3762 644 5 0.000000 24.595121 33.014999 58.225006 # 5 -3763 646 5 0.000000 24.595121 33.014999 61.574997 # 5 -3764 646 5 0.000000 23.365364 32.305000 61.574997 # 5 -3765 644 5 0.000000 25.824877 33.724998 58.225006 # 5 -3766 644 5 0.000000 27.054632 33.014999 58.225006 # 5 -3767 646 5 0.000000 27.054632 33.014999 61.574997 # 5 -3768 646 5 0.000000 25.824877 32.305000 61.574997 # 5 -3769 644 5 0.000000 28.284389 33.724998 58.225006 # 5 -3770 644 5 0.000000 29.514145 33.014999 58.225006 # 5 -3771 646 5 0.000000 29.514145 33.014999 61.574997 # 5 -3772 646 5 0.000000 28.284389 32.305000 61.574997 # 5 -3773 644 5 0.000000 30.743900 33.724998 58.225006 # 5 -3774 644 5 0.000000 31.973658 33.014999 58.225006 # 5 -3775 646 5 0.000000 31.973658 33.014999 61.574997 # 5 -3776 646 5 0.000000 30.743900 32.305000 61.574997 # 5 +2945 644 6 0.000000 1.229756 1.065000 58.225006 # 5 +2946 646 6 0.000000 1.229756 1.065000 61.574997 # 5 +2947 644 6 0.000000 2.459512 1.775000 58.225006 # 5 +2948 644 6 0.000000 3.689268 1.065000 58.225006 # 5 +2949 646 6 0.000000 3.689268 1.065000 61.574997 # 5 +2950 646 6 0.000000 2.459512 0.355000 61.574997 # 5 +2951 644 6 0.000000 4.919024 1.775000 58.225006 # 5 +2952 644 6 0.000000 6.148780 1.065000 58.225006 # 5 +2953 646 6 0.000000 6.148780 1.065000 61.574997 # 5 +2954 646 6 0.000000 4.919024 0.355000 61.574997 # 5 +2955 644 6 0.000000 7.378536 1.775000 58.225006 # 5 +2956 644 6 0.000000 8.608293 1.065000 58.225006 # 5 +2957 646 6 0.000000 8.608293 1.065000 61.574997 # 5 +2958 646 6 0.000000 7.378536 0.355000 61.574997 # 5 +2959 644 6 0.000000 9.838048 1.775000 58.225006 # 5 +2960 644 6 0.000000 11.067804 1.065000 58.225006 # 5 +2961 646 6 0.000000 11.067804 1.065000 61.574997 # 5 +2962 646 6 0.000000 9.838048 0.355000 61.574997 # 5 +2963 644 6 0.000000 12.297561 1.775000 58.225006 # 5 +2964 644 6 0.000000 13.527316 1.065000 58.225006 # 5 +2965 646 6 0.000000 13.527316 1.065000 61.574997 # 5 +2966 646 6 0.000000 12.297561 0.355000 61.574997 # 5 +2967 644 6 0.000000 14.757072 1.775000 58.225006 # 5 +2968 644 6 0.000000 15.986829 1.065000 58.225006 # 5 +2969 646 6 0.000000 15.986829 1.065000 61.574997 # 5 +2970 646 6 0.000000 14.757072 0.355000 61.574997 # 5 +2971 644 6 0.000000 17.216585 1.775000 58.225006 # 5 +2972 644 6 0.000000 18.446341 1.065000 58.225006 # 5 +2973 646 6 0.000000 18.446341 1.065000 61.574997 # 5 +2974 646 6 0.000000 17.216585 0.355000 61.574997 # 5 +2975 644 6 0.000000 19.676096 1.775000 58.225006 # 5 +2976 644 6 0.000000 20.905853 1.065000 58.225006 # 5 +2977 646 6 0.000000 20.905853 1.065000 61.574997 # 5 +2978 646 6 0.000000 19.676096 0.355000 61.574997 # 5 +2979 644 6 0.000000 22.135609 1.775000 58.225006 # 5 +2980 644 6 0.000000 23.365364 1.065000 58.225006 # 5 +2981 646 6 0.000000 23.365364 1.065000 61.574997 # 5 +2982 646 6 0.000000 22.135609 0.355000 61.574997 # 5 +2983 644 6 0.000000 24.595121 1.775000 58.225006 # 5 +2984 644 6 0.000000 25.824877 1.065000 58.225006 # 5 +2985 646 6 0.000000 25.824877 1.065000 61.574997 # 5 +2986 646 6 0.000000 24.595121 0.355000 61.574997 # 5 +2987 644 6 0.000000 27.054632 1.775000 58.225006 # 5 +2988 644 6 0.000000 28.284389 1.065000 58.225006 # 5 +2989 646 6 0.000000 28.284389 1.065000 61.574997 # 5 +2990 646 6 0.000000 27.054632 0.355000 61.574997 # 5 +2991 644 6 0.000000 29.514145 1.775000 58.225006 # 5 +2992 644 6 0.000000 30.743900 1.065000 58.225006 # 5 +2993 646 6 0.000000 30.743900 1.065000 61.574997 # 5 +2994 646 6 0.000000 29.514145 0.355000 61.574997 # 5 +2995 644 6 0.000000 31.973658 1.775000 58.225006 # 5 +2996 646 6 0.000000 31.973658 0.355000 61.574997 # 5 +2997 644 6 0.000000 1.229756 3.905000 58.225006 # 5 +2998 644 6 0.000000 2.459512 3.195000 58.225006 # 5 +2999 646 6 0.000000 2.459512 3.195000 61.574997 # 5 +3000 646 6 0.000000 1.229756 2.485000 61.574997 # 5 +3001 644 6 0.000000 3.689268 3.905000 58.225006 # 5 +3002 644 6 0.000000 4.919024 3.195000 58.225006 # 5 +3003 646 6 0.000000 4.919024 3.195000 61.574997 # 5 +3004 646 6 0.000000 3.689268 2.485000 61.574997 # 5 +3005 644 6 0.000000 6.148780 3.905000 58.225006 # 5 +3006 644 6 0.000000 7.378536 3.195000 58.225006 # 5 +3007 646 6 0.000000 7.378536 3.195000 61.574997 # 5 +3008 646 6 0.000000 6.148780 2.485000 61.574997 # 5 +3009 644 6 0.000000 8.608293 3.905000 58.225006 # 5 +3010 644 6 0.000000 9.838048 3.195000 58.225006 # 5 +3011 646 6 0.000000 9.838048 3.195000 61.574997 # 5 +3012 646 6 0.000000 8.608293 2.485000 61.574997 # 5 +3013 644 6 0.000000 11.067804 3.905000 58.225006 # 5 +3014 644 6 0.000000 12.297561 3.195000 58.225006 # 5 +3015 646 6 0.000000 12.297561 3.195000 61.574997 # 5 +3016 646 6 0.000000 11.067804 2.485000 61.574997 # 5 +3017 644 6 0.000000 13.527316 3.905000 58.225006 # 5 +3018 644 6 0.000000 14.757072 3.195000 58.225006 # 5 +3019 646 6 0.000000 14.757072 3.195000 61.574997 # 5 +3020 646 6 0.000000 13.527316 2.485000 61.574997 # 5 +3021 644 6 0.000000 15.986829 3.905000 58.225006 # 5 +3022 644 6 0.000000 17.216585 3.195000 58.225006 # 5 +3023 646 6 0.000000 17.216585 3.195000 61.574997 # 5 +3024 646 6 0.000000 15.986829 2.485000 61.574997 # 5 +3025 644 6 0.000000 18.446341 3.905000 58.225006 # 5 +3026 644 6 0.000000 19.676096 3.195000 58.225006 # 5 +3027 646 6 0.000000 19.676096 3.195000 61.574997 # 5 +3028 646 6 0.000000 18.446341 2.485000 61.574997 # 5 +3029 644 6 0.000000 20.905853 3.905000 58.225006 # 5 +3030 644 6 0.000000 22.135609 3.195000 58.225006 # 5 +3031 646 6 0.000000 22.135609 3.195000 61.574997 # 5 +3032 646 6 0.000000 20.905853 2.485000 61.574997 # 5 +3033 644 6 0.000000 23.365364 3.905000 58.225006 # 5 +3034 644 6 0.000000 24.595121 3.195000 58.225006 # 5 +3035 646 6 0.000000 24.595121 3.195000 61.574997 # 5 +3036 646 6 0.000000 23.365364 2.485000 61.574997 # 5 +3037 644 6 0.000000 25.824877 3.905000 58.225006 # 5 +3038 644 6 0.000000 27.054632 3.195000 58.225006 # 5 +3039 646 6 0.000000 27.054632 3.195000 61.574997 # 5 +3040 646 6 0.000000 25.824877 2.485000 61.574997 # 5 +3041 644 6 0.000000 28.284389 3.905000 58.225006 # 5 +3042 644 6 0.000000 29.514145 3.195000 58.225006 # 5 +3043 646 6 0.000000 29.514145 3.195000 61.574997 # 5 +3044 646 6 0.000000 28.284389 2.485000 61.574997 # 5 +3045 644 6 0.000000 30.743900 3.905000 58.225006 # 5 +3046 644 6 0.000000 31.973658 3.195000 58.225006 # 5 +3047 646 6 0.000000 31.973658 3.195000 61.574997 # 5 +3048 646 6 0.000000 30.743900 2.485000 61.574997 # 5 +3049 644 6 0.000000 1.229756 5.325000 58.225006 # 5 +3050 646 6 0.000000 1.229756 5.325000 61.574997 # 5 +3051 644 6 0.000000 2.459512 6.035000 58.225006 # 5 +3052 644 6 0.000000 3.689268 5.325000 58.225006 # 5 +3053 646 6 0.000000 3.689268 5.325000 61.574997 # 5 +3054 646 6 0.000000 2.459512 4.615000 61.574997 # 5 +3055 644 6 0.000000 4.919024 6.035000 58.225006 # 5 +3056 644 6 0.000000 6.148780 5.325000 58.225006 # 5 +3057 646 6 0.000000 6.148780 5.325000 61.574997 # 5 +3058 646 6 0.000000 4.919024 4.615000 61.574997 # 5 +3059 644 6 0.000000 7.378536 6.035000 58.225006 # 5 +3060 644 6 0.000000 8.608293 5.325000 58.225006 # 5 +3061 646 6 0.000000 8.608293 5.325000 61.574997 # 5 +3062 646 6 0.000000 7.378536 4.615000 61.574997 # 5 +3063 644 6 0.000000 9.838048 6.035000 58.225006 # 5 +3064 644 6 0.000000 11.067804 5.325000 58.225006 # 5 +3065 646 6 0.000000 11.067804 5.325000 61.574997 # 5 +3066 646 6 0.000000 9.838048 4.615000 61.574997 # 5 +3067 644 6 0.000000 12.297561 6.035000 58.225006 # 5 +3068 644 6 0.000000 13.527316 5.325000 58.225006 # 5 +3069 646 6 0.000000 13.527316 5.325000 61.574997 # 5 +3070 646 6 0.000000 12.297561 4.615000 61.574997 # 5 +3071 644 6 0.000000 14.757072 6.035000 58.225006 # 5 +3072 644 6 0.000000 15.986829 5.325000 58.225006 # 5 +3073 646 6 0.000000 15.986829 5.325000 61.574997 # 5 +3074 646 6 0.000000 14.757072 4.615000 61.574997 # 5 +3075 644 6 0.000000 17.216585 6.035000 58.225006 # 5 +3076 644 6 0.000000 18.446341 5.325000 58.225006 # 5 +3077 646 6 0.000000 18.446341 5.325000 61.574997 # 5 +3078 646 6 0.000000 17.216585 4.615000 61.574997 # 5 +3079 644 6 0.000000 19.676096 6.035000 58.225006 # 5 +3080 644 6 0.000000 20.905853 5.325000 58.225006 # 5 +3081 646 6 0.000000 20.905853 5.325000 61.574997 # 5 +3082 646 6 0.000000 19.676096 4.615000 61.574997 # 5 +3083 644 6 0.000000 22.135609 6.035000 58.225006 # 5 +3084 644 6 0.000000 23.365364 5.325000 58.225006 # 5 +3085 646 6 0.000000 23.365364 5.325000 61.574997 # 5 +3086 646 6 0.000000 22.135609 4.615000 61.574997 # 5 +3087 644 6 0.000000 24.595121 6.035000 58.225006 # 5 +3088 644 6 0.000000 25.824877 5.325000 58.225006 # 5 +3089 646 6 0.000000 25.824877 5.325000 61.574997 # 5 +3090 646 6 0.000000 24.595121 4.615000 61.574997 # 5 +3091 644 6 0.000000 27.054632 6.035000 58.225006 # 5 +3092 644 6 0.000000 28.284389 5.325000 58.225006 # 5 +3093 646 6 0.000000 28.284389 5.325000 61.574997 # 5 +3094 646 6 0.000000 27.054632 4.615000 61.574997 # 5 +3095 644 6 0.000000 29.514145 6.035000 58.225006 # 5 +3096 644 6 0.000000 30.743900 5.325000 58.225006 # 5 +3097 646 6 0.000000 30.743900 5.325000 61.574997 # 5 +3098 646 6 0.000000 29.514145 4.615000 61.574997 # 5 +3099 644 6 0.000000 31.973658 6.035000 58.225006 # 5 +3100 646 6 0.000000 31.973658 4.615000 61.574997 # 5 +3101 644 6 0.000000 1.229756 8.165000 58.225006 # 5 +3102 644 6 0.000000 2.459512 7.455000 58.225006 # 5 +3103 646 6 0.000000 2.459512 7.455000 61.574997 # 5 +3104 646 6 0.000000 1.229756 6.745000 61.574997 # 5 +3105 644 6 0.000000 3.689268 8.165000 58.225006 # 5 +3106 644 6 0.000000 4.919024 7.455000 58.225006 # 5 +3107 646 6 0.000000 4.919024 7.455000 61.574997 # 5 +3108 646 6 0.000000 3.689268 6.745000 61.574997 # 5 +3109 644 6 0.000000 6.148780 8.165000 58.225006 # 5 +3110 644 6 0.000000 7.378536 7.455000 58.225006 # 5 +3111 646 6 0.000000 7.378536 7.455000 61.574997 # 5 +3112 646 6 0.000000 6.148780 6.745000 61.574997 # 5 +3113 644 6 0.000000 8.608293 8.165000 58.225006 # 5 +3114 644 6 0.000000 9.838048 7.455000 58.225006 # 5 +3115 646 6 0.000000 9.838048 7.455000 61.574997 # 5 +3116 646 6 0.000000 8.608293 6.745000 61.574997 # 5 +3117 644 6 0.000000 11.067804 8.165000 58.225006 # 5 +3118 644 6 0.000000 12.297561 7.455000 58.225006 # 5 +3119 646 6 0.000000 12.297561 7.455000 61.574997 # 5 +3120 646 6 0.000000 11.067804 6.745000 61.574997 # 5 +3121 644 6 0.000000 13.527316 8.165000 58.225006 # 5 +3122 644 6 0.000000 14.757072 7.455000 58.225006 # 5 +3123 646 6 0.000000 14.757072 7.455000 61.574997 # 5 +3124 646 6 0.000000 13.527316 6.745000 61.574997 # 5 +3125 644 6 0.000000 15.986829 8.165000 58.225006 # 5 +3126 644 6 0.000000 17.216585 7.455000 58.225006 # 5 +3127 646 6 0.000000 17.216585 7.455000 61.574997 # 5 +3128 646 6 0.000000 15.986829 6.745000 61.574997 # 5 +3129 644 6 0.000000 18.446341 8.165000 58.225006 # 5 +3130 644 6 0.000000 19.676096 7.455000 58.225006 # 5 +3131 646 6 0.000000 19.676096 7.455000 61.574997 # 5 +3132 646 6 0.000000 18.446341 6.745000 61.574997 # 5 +3133 644 6 0.000000 20.905853 8.165000 58.225006 # 5 +3134 644 6 0.000000 22.135609 7.455000 58.225006 # 5 +3135 646 6 0.000000 22.135609 7.455000 61.574997 # 5 +3136 646 6 0.000000 20.905853 6.745000 61.574997 # 5 +3137 644 6 0.000000 23.365364 8.165000 58.225006 # 5 +3138 644 6 0.000000 24.595121 7.455000 58.225006 # 5 +3139 646 6 0.000000 24.595121 7.455000 61.574997 # 5 +3140 646 6 0.000000 23.365364 6.745000 61.574997 # 5 +3141 644 6 0.000000 25.824877 8.165000 58.225006 # 5 +3142 644 6 0.000000 27.054632 7.455000 58.225006 # 5 +3143 646 6 0.000000 27.054632 7.455000 61.574997 # 5 +3144 646 6 0.000000 25.824877 6.745000 61.574997 # 5 +3145 644 6 0.000000 28.284389 8.165000 58.225006 # 5 +3146 644 6 0.000000 29.514145 7.455000 58.225006 # 5 +3147 646 6 0.000000 29.514145 7.455000 61.574997 # 5 +3148 646 6 0.000000 28.284389 6.745000 61.574997 # 5 +3149 644 6 0.000000 30.743900 8.165000 58.225006 # 5 +3150 644 6 0.000000 31.973658 7.455000 58.225006 # 5 +3151 646 6 0.000000 31.973658 7.455000 61.574997 # 5 +3152 646 6 0.000000 30.743900 6.745000 61.574997 # 5 +3153 644 6 0.000000 1.229756 9.585000 58.225006 # 5 +3154 646 6 0.000000 1.229756 9.585000 61.574997 # 5 +3155 644 6 0.000000 2.459512 10.295000 58.225006 # 5 +3156 644 6 0.000000 3.689268 9.585000 58.225006 # 5 +3157 646 6 0.000000 3.689268 9.585000 61.574997 # 5 +3158 646 6 0.000000 2.459512 8.875000 61.574997 # 5 +3159 644 6 0.000000 4.919024 10.295000 58.225006 # 5 +3160 644 6 0.000000 6.148780 9.585000 58.225006 # 5 +3161 646 6 0.000000 6.148780 9.585000 61.574997 # 5 +3162 646 6 0.000000 4.919024 8.875000 61.574997 # 5 +3163 644 6 0.000000 7.378536 10.295000 58.225006 # 5 +3164 644 6 0.000000 8.608293 9.585000 58.225006 # 5 +3165 646 6 0.000000 8.608293 9.585000 61.574997 # 5 +3166 646 6 0.000000 7.378536 8.875000 61.574997 # 5 +3167 644 6 0.000000 9.838048 10.295000 58.225006 # 5 +3168 644 6 0.000000 11.067804 9.585000 58.225006 # 5 +3169 646 6 0.000000 11.067804 9.585000 61.574997 # 5 +3170 646 6 0.000000 9.838048 8.875000 61.574997 # 5 +3171 644 6 0.000000 12.297561 10.295000 58.225006 # 5 +3172 644 6 0.000000 13.527316 9.585000 58.225006 # 5 +3173 646 6 0.000000 13.527316 9.585000 61.574997 # 5 +3174 646 6 0.000000 12.297561 8.875000 61.574997 # 5 +3175 644 6 0.000000 14.757072 10.295000 58.225006 # 5 +3176 644 6 0.000000 15.986829 9.585000 58.225006 # 5 +3177 646 6 0.000000 15.986829 9.585000 61.574997 # 5 +3178 646 6 0.000000 14.757072 8.875000 61.574997 # 5 +3179 644 6 0.000000 17.216585 10.295000 58.225006 # 5 +3180 644 6 0.000000 18.446341 9.585000 58.225006 # 5 +3181 646 6 0.000000 18.446341 9.585000 61.574997 # 5 +3182 646 6 0.000000 17.216585 8.875000 61.574997 # 5 +3183 644 6 0.000000 19.676096 10.295000 58.225006 # 5 +3184 644 6 0.000000 20.905853 9.585000 58.225006 # 5 +3185 646 6 0.000000 20.905853 9.585000 61.574997 # 5 +3186 646 6 0.000000 19.676096 8.875000 61.574997 # 5 +3187 644 6 0.000000 22.135609 10.295000 58.225006 # 5 +3188 644 6 0.000000 23.365364 9.585000 58.225006 # 5 +3189 646 6 0.000000 23.365364 9.585000 61.574997 # 5 +3190 646 6 0.000000 22.135609 8.875000 61.574997 # 5 +3191 644 6 0.000000 24.595121 10.295000 58.225006 # 5 +3192 644 6 0.000000 25.824877 9.585000 58.225006 # 5 +3193 646 6 0.000000 25.824877 9.585000 61.574997 # 5 +3194 646 6 0.000000 24.595121 8.875000 61.574997 # 5 +3195 644 6 0.000000 27.054632 10.295000 58.225006 # 5 +3196 644 6 0.000000 28.284389 9.585000 58.225006 # 5 +3197 646 6 0.000000 28.284389 9.585000 61.574997 # 5 +3198 646 6 0.000000 27.054632 8.875000 61.574997 # 5 +3199 644 6 0.000000 29.514145 10.295000 58.225006 # 5 +3200 644 6 0.000000 30.743900 9.585000 58.225006 # 5 +3201 646 6 0.000000 30.743900 9.585000 61.574997 # 5 +3202 646 6 0.000000 29.514145 8.875000 61.574997 # 5 +3203 644 6 0.000000 31.973658 10.295000 58.225006 # 5 +3204 646 6 0.000000 31.973658 8.875000 61.574997 # 5 +3205 644 6 0.000000 1.229756 12.425000 58.225006 # 5 +3206 644 6 0.000000 2.459512 11.715001 58.225006 # 5 +3207 646 6 0.000000 2.459512 11.715001 61.574997 # 5 +3208 646 6 0.000000 1.229756 11.005000 61.574997 # 5 +3209 644 6 0.000000 3.689268 12.425000 58.225006 # 5 +3210 644 6 0.000000 4.919024 11.715001 58.225006 # 5 +3211 646 6 0.000000 4.919024 11.715001 61.574997 # 5 +3212 646 6 0.000000 3.689268 11.005000 61.574997 # 5 +3213 644 6 0.000000 6.148780 12.425000 58.225006 # 5 +3214 644 6 0.000000 7.378536 11.715001 58.225006 # 5 +3215 646 6 0.000000 7.378536 11.715001 61.574997 # 5 +3216 646 6 0.000000 6.148780 11.005000 61.574997 # 5 +3217 644 6 0.000000 8.608293 12.425000 58.225006 # 5 +3218 644 6 0.000000 9.838048 11.715001 58.225006 # 5 +3219 646 6 0.000000 9.838048 11.715001 61.574997 # 5 +3220 646 6 0.000000 8.608293 11.005000 61.574997 # 5 +3221 644 6 0.000000 11.067804 12.425000 58.225006 # 5 +3222 644 6 0.000000 12.297561 11.715001 58.225006 # 5 +3223 646 6 0.000000 12.297561 11.715001 61.574997 # 5 +3224 646 6 0.000000 11.067804 11.005000 61.574997 # 5 +3225 644 6 0.000000 13.527316 12.425000 58.225006 # 5 +3226 644 6 0.000000 14.757072 11.715001 58.225006 # 5 +3227 646 6 0.000000 14.757072 11.715001 61.574997 # 5 +3228 646 6 0.000000 13.527316 11.005000 61.574997 # 5 +3229 644 6 0.000000 15.986829 12.425000 58.225006 # 5 +3230 644 6 0.000000 17.216585 11.715001 58.225006 # 5 +3231 646 6 0.000000 17.216585 11.715001 61.574997 # 5 +3232 646 6 0.000000 15.986829 11.005000 61.574997 # 5 +3233 644 6 0.000000 18.446341 12.425000 58.225006 # 5 +3234 644 6 0.000000 19.676096 11.715001 58.225006 # 5 +3235 646 6 0.000000 19.676096 11.715001 61.574997 # 5 +3236 646 6 0.000000 18.446341 11.005000 61.574997 # 5 +3237 644 6 0.000000 20.905853 12.425000 58.225006 # 5 +3238 644 6 0.000000 22.135609 11.715001 58.225006 # 5 +3239 646 6 0.000000 22.135609 11.715001 61.574997 # 5 +3240 646 6 0.000000 20.905853 11.005000 61.574997 # 5 +3241 644 6 0.000000 23.365364 12.425000 58.225006 # 5 +3242 644 6 0.000000 24.595121 11.715001 58.225006 # 5 +3243 646 6 0.000000 24.595121 11.715001 61.574997 # 5 +3244 646 6 0.000000 23.365364 11.005000 61.574997 # 5 +3245 644 6 0.000000 25.824877 12.425000 58.225006 # 5 +3246 644 6 0.000000 27.054632 11.715001 58.225006 # 5 +3247 646 6 0.000000 27.054632 11.715001 61.574997 # 5 +3248 646 6 0.000000 25.824877 11.005000 61.574997 # 5 +3249 644 6 0.000000 28.284389 12.425000 58.225006 # 5 +3250 644 6 0.000000 29.514145 11.715001 58.225006 # 5 +3251 646 6 0.000000 29.514145 11.715001 61.574997 # 5 +3252 646 6 0.000000 28.284389 11.005000 61.574997 # 5 +3253 644 6 0.000000 30.743900 12.425000 58.225006 # 5 +3254 644 6 0.000000 31.973658 11.715001 58.225006 # 5 +3255 646 6 0.000000 31.973658 11.715001 61.574997 # 5 +3256 646 6 0.000000 30.743900 11.005000 61.574997 # 5 +3257 644 6 0.000000 1.229756 13.845000 58.225006 # 5 +3258 646 6 0.000000 1.229756 13.845000 61.574997 # 5 +3259 644 6 0.000000 2.459512 14.555000 58.225006 # 5 +3260 644 6 0.000000 3.689268 13.845000 58.225006 # 5 +3261 646 6 0.000000 3.689268 13.845000 61.574997 # 5 +3262 646 6 0.000000 2.459512 13.135000 61.574997 # 5 +3263 644 6 0.000000 4.919024 14.555000 58.225006 # 5 +3264 644 6 0.000000 6.148780 13.845000 58.225006 # 5 +3265 646 6 0.000000 6.148780 13.845000 61.574997 # 5 +3266 646 6 0.000000 4.919024 13.135000 61.574997 # 5 +3267 644 6 0.000000 7.378536 14.555000 58.225006 # 5 +3268 644 6 0.000000 8.608293 13.845000 58.225006 # 5 +3269 646 6 0.000000 8.608293 13.845000 61.574997 # 5 +3270 646 6 0.000000 7.378536 13.135000 61.574997 # 5 +3271 644 6 0.000000 9.838048 14.555000 58.225006 # 5 +3272 644 6 0.000000 11.067804 13.845000 58.225006 # 5 +3273 646 6 0.000000 11.067804 13.845000 61.574997 # 5 +3274 646 6 0.000000 9.838048 13.135000 61.574997 # 5 +3275 644 6 0.000000 12.297561 14.555000 58.225006 # 5 +3276 644 6 0.000000 13.527316 13.845000 58.225006 # 5 +3277 646 6 0.000000 13.527316 13.845000 61.574997 # 5 +3278 646 6 0.000000 12.297561 13.135000 61.574997 # 5 +3279 644 6 0.000000 14.757072 14.555000 58.225006 # 5 +3280 644 6 0.000000 15.986829 13.845000 58.225006 # 5 +3281 646 6 0.000000 15.986829 13.845000 61.574997 # 5 +3282 646 6 0.000000 14.757072 13.135000 61.574997 # 5 +3283 644 6 0.000000 17.216585 14.555000 58.225006 # 5 +3284 644 6 0.000000 18.446341 13.845000 58.225006 # 5 +3285 646 6 0.000000 18.446341 13.845000 61.574997 # 5 +3286 646 6 0.000000 17.216585 13.135000 61.574997 # 5 +3287 644 6 0.000000 19.676096 14.555000 58.225006 # 5 +3288 644 6 0.000000 20.905853 13.845000 58.225006 # 5 +3289 646 6 0.000000 20.905853 13.845000 61.574997 # 5 +3290 646 6 0.000000 19.676096 13.135000 61.574997 # 5 +3291 644 6 0.000000 22.135609 14.555000 58.225006 # 5 +3292 644 6 0.000000 23.365364 13.845000 58.225006 # 5 +3293 646 6 0.000000 23.365364 13.845000 61.574997 # 5 +3294 646 6 0.000000 22.135609 13.135000 61.574997 # 5 +3295 644 6 0.000000 24.595121 14.555000 58.225006 # 5 +3296 644 6 0.000000 25.824877 13.845000 58.225006 # 5 +3297 646 6 0.000000 25.824877 13.845000 61.574997 # 5 +3298 646 6 0.000000 24.595121 13.135000 61.574997 # 5 +3299 644 6 0.000000 27.054632 14.555000 58.225006 # 5 +3300 644 6 0.000000 28.284389 13.845000 58.225006 # 5 +3301 646 6 0.000000 28.284389 13.845000 61.574997 # 5 +3302 646 6 0.000000 27.054632 13.135000 61.574997 # 5 +3303 644 6 0.000000 29.514145 14.555000 58.225006 # 5 +3304 644 6 0.000000 30.743900 13.845000 58.225006 # 5 +3305 646 6 0.000000 30.743900 13.845000 61.574997 # 5 +3306 646 6 0.000000 29.514145 13.135000 61.574997 # 5 +3307 644 6 0.000000 31.973658 14.555000 58.225006 # 5 +3308 646 6 0.000000 31.973658 13.135000 61.574997 # 5 +3309 644 6 0.000000 1.229756 16.684999 58.225006 # 5 +3310 644 6 0.000000 2.459512 15.975000 58.225006 # 5 +3311 646 6 0.000000 2.459512 15.975000 61.574997 # 5 +3312 646 6 0.000000 1.229756 15.265000 61.574997 # 5 +3313 644 6 0.000000 3.689268 16.684999 58.225006 # 5 +3314 644 6 0.000000 4.919024 15.975000 58.225006 # 5 +3315 646 6 0.000000 4.919024 15.975000 61.574997 # 5 +3316 646 6 0.000000 3.689268 15.265000 61.574997 # 5 +3317 644 6 0.000000 6.148780 16.684999 58.225006 # 5 +3318 644 6 0.000000 7.378536 15.975000 58.225006 # 5 +3319 646 6 0.000000 7.378536 15.975000 61.574997 # 5 +3320 646 6 0.000000 6.148780 15.265000 61.574997 # 5 +3321 644 6 0.000000 8.608293 16.684999 58.225006 # 5 +3322 644 6 0.000000 9.838048 15.975000 58.225006 # 5 +3323 646 6 0.000000 9.838048 15.975000 61.574997 # 5 +3324 646 6 0.000000 8.608293 15.265000 61.574997 # 5 +3325 644 6 0.000000 11.067804 16.684999 58.225006 # 5 +3326 644 6 0.000000 12.297561 15.975000 58.225006 # 5 +3327 646 6 0.000000 12.297561 15.975000 61.574997 # 5 +3328 646 6 0.000000 11.067804 15.265000 61.574997 # 5 +3329 644 6 0.000000 13.527316 16.684999 58.225006 # 5 +3330 644 6 0.000000 14.757072 15.975000 58.225006 # 5 +3331 646 6 0.000000 14.757072 15.975000 61.574997 # 5 +3332 646 6 0.000000 13.527316 15.265000 61.574997 # 5 +3333 644 6 0.000000 15.986829 16.684999 58.225006 # 5 +3334 644 6 0.000000 17.216585 15.975000 58.225006 # 5 +3335 646 6 0.000000 17.216585 15.975000 61.574997 # 5 +3336 646 6 0.000000 15.986829 15.265000 61.574997 # 5 +3337 644 6 0.000000 18.446341 16.684999 58.225006 # 5 +3338 644 6 0.000000 19.676096 15.975000 58.225006 # 5 +3339 646 6 0.000000 19.676096 15.975000 61.574997 # 5 +3340 646 6 0.000000 18.446341 15.265000 61.574997 # 5 +3341 644 6 0.000000 20.905853 16.684999 58.225006 # 5 +3342 644 6 0.000000 22.135609 15.975000 58.225006 # 5 +3343 646 6 0.000000 22.135609 15.975000 61.574997 # 5 +3344 646 6 0.000000 20.905853 15.265000 61.574997 # 5 +3345 644 6 0.000000 23.365364 16.684999 58.225006 # 5 +3346 644 6 0.000000 24.595121 15.975000 58.225006 # 5 +3347 646 6 0.000000 24.595121 15.975000 61.574997 # 5 +3348 646 6 0.000000 23.365364 15.265000 61.574997 # 5 +3349 644 6 0.000000 25.824877 16.684999 58.225006 # 5 +3350 644 6 0.000000 27.054632 15.975000 58.225006 # 5 +3351 646 6 0.000000 27.054632 15.975000 61.574997 # 5 +3352 646 6 0.000000 25.824877 15.265000 61.574997 # 5 +3353 644 6 0.000000 28.284389 16.684999 58.225006 # 5 +3354 644 6 0.000000 29.514145 15.975000 58.225006 # 5 +3355 646 6 0.000000 29.514145 15.975000 61.574997 # 5 +3356 646 6 0.000000 28.284389 15.265000 61.574997 # 5 +3357 644 6 0.000000 30.743900 16.684999 58.225006 # 5 +3358 644 6 0.000000 31.973658 15.975000 58.225006 # 5 +3359 646 6 0.000000 31.973658 15.975000 61.574997 # 5 +3360 646 6 0.000000 30.743900 15.265000 61.574997 # 5 +3361 644 6 0.000000 1.229756 18.105000 58.225006 # 5 +3362 646 6 0.000000 1.229756 18.105000 61.574997 # 5 +3363 644 6 0.000000 2.459512 18.815001 58.225006 # 5 +3364 644 6 0.000000 3.689268 18.105000 58.225006 # 5 +3365 646 6 0.000000 3.689268 18.105000 61.574997 # 5 +3366 646 6 0.000000 2.459512 17.395000 61.574997 # 5 +3367 644 6 0.000000 4.919024 18.815001 58.225006 # 5 +3368 644 6 0.000000 6.148780 18.105000 58.225006 # 5 +3369 646 6 0.000000 6.148780 18.105000 61.574997 # 5 +3370 646 6 0.000000 4.919024 17.395000 61.574997 # 5 +3371 644 6 0.000000 7.378536 18.815001 58.225006 # 5 +3372 644 6 0.000000 8.608293 18.105000 58.225006 # 5 +3373 646 6 0.000000 8.608293 18.105000 61.574997 # 5 +3374 646 6 0.000000 7.378536 17.395000 61.574997 # 5 +3375 644 6 0.000000 9.838048 18.815001 58.225006 # 5 +3376 644 6 0.000000 11.067804 18.105000 58.225006 # 5 +3377 646 6 0.000000 11.067804 18.105000 61.574997 # 5 +3378 646 6 0.000000 9.838048 17.395000 61.574997 # 5 +3379 644 6 0.000000 12.297561 18.815001 58.225006 # 5 +3380 644 6 0.000000 13.527316 18.105000 58.225006 # 5 +3381 646 6 0.000000 13.527316 18.105000 61.574997 # 5 +3382 646 6 0.000000 12.297561 17.395000 61.574997 # 5 +3383 644 6 0.000000 14.757072 18.815001 58.225006 # 5 +3384 644 6 0.000000 15.986829 18.105000 58.225006 # 5 +3385 646 6 0.000000 15.986829 18.105000 61.574997 # 5 +3386 646 6 0.000000 14.757072 17.395000 61.574997 # 5 +3387 644 6 0.000000 17.216585 18.815001 58.225006 # 5 +3388 644 6 0.000000 18.446341 18.105000 58.225006 # 5 +3389 646 6 0.000000 18.446341 18.105000 61.574997 # 5 +3390 646 6 0.000000 17.216585 17.395000 61.574997 # 5 +3391 644 6 0.000000 19.676096 18.815001 58.225006 # 5 +3392 644 6 0.000000 20.905853 18.105000 58.225006 # 5 +3393 646 6 0.000000 20.905853 18.105000 61.574997 # 5 +3394 646 6 0.000000 19.676096 17.395000 61.574997 # 5 +3395 644 6 0.000000 22.135609 18.815001 58.225006 # 5 +3396 644 6 0.000000 23.365364 18.105000 58.225006 # 5 +3397 646 6 0.000000 23.365364 18.105000 61.574997 # 5 +3398 646 6 0.000000 22.135609 17.395000 61.574997 # 5 +3399 644 6 0.000000 24.595121 18.815001 58.225006 # 5 +3400 644 6 0.000000 25.824877 18.105000 58.225006 # 5 +3401 646 6 0.000000 25.824877 18.105000 61.574997 # 5 +3402 646 6 0.000000 24.595121 17.395000 61.574997 # 5 +3403 644 6 0.000000 27.054632 18.815001 58.225006 # 5 +3404 644 6 0.000000 28.284389 18.105000 58.225006 # 5 +3405 646 6 0.000000 28.284389 18.105000 61.574997 # 5 +3406 646 6 0.000000 27.054632 17.395000 61.574997 # 5 +3407 644 6 0.000000 29.514145 18.815001 58.225006 # 5 +3408 644 6 0.000000 30.743900 18.105000 58.225006 # 5 +3409 646 6 0.000000 30.743900 18.105000 61.574997 # 5 +3410 646 6 0.000000 29.514145 17.395000 61.574997 # 5 +3411 644 6 0.000000 31.973658 18.815001 58.225006 # 5 +3412 646 6 0.000000 31.973658 17.395000 61.574997 # 5 +3413 644 6 0.000000 1.229756 20.945002 58.225006 # 5 +3414 644 6 0.000000 2.459512 20.235001 58.225006 # 5 +3415 646 6 0.000000 2.459512 20.235001 61.574997 # 5 +3416 646 6 0.000000 1.229756 19.525000 61.574997 # 5 +3417 644 6 0.000000 3.689268 20.945002 58.225006 # 5 +3418 644 6 0.000000 4.919024 20.235001 58.225006 # 5 +3419 646 6 0.000000 4.919024 20.235001 61.574997 # 5 +3420 646 6 0.000000 3.689268 19.525000 61.574997 # 5 +3421 644 6 0.000000 6.148780 20.945002 58.225006 # 5 +3422 644 6 0.000000 7.378536 20.235001 58.225006 # 5 +3423 646 6 0.000000 7.378536 20.235001 61.574997 # 5 +3424 646 6 0.000000 6.148780 19.525000 61.574997 # 5 +3425 644 6 0.000000 8.608293 20.945002 58.225006 # 5 +3426 644 6 0.000000 9.838048 20.235001 58.225006 # 5 +3427 646 6 0.000000 9.838048 20.235001 61.574997 # 5 +3428 646 6 0.000000 8.608293 19.525000 61.574997 # 5 +3429 644 6 0.000000 11.067804 20.945002 58.225006 # 5 +3430 644 6 0.000000 12.297561 20.235001 58.225006 # 5 +3431 646 6 0.000000 12.297561 20.235001 61.574997 # 5 +3432 646 6 0.000000 11.067804 19.525000 61.574997 # 5 +3433 644 6 0.000000 13.527316 20.945002 58.225006 # 5 +3434 644 6 0.000000 14.757072 20.235001 58.225006 # 5 +3435 646 6 0.000000 14.757072 20.235001 61.574997 # 5 +3436 646 6 0.000000 13.527316 19.525000 61.574997 # 5 +3437 644 6 0.000000 15.986829 20.945002 58.225006 # 5 +3438 644 6 0.000000 17.216585 20.235001 58.225006 # 5 +3439 646 6 0.000000 17.216585 20.235001 61.574997 # 5 +3440 646 6 0.000000 15.986829 19.525000 61.574997 # 5 +3441 644 6 0.000000 18.446341 20.945002 58.225006 # 5 +3442 644 6 0.000000 19.676096 20.235001 58.225006 # 5 +3443 646 6 0.000000 19.676096 20.235001 61.574997 # 5 +3444 646 6 0.000000 18.446341 19.525000 61.574997 # 5 +3445 644 6 0.000000 20.905853 20.945002 58.225006 # 5 +3446 644 6 0.000000 22.135609 20.235001 58.225006 # 5 +3447 646 6 0.000000 22.135609 20.235001 61.574997 # 5 +3448 646 6 0.000000 20.905853 19.525000 61.574997 # 5 +3449 644 6 0.000000 23.365364 20.945002 58.225006 # 5 +3450 644 6 0.000000 24.595121 20.235001 58.225006 # 5 +3451 646 6 0.000000 24.595121 20.235001 61.574997 # 5 +3452 646 6 0.000000 23.365364 19.525000 61.574997 # 5 +3453 644 6 0.000000 25.824877 20.945002 58.225006 # 5 +3454 644 6 0.000000 27.054632 20.235001 58.225006 # 5 +3455 646 6 0.000000 27.054632 20.235001 61.574997 # 5 +3456 646 6 0.000000 25.824877 19.525000 61.574997 # 5 +3457 644 6 0.000000 28.284389 20.945002 58.225006 # 5 +3458 644 6 0.000000 29.514145 20.235001 58.225006 # 5 +3459 646 6 0.000000 29.514145 20.235001 61.574997 # 5 +3460 646 6 0.000000 28.284389 19.525000 61.574997 # 5 +3461 644 6 0.000000 30.743900 20.945002 58.225006 # 5 +3462 644 6 0.000000 31.973658 20.235001 58.225006 # 5 +3463 646 6 0.000000 31.973658 20.235001 61.574997 # 5 +3464 646 6 0.000000 30.743900 19.525000 61.574997 # 5 +3465 644 6 0.000000 1.229756 22.365000 58.225006 # 5 +3466 646 6 0.000000 1.229756 22.365000 61.574997 # 5 +3467 644 6 0.000000 2.459512 23.075001 58.225006 # 5 +3468 644 6 0.000000 3.689268 22.365000 58.225006 # 5 +3469 646 6 0.000000 3.689268 22.365000 61.574997 # 5 +3470 646 6 0.000000 2.459512 21.655001 61.574997 # 5 +3471 644 6 0.000000 4.919024 23.075001 58.225006 # 5 +3472 644 6 0.000000 6.148780 22.365000 58.225006 # 5 +3473 646 6 0.000000 6.148780 22.365000 61.574997 # 5 +3474 646 6 0.000000 4.919024 21.655001 61.574997 # 5 +3475 644 6 0.000000 7.378536 23.075001 58.225006 # 5 +3476 644 6 0.000000 8.608293 22.365000 58.225006 # 5 +3477 646 6 0.000000 8.608293 22.365000 61.574997 # 5 +3478 646 6 0.000000 7.378536 21.655001 61.574997 # 5 +3479 644 6 0.000000 9.838048 23.075001 58.225006 # 5 +3480 644 6 0.000000 11.067804 22.365000 58.225006 # 5 +3481 646 6 0.000000 11.067804 22.365000 61.574997 # 5 +3482 646 6 0.000000 9.838048 21.655001 61.574997 # 5 +3483 644 6 0.000000 12.297561 23.075001 58.225006 # 5 +3484 644 6 0.000000 13.527316 22.365000 58.225006 # 5 +3485 646 6 0.000000 13.527316 22.365000 61.574997 # 5 +3486 646 6 0.000000 12.297561 21.655001 61.574997 # 5 +3487 644 6 0.000000 14.757072 23.075001 58.225006 # 5 +3488 644 6 0.000000 15.986829 22.365000 58.225006 # 5 +3489 646 6 0.000000 15.986829 22.365000 61.574997 # 5 +3490 646 6 0.000000 14.757072 21.655001 61.574997 # 5 +3491 644 6 0.000000 17.216585 23.075001 58.225006 # 5 +3492 644 6 0.000000 18.446341 22.365000 58.225006 # 5 +3493 646 6 0.000000 18.446341 22.365000 61.574997 # 5 +3494 646 6 0.000000 17.216585 21.655001 61.574997 # 5 +3495 644 6 0.000000 19.676096 23.075001 58.225006 # 5 +3496 644 6 0.000000 20.905853 22.365000 58.225006 # 5 +3497 646 6 0.000000 20.905853 22.365000 61.574997 # 5 +3498 646 6 0.000000 19.676096 21.655001 61.574997 # 5 +3499 644 6 0.000000 22.135609 23.075001 58.225006 # 5 +3500 644 6 0.000000 23.365364 22.365000 58.225006 # 5 +3501 646 6 0.000000 23.365364 22.365000 61.574997 # 5 +3502 646 6 0.000000 22.135609 21.655001 61.574997 # 5 +3503 644 6 0.000000 24.595121 23.075001 58.225006 # 5 +3504 644 6 0.000000 25.824877 22.365000 58.225006 # 5 +3505 646 6 0.000000 25.824877 22.365000 61.574997 # 5 +3506 646 6 0.000000 24.595121 21.655001 61.574997 # 5 +3507 644 6 0.000000 27.054632 23.075001 58.225006 # 5 +3508 644 6 0.000000 28.284389 22.365000 58.225006 # 5 +3509 646 6 0.000000 28.284389 22.365000 61.574997 # 5 +3510 646 6 0.000000 27.054632 21.655001 61.574997 # 5 +3511 644 6 0.000000 29.514145 23.075001 58.225006 # 5 +3512 644 6 0.000000 30.743900 22.365000 58.225006 # 5 +3513 646 6 0.000000 30.743900 22.365000 61.574997 # 5 +3514 646 6 0.000000 29.514145 21.655001 61.574997 # 5 +3515 644 6 0.000000 31.973658 23.075001 58.225006 # 5 +3516 646 6 0.000000 31.973658 21.655001 61.574997 # 5 +3517 644 6 0.000000 1.229756 25.205000 58.225006 # 5 +3518 644 6 0.000000 2.459512 24.495001 58.225006 # 5 +3519 646 6 0.000000 2.459512 24.495001 61.574997 # 5 +3520 646 6 0.000000 1.229756 23.785000 61.574997 # 5 +3521 644 6 0.000000 3.689268 25.205000 58.225006 # 5 +3522 644 6 0.000000 4.919024 24.495001 58.225006 # 5 +3523 646 6 0.000000 4.919024 24.495001 61.574997 # 5 +3524 646 6 0.000000 3.689268 23.785000 61.574997 # 5 +3525 644 6 0.000000 6.148780 25.205000 58.225006 # 5 +3526 644 6 0.000000 7.378536 24.495001 58.225006 # 5 +3527 646 6 0.000000 7.378536 24.495001 61.574997 # 5 +3528 646 6 0.000000 6.148780 23.785000 61.574997 # 5 +3529 644 6 0.000000 8.608293 25.205000 58.225006 # 5 +3530 644 6 0.000000 9.838048 24.495001 58.225006 # 5 +3531 646 6 0.000000 9.838048 24.495001 61.574997 # 5 +3532 646 6 0.000000 8.608293 23.785000 61.574997 # 5 +3533 644 6 0.000000 11.067804 25.205000 58.225006 # 5 +3534 644 6 0.000000 12.297561 24.495001 58.225006 # 5 +3535 646 6 0.000000 12.297561 24.495001 61.574997 # 5 +3536 646 6 0.000000 11.067804 23.785000 61.574997 # 5 +3537 644 6 0.000000 13.527316 25.205000 58.225006 # 5 +3538 644 6 0.000000 14.757072 24.495001 58.225006 # 5 +3539 646 6 0.000000 14.757072 24.495001 61.574997 # 5 +3540 646 6 0.000000 13.527316 23.785000 61.574997 # 5 +3541 644 6 0.000000 15.986829 25.205000 58.225006 # 5 +3542 644 6 0.000000 17.216585 24.495001 58.225006 # 5 +3543 646 6 0.000000 17.216585 24.495001 61.574997 # 5 +3544 646 6 0.000000 15.986829 23.785000 61.574997 # 5 +3545 644 6 0.000000 18.446341 25.205000 58.225006 # 5 +3546 644 6 0.000000 19.676096 24.495001 58.225006 # 5 +3547 646 6 0.000000 19.676096 24.495001 61.574997 # 5 +3548 646 6 0.000000 18.446341 23.785000 61.574997 # 5 +3549 644 6 0.000000 20.905853 25.205000 58.225006 # 5 +3550 644 6 0.000000 22.135609 24.495001 58.225006 # 5 +3551 646 6 0.000000 22.135609 24.495001 61.574997 # 5 +3552 646 6 0.000000 20.905853 23.785000 61.574997 # 5 +3553 644 6 0.000000 23.365364 25.205000 58.225006 # 5 +3554 644 6 0.000000 24.595121 24.495001 58.225006 # 5 +3555 646 6 0.000000 24.595121 24.495001 61.574997 # 5 +3556 646 6 0.000000 23.365364 23.785000 61.574997 # 5 +3557 644 6 0.000000 25.824877 25.205000 58.225006 # 5 +3558 644 6 0.000000 27.054632 24.495001 58.225006 # 5 +3559 646 6 0.000000 27.054632 24.495001 61.574997 # 5 +3560 646 6 0.000000 25.824877 23.785000 61.574997 # 5 +3561 644 6 0.000000 28.284389 25.205000 58.225006 # 5 +3562 644 6 0.000000 29.514145 24.495001 58.225006 # 5 +3563 646 6 0.000000 29.514145 24.495001 61.574997 # 5 +3564 646 6 0.000000 28.284389 23.785000 61.574997 # 5 +3565 644 6 0.000000 30.743900 25.205000 58.225006 # 5 +3566 644 6 0.000000 31.973658 24.495001 58.225006 # 5 +3567 646 6 0.000000 31.973658 24.495001 61.574997 # 5 +3568 646 6 0.000000 30.743900 23.785000 61.574997 # 5 +3569 644 6 0.000000 1.229756 26.625000 58.225006 # 5 +3570 646 6 0.000000 1.229756 26.625000 61.574997 # 5 +3571 644 6 0.000000 2.459512 27.335001 58.225006 # 5 +3572 644 6 0.000000 3.689268 26.625000 58.225006 # 5 +3573 646 6 0.000000 3.689268 26.625000 61.574997 # 5 +3574 646 6 0.000000 2.459512 25.915003 61.574997 # 5 +3575 644 6 0.000000 4.919024 27.335001 58.225006 # 5 +3576 644 6 0.000000 6.148780 26.625000 58.225006 # 5 +3577 646 6 0.000000 6.148780 26.625000 61.574997 # 5 +3578 646 6 0.000000 4.919024 25.915003 61.574997 # 5 +3579 644 6 0.000000 7.378536 27.335001 58.225006 # 5 +3580 644 6 0.000000 8.608293 26.625000 58.225006 # 5 +3581 646 6 0.000000 8.608293 26.625000 61.574997 # 5 +3582 646 6 0.000000 7.378536 25.915003 61.574997 # 5 +3583 644 6 0.000000 9.838048 27.335001 58.225006 # 5 +3584 644 6 0.000000 11.067804 26.625000 58.225006 # 5 +3585 646 6 0.000000 11.067804 26.625000 61.574997 # 5 +3586 646 6 0.000000 9.838048 25.915003 61.574997 # 5 +3587 644 6 0.000000 12.297561 27.335001 58.225006 # 5 +3588 644 6 0.000000 13.527316 26.625000 58.225006 # 5 +3589 646 6 0.000000 13.527316 26.625000 61.574997 # 5 +3590 646 6 0.000000 12.297561 25.915003 61.574997 # 5 +3591 644 6 0.000000 14.757072 27.335001 58.225006 # 5 +3592 644 6 0.000000 15.986829 26.625000 58.225006 # 5 +3593 646 6 0.000000 15.986829 26.625000 61.574997 # 5 +3594 646 6 0.000000 14.757072 25.915003 61.574997 # 5 +3595 644 6 0.000000 17.216585 27.335001 58.225006 # 5 +3596 644 6 0.000000 18.446341 26.625000 58.225006 # 5 +3597 646 6 0.000000 18.446341 26.625000 61.574997 # 5 +3598 646 6 0.000000 17.216585 25.915003 61.574997 # 5 +3599 644 6 0.000000 19.676096 27.335001 58.225006 # 5 +3600 644 6 0.000000 20.905853 26.625000 58.225006 # 5 +3601 646 6 0.000000 20.905853 26.625000 61.574997 # 5 +3602 646 6 0.000000 19.676096 25.915003 61.574997 # 5 +3603 644 6 0.000000 22.135609 27.335001 58.225006 # 5 +3604 644 6 0.000000 23.365364 26.625000 58.225006 # 5 +3605 646 6 0.000000 23.365364 26.625000 61.574997 # 5 +3606 646 6 0.000000 22.135609 25.915003 61.574997 # 5 +3607 644 6 0.000000 24.595121 27.335001 58.225006 # 5 +3608 644 6 0.000000 25.824877 26.625000 58.225006 # 5 +3609 646 6 0.000000 25.824877 26.625000 61.574997 # 5 +3610 646 6 0.000000 24.595121 25.915003 61.574997 # 5 +3611 644 6 0.000000 27.054632 27.335001 58.225006 # 5 +3612 644 6 0.000000 28.284389 26.625000 58.225006 # 5 +3613 646 6 0.000000 28.284389 26.625000 61.574997 # 5 +3614 646 6 0.000000 27.054632 25.915003 61.574997 # 5 +3615 644 6 0.000000 29.514145 27.335001 58.225006 # 5 +3616 644 6 0.000000 30.743900 26.625000 58.225006 # 5 +3617 646 6 0.000000 30.743900 26.625000 61.574997 # 5 +3618 646 6 0.000000 29.514145 25.915003 61.574997 # 5 +3619 644 6 0.000000 31.973658 27.335001 58.225006 # 5 +3620 646 6 0.000000 31.973658 25.915003 61.574997 # 5 +3621 644 6 0.000000 1.229756 29.465000 58.225006 # 5 +3622 644 6 0.000000 2.459512 28.754999 58.225006 # 5 +3623 646 6 0.000000 2.459512 28.754999 61.574997 # 5 +3624 646 6 0.000000 1.229756 28.045000 61.574997 # 5 +3625 644 6 0.000000 3.689268 29.465000 58.225006 # 5 +3626 644 6 0.000000 4.919024 28.754999 58.225006 # 5 +3627 646 6 0.000000 4.919024 28.754999 61.574997 # 5 +3628 646 6 0.000000 3.689268 28.045000 61.574997 # 5 +3629 644 6 0.000000 6.148780 29.465000 58.225006 # 5 +3630 644 6 0.000000 7.378536 28.754999 58.225006 # 5 +3631 646 6 0.000000 7.378536 28.754999 61.574997 # 5 +3632 646 6 0.000000 6.148780 28.045000 61.574997 # 5 +3633 644 6 0.000000 8.608293 29.465000 58.225006 # 5 +3634 644 6 0.000000 9.838048 28.754999 58.225006 # 5 +3635 646 6 0.000000 9.838048 28.754999 61.574997 # 5 +3636 646 6 0.000000 8.608293 28.045000 61.574997 # 5 +3637 644 6 0.000000 11.067804 29.465000 58.225006 # 5 +3638 644 6 0.000000 12.297561 28.754999 58.225006 # 5 +3639 646 6 0.000000 12.297561 28.754999 61.574997 # 5 +3640 646 6 0.000000 11.067804 28.045000 61.574997 # 5 +3641 644 6 0.000000 13.527316 29.465000 58.225006 # 5 +3642 644 6 0.000000 14.757072 28.754999 58.225006 # 5 +3643 646 6 0.000000 14.757072 28.754999 61.574997 # 5 +3644 646 6 0.000000 13.527316 28.045000 61.574997 # 5 +3645 644 6 0.000000 15.986829 29.465000 58.225006 # 5 +3646 644 6 0.000000 17.216585 28.754999 58.225006 # 5 +3647 646 6 0.000000 17.216585 28.754999 61.574997 # 5 +3648 646 6 0.000000 15.986829 28.045000 61.574997 # 5 +3649 644 6 0.000000 18.446341 29.465000 58.225006 # 5 +3650 644 6 0.000000 19.676096 28.754999 58.225006 # 5 +3651 646 6 0.000000 19.676096 28.754999 61.574997 # 5 +3652 646 6 0.000000 18.446341 28.045000 61.574997 # 5 +3653 644 6 0.000000 20.905853 29.465000 58.225006 # 5 +3654 644 6 0.000000 22.135609 28.754999 58.225006 # 5 +3655 646 6 0.000000 22.135609 28.754999 61.574997 # 5 +3656 646 6 0.000000 20.905853 28.045000 61.574997 # 5 +3657 644 6 0.000000 23.365364 29.465000 58.225006 # 5 +3658 644 6 0.000000 24.595121 28.754999 58.225006 # 5 +3659 646 6 0.000000 24.595121 28.754999 61.574997 # 5 +3660 646 6 0.000000 23.365364 28.045000 61.574997 # 5 +3661 644 6 0.000000 25.824877 29.465000 58.225006 # 5 +3662 644 6 0.000000 27.054632 28.754999 58.225006 # 5 +3663 646 6 0.000000 27.054632 28.754999 61.574997 # 5 +3664 646 6 0.000000 25.824877 28.045000 61.574997 # 5 +3665 644 6 0.000000 28.284389 29.465000 58.225006 # 5 +3666 644 6 0.000000 29.514145 28.754999 58.225006 # 5 +3667 646 6 0.000000 29.514145 28.754999 61.574997 # 5 +3668 646 6 0.000000 28.284389 28.045000 61.574997 # 5 +3669 644 6 0.000000 30.743900 29.465000 58.225006 # 5 +3670 644 6 0.000000 31.973658 28.754999 58.225006 # 5 +3671 646 6 0.000000 31.973658 28.754999 61.574997 # 5 +3672 646 6 0.000000 30.743900 28.045000 61.574997 # 5 +3673 644 6 0.000000 1.229756 30.885000 58.225006 # 5 +3674 646 6 0.000000 1.229756 30.885000 61.574997 # 5 +3675 644 6 0.000000 2.459512 31.594999 58.225006 # 5 +3676 644 6 0.000000 3.689268 30.885000 58.225006 # 5 +3677 646 6 0.000000 3.689268 30.885000 61.574997 # 5 +3678 646 6 0.000000 2.459512 30.174999 61.574997 # 5 +3679 644 6 0.000000 4.919024 31.594999 58.225006 # 5 +3680 644 6 0.000000 6.148780 30.885000 58.225006 # 5 +3681 646 6 0.000000 6.148780 30.885000 61.574997 # 5 +3682 646 6 0.000000 4.919024 30.174999 61.574997 # 5 +3683 644 6 0.000000 7.378536 31.594999 58.225006 # 5 +3684 644 6 0.000000 8.608293 30.885000 58.225006 # 5 +3685 646 6 0.000000 8.608293 30.885000 61.574997 # 5 +3686 646 6 0.000000 7.378536 30.174999 61.574997 # 5 +3687 644 6 0.000000 9.838048 31.594999 58.225006 # 5 +3688 644 6 0.000000 11.067804 30.885000 58.225006 # 5 +3689 646 6 0.000000 11.067804 30.885000 61.574997 # 5 +3690 646 6 0.000000 9.838048 30.174999 61.574997 # 5 +3691 644 6 0.000000 12.297561 31.594999 58.225006 # 5 +3692 644 6 0.000000 13.527316 30.885000 58.225006 # 5 +3693 646 6 0.000000 13.527316 30.885000 61.574997 # 5 +3694 646 6 0.000000 12.297561 30.174999 61.574997 # 5 +3695 644 6 0.000000 14.757072 31.594999 58.225006 # 5 +3696 644 6 0.000000 15.986829 30.885000 58.225006 # 5 +3697 646 6 0.000000 15.986829 30.885000 61.574997 # 5 +3698 646 6 0.000000 14.757072 30.174999 61.574997 # 5 +3699 644 6 0.000000 17.216585 31.594999 58.225006 # 5 +3700 644 6 0.000000 18.446341 30.885000 58.225006 # 5 +3701 646 6 0.000000 18.446341 30.885000 61.574997 # 5 +3702 646 6 0.000000 17.216585 30.174999 61.574997 # 5 +3703 644 6 0.000000 19.676096 31.594999 58.225006 # 5 +3704 644 6 0.000000 20.905853 30.885000 58.225006 # 5 +3705 646 6 0.000000 20.905853 30.885000 61.574997 # 5 +3706 646 6 0.000000 19.676096 30.174999 61.574997 # 5 +3707 644 6 0.000000 22.135609 31.594999 58.225006 # 5 +3708 644 6 0.000000 23.365364 30.885000 58.225006 # 5 +3709 646 6 0.000000 23.365364 30.885000 61.574997 # 5 +3710 646 6 0.000000 22.135609 30.174999 61.574997 # 5 +3711 644 6 0.000000 24.595121 31.594999 58.225006 # 5 +3712 644 6 0.000000 25.824877 30.885000 58.225006 # 5 +3713 646 6 0.000000 25.824877 30.885000 61.574997 # 5 +3714 646 6 0.000000 24.595121 30.174999 61.574997 # 5 +3715 644 6 0.000000 27.054632 31.594999 58.225006 # 5 +3716 644 6 0.000000 28.284389 30.885000 58.225006 # 5 +3717 646 6 0.000000 28.284389 30.885000 61.574997 # 5 +3718 646 6 0.000000 27.054632 30.174999 61.574997 # 5 +3719 644 6 0.000000 29.514145 31.594999 58.225006 # 5 +3720 644 6 0.000000 30.743900 30.885000 58.225006 # 5 +3721 646 6 0.000000 30.743900 30.885000 61.574997 # 5 +3722 646 6 0.000000 29.514145 30.174999 61.574997 # 5 +3723 644 6 0.000000 31.973658 31.594999 58.225006 # 5 +3724 646 6 0.000000 31.973658 30.174999 61.574997 # 5 +3725 644 6 0.000000 1.229756 33.724998 58.225006 # 5 +3726 644 6 0.000000 2.459512 33.014999 58.225006 # 5 +3727 646 6 0.000000 2.459512 33.014999 61.574997 # 5 +3728 646 6 0.000000 1.229756 32.305000 61.574997 # 5 +3729 644 6 0.000000 3.689268 33.724998 58.225006 # 5 +3730 644 6 0.000000 4.919024 33.014999 58.225006 # 5 +3731 646 6 0.000000 4.919024 33.014999 61.574997 # 5 +3732 646 6 0.000000 3.689268 32.305000 61.574997 # 5 +3733 644 6 0.000000 6.148780 33.724998 58.225006 # 5 +3734 644 6 0.000000 7.378536 33.014999 58.225006 # 5 +3735 646 6 0.000000 7.378536 33.014999 61.574997 # 5 +3736 646 6 0.000000 6.148780 32.305000 61.574997 # 5 +3737 644 6 0.000000 8.608293 33.724998 58.225006 # 5 +3738 644 6 0.000000 9.838048 33.014999 58.225006 # 5 +3739 646 6 0.000000 9.838048 33.014999 61.574997 # 5 +3740 646 6 0.000000 8.608293 32.305000 61.574997 # 5 +3741 644 6 0.000000 11.067804 33.724998 58.225006 # 5 +3742 644 6 0.000000 12.297561 33.014999 58.225006 # 5 +3743 646 6 0.000000 12.297561 33.014999 61.574997 # 5 +3744 646 6 0.000000 11.067804 32.305000 61.574997 # 5 +3745 644 6 0.000000 13.527316 33.724998 58.225006 # 5 +3746 644 6 0.000000 14.757072 33.014999 58.225006 # 5 +3747 646 6 0.000000 14.757072 33.014999 61.574997 # 5 +3748 646 6 0.000000 13.527316 32.305000 61.574997 # 5 +3749 644 6 0.000000 15.986829 33.724998 58.225006 # 5 +3750 644 6 0.000000 17.216585 33.014999 58.225006 # 5 +3751 646 6 0.000000 17.216585 33.014999 61.574997 # 5 +3752 646 6 0.000000 15.986829 32.305000 61.574997 # 5 +3753 644 6 0.000000 18.446341 33.724998 58.225006 # 5 +3754 644 6 0.000000 19.676096 33.014999 58.225006 # 5 +3755 646 6 0.000000 19.676096 33.014999 61.574997 # 5 +3756 646 6 0.000000 18.446341 32.305000 61.574997 # 5 +3757 644 6 0.000000 20.905853 33.724998 58.225006 # 5 +3758 644 6 0.000000 22.135609 33.014999 58.225006 # 5 +3759 646 6 0.000000 22.135609 33.014999 61.574997 # 5 +3760 646 6 0.000000 20.905853 32.305000 61.574997 # 5 +3761 644 6 0.000000 23.365364 33.724998 58.225006 # 5 +3762 644 6 0.000000 24.595121 33.014999 58.225006 # 5 +3763 646 6 0.000000 24.595121 33.014999 61.574997 # 5 +3764 646 6 0.000000 23.365364 32.305000 61.574997 # 5 +3765 644 6 0.000000 25.824877 33.724998 58.225006 # 5 +3766 644 6 0.000000 27.054632 33.014999 58.225006 # 5 +3767 646 6 0.000000 27.054632 33.014999 61.574997 # 5 +3768 646 6 0.000000 25.824877 32.305000 61.574997 # 5 +3769 644 6 0.000000 28.284389 33.724998 58.225006 # 5 +3770 644 6 0.000000 29.514145 33.014999 58.225006 # 5 +3771 646 6 0.000000 29.514145 33.014999 61.574997 # 5 +3772 646 6 0.000000 28.284389 32.305000 61.574997 # 5 +3773 644 6 0.000000 30.743900 33.724998 58.225006 # 5 +3774 644 6 0.000000 31.973658 33.014999 58.225006 # 5 +3775 646 6 0.000000 31.973658 33.014999 61.574997 # 5 +3776 646 6 0.000000 30.743900 32.305000 61.574997 # 5 Bonds diff --git a/examples/PACKAGES/electrode/graph-il/in.conp b/examples/PACKAGES/electrode/graph-il/in.conp index 12fcd88541..e5eec24da3 100644 --- a/examples/PACKAGES/electrode/graph-il/in.conp +++ b/examples/PACKAGES/electrode/graph-il/in.conp @@ -3,9 +3,9 @@ boundary p p f # slab calculation include settings.mod # styles, groups, computes and fixes -kspace_modify slab 3.0 +kspace_modify slab 3.0 # amat twostep -fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on +fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on #algo mat_inv thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop diff --git a/examples/PACKAGES/electrode/graph-il/in.conq b/examples/PACKAGES/electrode/graph-il/in.conq index 08429924d4..7f315a4b12 100644 --- a/examples/PACKAGES/electrode/graph-il/in.conq +++ b/examples/PACKAGES/electrode/graph-il/in.conq @@ -5,14 +5,10 @@ boundary p p f # slab calculation include settings.mod # styles, groups, computes and fixes kspace_modify slab 3.0 -fix conq bot electrode/conq -1.0 1.979 couple top 1.0 etypes 5 # conq doesn't take symm option - -# ask fix conq to output electrode potentials to internal variables -variable vbot internal 0.0 -variable vtop internal 0.0 -fix_modify conq set v bot vbot -fix_modify conq set v top vtop +fix conq bot electrode/conq -1.0 1.979 couple top 1.0 etypes on # symm on +variable dv equal f_conq[2]-f_conq[1] +# symm on and off give different electrode potentials, but identical potential difference thermo 50 -thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_vbot v_vtop +thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop f_conq[1] f_conq[2] v_dv run 500 diff --git a/examples/PACKAGES/electrode/graph-il/in.conq2 b/examples/PACKAGES/electrode/graph-il/in.conq2 index 46c9ecbf99..d860bf6c1a 100644 --- a/examples/PACKAGES/electrode/graph-il/in.conq2 +++ b/examples/PACKAGES/electrode/graph-il/in.conq2 @@ -5,30 +5,16 @@ boundary p p f # slab calculation include settings.mod # styles, groups, computes and fixes kspace_modify slab 3.0 -fix conp bot electrode/conp v_vbot 1.979 couple top v_vtop etypes 5 +fix conp bot electrode/conp v_vbot 1.979 couple top v_vtop etypes on -# get the four entries of electrode elastance matrix -variable me00 internal 0.0 -variable me01 internal 0.0 -variable me10 internal 0.0 -variable me11 internal 0.0 -fix_modify conp set me bot bot me00 -fix_modify conp set me bot top me01 -fix_modify conp set me top bot me10 -fix_modify conp set me top top me11 - -# get the 0V charges (qsb), and excess charge required to reach preset total charges -variable qsb_bot internal 0.0 -variable qsb_top internal 0.0 -fix_modify conp set qsb bot qsb_bot -fix_modify conp set qsb top qsb_top -variable qex_bot equal -1.0-v_qsb_bot # difference between desired and 0V charge -variable qex_top equal 1.0-v_qsb_top # difference between desired and 0V charge +variable qex_bot equal -1.0-f_conp[1][1] # difference between desired and 0V charge +variable qex_top equal 1.0-f_conp[2][1] # difference between desired and 0V charge # calculate imposed potential as elastance * excess charge # note: fix will wait until the run setup to look for its potential variables -variable vbot equal v_me00*v_qex_bot+v_me01*v_qex_top -variable vtop equal v_me10*v_qex_bot+v_me11*v_qex_top +# which is why we can define variable names *after* fix conp without error +variable vbot equal f_conp[1][4]*v_qex_bot+f_conp[1][5]*v_qex_top +variable vtop equal f_conp[2][4]*v_qex_bot+f_conp[2][5]*v_qex_top thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_vbot v_vtop diff --git a/examples/PACKAGES/electrode/graph-il/in.etypes b/examples/PACKAGES/electrode/graph-il/in.etypes index 30edebdc77..990c8bb415 100644 --- a/examples/PACKAGES/electrode/graph-il/in.etypes +++ b/examples/PACKAGES/electrode/graph-il/in.etypes @@ -5,7 +5,7 @@ boundary p p f # slab calculation include settings.mod # styles, groups, computes and fixes kspace_modify slab 3.0 -fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes 5 +fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes on thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop diff --git a/examples/PACKAGES/electrode/graph-il/in.ffield b/examples/PACKAGES/electrode/graph-il/in.ffield index 3d07402ffd..0771e91e62 100644 --- a/examples/PACKAGES/electrode/graph-il/in.ffield +++ b/examples/PACKAGES/electrode/graph-il/in.ffield @@ -4,7 +4,7 @@ boundary p p p # ffield uses periodic z-boundary and no slab include settings.mod # styles, groups, computes and fixes -fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes 5 ffield yes +fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes on ffield yes thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop diff --git a/examples/PACKAGES/electrode/graph-il/in.ramp b/examples/PACKAGES/electrode/graph-il/in.ramp index da6053ff9d..e4b897937d 100644 --- a/examples/PACKAGES/electrode/graph-il/in.ramp +++ b/examples/PACKAGES/electrode/graph-il/in.ramp @@ -6,7 +6,7 @@ include settings.mod # styles, groups, computes and fixes kspace_modify slab 3.0 variable v equal ramp(2,4) -fix conp bot electrode/conp 0.0 1.979 couple top v_v symm on etypes 5 +fix conp bot electrode/conp 0.0 1.979 couple top v_v symm on etypes on thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_v diff --git a/examples/PACKAGES/electrode/graph-il/in.thermo b/examples/PACKAGES/electrode/graph-il/in.thermo index a1d75196c9..eed574bff6 100644 --- a/examples/PACKAGES/electrode/graph-il/in.thermo +++ b/examples/PACKAGES/electrode/graph-il/in.thermo @@ -6,9 +6,9 @@ include settings.mod # styles, groups, computes and fixes kspace_modify slab 3.0 unfix nvt # remove NVT thermostat included from "settings.mod" -fix conpthermo bot electrode/thermo -1.0 1.979 couple top 1.0 etypes 5 temp 500 100 7 # temp tau rng +fix conpthermo bot electrode/thermo -1.0 1.979 couple top 1.0 etypes on temp 500 100 7 symm on # temp tau rng # to compare to regular constant potential, switch previous line to this: -#fix conp bot electrode/conp -1.0 1.979 couple top 1.0 etypes 5 symm on +#fix conp bot electrode/conp -1.0 1.979 couple top 1.0 etypes on symm on fix nve electrolyte nve # note ionic liquid does not reach 500K immediately diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conp.g++.1 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conp.g++.1 similarity index 51% rename from examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conp.g++.1 rename to examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conp.g++.1 index 086f109958..c5cd2579af 100644 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conp.g++.1 +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conp.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with constant potential # for graphene-ionic liquid supercapacitor @@ -37,13 +37,20 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.036 seconds + special bonds CPU = 0.004 seconds + read_data CPU = 0.027 seconds -group bot molecule 641 -416 atoms in group bot -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos 416 atoms in group top +group bot subtract ele top +416 atoms in group bot group bmi type 1 2 3 960 atoms in group bmi @@ -52,24 +59,54 @@ group electrolyte type 1 2 3 4 fix nvt electrolyte nvt temp 500.0 500.0 100 fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 320 = # of frozen angles - find clusters CPU = 0.001 seconds + find clusters CPU = 0.005 seconds variable q atom q compute qtop top reduce sum v_q compute qbot bot reduce sum v_q compute ctemp electrolyte temp -kspace_modify slab 3.0 +kspace_modify slab 3.0 # amat twostep -fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on +fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on #algo mat_inv 832 atoms in group conp_group thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.20904498 @@ -79,9 +116,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.1149519e-07 using double precision MKL FFT 3d grid and FFT values/proc = 307242 204800 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 18 ghost atom cutoff = 18 @@ -97,35 +134,35 @@ Neighbor list info ... pair build: copy stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 57.15 | 57.15 | 57.15 Mbytes +Per MPI rank memory allocation (min/avg/max) = 57.19 | 57.19 | 57.19 Mbytes Step Temp c_ctemp E_pair TotEng c_qbot c_qtop - 0 0 0 25137191 25137191 0.0085142912 -0.0085142912 + 0 0 0 25137190 25137190 0.0085142912 -0.0085142912 50 17.83755 64.26354 25137031 25137214 0.0045923944 -0.0045923944 - 100 48.393682 174.34846 25136774 25137273 -0.009514517 0.009514517 - 150 70.421272 253.7075 25136655 25137380 -0.033017005 0.033017005 - 200 82.204844 296.16031 25136667 25137514 -0.063668175 0.063668175 - 250 87.54223 315.38937 25136757 25137659 -0.096776257 0.096776257 - 300 91.704746 330.38571 25136865 25137810 -0.1283784 0.1283784 - 350 100.36017 361.56871 25136934 25137968 -0.15649799 0.15649799 - 400 111.37575 401.25467 25136986 25138133 -0.18065435 0.18065435 - 450 121.79848 438.80476 25137043 25138298 -0.19979365 0.19979365 - 500 126.95916 457.39718 25137145 25138453 -0.21037535 0.21037535 -Loop time of 103.439 on 1 procs for 500 steps with 3776 atoms + 100 48.393682 174.34846 25136775 25137273 -0.009514517 0.009514517 + 150 70.421272 253.7075 25136657 25137382 -0.033017005 0.033017005 + 200 82.204844 296.16031 25136670 25137517 -0.063668175 0.063668175 + 250 87.54223 315.38937 25136762 25137663 -0.096776257 0.096776257 + 300 91.704746 330.38571 25136871 25137816 -0.1283784 0.1283784 + 350 100.36017 361.56871 25136941 25137975 -0.15649799 0.15649799 + 400 111.37575 401.25467 25136994 25138141 -0.18065435 0.18065435 + 450 121.79848 438.80476 25137052 25138307 -0.19979365 0.19979365 + 500 126.95916 457.39718 25137155 25138463 -0.21037535 0.21037535 +Loop time of 91.5523 on 1 procs for 500 steps with 3776 atoms -Performance: 0.418 ns/day, 57.466 hours/ns, 4.834 timesteps/s -393.6% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.472 ns/day, 50.862 hours/ns, 5.461 timesteps/s, 20.622 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 19.309 | 19.309 | 19.309 | 0.0 | 18.67 -Bond | 0.0018867 | 0.0018867 | 0.0018867 | 0.0 | 0.00 -Kspace | 23.047 | 23.047 | 23.047 | 0.0 | 22.28 -Neigh | 0.25707 | 0.25707 | 0.25707 | 0.0 | 0.25 -Comm | 0.070734 | 0.070734 | 0.070734 | 0.0 | 0.07 -Output | 0.0023085 | 0.0023085 | 0.0023085 | 0.0 | 0.00 -Modify | 60.73 | 60.73 | 60.73 | 0.0 | 58.71 -Other | | 0.01994 | | | 0.02 +Pair | 18.906 | 18.906 | 18.906 | 0.0 | 20.65 +Bond | 0.0012922 | 0.0012922 | 0.0012922 | 0.0 | 0.00 +Kspace | 34.476 | 34.476 | 34.476 | 0.0 | 37.66 +Neigh | 0.26641 | 0.26641 | 0.26641 | 0.0 | 0.29 +Comm | 0.069067 | 0.069067 | 0.069067 | 0.0 | 0.08 +Output | 0.0021466 | 0.0021466 | 0.0021466 | 0.0 | 0.00 +Modify | 37.805 | 37.805 | 37.805 | 0.0 | 41.29 +Other | | 0.0271 | | | 0.03 Nlocal: 3776 ave 3776 max 3776 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -139,4 +176,4 @@ Ave neighs/atom = 457.18432 Ave special neighs/atom = 0.50847458 Neighbor list builds = 7 Dangerous builds = 0 -Total wall time: 0:03:10 +Total wall time: 0:01:48 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conp.g++.4 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conp.g++.4 similarity index 51% rename from examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conp.g++.4 rename to examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conp.g++.4 index f74768b08d..ba941705aa 100644 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conp.g++.4 +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conp.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with constant potential # for graphene-ionic liquid supercapacitor @@ -38,13 +38,20 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.014 seconds + special bonds CPU = 0.003 seconds + read_data CPU = 0.038 seconds -group bot molecule 641 -416 atoms in group bot -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos 416 atoms in group top +group bot subtract ele top +416 atoms in group bot group bmi type 1 2 3 960 atoms in group bmi @@ -53,24 +60,54 @@ group electrolyte type 1 2 3 4 fix nvt electrolyte nvt temp 500.0 500.0 100 fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 320 = # of frozen angles - find clusters CPU = 0.001 seconds + find clusters CPU = 0.003 seconds variable q atom q compute qtop top reduce sum v_q compute qbot bot reduce sum v_q compute ctemp electrolyte temp -kspace_modify slab 3.0 +kspace_modify slab 3.0 # amat twostep -fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on +fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on #algo mat_inv 832 atoms in group conp_group thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.20904498 @@ -80,9 +117,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.1149519e-07 using double precision MKL FFT 3d grid and FFT values/proc = 151593 85504 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 18 ghost atom cutoff = 18 @@ -98,35 +135,35 @@ Neighbor list info ... pair build: copy stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 23.13 | 26.96 | 30.79 Mbytes +Per MPI rank memory allocation (min/avg/max) = 23.16 | 26.99 | 30.82 Mbytes Step Temp c_ctemp E_pair TotEng c_qbot c_qtop - 0 0 0 25137191 25137191 0.0085142912 -0.0085142912 + 0 0 0 25137190 25137190 0.0085142912 -0.0085142912 50 17.83755 64.26354 25137031 25137214 0.0045923944 -0.0045923944 - 100 48.393682 174.34846 25136774 25137273 -0.009514517 0.009514517 - 150 70.421272 253.7075 25136655 25137380 -0.033017005 0.033017005 - 200 82.204844 296.16031 25136667 25137514 -0.063668175 0.063668175 - 250 87.54223 315.38937 25136757 25137659 -0.096776257 0.096776257 - 300 91.704746 330.38571 25136865 25137810 -0.1283784 0.1283784 - 350 100.36017 361.56871 25136934 25137968 -0.15649799 0.15649799 - 400 111.37575 401.25467 25136986 25138133 -0.18065435 0.18065435 - 450 121.79848 438.80476 25137043 25138298 -0.19979365 0.19979365 - 500 126.95916 457.39718 25137145 25138453 -0.21037535 0.21037535 -Loop time of 49.6656 on 4 procs for 500 steps with 3776 atoms + 100 48.393682 174.34846 25136775 25137273 -0.009514517 0.009514517 + 150 70.421272 253.7075 25136657 25137382 -0.033017005 0.033017005 + 200 82.204844 296.16031 25136670 25137517 -0.063668175 0.063668175 + 250 87.54223 315.38937 25136762 25137663 -0.096776257 0.096776257 + 300 91.704746 330.38571 25136871 25137816 -0.1283784 0.1283784 + 350 100.36017 361.56871 25136941 25137975 -0.15649799 0.15649799 + 400 111.37575 401.25467 25136994 25138141 -0.18065435 0.18065435 + 450 121.79848 438.80476 25137052 25138307 -0.19979365 0.19979365 + 500 126.95916 457.39718 25137155 25138463 -0.21037535 0.21037535 +Loop time of 49.6413 on 4 procs for 500 steps with 3776 atoms -Performance: 0.870 ns/day, 27.592 hours/ns, 10.067 timesteps/s -95.1% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.870 ns/day, 27.578 hours/ns, 10.072 timesteps/s, 38.033 katom-step/s +76.3% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 5.968 | 6.1677 | 6.382 | 6.5 | 12.42 -Bond | 0.00071151 | 0.00078617 | 0.00090387 | 0.0 | 0.00 -Kspace | 17.345 | 17.558 | 17.755 | 3.8 | 35.35 -Neigh | 0.10939 | 0.10945 | 0.10948 | 0.0 | 0.22 -Comm | 0.15295 | 0.15474 | 0.15699 | 0.4 | 0.31 -Output | 0.00074458 | 0.0010336 | 0.0018799 | 1.5 | 0.00 -Modify | 25.634 | 25.641 | 25.645 | 0.1 | 51.63 -Other | | 0.03276 | | | 0.07 +Pair | 5.3666 | 5.4998 | 5.6946 | 5.4 | 11.08 +Bond | 0.0011638 | 0.0012711 | 0.0014555 | 0.3 | 0.00 +Kspace | 24.047 | 24.241 | 24.374 | 2.6 | 48.83 +Neigh | 0.088235 | 0.088328 | 0.088432 | 0.0 | 0.18 +Comm | 0.30907 | 0.31913 | 0.32916 | 1.7 | 0.64 +Output | 0.0010669 | 0.0014463 | 0.0024232 | 1.5 | 0.00 +Modify | 19.435 | 19.445 | 19.454 | 0.2 | 39.17 +Other | | 0.04549 | | | 0.09 Nlocal: 944 ave 951 max 941 min Histogram: 1 2 0 0 0 0 0 0 0 1 @@ -140,4 +177,4 @@ Ave neighs/atom = 457.18432 Ave special neighs/atom = 0.50847458 Neighbor list builds = 7 Dangerous builds = 0 -Total wall time: 0:01:11 +Total wall time: 0:00:55 diff --git a/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq.g++.1 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq.g++.1 new file mode 100644 index 0000000000..c75238dc36 --- /dev/null +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq.g++.1 @@ -0,0 +1,186 @@ +LAMMPS (3 Nov 2022) +# electrodes with constrained total charges +# for graphene-ionic liquid supercapacitor + +boundary p p f # slab calculation +include settings.mod # styles, groups, computes and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 16 +bond_style harmonic +angle_style harmonic +kspace_style pppm/electrode 1e-7 +# kspace_modify in main script because ffield is periodic + +read_data "data.graph-il" +Reading data file ... + orthogonal box = (0 0 -68) to (32.2 34.4 68) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3776 atoms + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 640 bonds + reading angles ... + 320 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.002 seconds + read_data CPU = 0.023 seconds + +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos +416 atoms in group top +group bot subtract ele top +416 atoms in group bot + +group bmi type 1 2 3 +960 atoms in group bmi +group electrolyte type 1 2 3 4 +1280 atoms in group electrolyte + +fix nvt electrolyte nvt temp 500.0 500.0 100 +fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... + 0 = # of size 2 clusters + 0 = # of size 3 clusters + 0 = # of size 4 clusters + 320 = # of frozen angles + find clusters CPU = 0.002 seconds + +variable q atom q +compute qtop top reduce sum v_q +compute qbot bot reduce sum v_q +compute ctemp electrolyte temp +kspace_modify slab 3.0 + +fix conq bot electrode/conq -1.0 1.979 couple top 1.0 etypes on # symm on +832 atoms in group conp_group +variable dv equal f_conq[2]-f_conq[1] +# symm on and off give different electrode potentials, but identical potential difference + +thermo 50 +thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop f_conq[1] f_conq[2] v_dv +run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.20904498 + grid = 32 32 200 + stencil order = 5 + estimated absolute RMS force accuracy = 3.7023506e-05 + estimated relative force accuracy = 1.1149519e-07 + using double precision MKL FFT + 3d grid and FFT values/proc = 307242 204800 +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 18 + ghost atom cutoff = 18 + binsize = 9, bins = 4 4 16 + 3 neighbor lists, perpetual/occasional/extra = 2 1 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conq, occasional, skip from (1) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) fix electrode/conq, perpetual, skip from (1) + attributes: half, newton on + pair build: skip + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 54.25 | 54.25 | 54.25 Mbytes + Step Temp c_ctemp E_pair TotEng c_qbot c_qtop f_conq[1] f_conq[2] v_dv + 0 0 0 25137446 25137446 -1 1 -9.931852 10.097344 20.029196 + 50 20.206425 72.797911 25137263 25137472 -1 1 -9.4359366 9.5964514 19.032388 + 100 55.931663 201.50563 25136961 25137537 -1 1 -8.0440112 8.1861787 16.23019 + 150 81.389273 293.22204 25136818 25137656 -1 1 -6.1113109 6.2267114 12.338022 + 200 92.867946 334.57639 25136841 25137798 -1 1 -4.1857807 4.2740694 8.4598501 + 250 97.518304 351.33028 25136942 25137946 -1 1 -2.8383703 2.9101475 5.7485179 + 300 102.36577 368.79431 25137045 25138099 -1 1 -2.3831643 2.4461115 4.8292759 + 350 113.66597 409.50566 25137086 25138256 -1 1 -2.7083563 2.7457811 5.4541374 + 400 122.8443 442.57252 25137148 25138413 -1 1 -3.4311003 3.3941657 6.825266 + 450 128.63713 463.44243 25137235 25138560 -1 1 -4.132871 3.9852959 8.1181669 + 500 131.18361 472.61665 25137344 25138695 -1 1 -4.5104095 4.2567261 8.7671355 +Loop time of 89.4461 on 1 procs for 500 steps with 3776 atoms + +Performance: 0.483 ns/day, 49.692 hours/ns, 5.590 timesteps/s, 21.108 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 19.404 | 19.404 | 19.404 | 0.0 | 21.69 +Bond | 0.0014902 | 0.0014902 | 0.0014902 | 0.0 | 0.00 +Kspace | 35.449 | 35.449 | 35.449 | 0.0 | 39.63 +Neigh | 0.26499 | 0.26499 | 0.26499 | 0.0 | 0.30 +Comm | 0.068497 | 0.068497 | 0.068497 | 0.0 | 0.08 +Output | 0.0023974 | 0.0023974 | 0.0023974 | 0.0 | 0.00 +Modify | 34.225 | 34.225 | 34.225 | 0.0 | 38.26 +Other | | 0.03044 | | | 0.03 + +Nlocal: 3776 ave 3776 max 3776 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 12510 ave 12510 max 12510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1.72559e+06 ave 1.72559e+06 max 1.72559e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1725588 +Ave neighs/atom = 456.98835 +Ave special neighs/atom = 0.50847458 +Neighbor list builds = 6 +Dangerous builds = 0 +Total wall time: 0:01:48 diff --git a/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq.g++.4 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq.g++.4 new file mode 100644 index 0000000000..65a143ad13 --- /dev/null +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq.g++.4 @@ -0,0 +1,187 @@ +LAMMPS (3 Nov 2022) +# electrodes with constrained total charges +# for graphene-ionic liquid supercapacitor + +boundary p p f # slab calculation +include settings.mod # styles, groups, computes and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" +processors * * 2 + +atom_style full +pair_style lj/cut/coul/long 16 +bond_style harmonic +angle_style harmonic +kspace_style pppm/electrode 1e-7 +# kspace_modify in main script because ffield is periodic + +read_data "data.graph-il" +Reading data file ... + orthogonal box = (0 0 -68) to (32.2 34.4 68) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 3776 atoms + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 640 bonds + reading angles ... + 320 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.002 seconds + read_data CPU = 0.034 seconds + +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos +416 atoms in group top +group bot subtract ele top +416 atoms in group bot + +group bmi type 1 2 3 +960 atoms in group bmi +group electrolyte type 1 2 3 4 +1280 atoms in group electrolyte + +fix nvt electrolyte nvt temp 500.0 500.0 100 +fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... + 0 = # of size 2 clusters + 0 = # of size 3 clusters + 0 = # of size 4 clusters + 320 = # of frozen angles + find clusters CPU = 0.002 seconds + +variable q atom q +compute qtop top reduce sum v_q +compute qbot bot reduce sum v_q +compute ctemp electrolyte temp +kspace_modify slab 3.0 + +fix conq bot electrode/conq -1.0 1.979 couple top 1.0 etypes on # symm on +832 atoms in group conp_group +variable dv equal f_conq[2]-f_conq[1] +# symm on and off give different electrode potentials, but identical potential difference + +thermo 50 +thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop f_conq[1] f_conq[2] v_dv +run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.20904498 + grid = 32 32 200 + stencil order = 5 + estimated absolute RMS force accuracy = 3.7023506e-05 + estimated relative force accuracy = 1.1149519e-07 + using double precision MKL FFT + 3d grid and FFT values/proc = 151593 85504 +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 18 + ghost atom cutoff = 18 + binsize = 9, bins = 4 4 16 + 3 neighbor lists, perpetual/occasional/extra = 2 1 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conq, occasional, skip from (1) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) fix electrode/conq, perpetual, skip from (1) + attributes: half, newton on + pair build: skip + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 22.9 | 26.72 | 30.55 Mbytes + Step Temp c_ctemp E_pair TotEng c_qbot c_qtop f_conq[1] f_conq[2] v_dv + 0 0 0 25137446 25137446 -1 1 -9.931852 10.097344 20.029196 + 50 20.206425 72.797911 25137263 25137472 -1 1 -9.4359366 9.5964514 19.032388 + 100 55.931663 201.50563 25136961 25137537 -1 1 -8.0440112 8.1861787 16.23019 + 150 81.389273 293.22204 25136818 25137656 -1 1 -6.1113109 6.2267114 12.338022 + 200 92.867946 334.57639 25136841 25137798 -1 1 -4.1857807 4.2740694 8.4598501 + 250 97.518304 351.33028 25136942 25137946 -1 1 -2.8383703 2.9101475 5.7485179 + 300 102.36577 368.79431 25137045 25138099 -1 1 -2.3831643 2.4461115 4.8292759 + 350 113.66597 409.50566 25137086 25138256 -1 1 -2.7083563 2.7457811 5.4541374 + 400 122.8443 442.57252 25137148 25138413 -1 1 -3.4311003 3.3941657 6.825266 + 450 128.63713 463.44243 25137235 25138560 -1 1 -4.132871 3.9852959 8.1181669 + 500 131.18361 472.61665 25137344 25138695 -1 1 -4.5104095 4.2567261 8.7671355 +Loop time of 53.4299 on 4 procs for 500 steps with 3776 atoms + +Performance: 0.809 ns/day, 29.683 hours/ns, 9.358 timesteps/s, 35.336 katom-step/s +74.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.5806 | 5.8872 | 6.1547 | 8.8 | 11.02 +Bond | 0.0011404 | 0.0012245 | 0.0012898 | 0.2 | 0.00 +Kspace | 26.55 | 26.822 | 27.129 | 4.1 | 50.20 +Neigh | 0.098647 | 0.099673 | 0.10083 | 0.3 | 0.19 +Comm | 0.35493 | 0.37282 | 0.3909 | 2.1 | 0.70 +Output | 0.0012274 | 0.001617 | 0.0026374 | 1.5 | 0.00 +Modify | 20.172 | 20.188 | 20.203 | 0.3 | 37.78 +Other | | 0.05647 | | | 0.11 + +Nlocal: 944 ave 948 max 940 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Nghost: 5920.5 ave 5941 max 5899 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 431397 ave 442329 max 421103 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 1725588 +Ave neighs/atom = 456.98835 +Ave special neighs/atom = 0.50847458 +Neighbor list builds = 6 +Dangerous builds = 0 +Total wall time: 0:00:59 diff --git a/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq2.g++.1 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq2.g++.1 new file mode 100644 index 0000000000..a3eedd22c7 --- /dev/null +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq2.g++.1 @@ -0,0 +1,193 @@ +LAMMPS (3 Nov 2022) +# electrodes with constrained total charges imposed from dynamically computed potentials +# for graphene-ionic liquid supercapacitor + +boundary p p f # slab calculation +include settings.mod # styles, groups, computes and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 16 +bond_style harmonic +angle_style harmonic +kspace_style pppm/electrode 1e-7 +# kspace_modify in main script because ffield is periodic + +read_data "data.graph-il" +Reading data file ... + orthogonal box = (0 0 -68) to (32.2 34.4 68) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3776 atoms + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 640 bonds + reading angles ... + 320 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.002 seconds + read_data CPU = 0.022 seconds + +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos +416 atoms in group top +group bot subtract ele top +416 atoms in group bot + +group bmi type 1 2 3 +960 atoms in group bmi +group electrolyte type 1 2 3 4 +1280 atoms in group electrolyte + +fix nvt electrolyte nvt temp 500.0 500.0 100 +fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... + 0 = # of size 2 clusters + 0 = # of size 3 clusters + 0 = # of size 4 clusters + 320 = # of frozen angles + find clusters CPU = 0.001 seconds + +variable q atom q +compute qtop top reduce sum v_q +compute qbot bot reduce sum v_q +compute ctemp electrolyte temp +kspace_modify slab 3.0 + +fix conp bot electrode/conp v_vbot 1.979 couple top v_vtop etypes on +832 atoms in group conp_group + +variable qex_bot equal -1.0-f_conp[1][1] # difference between desired and 0V charge +variable qex_top equal 1.0-f_conp[2][1] # difference between desired and 0V charge + +# calculate imposed potential as elastance * excess charge +# note: fix will wait until the run setup to look for its potential variables +# which is why we can define variable names *after* fix conp without error +variable vbot equal f_conp[1][4]*v_qex_bot+f_conp[1][5]*v_qex_top +variable vtop equal f_conp[2][4]*v_qex_bot+f_conp[2][5]*v_qex_top + +thermo 50 +thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_vbot v_vtop +run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.20904498 + grid = 32 32 200 + stencil order = 5 + estimated absolute RMS force accuracy = 3.7023506e-05 + estimated relative force accuracy = 1.1149519e-07 + using double precision MKL FFT + 3d grid and FFT values/proc = 307242 204800 +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 18 + ghost atom cutoff = 18 + binsize = 9, bins = 4 4 16 + 3 neighbor lists, perpetual/occasional/extra = 2 1 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, occasional, skip from (1) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) fix electrode/conp, perpetual, skip from (1) + attributes: half, newton on + pair build: skip + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 54.25 | 54.25 | 54.25 Mbytes + Step Temp c_ctemp E_pair TotEng c_qbot c_qtop v_vbot v_vtop + 0 0 0 25137446 25137446 -1 1 -9.931852 10.097344 + 50 20.206425 72.797911 25137263 25137472 -1 1 -9.4359366 9.5964514 + 100 55.931663 201.50563 25136961 25137537 -1 1 -8.0440112 8.1861787 + 150 81.389273 293.22204 25136818 25137656 -1 1 -6.1113109 6.2267114 + 200 92.867946 334.57639 25136841 25137798 -1 1 -4.1857807 4.2740694 + 250 97.518304 351.33028 25136942 25137946 -1 1 -2.8383703 2.9101475 + 300 102.36577 368.79431 25137045 25138099 -1 1 -2.3831643 2.4461115 + 350 113.66597 409.50566 25137086 25138256 -1 1 -2.7083563 2.7457811 + 400 122.8443 442.57252 25137148 25138413 -1 1 -3.4311003 3.3941657 + 450 128.63713 463.44243 25137235 25138560 -1 1 -4.132871 3.9852959 + 500 131.18361 472.61665 25137344 25138695 -1 1 -4.5104095 4.2567261 +Loop time of 85.5691 on 1 procs for 500 steps with 3776 atoms + +Performance: 0.505 ns/day, 47.538 hours/ns, 5.843 timesteps/s, 22.064 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 18.558 | 18.558 | 18.558 | 0.0 | 21.69 +Bond | 0.001404 | 0.001404 | 0.001404 | 0.0 | 0.00 +Kspace | 33.78 | 33.78 | 33.78 | 0.0 | 39.48 +Neigh | 0.27017 | 0.27017 | 0.27017 | 0.0 | 0.32 +Comm | 0.067438 | 0.067438 | 0.067438 | 0.0 | 0.08 +Output | 0.0026656 | 0.0026656 | 0.0026656 | 0.0 | 0.00 +Modify | 32.86 | 32.86 | 32.86 | 0.0 | 38.40 +Other | | 0.02916 | | | 0.03 + +Nlocal: 3776 ave 3776 max 3776 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 12510 ave 12510 max 12510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1.72559e+06 ave 1.72559e+06 max 1.72559e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1725588 +Ave neighs/atom = 456.98835 +Ave special neighs/atom = 0.50847458 +Neighbor list builds = 6 +Dangerous builds = 0 +Total wall time: 0:01:42 diff --git a/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq2.g++.4 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq2.g++.4 new file mode 100644 index 0000000000..a0b182f3bb --- /dev/null +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-conq2.g++.4 @@ -0,0 +1,194 @@ +LAMMPS (3 Nov 2022) +# electrodes with constrained total charges imposed from dynamically computed potentials +# for graphene-ionic liquid supercapacitor + +boundary p p f # slab calculation +include settings.mod # styles, groups, computes and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" +processors * * 2 + +atom_style full +pair_style lj/cut/coul/long 16 +bond_style harmonic +angle_style harmonic +kspace_style pppm/electrode 1e-7 +# kspace_modify in main script because ffield is periodic + +read_data "data.graph-il" +Reading data file ... + orthogonal box = (0 0 -68) to (32.2 34.4 68) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 3776 atoms + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 640 bonds + reading angles ... + 320 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.005 seconds + read_data CPU = 0.044 seconds + +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos +416 atoms in group top +group bot subtract ele top +416 atoms in group bot + +group bmi type 1 2 3 +960 atoms in group bmi +group electrolyte type 1 2 3 4 +1280 atoms in group electrolyte + +fix nvt electrolyte nvt temp 500.0 500.0 100 +fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... + 0 = # of size 2 clusters + 0 = # of size 3 clusters + 0 = # of size 4 clusters + 320 = # of frozen angles + find clusters CPU = 0.002 seconds + +variable q atom q +compute qtop top reduce sum v_q +compute qbot bot reduce sum v_q +compute ctemp electrolyte temp +kspace_modify slab 3.0 + +fix conp bot electrode/conp v_vbot 1.979 couple top v_vtop etypes on +832 atoms in group conp_group + +variable qex_bot equal -1.0-f_conp[1][1] # difference between desired and 0V charge +variable qex_top equal 1.0-f_conp[2][1] # difference between desired and 0V charge + +# calculate imposed potential as elastance * excess charge +# note: fix will wait until the run setup to look for its potential variables +# which is why we can define variable names *after* fix conp without error +variable vbot equal f_conp[1][4]*v_qex_bot+f_conp[1][5]*v_qex_top +variable vtop equal f_conp[2][4]*v_qex_bot+f_conp[2][5]*v_qex_top + +thermo 50 +thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_vbot v_vtop +run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.20904498 + grid = 32 32 200 + stencil order = 5 + estimated absolute RMS force accuracy = 3.7023506e-05 + estimated relative force accuracy = 1.1149519e-07 + using double precision MKL FFT + 3d grid and FFT values/proc = 151593 85504 +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 18 + ghost atom cutoff = 18 + binsize = 9, bins = 4 4 16 + 3 neighbor lists, perpetual/occasional/extra = 2 1 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, occasional, skip from (1) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) fix electrode/conp, perpetual, skip from (1) + attributes: half, newton on + pair build: skip + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 22.9 | 26.72 | 30.55 Mbytes + Step Temp c_ctemp E_pair TotEng c_qbot c_qtop v_vbot v_vtop + 0 0 0 25137446 25137446 -1 1 -9.931852 10.097344 + 50 20.206425 72.797911 25137263 25137472 -1 1 -9.4359366 9.5964514 + 100 55.931663 201.50563 25136961 25137537 -1 1 -8.0440112 8.1861787 + 150 81.389273 293.22204 25136818 25137656 -1 1 -6.1113109 6.2267114 + 200 92.867946 334.57639 25136841 25137798 -1 1 -4.1857807 4.2740694 + 250 97.518304 351.33028 25136942 25137946 -1 1 -2.8383703 2.9101475 + 300 102.36577 368.79431 25137045 25138099 -1 1 -2.3831643 2.4461115 + 350 113.66597 409.50566 25137086 25138256 -1 1 -2.7083563 2.7457811 + 400 122.8443 442.57252 25137148 25138413 -1 1 -3.4311003 3.3941657 + 450 128.63713 463.44243 25137235 25138560 -1 1 -4.132871 3.9852959 + 500 131.18361 472.61665 25137344 25138695 -1 1 -4.5104095 4.2567261 +Loop time of 54.0351 on 4 procs for 500 steps with 3776 atoms + +Performance: 0.799 ns/day, 30.019 hours/ns, 9.253 timesteps/s, 34.940 katom-step/s +75.8% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 6.5878 | 6.8799 | 7.1455 | 8.0 | 12.73 +Bond | 0.0011081 | 0.0014187 | 0.0018792 | 0.8 | 0.00 +Kspace | 25.907 | 26.173 | 26.464 | 4.1 | 48.44 +Neigh | 0.16417 | 0.16425 | 0.16438 | 0.0 | 0.30 +Comm | 0.34948 | 0.36296 | 0.37524 | 1.9 | 0.67 +Output | 0.0017398 | 0.0021707 | 0.0033966 | 1.5 | 0.00 +Modify | 20.392 | 20.403 | 20.416 | 0.2 | 37.76 +Other | | 0.04783 | | | 0.09 + +Nlocal: 944 ave 948 max 940 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Nghost: 5920.5 ave 5941 max 5899 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 431397 ave 442329 max 421103 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 1725588 +Ave neighs/atom = 456.98835 +Ave special neighs/atom = 0.50847458 +Neighbor list builds = 6 +Dangerous builds = 0 +Total wall time: 0:01:00 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-etypes.g++.1 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-etypes.g++.1 similarity index 54% rename from examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-etypes.g++.1 rename to examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-etypes.g++.1 index 3b2fe8b6a1..7fccf30e98 100644 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-etypes.g++.1 +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-etypes.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with constant potential and smart neighborlists # for graphene-ionic liquid supercapacitor @@ -37,13 +37,20 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.024 seconds + special bonds CPU = 0.002 seconds + read_data CPU = 0.021 seconds -group bot molecule 641 -416 atoms in group bot -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos 416 atoms in group top +group bot subtract ele top +416 atoms in group bot group bmi type 1 2 3 960 atoms in group bmi @@ -52,6 +59,7 @@ group electrolyte type 1 2 3 4 fix nvt electrolyte nvt temp 500.0 500.0 100 fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters @@ -64,12 +72,41 @@ compute qbot bot reduce sum v_q compute ctemp electrolyte temp kspace_modify slab 3.0 -fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes 5 +fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes on 832 atoms in group conp_group thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.20904498 @@ -79,9 +116,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.1149519e-07 using double precision MKL FFT 3d grid and FFT values/proc = 307242 204800 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 18 ghost atom cutoff = 18 @@ -102,35 +139,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 56.89 | 56.89 | 56.89 Mbytes +Per MPI rank memory allocation (min/avg/max) = 54.25 | 54.25 | 54.25 Mbytes Step Temp c_ctemp E_pair TotEng c_qbot c_qtop - 0 0 0 25137191 25137191 0.0085142912 -0.0085142912 + 0 0 0 25137190 25137190 0.0085142912 -0.0085142912 50 17.83755 64.26354 25137031 25137214 0.0045923944 -0.0045923944 - 100 48.393682 174.34846 25136774 25137273 -0.009514517 0.009514517 - 150 70.421272 253.7075 25136655 25137380 -0.033017005 0.033017005 - 200 82.204844 296.16031 25136667 25137514 -0.063668175 0.063668175 - 250 87.54223 315.38937 25136757 25137659 -0.096776257 0.096776257 - 300 91.704746 330.38571 25136865 25137810 -0.1283784 0.1283784 - 350 100.36017 361.56871 25136934 25137968 -0.15649799 0.15649799 - 400 111.37575 401.25467 25136986 25138133 -0.18065435 0.18065435 - 450 121.79848 438.80476 25137043 25138298 -0.19979365 0.19979365 - 500 126.95916 457.39718 25137145 25138453 -0.21037535 0.21037535 -Loop time of 63.497 on 1 procs for 500 steps with 3776 atoms + 100 48.393682 174.34846 25136775 25137273 -0.009514517 0.009514517 + 150 70.421272 253.7075 25136657 25137382 -0.033017005 0.033017005 + 200 82.204844 296.16031 25136670 25137517 -0.063668175 0.063668175 + 250 87.54223 315.38937 25136762 25137663 -0.096776257 0.096776257 + 300 91.704746 330.38571 25136871 25137816 -0.1283784 0.1283784 + 350 100.36017 361.56871 25136942 25137975 -0.15649799 0.15649799 + 400 111.37575 401.25467 25136994 25138141 -0.18065435 0.18065435 + 450 121.79848 438.80476 25137052 25138307 -0.19979365 0.19979365 + 500 126.95916 457.39718 25137155 25138463 -0.21037535 0.21037535 +Loop time of 87.0709 on 1 procs for 500 steps with 3776 atoms -Performance: 0.680 ns/day, 35.276 hours/ns, 7.874 timesteps/s -393.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.496 ns/day, 48.373 hours/ns, 5.742 timesteps/s, 21.683 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 20.628 | 20.628 | 20.628 | 0.0 | 32.49 -Bond | 0.0019309 | 0.0019309 | 0.0019309 | 0.0 | 0.00 -Kspace | 23.61 | 23.61 | 23.61 | 0.0 | 37.18 -Neigh | 0.28156 | 0.28156 | 0.28156 | 0.0 | 0.44 -Comm | 0.061191 | 0.061191 | 0.061191 | 0.0 | 0.10 -Output | 0.0022666 | 0.0022666 | 0.0022666 | 0.0 | 0.00 -Modify | 18.891 | 18.891 | 18.891 | 0.0 | 29.75 -Other | | 0.02047 | | | 0.03 +Pair | 18.617 | 18.617 | 18.617 | 0.0 | 21.38 +Bond | 0.0014056 | 0.0014056 | 0.0014056 | 0.0 | 0.00 +Kspace | 34.856 | 34.856 | 34.856 | 0.0 | 40.03 +Neigh | 0.30015 | 0.30015 | 0.30015 | 0.0 | 0.34 +Comm | 0.065303 | 0.065303 | 0.065303 | 0.0 | 0.08 +Output | 0.0021663 | 0.0021663 | 0.0021663 | 0.0 | 0.00 +Modify | 33.201 | 33.201 | 33.201 | 0.0 | 38.13 +Other | | 0.0282 | | | 0.03 Nlocal: 3776 ave 3776 max 3776 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -144,4 +181,4 @@ Ave neighs/atom = 457.18432 Ave special neighs/atom = 0.50847458 Neighbor list builds = 7 Dangerous builds = 0 -Total wall time: 0:02:24 +Total wall time: 0:01:43 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-etypes.g++.4 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-etypes.g++.4 similarity index 54% rename from examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-etypes.g++.4 rename to examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-etypes.g++.4 index ed34a0c735..c0f4139689 100644 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-etypes.g++.4 +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-etypes.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with constant potential and smart neighborlists # for graphene-ionic liquid supercapacitor @@ -38,13 +38,20 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.016 seconds + special bonds CPU = 0.004 seconds + read_data CPU = 0.047 seconds -group bot molecule 641 -416 atoms in group bot -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos 416 atoms in group top +group bot subtract ele top +416 atoms in group bot group bmi type 1 2 3 960 atoms in group bmi @@ -53,11 +60,12 @@ group electrolyte type 1 2 3 4 fix nvt electrolyte nvt temp 500.0 500.0 100 fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 320 = # of frozen angles - find clusters CPU = 0.001 seconds + find clusters CPU = 0.005 seconds variable q atom q compute qtop top reduce sum v_q @@ -65,12 +73,41 @@ compute qbot bot reduce sum v_q compute ctemp electrolyte temp kspace_modify slab 3.0 -fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes 5 +fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes on 832 atoms in group conp_group thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.20904498 @@ -80,9 +117,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.1149519e-07 using double precision MKL FFT 3d grid and FFT values/proc = 151593 85504 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 18 ghost atom cutoff = 18 @@ -103,35 +140,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 23.63 | 27.46 | 31.29 Mbytes +Per MPI rank memory allocation (min/avg/max) = 22.9 | 26.72 | 30.55 Mbytes Step Temp c_ctemp E_pair TotEng c_qbot c_qtop - 0 0 0 25137191 25137191 0.0085142912 -0.0085142912 + 0 0 0 25137190 25137190 0.0085142912 -0.0085142912 50 17.83755 64.26354 25137031 25137214 0.0045923944 -0.0045923944 - 100 48.393682 174.34846 25136774 25137273 -0.009514517 0.009514517 - 150 70.421272 253.7075 25136655 25137380 -0.033017005 0.033017005 - 200 82.204844 296.16031 25136667 25137514 -0.063668175 0.063668175 - 250 87.54223 315.38937 25136757 25137659 -0.096776257 0.096776257 - 300 91.704746 330.38571 25136865 25137810 -0.1283784 0.1283784 - 350 100.36017 361.56871 25136934 25137968 -0.15649799 0.15649799 - 400 111.37575 401.25467 25136986 25138133 -0.18065435 0.18065435 - 450 121.79848 438.80476 25137043 25138298 -0.19979365 0.19979365 - 500 126.95916 457.39718 25137145 25138453 -0.21037535 0.21037535 -Loop time of 30.7883 on 4 procs for 500 steps with 3776 atoms + 100 48.393682 174.34846 25136775 25137273 -0.009514517 0.009514517 + 150 70.421272 253.7075 25136657 25137382 -0.033017005 0.033017005 + 200 82.204844 296.16031 25136670 25137517 -0.063668175 0.063668175 + 250 87.54223 315.38937 25136762 25137663 -0.096776257 0.096776257 + 300 91.704746 330.38571 25136871 25137816 -0.1283784 0.1283784 + 350 100.36017 361.56871 25136942 25137975 -0.15649799 0.15649799 + 400 111.37575 401.25467 25136994 25138141 -0.18065435 0.18065435 + 450 121.79848 438.80476 25137052 25138307 -0.19979365 0.19979365 + 500 126.95916 457.39718 25137155 25138463 -0.21037535 0.21037535 +Loop time of 48.4075 on 4 procs for 500 steps with 3776 atoms -Performance: 1.403 ns/day, 17.105 hours/ns, 16.240 timesteps/s -94.1% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.892 ns/day, 26.893 hours/ns, 10.329 timesteps/s, 39.002 katom-step/s +75.3% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 6.5102 | 6.7303 | 6.9362 | 7.6 | 21.86 -Bond | 0.00064504 | 0.00071061 | 0.000779 | 0.0 | 0.00 -Kspace | 14.081 | 14.287 | 14.507 | 5.2 | 46.40 -Neigh | 0.11831 | 0.11841 | 0.11851 | 0.0 | 0.38 -Comm | 0.12216 | 0.12434 | 0.12651 | 0.6 | 0.40 -Output | 0.00083347 | 0.0010533 | 0.0017069 | 1.2 | 0.00 -Modify | 9.5052 | 9.5071 | 9.5093 | 0.1 | 30.88 -Other | | 0.01927 | | | 0.06 +Pair | 5.3095 | 5.5504 | 5.7923 | 8.2 | 11.47 +Bond | 0.0011128 | 0.0012414 | 0.0014028 | 0.3 | 0.00 +Kspace | 24.084 | 24.322 | 24.559 | 3.9 | 50.24 +Neigh | 0.093557 | 0.09408 | 0.094377 | 0.1 | 0.19 +Comm | 0.30394 | 0.31319 | 0.3225 | 1.6 | 0.65 +Output | 0.0012719 | 0.0015908 | 0.0024592 | 1.3 | 0.00 +Modify | 18.066 | 18.079 | 18.091 | 0.2 | 37.35 +Other | | 0.04692 | | | 0.10 Nlocal: 944 ave 951 max 941 min Histogram: 1 2 0 0 0 0 0 0 0 1 @@ -145,4 +182,4 @@ Ave neighs/atom = 457.18432 Ave special neighs/atom = 0.50847458 Neighbor list builds = 7 Dangerous builds = 0 -Total wall time: 0:00:56 +Total wall time: 0:00:54 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ffield.g++.1 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ffield.g++.1 similarity index 54% rename from examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ffield.g++.1 rename to examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ffield.g++.1 index b7c2eea523..2103f43dfd 100644 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ffield.g++.1 +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ffield.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with constant potential using finite field # for z-periodic graphene-ionic liquid supercapacitor @@ -37,13 +37,20 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.022 seconds + special bonds CPU = 0.002 seconds + read_data CPU = 0.021 seconds -group bot molecule 641 -416 atoms in group bot -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos 416 atoms in group top +group bot subtract ele top +416 atoms in group bot group bmi type 1 2 3 960 atoms in group bmi @@ -52,6 +59,7 @@ group electrolyte type 1 2 3 4 fix nvt electrolyte nvt temp 500.0 500.0 100 fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters @@ -63,12 +71,41 @@ compute qtop top reduce sum v_q compute qbot bot reduce sum v_q compute ctemp electrolyte temp -fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes 5 ffield yes +fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes on ffield yes 832 atoms in group conp_group thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.20949995 @@ -78,9 +115,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.0544465e-07 using double precision MKL FFT 3d grid and FFT values/proc = 147537 92160 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 18 ghost atom cutoff = 18 @@ -101,35 +138,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 49.5 | 49.5 | 49.5 Mbytes +Per MPI rank memory allocation (min/avg/max) = 46.1 | 46.1 | 46.1 Mbytes Step Temp c_ctemp E_pair TotEng c_qbot c_qtop - 0 0 0 25137187 25137187 0.0085209384 -0.0085209384 - 50 17.837642 64.263873 25137027 25137211 0.0045513522 -0.0045513522 - 100 48.393984 174.34955 25136771 25137269 -0.0097291786 0.0097291786 - 150 70.421823 253.70949 25136651 25137377 -0.033522793 0.033522793 - 200 82.205535 296.1628 25136664 25137510 -0.064555648 0.064555648 - 250 87.542843 315.39158 25136754 25137655 -0.098075546 0.098075546 - 300 91.705733 330.38927 25136862 25137806 -0.13006751 0.13006751 - 350 100.36128 361.5727 25136930 25137964 -0.15852814 0.15852814 - 400 111.37586 401.25505 25136982 25138129 -0.18297207 0.18297207 - 450 121.79814 438.80351 25137039 25138294 -0.2023394 0.2023394 - 500 126.95882 457.39597 25137142 25138449 -0.21305221 0.21305221 -Loop time of 36.7618 on 1 procs for 500 steps with 3776 atoms + 0 0 0 25137186 25137186 0.0085209384 -0.0085209384 + 50 17.837642 64.263873 25137027 25137210 0.0045513522 -0.0045513522 + 100 48.393984 174.34955 25136771 25137270 -0.0097291786 0.0097291786 + 150 70.421823 253.70949 25136653 25137378 -0.033522793 0.033522793 + 200 82.205535 296.1628 25136667 25137513 -0.064555648 0.064555648 + 250 87.542843 315.39158 25136758 25137660 -0.098075546 0.098075546 + 300 91.705733 330.38927 25136868 25137812 -0.13006751 0.13006751 + 350 100.36128 361.5727 25136938 25137971 -0.15852814 0.15852814 + 400 111.37586 401.25505 25136990 25138137 -0.18297207 0.18297207 + 450 121.79814 438.80351 25137049 25138303 -0.2023394 0.2023394 + 500 126.95882 457.39597 25137151 25138459 -0.21305221 0.21305221 +Loop time of 53.8411 on 1 procs for 500 steps with 3776 atoms -Performance: 1.175 ns/day, 20.423 hours/ns, 13.601 timesteps/s -393.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.802 ns/day, 29.912 hours/ns, 9.287 timesteps/s, 35.066 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 19.737 | 19.737 | 19.737 | 0.0 | 53.69 -Bond | 0.00092668 | 0.00092668 | 0.00092668 | 0.0 | 0.00 -Kspace | 6.5854 | 6.5854 | 6.5854 | 0.0 | 17.91 -Neigh | 0.33914 | 0.33914 | 0.33914 | 0.0 | 0.92 -Comm | 0.090124 | 0.090124 | 0.090124 | 0.0 | 0.25 -Output | 0.0013975 | 0.0013975 | 0.0013975 | 0.0 | 0.00 -Modify | 9.9834 | 9.9834 | 9.9834 | 0.0 | 27.16 -Other | | 0.02455 | | | 0.07 +Pair | 19.843 | 19.843 | 19.843 | 0.0 | 36.85 +Bond | 0.0016963 | 0.0016963 | 0.0016963 | 0.0 | 0.00 +Kspace | 11.232 | 11.232 | 11.232 | 0.0 | 20.86 +Neigh | 0.39189 | 0.39189 | 0.39189 | 0.0 | 0.73 +Comm | 0.12348 | 0.12348 | 0.12348 | 0.0 | 0.23 +Output | 0.0017904 | 0.0017904 | 0.0017904 | 0.0 | 0.00 +Modify | 22.207 | 22.207 | 22.207 | 0.0 | 41.25 +Other | | 0.04008 | | | 0.07 Nlocal: 3776 ave 3776 max 3776 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -143,4 +180,4 @@ Ave neighs/atom = 493.56224 Ave special neighs/atom = 0.50847458 Neighbor list builds = 7 Dangerous builds = 0 -Total wall time: 0:01:39 +Total wall time: 0:01:10 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ffield.g++.4 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ffield.g++.4 similarity index 54% rename from examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ffield.g++.4 rename to examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ffield.g++.4 index 205c08d88e..223530d493 100644 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ffield.g++.4 +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ffield.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with constant potential using finite field # for z-periodic graphene-ionic liquid supercapacitor @@ -38,13 +38,20 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.016 seconds + special bonds CPU = 0.002 seconds + read_data CPU = 0.033 seconds -group bot molecule 641 -416 atoms in group bot -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos 416 atoms in group top +group bot subtract ele top +416 atoms in group bot group bmi type 1 2 3 960 atoms in group bmi @@ -53,23 +60,53 @@ group electrolyte type 1 2 3 4 fix nvt electrolyte nvt temp 500.0 500.0 100 fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 320 = # of frozen angles - find clusters CPU = 0.001 seconds + find clusters CPU = 0.002 seconds variable q atom q compute qtop top reduce sum v_q compute qbot bot reduce sum v_q compute ctemp electrolyte temp -fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes 5 ffield yes +fix conp bot electrode/conp -1.0 1.979 couple top 1.0 symm on etypes on ffield yes 832 atoms in group conp_group thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.20949995 @@ -79,9 +116,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.0544465e-07 using double precision MKL FFT 3d grid and FFT values/proc = 46644 23552 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 18 ghost atom cutoff = 18 @@ -102,35 +139,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 21.96 | 22.27 | 22.77 Mbytes +Per MPI rank memory allocation (min/avg/max) = 21.23 | 21.34 | 21.65 Mbytes Step Temp c_ctemp E_pair TotEng c_qbot c_qtop - 0 0 0 25137187 25137187 0.0085209384 -0.0085209384 - 50 17.837642 64.263873 25137027 25137211 0.0045513522 -0.0045513522 - 100 48.393984 174.34955 25136771 25137269 -0.0097291786 0.0097291786 - 150 70.421823 253.70949 25136651 25137377 -0.033522793 0.033522793 - 200 82.205535 296.1628 25136664 25137510 -0.064555648 0.064555648 - 250 87.542843 315.39158 25136754 25137655 -0.098075546 0.098075546 - 300 91.705733 330.38927 25136862 25137806 -0.13006751 0.13006751 - 350 100.36128 361.5727 25136930 25137964 -0.15852814 0.15852814 - 400 111.37586 401.25505 25136982 25138129 -0.18297207 0.18297207 - 450 121.79814 438.80351 25137039 25138294 -0.2023394 0.2023394 - 500 126.95882 457.39597 25137142 25138449 -0.21305221 0.21305221 -Loop time of 19.3932 on 4 procs for 500 steps with 3776 atoms + 0 0 0 25137186 25137186 0.0085209384 -0.0085209384 + 50 17.837642 64.263873 25137027 25137210 0.0045513522 -0.0045513522 + 100 48.393984 174.34955 25136771 25137270 -0.0097291786 0.0097291786 + 150 70.421823 253.70949 25136653 25137378 -0.033522793 0.033522793 + 200 82.205535 296.1628 25136667 25137513 -0.064555648 0.064555648 + 250 87.542843 315.39158 25136758 25137660 -0.098075546 0.098075546 + 300 91.705733 330.38927 25136868 25137812 -0.13006751 0.13006751 + 350 100.36128 361.5727 25136938 25137971 -0.15852814 0.15852814 + 400 111.37586 401.25505 25136990 25138137 -0.18297207 0.18297207 + 450 121.79814 438.80351 25137049 25138303 -0.2023394 0.2023394 + 500 126.95882 457.39597 25137151 25138459 -0.21305221 0.21305221 +Loop time of 26.2807 on 4 procs for 500 steps with 3776 atoms -Performance: 2.228 ns/day, 10.774 hours/ns, 25.782 timesteps/s -96.3% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 1.644 ns/day, 14.600 hours/ns, 19.025 timesteps/s, 71.840 katom-step/s +83.1% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 7.1247 | 7.6399 | 8.1323 | 13.3 | 39.39 -Bond | 0.00072445 | 0.00077581 | 0.00085933 | 0.0 | 0.00 -Kspace | 5.098 | 5.5905 | 6.1036 | 15.6 | 28.83 -Neigh | 0.145 | 0.14517 | 0.14532 | 0.0 | 0.75 -Comm | 0.24683 | 0.25127 | 0.25907 | 1.0 | 1.30 -Output | 0.00084146 | 0.0011298 | 0.0019741 | 1.5 | 0.01 -Modify | 5.6957 | 5.7129 | 5.729 | 0.6 | 29.46 -Other | | 0.05153 | | | 0.27 +Pair | 5.8233 | 6.1941 | 6.6294 | 12.1 | 23.57 +Bond | 0.0010807 | 0.0011705 | 0.0013494 | 0.3 | 0.00 +Kspace | 8.0325 | 8.4703 | 8.8457 | 10.4 | 32.23 +Neigh | 0.14184 | 0.1421 | 0.14238 | 0.1 | 0.54 +Comm | 0.52248 | 0.54323 | 0.56352 | 2.7 | 2.07 +Output | 0.00079782 | 0.0011547 | 0.0021987 | 1.8 | 0.00 +Modify | 10.831 | 10.856 | 10.881 | 0.7 | 41.31 +Other | | 0.07293 | | | 0.28 Nlocal: 944 ave 951 max 941 min Histogram: 1 2 0 0 0 0 0 0 0 1 @@ -144,4 +181,4 @@ Ave neighs/atom = 493.56224 Ave special neighs/atom = 0.50847458 Neighbor list builds = 7 Dangerous builds = 0 -Total wall time: 0:00:44 +Total wall time: 0:00:32 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ramp.g++.1 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ramp.g++.1 similarity index 52% rename from examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ramp.g++.1 rename to examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ramp.g++.1 index 1dfcbac360..819a605f35 100644 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ramp.g++.1 +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ramp.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with equal-style ramped (electrode-)constant potential # for graphene-ionic liquid supercapacitor @@ -37,13 +37,20 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.014 seconds + special bonds CPU = 0.002 seconds + read_data CPU = 0.021 seconds -group bot molecule 641 -416 atoms in group bot -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos 416 atoms in group top +group bot subtract ele top +416 atoms in group bot group bmi type 1 2 3 960 atoms in group bmi @@ -52,6 +59,7 @@ group electrolyte type 1 2 3 4 fix nvt electrolyte nvt temp 500.0 500.0 100 fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters @@ -65,12 +73,41 @@ compute ctemp electrolyte temp kspace_modify slab 3.0 variable v equal ramp(2,4) -fix conp bot electrode/conp 0.0 1.979 couple top v_v symm on etypes 5 +fix conp bot electrode/conp 0.0 1.979 couple top v_v symm on etypes on 832 atoms in group conp_group thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_v run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.20904498 @@ -80,9 +117,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.1149519e-07 using double precision MKL FFT 3d grid and FFT values/proc = 307242 204800 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 18 ghost atom cutoff = 18 @@ -103,35 +140,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 56.89 | 56.89 | 56.89 Mbytes +Per MPI rank memory allocation (min/avg/max) = 54.25 | 54.25 | 54.25 Mbytes Step Temp c_ctemp E_pair TotEng c_qbot c_qtop v_v - 0 0 0 25137191 25137191 0.0085142912 -0.0085142912 2 - 50 17.839699 64.271283 25137031 25137214 -0.0067894391 0.0067894391 2.2 - 100 48.411618 174.41308 25136774 25137273 -0.033422174 0.033422174 2.4 - 150 70.478909 253.91515 25136654 25137380 -0.071583953 0.071583953 2.6 - 200 82.322716 296.58497 25136666 25137513 -0.11962095 0.11962095 2.8 - 250 87.739905 316.10153 25136754 25137658 -0.17281469 0.17281469 3 - 300 91.974584 331.35786 25136861 25137808 -0.22657123 0.22657123 3.2 - 350 100.73048 362.90284 25136928 25137965 -0.27817429 0.27817429 3.4 - 400 111.78597 402.73256 25136977 25138129 -0.32659395 0.32659395 3.6 - 450 122.14181 440.04167 25137033 25138291 -0.37054363 0.37054363 3.8 - 500 127.32331 458.70912 25137133 25138444 -0.40653009 0.40653009 4 -Loop time of 50.8569 on 1 procs for 500 steps with 3776 atoms + 0 0 0 25137190 25137190 0.0085142912 -0.0085142912 2 + 50 17.839699 64.271283 25137031 25137215 -0.0067894391 0.0067894391 2.2 + 100 48.411618 174.41308 25136776 25137275 -0.033422174 0.033422174 2.4 + 150 70.478909 253.91515 25136658 25137384 -0.071583953 0.071583953 2.6 + 200 82.322716 296.58497 25136673 25137521 -0.11962095 0.11962095 2.8 + 250 87.739905 316.10153 25136766 25137670 -0.17281469 0.17281469 3 + 300 91.974584 331.35786 25136877 25137825 -0.22657123 0.22657123 3.2 + 350 100.73048 362.90284 25136949 25137987 -0.27817429 0.27817429 3.4 + 400 111.78597 402.73256 25137004 25138156 -0.32659395 0.32659395 3.6 + 450 122.14181 440.04167 25137066 25138324 -0.37054363 0.37054363 3.8 + 500 127.32331 458.70912 25137171 25138482 -0.40653009 0.40653009 4 +Loop time of 87.6405 on 1 procs for 500 steps with 3776 atoms -Performance: 0.849 ns/day, 28.254 hours/ns, 9.831 timesteps/s -393.5% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.493 ns/day, 48.689 hours/ns, 5.705 timesteps/s, 21.543 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 18.166 | 18.166 | 18.166 | 0.0 | 35.72 -Bond | 0.00091918 | 0.00091918 | 0.00091918 | 0.0 | 0.00 -Kspace | 17.267 | 17.267 | 17.267 | 0.0 | 33.95 -Neigh | 0.27635 | 0.27635 | 0.27635 | 0.0 | 0.54 -Comm | 0.044714 | 0.044714 | 0.044714 | 0.0 | 0.09 -Output | 0.0018345 | 0.0018345 | 0.0018345 | 0.0 | 0.00 -Modify | 15.086 | 15.086 | 15.086 | 0.0 | 29.66 -Other | | 0.01409 | | | 0.03 +Pair | 18.484 | 18.484 | 18.484 | 0.0 | 21.09 +Bond | 0.0016824 | 0.0016824 | 0.0016824 | 0.0 | 0.00 +Kspace | 35.426 | 35.426 | 35.426 | 0.0 | 40.42 +Neigh | 0.30201 | 0.30201 | 0.30201 | 0.0 | 0.34 +Comm | 0.066546 | 0.066546 | 0.066546 | 0.0 | 0.08 +Output | 0.0022768 | 0.0022768 | 0.0022768 | 0.0 | 0.00 +Modify | 33.33 | 33.33 | 33.33 | 0.0 | 38.03 +Other | | 0.0286 | | | 0.03 Nlocal: 3776 ave 3776 max 3776 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -145,4 +182,4 @@ Ave neighs/atom = 457.17161 Ave special neighs/atom = 0.50847458 Neighbor list builds = 7 Dangerous builds = 0 -Total wall time: 0:01:50 +Total wall time: 0:01:44 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ramp.g++.4 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ramp.g++.4 similarity index 52% rename from examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ramp.g++.4 rename to examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ramp.g++.4 index ca7625acd6..9287a669db 100644 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-ramp.g++.4 +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-ramp.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with equal-style ramped (electrode-)constant potential # for graphene-ionic liquid supercapacitor @@ -38,13 +38,20 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.024 seconds + special bonds CPU = 0.003 seconds + read_data CPU = 0.034 seconds -group bot molecule 641 -416 atoms in group bot -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos 416 atoms in group top +group bot subtract ele top +416 atoms in group bot group bmi type 1 2 3 960 atoms in group bmi @@ -53,11 +60,12 @@ group electrolyte type 1 2 3 4 fix nvt electrolyte nvt temp 500.0 500.0 100 fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 320 = # of frozen angles - find clusters CPU = 0.001 seconds + find clusters CPU = 0.002 seconds variable q atom q compute qtop top reduce sum v_q @@ -66,12 +74,41 @@ compute ctemp electrolyte temp kspace_modify slab 3.0 variable v equal ramp(2,4) -fix conp bot electrode/conp 0.0 1.979 couple top v_v symm on etypes 5 +fix conp bot electrode/conp 0.0 1.979 couple top v_v symm on etypes on 832 atoms in group conp_group thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_v run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.20904498 @@ -81,9 +118,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.1149519e-07 using double precision MKL FFT 3d grid and FFT values/proc = 151593 85504 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 18 ghost atom cutoff = 18 @@ -104,35 +141,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 23.63 | 27.46 | 31.29 Mbytes +Per MPI rank memory allocation (min/avg/max) = 22.9 | 26.72 | 30.55 Mbytes Step Temp c_ctemp E_pair TotEng c_qbot c_qtop v_v - 0 0 0 25137191 25137191 0.0085142912 -0.0085142912 2 - 50 17.839699 64.271283 25137031 25137214 -0.0067894391 0.0067894391 2.2 - 100 48.411618 174.41308 25136774 25137273 -0.033422174 0.033422174 2.4 - 150 70.478909 253.91515 25136654 25137380 -0.071583953 0.071583953 2.6 - 200 82.322716 296.58497 25136666 25137513 -0.11962095 0.11962095 2.8 - 250 87.739905 316.10153 25136754 25137658 -0.17281469 0.17281469 3 - 300 91.974584 331.35786 25136861 25137808 -0.22657123 0.22657123 3.2 - 350 100.73048 362.90284 25136928 25137965 -0.27817429 0.27817429 3.4 - 400 111.78597 402.73256 25136977 25138129 -0.32659395 0.32659395 3.6 - 450 122.14181 440.04167 25137033 25138291 -0.37054363 0.37054363 3.8 - 500 127.32331 458.70912 25137133 25138444 -0.40653009 0.40653009 4 -Loop time of 31.7642 on 4 procs for 500 steps with 3776 atoms + 0 0 0 25137190 25137190 0.0085142912 -0.0085142912 2 + 50 17.839699 64.271283 25137031 25137215 -0.0067894391 0.0067894391 2.2 + 100 48.411618 174.41308 25136776 25137275 -0.033422174 0.033422174 2.4 + 150 70.478909 253.91515 25136658 25137384 -0.071583953 0.071583953 2.6 + 200 82.322716 296.58497 25136673 25137521 -0.11962095 0.11962095 2.8 + 250 87.739905 316.10153 25136766 25137670 -0.17281469 0.17281469 3 + 300 91.974584 331.35786 25136877 25137825 -0.22657123 0.22657123 3.2 + 350 100.73048 362.90284 25136949 25137987 -0.27817429 0.27817429 3.4 + 400 111.78597 402.73256 25137004 25138156 -0.32659395 0.32659395 3.6 + 450 122.14181 440.04167 25137066 25138324 -0.37054363 0.37054363 3.8 + 500 127.32331 458.70912 25137171 25138482 -0.40653009 0.40653009 4 +Loop time of 49.2075 on 4 procs for 500 steps with 3776 atoms -Performance: 1.360 ns/day, 17.647 hours/ns, 15.741 timesteps/s -94.1% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.878 ns/day, 27.337 hours/ns, 10.161 timesteps/s, 38.368 katom-step/s +75.7% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 6.7949 | 7.0359 | 7.3092 | 7.9 | 22.15 -Bond | 0.00069874 | 0.00073747 | 0.00077928 | 0.0 | 0.00 -Kspace | 14.375 | 14.648 | 14.89 | 5.5 | 46.12 -Neigh | 0.12057 | 0.1206 | 0.12062 | 0.0 | 0.38 -Comm | 0.13412 | 0.13439 | 0.13483 | 0.1 | 0.42 -Output | 0.0010019 | 0.0013088 | 0.0020937 | 1.3 | 0.00 -Modify | 9.8017 | 9.8025 | 9.8031 | 0.0 | 30.86 -Other | | 0.02036 | | | 0.06 +Pair | 5.7517 | 5.9151 | 6.0961 | 6.6 | 12.02 +Bond | 0.0011959 | 0.0013362 | 0.0014512 | 0.2 | 0.00 +Kspace | 24.223 | 24.404 | 24.566 | 3.2 | 49.59 +Neigh | 0.10283 | 0.10288 | 0.10301 | 0.0 | 0.21 +Comm | 0.30801 | 0.31944 | 0.33141 | 2.0 | 0.65 +Output | 0.0010416 | 0.0014127 | 0.0024086 | 1.5 | 0.00 +Modify | 18.405 | 18.418 | 18.432 | 0.3 | 37.43 +Other | | 0.04459 | | | 0.09 Nlocal: 944 ave 951 max 941 min Histogram: 1 2 0 0 0 0 0 0 0 1 @@ -146,4 +183,4 @@ Ave neighs/atom = 457.17161 Ave special neighs/atom = 0.50847458 Neighbor list builds = 7 Dangerous builds = 0 -Total wall time: 0:00:58 +Total wall time: 0:00:55 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-thermo.g++.1 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-thermo.g++.1 similarity index 55% rename from examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-thermo.g++.1 rename to examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-thermo.g++.1 index e6fe963222..42eeb1f97e 100644 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-thermo.g++.1 +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-thermo.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with thermopotentiostat # for graphene-ionic liquid supercapacitor @@ -38,12 +38,19 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-4 neighbors 2 = max # of special neighbors special bonds CPU = 0.002 seconds - read_data CPU = 0.024 seconds + read_data CPU = 0.021 seconds -group bot molecule 641 -416 atoms in group bot -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos 416 atoms in group top +group bot subtract ele top +416 atoms in group bot group bmi type 1 2 3 960 atoms in group bmi @@ -52,11 +59,12 @@ group electrolyte type 1 2 3 4 fix nvt electrolyte nvt temp 500.0 500.0 100 fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 320 = # of frozen angles - find clusters CPU = 0.000 seconds + find clusters CPU = 0.001 seconds variable q atom q compute qtop top reduce sum v_q @@ -65,10 +73,10 @@ compute ctemp electrolyte temp kspace_modify slab 3.0 unfix nvt # remove NVT thermostat included from "settings.mod" -fix conpthermo bot electrode/thermo -1.0 1.979 couple top 1.0 etypes 5 temp 500 100 7 # temp tau rng +fix conpthermo bot electrode/thermo -1.0 1.979 couple top 1.0 etypes on temp 500 100 7 symm on # temp tau rng 832 atoms in group conp_group # to compare to regular constant potential, switch previous line to this: -#fix conp bot electrode/conp -1.0 1.979 couple top 1.0 etypes 5 symm on +#fix conp bot electrode/conp -1.0 1.979 couple top 1.0 etypes on symm on fix nve electrolyte nve # note ionic liquid does not reach 500K immediately @@ -77,6 +85,35 @@ fix nve electrolyte nve thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.20904498 @@ -86,9 +123,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.1149519e-07 using double precision MKL FFT 3d grid and FFT values/proc = 307242 204800 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 18 ghost atom cutoff = 18 @@ -109,35 +146,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 56.89 | 56.89 | 56.89 Mbytes +Per MPI rank memory allocation (min/avg/max) = 54.25 | 54.25 | 54.25 Mbytes Step Temp c_ctemp E_pair TotEng c_qbot c_qtop - 0 0 0 25137187 25137187 0.12767613 -0.12767613 - 50 16.63971 59.94807 25137031 25137203 0.11714714 -0.11714714 - 100 40.785523 146.93846 25136782 25137202 0.1278358 -0.1278358 - 150 53.394067 192.3634 25136654 25137204 0.080257143 -0.080257143 - 200 56.419019 203.26143 25136624 25137205 0.024756489 -0.024756489 - 250 54.922935 197.87147 25136640 25137205 -0.024533719 0.024533719 - 300 52.884861 190.52888 25136660 25137205 -0.066341094 0.066341094 - 350 52.41676 188.84244 25136666 25137206 -0.089546252 0.089546252 - 400 54.366979 195.86852 25136646 25137206 -0.10239753 0.10239753 - 450 54.906542 197.81241 25136642 25137208 -0.099987401 0.099987401 - 500 54.33841 195.7656 25136642 25137201 -0.21295942 0.21295942 -Loop time of 49.9831 on 1 procs for 500 steps with 3776 atoms + 0 0 0 25137188 25137188 0.12767608 -0.12767608 + 50 16.63971 59.94807 25137031 25137202 0.11714711 -0.11714711 + 100 40.785523 146.93846 25136782 25137202 0.12783578 -0.12783578 + 150 53.394067 192.3634 25136653 25137203 0.080257127 -0.080257127 + 200 56.419019 203.26143 25136623 25137204 0.024756474 -0.024756474 + 250 54.922935 197.87147 25136641 25137206 -0.024533734 0.024533734 + 300 52.884861 190.52888 25136664 25137209 -0.066341109 0.066341109 + 350 52.41676 188.84244 25136670 25137210 -0.089546266 0.089546266 + 400 54.366979 195.86852 25136651 25137211 -0.10239755 0.10239755 + 450 54.906542 197.81241 25136645 25137210 -0.099987411 0.099987411 + 500 54.33841 195.7656 25136656 25137216 -0.21295943 0.21295943 +Loop time of 87.5281 on 1 procs for 500 steps with 3776 atoms -Performance: 0.864 ns/day, 27.768 hours/ns, 10.003 timesteps/s -393.3% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.494 ns/day, 48.627 hours/ns, 5.712 timesteps/s, 21.570 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 17.01 | 17.01 | 17.01 | 0.0 | 34.03 -Bond | 0.0010374 | 0.0010374 | 0.0010374 | 0.0 | 0.00 -Kspace | 18.096 | 18.096 | 18.096 | 0.0 | 36.20 -Neigh | 0.1828 | 0.1828 | 0.1828 | 0.0 | 0.37 -Comm | 0.043856 | 0.043856 | 0.043856 | 0.0 | 0.09 -Output | 0.0018373 | 0.0018373 | 0.0018373 | 0.0 | 0.00 -Modify | 14.632 | 14.632 | 14.632 | 0.0 | 29.27 -Other | | 0.01548 | | | 0.03 +Pair | 18.819 | 18.819 | 18.819 | 0.0 | 21.50 +Bond | 0.0014336 | 0.0014336 | 0.0014336 | 0.0 | 0.00 +Kspace | 34.891 | 34.891 | 34.891 | 0.0 | 39.86 +Neigh | 0.21542 | 0.21542 | 0.21542 | 0.0 | 0.25 +Comm | 0.063383 | 0.063383 | 0.063383 | 0.0 | 0.07 +Output | 0.0020476 | 0.0020476 | 0.0020476 | 0.0 | 0.00 +Modify | 33.507 | 33.507 | 33.507 | 0.0 | 38.28 +Other | | 0.0281 | | | 0.03 Nlocal: 3776 ave 3776 max 3776 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -151,4 +188,4 @@ Ave neighs/atom = 457.08845 Ave special neighs/atom = 0.50847458 Neighbor list builds = 5 Dangerous builds = 0 -Total wall time: 0:01:50 +Total wall time: 0:01:44 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-thermo.g++.4 b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-thermo.g++.4 similarity index 55% rename from examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-thermo.g++.4 rename to examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-thermo.g++.4 index 006fe4d31b..200dc681df 100644 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-thermo.g++.4 +++ b/examples/PACKAGES/electrode/graph-il/log.1Dec2022.graph-il-thermo.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) # electrodes with thermopotentiostat # for graphene-ionic liquid supercapacitor @@ -39,12 +39,19 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-4 neighbors 2 = max # of special neighbors special bonds CPU = 0.002 seconds - read_data CPU = 0.025 seconds + read_data CPU = 0.036 seconds -group bot molecule 641 -416 atoms in group bot -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +1891 atoms in group zpos +group ele type 5 +832 atoms in group ele +group top intersect ele zpos 416 atoms in group top +group bot subtract ele top +416 atoms in group bot group bmi type 1 2 3 960 atoms in group bmi @@ -53,11 +60,12 @@ group electrolyte type 1 2 3 4 fix nvt electrolyte nvt temp 500.0 500.0 100 fix shake bmi shake 1e-4 20 0 b 1 2 a 1 +Finding SHAKE clusters ... 0 = # of size 2 clusters 0 = # of size 3 clusters 0 = # of size 4 clusters 320 = # of frozen angles - find clusters CPU = 0.001 seconds + find clusters CPU = 0.005 seconds variable q atom q compute qtop top reduce sum v_q @@ -66,10 +74,10 @@ compute ctemp electrolyte temp kspace_modify slab 3.0 unfix nvt # remove NVT thermostat included from "settings.mod" -fix conpthermo bot electrode/thermo -1.0 1.979 couple top 1.0 etypes 5 temp 500 100 7 # temp tau rng +fix conpthermo bot electrode/thermo -1.0 1.979 couple top 1.0 etypes on temp 500 100 7 symm on # temp tau rng 832 atoms in group conp_group # to compare to regular constant potential, switch previous line to this: -#fix conp bot electrode/conp -1.0 1.979 couple top 1.0 etypes 5 symm on +#fix conp bot electrode/conp -1.0 1.979 couple top 1.0 etypes on symm on fix nve electrolyte nve # note ionic liquid does not reach 500K immediately @@ -78,6 +86,35 @@ fix nve electrolyte nve thermo 50 thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop run 500 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + PPPM/electrode initialization ... using 12-bit tables for long-range coulomb (src/kspace.cpp:342) G vector (1/distance) = 0.20904498 @@ -87,9 +124,9 @@ PPPM/electrode initialization ... estimated relative force accuracy = 1.1149519e-07 using double precision MKL FFT 3d grid and FFT values/proc = 151593 85504 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule +Generated 15 of 15 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 18 ghost atom cutoff = 18 @@ -110,35 +147,35 @@ Neighbor list info ... pair build: skip stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 23.63 | 27.46 | 31.29 Mbytes +Per MPI rank memory allocation (min/avg/max) = 22.9 | 26.72 | 30.55 Mbytes Step Temp c_ctemp E_pair TotEng c_qbot c_qtop - 0 0 0 25137187 25137187 0.12767613 -0.12767613 - 50 16.63971 59.94807 25137031 25137203 0.11714714 -0.11714714 - 100 40.785523 146.93846 25136782 25137202 0.1278358 -0.1278358 - 150 53.394067 192.3634 25136654 25137204 0.080257143 -0.080257143 - 200 56.419019 203.26143 25136624 25137205 0.024756489 -0.024756489 - 250 54.922935 197.87147 25136640 25137205 -0.024533719 0.024533719 - 300 52.884861 190.52888 25136660 25137205 -0.066341094 0.066341094 - 350 52.41676 188.84244 25136666 25137206 -0.089546252 0.089546252 - 400 54.366979 195.86852 25136646 25137206 -0.10239753 0.10239753 - 450 54.906542 197.81241 25136642 25137208 -0.099987401 0.099987401 - 500 54.33841 195.7656 25136642 25137201 -0.21295942 0.21295942 -Loop time of 27.6772 on 4 procs for 500 steps with 3776 atoms + 0 0 0 25137188 25137188 0.12767608 -0.12767608 + 50 16.63971 59.94807 25137031 25137202 0.11714711 -0.11714711 + 100 40.785523 146.93846 25136782 25137202 0.12783578 -0.12783578 + 150 53.394067 192.3634 25136653 25137203 0.080257127 -0.080257127 + 200 56.419019 203.26143 25136623 25137204 0.024756474 -0.024756474 + 250 54.922935 197.87147 25136641 25137206 -0.024533734 0.024533734 + 300 52.884861 190.52888 25136664 25137209 -0.066341109 0.066341109 + 350 52.41676 188.84244 25136670 25137210 -0.089546266 0.089546266 + 400 54.366979 195.86852 25136651 25137211 -0.10239755 0.10239755 + 450 54.906542 197.81241 25136645 25137210 -0.099987411 0.099987411 + 500 54.33841 195.7656 25136656 25137216 -0.21295943 0.21295943 +Loop time of 49.2564 on 4 procs for 500 steps with 3776 atoms -Performance: 1.561 ns/day, 15.376 hours/ns, 18.065 timesteps/s -91.7% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.877 ns/day, 27.365 hours/ns, 10.151 timesteps/s, 38.330 katom-step/s +76.1% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.6214 | 4.8032 | 4.9546 | 6.5 | 17.35 -Bond | 0.0005324 | 0.00060509 | 0.00069468 | 0.0 | 0.00 -Kspace | 13.883 | 14.034 | 14.216 | 3.8 | 50.71 -Neigh | 0.061704 | 0.061727 | 0.06176 | 0.0 | 0.22 -Comm | 0.10101 | 0.10374 | 0.10645 | 0.8 | 0.37 -Output | 0.00086818 | 0.0010909 | 0.001715 | 1.1 | 0.00 -Modify | 8.65 | 8.6524 | 8.6545 | 0.1 | 31.26 -Other | | 0.02055 | | | 0.07 +Pair | 5.6984 | 5.9083 | 6.1177 | 6.4 | 12.00 +Bond | 0.0011785 | 0.0012201 | 0.0013055 | 0.1 | 0.00 +Kspace | 24.311 | 24.519 | 24.729 | 3.1 | 49.78 +Neigh | 0.075406 | 0.075487 | 0.07556 | 0.0 | 0.15 +Comm | 0.29972 | 0.30943 | 0.31881 | 1.7 | 0.63 +Output | 0.0012474 | 0.001684 | 0.0027062 | 1.5 | 0.00 +Modify | 18.377 | 18.384 | 18.391 | 0.2 | 37.32 +Other | | 0.05679 | | | 0.12 Nlocal: 944 ave 951 max 940 min Histogram: 1 1 1 0 0 0 0 0 0 1 @@ -152,4 +189,4 @@ Ave neighs/atom = 457.08845 Ave special neighs/atom = 0.50847458 Neighbor list builds = 5 Dangerous builds = 0 -Total wall time: 0:00:50 +Total wall time: 0:00:55 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq.g++.1 b/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq.g++.1 deleted file mode 100644 index 5722e357ec..0000000000 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq.g++.1 +++ /dev/null @@ -1,153 +0,0 @@ -LAMMPS (24 Mar 2022) -# electrodes with constrained total charges -# for graphene-ionic liquid supercapacitor - -boundary p p f # slab calculation -include settings.mod # styles, groups, computes and fixes -# set boundary in main script because ffield is periodic -units real -# distribute electrode atoms among all processors: -if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" - -atom_style full -pair_style lj/cut/coul/long 16 -bond_style harmonic -angle_style harmonic -kspace_style pppm/electrode 1e-7 -# kspace_modify in main script because ffield is periodic - -read_data "data.graph-il" -Reading data file ... - orthogonal box = (0 0 -68) to (32.2 34.4 68) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 3776 atoms - scanning bonds ... - 2 = max bonds/atom - scanning angles ... - 1 = max angles/atom - reading bonds ... - 640 bonds - reading angles ... - 320 angles -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.012 seconds - -group bot molecule 641 -416 atoms in group bot -group top molecule 642 -416 atoms in group top - -group bmi type 1 2 3 -960 atoms in group bmi -group electrolyte type 1 2 3 4 -1280 atoms in group electrolyte - -fix nvt electrolyte nvt temp 500.0 500.0 100 -fix shake bmi shake 1e-4 20 0 b 1 2 a 1 - 0 = # of size 2 clusters - 0 = # of size 3 clusters - 0 = # of size 4 clusters - 320 = # of frozen angles - find clusters CPU = 0.000 seconds - -variable q atom q -compute qtop top reduce sum v_q -compute qbot bot reduce sum v_q -compute ctemp electrolyte temp -kspace_modify slab 3.0 - -fix conq bot electrode/conq -1.0 1.979 couple top 1.0 etypes 5 # conq doesn't take symm option -832 atoms in group conp_group - -# ask fix conq to output electrode potentials to internal variables -variable vbot internal 0.0 -variable vtop internal 0.0 -fix_modify conq set v bot vbot -fix_modify conq set v top vtop - -thermo 50 -thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_vbot v_vtop -run 500 -PPPM/electrode initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:342) - G vector (1/distance) = 0.20904498 - grid = 32 32 200 - stencil order = 5 - estimated absolute RMS force accuracy = 3.7023506e-05 - estimated relative force accuracy = 1.1149519e-07 - using double precision MKL FFT - 3d grid and FFT values/proc = 307242 204800 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 18 - ghost atom cutoff = 18 - binsize = 9, bins = 4 4 16 - 3 neighbor lists, perpetual/occasional/extra = 2 1 0 - (1) pair lj/cut/coul/long, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard - (2) fix electrode/conq, occasional, skip from (1) - attributes: half, newton on - pair build: skip - stencil: none - bin: none - (3) fix electrode/conq, perpetual, skip from (1) - attributes: half, newton on - pair build: skip - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 56.89 | 56.89 | 56.89 Mbytes - Step Temp c_ctemp E_pair TotEng c_qbot c_qtop v_vbot v_vtop - 0 0 0 25136984 25136984 -1 1 -9.931852 10.097344 - 50 20.206425 72.797911 25136825 25137033 -1 1 -9.4359366 9.5964514 - 100 55.931663 201.50563 25136587 25137163 -1 1 -8.0440112 8.1861787 - 150 81.389273 293.22204 25136533 25137371 -1 1 -6.1113109 6.2267114 - 200 92.867946 334.57639 25136646 25137603 -1 1 -4.1857807 4.2740694 - 250 97.518304 351.33028 25136809 25137814 -1 1 -2.8383703 2.9101475 - 300 102.36577 368.79431 25136933 25137987 -1 1 -2.3831643 2.4461115 - 350 113.66597 409.50566 25136960 25138131 -1 1 -2.7083563 2.7457811 - 400 122.8443 442.57252 25136991 25138256 -1 1 -3.4311003 3.3941657 - 450 128.63713 463.44243 25137048 25138373 -1 1 -4.132871 3.9852959 - 500 131.18361 472.61665 25137142 25138493 -1 1 -4.5104095 4.2567261 -Loop time of 48.9361 on 1 procs for 500 steps with 3776 atoms - -Performance: 0.883 ns/day, 27.187 hours/ns, 10.217 timesteps/s -393.9% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 17.652 | 17.652 | 17.652 | 0.0 | 36.07 -Bond | 0.0010418 | 0.0010418 | 0.0010418 | 0.0 | 0.00 -Kspace | 16.566 | 16.566 | 16.566 | 0.0 | 33.85 -Neigh | 0.21584 | 0.21584 | 0.21584 | 0.0 | 0.44 -Comm | 0.04167 | 0.04167 | 0.04167 | 0.0 | 0.09 -Output | 0.0014585 | 0.0014585 | 0.0014585 | 0.0 | 0.00 -Modify | 14.445 | 14.445 | 14.445 | 0.0 | 29.52 -Other | | 0.0134 | | | 0.03 - -Nlocal: 3776 ave 3776 max 3776 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 12510 ave 12510 max 12510 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1.72559e+06 ave 1.72559e+06 max 1.72559e+06 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1725588 -Ave neighs/atom = 456.98835 -Ave special neighs/atom = 0.50847458 -Neighbor list builds = 6 -Dangerous builds = 0 -Total wall time: 0:01:43 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq.g++.4 b/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq.g++.4 deleted file mode 100644 index 96343114e6..0000000000 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq.g++.4 +++ /dev/null @@ -1,154 +0,0 @@ -LAMMPS (24 Mar 2022) -# electrodes with constrained total charges -# for graphene-ionic liquid supercapacitor - -boundary p p f # slab calculation -include settings.mod # styles, groups, computes and fixes -# set boundary in main script because ffield is periodic -units real -# distribute electrode atoms among all processors: -if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" -processors * * 2 - -atom_style full -pair_style lj/cut/coul/long 16 -bond_style harmonic -angle_style harmonic -kspace_style pppm/electrode 1e-7 -# kspace_modify in main script because ffield is periodic - -read_data "data.graph-il" -Reading data file ... - orthogonal box = (0 0 -68) to (32.2 34.4 68) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 3776 atoms - scanning bonds ... - 2 = max bonds/atom - scanning angles ... - 1 = max angles/atom - reading bonds ... - 640 bonds - reading angles ... - 320 angles -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.020 seconds - -group bot molecule 641 -416 atoms in group bot -group top molecule 642 -416 atoms in group top - -group bmi type 1 2 3 -960 atoms in group bmi -group electrolyte type 1 2 3 4 -1280 atoms in group electrolyte - -fix nvt electrolyte nvt temp 500.0 500.0 100 -fix shake bmi shake 1e-4 20 0 b 1 2 a 1 - 0 = # of size 2 clusters - 0 = # of size 3 clusters - 0 = # of size 4 clusters - 320 = # of frozen angles - find clusters CPU = 0.001 seconds - -variable q atom q -compute qtop top reduce sum v_q -compute qbot bot reduce sum v_q -compute ctemp electrolyte temp -kspace_modify slab 3.0 - -fix conq bot electrode/conq -1.0 1.979 couple top 1.0 etypes 5 # conq doesn't take symm option -832 atoms in group conp_group - -# ask fix conq to output electrode potentials to internal variables -variable vbot internal 0.0 -variable vtop internal 0.0 -fix_modify conq set v bot vbot -fix_modify conq set v top vtop - -thermo 50 -thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_vbot v_vtop -run 500 -PPPM/electrode initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:342) - G vector (1/distance) = 0.20904498 - grid = 32 32 200 - stencil order = 5 - estimated absolute RMS force accuracy = 3.7023506e-05 - estimated relative force accuracy = 1.1149519e-07 - using double precision MKL FFT - 3d grid and FFT values/proc = 151593 85504 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 18 - ghost atom cutoff = 18 - binsize = 9, bins = 4 4 16 - 3 neighbor lists, perpetual/occasional/extra = 2 1 0 - (1) pair lj/cut/coul/long, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard - (2) fix electrode/conq, occasional, skip from (1) - attributes: half, newton on - pair build: skip - stencil: none - bin: none - (3) fix electrode/conq, perpetual, skip from (1) - attributes: half, newton on - pair build: skip - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 23.63 | 27.46 | 31.29 Mbytes - Step Temp c_ctemp E_pair TotEng c_qbot c_qtop v_vbot v_vtop - 0 0 0 25136984 25136984 -1 1 -9.931852 10.097344 - 50 20.206425 72.797911 25136825 25137033 -1 1 -9.4359366 9.5964514 - 100 55.931663 201.50563 25136587 25137163 -1 1 -8.0440112 8.1861787 - 150 81.389273 293.22204 25136533 25137371 -1 1 -6.1113109 6.2267114 - 200 92.867946 334.57639 25136646 25137603 -1 1 -4.1857807 4.2740694 - 250 97.518304 351.33028 25136809 25137814 -1 1 -2.8383703 2.9101475 - 300 102.36577 368.79431 25136933 25137987 -1 1 -2.3831643 2.4461115 - 350 113.66597 409.50566 25136960 25138131 -1 1 -2.7083563 2.7457811 - 400 122.8443 442.57252 25136991 25138256 -1 1 -3.4311003 3.3941657 - 450 128.63713 463.44243 25137048 25138373 -1 1 -4.132871 3.9852959 - 500 131.18361 472.61665 25137142 25138493 -1 1 -4.5104095 4.2567261 -Loop time of 28.8336 on 4 procs for 500 steps with 3776 atoms - -Performance: 1.498 ns/day, 16.019 hours/ns, 17.341 timesteps/s -94.1% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 5.7721 | 5.9353 | 6.144 | 6.0 | 20.58 -Bond | 0.00057855 | 0.00067043 | 0.00074793 | 0.0 | 0.00 -Kspace | 13.485 | 13.694 | 13.857 | 4.0 | 47.49 -Neigh | 0.092021 | 0.092044 | 0.092068 | 0.0 | 0.32 -Comm | 0.11486 | 0.11638 | 0.11801 | 0.4 | 0.40 -Output | 0.00090452 | 0.001109 | 0.0017097 | 1.0 | 0.00 -Modify | 8.974 | 8.9761 | 8.978 | 0.1 | 31.13 -Other | | 0.01837 | | | 0.06 - -Nlocal: 944 ave 948 max 940 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Nghost: 5920.5 ave 5941 max 5899 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 431397 ave 442329 max 421103 min -Histogram: 2 0 0 0 0 0 0 0 1 1 - -Total # of neighbors = 1725588 -Ave neighs/atom = 456.98835 -Ave special neighs/atom = 0.50847458 -Neighbor list builds = 6 -Dangerous builds = 0 -Total wall time: 0:00:51 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq2.g++.1 b/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq2.g++.1 deleted file mode 100644 index 4465ed311d..0000000000 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq2.g++.1 +++ /dev/null @@ -1,170 +0,0 @@ -LAMMPS (24 Mar 2022) -# electrodes with constrained total charges imposed from dynamically computed potentials -# for graphene-ionic liquid supercapacitor - -boundary p p f # slab calculation -include settings.mod # styles, groups, computes and fixes -# set boundary in main script because ffield is periodic -units real -# distribute electrode atoms among all processors: -if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" - -atom_style full -pair_style lj/cut/coul/long 16 -bond_style harmonic -angle_style harmonic -kspace_style pppm/electrode 1e-7 -# kspace_modify in main script because ffield is periodic - -read_data "data.graph-il" -Reading data file ... - orthogonal box = (0 0 -68) to (32.2 34.4 68) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 3776 atoms - scanning bonds ... - 2 = max bonds/atom - scanning angles ... - 1 = max angles/atom - reading bonds ... - 640 bonds - reading angles ... - 320 angles -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.031 seconds - -group bot molecule 641 -416 atoms in group bot -group top molecule 642 -416 atoms in group top - -group bmi type 1 2 3 -960 atoms in group bmi -group electrolyte type 1 2 3 4 -1280 atoms in group electrolyte - -fix nvt electrolyte nvt temp 500.0 500.0 100 -fix shake bmi shake 1e-4 20 0 b 1 2 a 1 - 0 = # of size 2 clusters - 0 = # of size 3 clusters - 0 = # of size 4 clusters - 320 = # of frozen angles - find clusters CPU = 0.001 seconds - -variable q atom q -compute qtop top reduce sum v_q -compute qbot bot reduce sum v_q -compute ctemp electrolyte temp -kspace_modify slab 3.0 - -fix conp bot electrode/conp v_vbot 1.979 couple top v_vtop etypes 5 -832 atoms in group conp_group - -# get the four entries of electrode elastance matrix -variable me00 internal 0.0 -variable me01 internal 0.0 -variable me10 internal 0.0 -variable me11 internal 0.0 -fix_modify conp set me bot bot me00 -fix_modify conp set me bot top me01 -fix_modify conp set me top bot me10 -fix_modify conp set me top top me11 - -# get the 0V charges (qsb), and excess charge required to reach preset total charges -variable qsb_bot internal 0.0 -variable qsb_top internal 0.0 -fix_modify conp set qsb bot qsb_bot -fix_modify conp set qsb top qsb_top -variable qex_bot equal -1.0-v_qsb_bot # difference between desired and 0V charge -variable qex_top equal 1.0-v_qsb_top # difference between desired and 0V charge - -# calculate imposed potential as elastance * excess charge -# note: fix will wait until the run setup to look for its potential variables -variable vbot equal v_me00*v_qex_bot+v_me01*v_qex_top -variable vtop equal v_me10*v_qex_bot+v_me11*v_qex_top - -thermo 50 -thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_vbot v_vtop -run 500 -PPPM/electrode initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:342) - G vector (1/distance) = 0.20904498 - grid = 32 32 200 - stencil order = 5 - estimated absolute RMS force accuracy = 3.7023506e-05 - estimated relative force accuracy = 1.1149519e-07 - using double precision MKL FFT - 3d grid and FFT values/proc = 307242 204800 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 18 - ghost atom cutoff = 18 - binsize = 9, bins = 4 4 16 - 3 neighbor lists, perpetual/occasional/extra = 2 1 0 - (1) pair lj/cut/coul/long, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard - (2) fix electrode/conp, occasional, skip from (1) - attributes: half, newton on - pair build: skip - stencil: none - bin: none - (3) fix electrode/conp, perpetual, skip from (1) - attributes: half, newton on - pair build: skip - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 56.89 | 56.89 | 56.89 Mbytes - Step Temp c_ctemp E_pair TotEng c_qbot c_qtop v_vbot v_vtop - 0 0 0 25136984 25136984 -1 1 -9.931852 10.097344 - 50 20.206425 72.797911 25136825 25137033 -1 1 -9.4359366 9.5964514 - 100 55.931663 201.50563 25136587 25137163 -1 1 -8.0440112 8.1861787 - 150 81.389273 293.22204 25136533 25137371 -1 1 -6.1113109 6.2267114 - 200 92.867946 334.57639 25136646 25137603 -1 1 -4.1857807 4.2740694 - 250 97.518304 351.33028 25136809 25137814 -1 1 -2.8383703 2.9101475 - 300 102.36577 368.79431 25136933 25137987 -1 1 -2.3831643 2.4461115 - 350 113.66597 409.50566 25136960 25138131 -1 1 -2.7083563 2.7457811 - 400 122.8443 442.57252 25136991 25138256 -1 1 -3.4311003 3.3941657 - 450 128.63713 463.44243 25137048 25138373 -1 1 -4.132871 3.9852959 - 500 131.18361 472.61665 25137142 25138493 -1 1 -4.5104095 4.2567261 -Loop time of 62.9692 on 1 procs for 500 steps with 3776 atoms - -Performance: 0.686 ns/day, 34.983 hours/ns, 7.940 timesteps/s -393.7% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 20.307 | 20.307 | 20.307 | 0.0 | 32.25 -Bond | 0.0020074 | 0.0020074 | 0.0020074 | 0.0 | 0.00 -Kspace | 23.562 | 23.562 | 23.562 | 0.0 | 37.42 -Neigh | 0.26149 | 0.26149 | 0.26149 | 0.0 | 0.42 -Comm | 0.059436 | 0.059436 | 0.059436 | 0.0 | 0.09 -Output | 0.0023888 | 0.0023888 | 0.0023888 | 0.0 | 0.00 -Modify | 18.756 | 18.756 | 18.756 | 0.0 | 29.79 -Other | | 0.01897 | | | 0.03 - -Nlocal: 3776 ave 3776 max 3776 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 12510 ave 12510 max 12510 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1.72559e+06 ave 1.72559e+06 max 1.72559e+06 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1725588 -Ave neighs/atom = 456.98835 -Ave special neighs/atom = 0.50847458 -Neighbor list builds = 6 -Dangerous builds = 0 -Total wall time: 0:02:26 diff --git a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq2.g++.4 b/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq2.g++.4 deleted file mode 100644 index cf8ddf60a3..0000000000 --- a/examples/PACKAGES/electrode/graph-il/log.26Apr2022.graph-il-conq2.g++.4 +++ /dev/null @@ -1,171 +0,0 @@ -LAMMPS (24 Mar 2022) -# electrodes with constrained total charges imposed from dynamically computed potentials -# for graphene-ionic liquid supercapacitor - -boundary p p f # slab calculation -include settings.mod # styles, groups, computes and fixes -# set boundary in main script because ffield is periodic -units real -# distribute electrode atoms among all processors: -if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" -processors * * 2 - -atom_style full -pair_style lj/cut/coul/long 16 -bond_style harmonic -angle_style harmonic -kspace_style pppm/electrode 1e-7 -# kspace_modify in main script because ffield is periodic - -read_data "data.graph-il" -Reading data file ... - orthogonal box = (0 0 -68) to (32.2 34.4 68) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 3776 atoms - scanning bonds ... - 2 = max bonds/atom - scanning angles ... - 1 = max angles/atom - reading bonds ... - 640 bonds - reading angles ... - 320 angles -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.019 seconds - -group bot molecule 641 -416 atoms in group bot -group top molecule 642 -416 atoms in group top - -group bmi type 1 2 3 -960 atoms in group bmi -group electrolyte type 1 2 3 4 -1280 atoms in group electrolyte - -fix nvt electrolyte nvt temp 500.0 500.0 100 -fix shake bmi shake 1e-4 20 0 b 1 2 a 1 - 0 = # of size 2 clusters - 0 = # of size 3 clusters - 0 = # of size 4 clusters - 320 = # of frozen angles - find clusters CPU = 0.001 seconds - -variable q atom q -compute qtop top reduce sum v_q -compute qbot bot reduce sum v_q -compute ctemp electrolyte temp -kspace_modify slab 3.0 - -fix conp bot electrode/conp v_vbot 1.979 couple top v_vtop etypes 5 -832 atoms in group conp_group - -# get the four entries of electrode elastance matrix -variable me00 internal 0.0 -variable me01 internal 0.0 -variable me10 internal 0.0 -variable me11 internal 0.0 -fix_modify conp set me bot bot me00 -fix_modify conp set me bot top me01 -fix_modify conp set me top bot me10 -fix_modify conp set me top top me11 - -# get the 0V charges (qsb), and excess charge required to reach preset total charges -variable qsb_bot internal 0.0 -variable qsb_top internal 0.0 -fix_modify conp set qsb bot qsb_bot -fix_modify conp set qsb top qsb_top -variable qex_bot equal -1.0-v_qsb_bot # difference between desired and 0V charge -variable qex_top equal 1.0-v_qsb_top # difference between desired and 0V charge - -# calculate imposed potential as elastance * excess charge -# note: fix will wait until the run setup to look for its potential variables -variable vbot equal v_me00*v_qex_bot+v_me01*v_qex_top -variable vtop equal v_me10*v_qex_bot+v_me11*v_qex_top - -thermo 50 -thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop v_vbot v_vtop -run 500 -PPPM/electrode initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:342) - G vector (1/distance) = 0.20904498 - grid = 32 32 200 - stencil order = 5 - estimated absolute RMS force accuracy = 3.7023506e-05 - estimated relative force accuracy = 1.1149519e-07 - using double precision MKL FFT - 3d grid and FFT values/proc = 151593 85504 - generated 10 of 10 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 18 - ghost atom cutoff = 18 - binsize = 9, bins = 4 4 16 - 3 neighbor lists, perpetual/occasional/extra = 2 1 0 - (1) pair lj/cut/coul/long, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard - (2) fix electrode/conp, occasional, skip from (1) - attributes: half, newton on - pair build: skip - stencil: none - bin: none - (3) fix electrode/conp, perpetual, skip from (1) - attributes: half, newton on - pair build: skip - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 23.63 | 27.46 | 31.29 Mbytes - Step Temp c_ctemp E_pair TotEng c_qbot c_qtop v_vbot v_vtop - 0 0 0 25136984 25136984 -1 1 -9.931852 10.097344 - 50 20.206425 72.797911 25136825 25137033 -1 1 -9.4359366 9.5964514 - 100 55.931663 201.50563 25136587 25137163 -1 1 -8.0440112 8.1861787 - 150 81.389273 293.22204 25136533 25137371 -1 1 -6.1113109 6.2267114 - 200 92.867946 334.57639 25136646 25137603 -1 1 -4.1857807 4.2740694 - 250 97.518304 351.33028 25136809 25137814 -1 1 -2.8383703 2.9101475 - 300 102.36577 368.79431 25136933 25137987 -1 1 -2.3831643 2.4461115 - 350 113.66597 409.50566 25136960 25138131 -1 1 -2.7083563 2.7457811 - 400 122.8443 442.57252 25136991 25138256 -1 1 -3.4311003 3.3941657 - 450 128.63713 463.44243 25137048 25138373 -1 1 -4.132871 3.9852959 - 500 131.18361 472.61665 25137142 25138493 -1 1 -4.5104095 4.2567261 -Loop time of 33.4031 on 4 procs for 500 steps with 3776 atoms - -Performance: 1.293 ns/day, 18.557 hours/ns, 14.969 timesteps/s -94.3% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 7.1262 | 7.3913 | 7.611 | 6.8 | 22.13 -Bond | 0.0007191 | 0.00079089 | 0.00087005 | 0.0 | 0.00 -Kspace | 15.139 | 15.358 | 15.623 | 4.7 | 45.98 -Neigh | 0.10374 | 0.10377 | 0.10383 | 0.0 | 0.31 -Comm | 0.14245 | 0.14353 | 0.14563 | 0.3 | 0.43 -Output | 0.0012987 | 0.0015671 | 0.0022434 | 1.0 | 0.00 -Modify | 10.381 | 10.383 | 10.384 | 0.0 | 31.08 -Other | | 0.02134 | | | 0.06 - -Nlocal: 944 ave 948 max 940 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Nghost: 5920.5 ave 5941 max 5899 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 431397 ave 442329 max 421103 min -Histogram: 2 0 0 0 0 0 0 0 1 1 - -Total # of neighbors = 1725588 -Ave neighs/atom = 456.98835 -Ave special neighs/atom = 0.50847458 -Neighbor list builds = 6 -Dangerous builds = 0 -Total wall time: 0:01:01 diff --git a/examples/PACKAGES/electrode/graph-il/settings.mod b/examples/PACKAGES/electrode/graph-il/settings.mod index dcdaf7bfcd..ffbbfb1cc4 100644 --- a/examples/PACKAGES/electrode/graph-il/settings.mod +++ b/examples/PACKAGES/electrode/graph-il/settings.mod @@ -12,8 +12,13 @@ kspace_style pppm/electrode 1e-7 read_data "data.graph-il" -group bot molecule 641 -group top molecule 642 +# replicate 4 4 1 # test different sys sizes + +variable zpos atom "z > 0" +group zpos variable zpos +group ele type 5 +group top intersect ele zpos +group bot subtract ele top group bmi type 1 2 3 group electrolyte type 1 2 3 4 diff --git a/examples/PACKAGES/electrode/madelung/.gitignore b/examples/PACKAGES/electrode/madelung/.gitignore new file mode 100644 index 0000000000..89d8d1a065 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/.gitignore @@ -0,0 +1,2 @@ +*.csv +*.txt diff --git a/examples/PACKAGES/electrode/madelung/data.au-elyt b/examples/PACKAGES/electrode/madelung/data.au-elyt new file mode 100644 index 0000000000..366e317378 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/data.au-elyt @@ -0,0 +1,27 @@ +LAMMPS data file via write_data, version 24 Dec 2020, timestep = 0 + +4 atoms +3 atom types + +0 1 xlo xhi +0 1 ylo yhi +-10 10 zlo zhi + +Masses + +1 196.966553 +2 196.966553 +3 1.0 + +Pair Coeffs # lj/cut/coul/long + +1 0 0 +2 0 0 +3 0 0 + +Atoms # full + +1 1 1 0.00 0.00 0.00 -2.00 # bottom electrode +2 2 2 0.00 0.00 0.00 2.00 # top electrode +3 3 3 0.50 0.00 0.00 -1.00 # bottom electrolyte +4 3 3 -0.50 0.00 0.00 1.00 # top electrolyte diff --git a/examples/PACKAGES/electrode/madelung/eval.py b/examples/PACKAGES/electrode/madelung/eval.py new file mode 100644 index 0000000000..2f5a355d9b --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/eval.py @@ -0,0 +1,53 @@ +#!/usr/env/python3 + +import sys +import os.path as op + + +def rel_error(out, ref): + return 100 * abs((ref - out) / out) + + +assert len(sys.argv) == 5 + +with open(sys.argv[1]) as f: + ref_line = f.readlines()[-1].split(", ") +e_ref = float(ref_line[1]) +q_ref = float(ref_line[3]) +inv11_ref = float(ref_line[4]) +inv12_ref = float(ref_line[5]) +b1_ref = float(ref_line[6]) + +# out.csv +with open(sys.argv[2]) as f: + out_line = f.readlines()[-1].split(", ") +e_out = float(out_line[0]) +q_out = float(out_line[1]) + +out_lines = [("energy", e_ref, e_out), ("charge", q_ref, q_out)] + +# vec.csv +vec_file = "vec.csv" +if op.isfile(vec_file): + with open(sys.argv[4]) as f: + vec_line = f.readlines()[1:] + b1_out = float(vec_line[0]) + b2_out = float(vec_line[1]) + out_lines.append(("b1", b1_ref, b1_out)) + +# inv.csv +inv_file = "inv.csv" +if op.isfile(inv_file): + with open(inv_file) as f: + inv_line = f.readlines()[1].split() + inv11_out = float(inv_line[0]) + inv12_out = float(inv_line[1]) + out_lines.append(("inv11", inv11_ref, inv11_out)) + +lines = [] +for label, ref, out in out_lines: + error = rel_error(out, ref) + lines.append(f"{label}: {out:.5f}, {error:.5f}\n") + +with open("madelung.txt", 'a') as f: + f.writelines(lines) diff --git a/examples/PACKAGES/electrode/madelung/in.cg b/examples/PACKAGES/electrode/madelung/in.cg new file mode 100644 index 0000000000..39a90a1f29 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.cg @@ -0,0 +1,11 @@ +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on algo cg 1e-6 + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/in.ewald-ew2d b/examples/PACKAGES/electrode/madelung/in.ewald-ew2d new file mode 100644 index 0000000000..2f54e747d1 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.ewald-ew2d @@ -0,0 +1,11 @@ +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab ew2d + +include "settings.mod" # styles, computes, groups and fixes + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on write_inv inv.csv write_vec vec.csv + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/in.ewald-ew3dc b/examples/PACKAGES/electrode/madelung/in.ewald-ew3dc new file mode 100644 index 0000000000..c89804ef11 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.ewald-ew3dc @@ -0,0 +1,11 @@ +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on write_inv inv.csv write_vec vec.csv + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/in.ewald-ffield b/examples/PACKAGES/electrode/madelung/in.ewald-ffield new file mode 100644 index 0000000000..c30f82159b --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.ewald-ffield @@ -0,0 +1,10 @@ +boundary p p p +kspace_style ewald/electrode 1.0e-8 + +include "settings.mod" # styles, computes, groups and fixes + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on ffield yes write_inv inv.csv write_vec vec.csv + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/in.pppm-ew3dc b/examples/PACKAGES/electrode/madelung/in.pppm-ew3dc new file mode 100644 index 0000000000..c36587af08 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.pppm-ew3dc @@ -0,0 +1,11 @@ +boundary p p f +kspace_style pppm/electrode 1.0e-10 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on write_inv inv.csv write_vec vec.csv + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/in.pppm-ffield b/examples/PACKAGES/electrode/madelung/in.pppm-ffield new file mode 100644 index 0000000000..e161485e6f --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.pppm-ffield @@ -0,0 +1,10 @@ +boundary p p p +kspace_style pppm/electrode 1.0e-10 + +include "settings.mod" # styles, computes, groups and fixes + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on ffield yes write_inv inv.csv write_vec vec.csv + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-cg.g++.1 b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-cg.g++.1 new file mode 100644 index 0000000000..a0cd4d959c --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-cg.g++.1 @@ -0,0 +1,131 @@ +LAMMPS (3 Nov 2022) +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.003 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on algo cg 1e-6 +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Ewald/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.32261103 + estimated absolute RMS force accuracy = 3.8272011e-06 + estimated relative force accuracy = 1.1525502e-08 + KSpace vectors: actual max1d max3d = 52 50 515150 + kxmax kymax kzmax = 1 1 50 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:966) +139.943964815502, 0.279214485147241 +Per MPI rank memory allocation (min/avg/max) = 144.1 | 144.1 | 144.1 Mbytes + Step PotEng c_qbot c_qtop + 0 139.94396 -0.27921449 0.27921449 +Loop time of 1.092e-06 on 1 procs for 0 steps with 4 atoms + +91.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.092e-06 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3596 ave 3596 max 3596 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Average conjugate gradient steps: 1 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-ewald-ew2d.g++.1 b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-ewald-ew2d.g++.1 new file mode 100644 index 0000000000..ff0a8550cd --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-ewald-ew2d.g++.1 @@ -0,0 +1,130 @@ +LAMMPS (3 Nov 2022) +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab ew2d + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.002 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on write_inv inv.csv write_vec vec.csv +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Ewald/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.32261103 + estimated absolute RMS force accuracy = 9.9990544e-06 + estimated relative force accuracy = 3.0111855e-08 + KSpace vectors: actual max1d max3d = 2 8 2456 + kxmax kymax kzmax = 1 1 8 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:966) +139.946125020193, 0.279214126709814 +Per MPI rank memory allocation (min/avg/max) = 20.42 | 20.42 | 20.42 Mbytes + Step PotEng c_qbot c_qtop + 0 139.94613 -0.27921413 0.27921413 +Loop time of 1.082e-06 on 1 procs for 0 steps with 4 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.082e-06 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3596 ave 3596 max 3596 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-ewald-ew3dc.g++.1 b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-ewald-ew3dc.g++.1 new file mode 100644 index 0000000000..5374b09ff1 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-ewald-ew3dc.g++.1 @@ -0,0 +1,130 @@ +LAMMPS (3 Nov 2022) +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.003 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on write_inv inv.csv write_vec vec.csv +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Ewald/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.32261103 + estimated absolute RMS force accuracy = 3.8272011e-06 + estimated relative force accuracy = 1.1525502e-08 + KSpace vectors: actual max1d max3d = 52 50 515150 + kxmax kymax kzmax = 1 1 50 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:966) +139.943964815502, 0.279214485147238 +Per MPI rank memory allocation (min/avg/max) = 144.1 | 144.1 | 144.1 Mbytes + Step PotEng c_qbot c_qtop + 0 139.94396 -0.27921449 0.27921449 +Loop time of 7.31e-07 on 1 procs for 0 steps with 4 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 7.31e-07 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3596 ave 3596 max 3596 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-ewald-ffield.g++.1 b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-ewald-ffield.g++.1 new file mode 100644 index 0000000000..ea3799809d --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-ewald-ffield.g++.1 @@ -0,0 +1,129 @@ +LAMMPS (3 Nov 2022) +boundary p p p +kspace_style ewald/electrode 1.0e-8 + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.002 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on ffield yes write_inv inv.csv write_vec vec.csv +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Ewald/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.32261103 + estimated absolute RMS force accuracy = 9.9990544e-06 + estimated relative force accuracy = 3.0111855e-08 + KSpace vectors: actual max1d max3d = 10 8 2456 + kxmax kymax kzmax = 1 1 8 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:966) +138.299024320284, 0.287160231879378 +Per MPI rank memory allocation (min/avg/max) = 21.19 | 21.19 | 21.19 Mbytes + Step PotEng c_qbot c_qtop + 0 138.29902 -0.28716023 0.28716023 +Loop time of 1.804e-06 on 1 procs for 0 steps with 4 atoms + +55.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.804e-06 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 10796 ave 10796 max 10796 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-pppm-ew3dc.g++.1 b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-pppm-ew3dc.g++.1 new file mode 100644 index 0000000000..a3961bd3cb --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-pppm-ew3dc.g++.1 @@ -0,0 +1,143 @@ +LAMMPS (3 Nov 2022) +boundary p p f +kspace_style pppm/electrode 1.0e-10 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.003 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on write_inv inv.csv write_vec vec.csv +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +PPPM/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.37216302 + grid = 12 12 375 + stencil order = 5 + estimated absolute RMS force accuracy = 9.4312865e-06 + estimated relative force accuracy = 2.8402039e-08 + using double precision MKL FFT + 3d grid and FFT values/proc = 637099 54000 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:966) +139.946107219358, 0.279214187928028 +Per MPI rank memory allocation (min/avg/max) = 40.22 | 40.22 | 40.22 Mbytes + Step PotEng c_qbot c_qtop + 0 139.94611 -0.27921419 0.27921419 +Loop time of 8.32e-07 on 1 procs for 0 steps with 4 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 8.32e-07 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3596 ave 3596 max 3596 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-pppm-ffield.g++.1 b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-pppm-ffield.g++.1 new file mode 100644 index 0000000000..64664e7443 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.1Dec2022.madelung-pppm-ffield.g++.1 @@ -0,0 +1,142 @@ +LAMMPS (3 Nov 2022) +boundary p p p +kspace_style pppm/electrode 1.0e-10 + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.002 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix conp bot electrode/conp 0 2 couple top 1 symm on ffield yes write_inv inv.csv write_vec vec.csv +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +PPPM/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.37297537 + grid = 12 12 90 + stencil order = 5 + estimated absolute RMS force accuracy = 9.4312758e-06 + estimated relative force accuracy = 2.8402007e-08 + using double precision MKL FFT + 3d grid and FFT values/proc = 174824 12960 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:966) +138.298994634846, 0.287160247352281 +Per MPI rank memory allocation (min/avg/max) = 16.7 | 16.7 | 16.7 Mbytes + Step PotEng c_qbot c_qtop + 0 138.29899 -0.28716025 0.28716025 +Loop time of 1.022e-06 on 1 procs for 0 steps with 4 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.022e-06 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 10796 ave 10796 max 10796 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/plate_cap.py b/examples/PACKAGES/electrode/madelung/plate_cap.py new file mode 100755 index 0000000000..62d52fe102 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/plate_cap.py @@ -0,0 +1,94 @@ +#!/usr/bin/env python3 + +import numpy as np +from scipy.special import erf + +ETA = 2 +SQRT2 = np.sqrt(2) +COULOMB = 332.06371 # Coulomb constant in Lammps 'real' units +QE2F = 23.060549 +LENGTH = 10000 # convergence parameter + + +def lattice(length): + """indices combinations of images in one quadrant""" + x = np.arange(length) # range(length) + y = np.arange(1, length) + return np.array(np.meshgrid(x, y)).T.reshape(-1, 2) + + +def a_element(r): + """Coulomb contribution of two Gaussians""" + return erf(ETA / SQRT2 * r) / r + + +def b_element(r, q): + """Coulomb contribution of a Gaussian with a point charge""" + return q * erf(ETA * r) / r + + +a = 1 # nearest neighbor distance i.e. lattice constant / sqrt(2) +x_elec = [-2, 2] +x_elyt = [-1, 1] +q_elyt = [0.5, -0.5] +distance_plates = x_elec[1] - x_elec[0] # distance between plates +v = np.array([-0.5, 0.5]) * (QE2F / COULOMB) + +# distances to images within electrode and to opposite electrode +distances = a * np.linalg.norm(lattice(LENGTH), axis=1) +opposite_distances = np.sqrt(np.square(distances) + distance_plates ** 2) + +# self interaction and within original box +A_11 = np.sqrt(2 / np.pi) * ETA +A_12 = erf(ETA * distance_plates / SQRT2) / distance_plates + +# interaction with periodic images +A_11 += 4 * np.sum(a_element(distances)) +A_12 += 4 * np.sum(a_element(opposite_distances)) +A = np.array([[A_11, A_12], [A_12, A_11]]) +inv = np.linalg.inv(A) +e = np.array([1, 1]) +inv -= np.matmul(inv, np.matmul(np.outer(e, e), inv)) / np.dot(e, np.dot(inv, e)) + +# electrode-electrolyte interaction +b = [] +for x in x_elec: + bi = 0 + for y, q in zip(x_elyt, q_elyt): + d = abs(y - x) + bi += b_element(d, q) + image_distances = np.sqrt(np.square(distances) + d ** 2) + bi += 4 * np.sum(b_element(image_distances, q)) + b.append(bi) +b = np.array(b) + +# electrolyte-electrolyte energy +elyt_11 = 4 * np.sum(1 / distances) +distance_elyt = x_elyt[1] - x_elyt[0] +elyt_12 = 1 / distance_elyt + 4 * np.sum( + 1 / np.sqrt(np.square(distances) + distance_elyt ** 2) +) +elyt = np.array([[elyt_11, elyt_12], [elyt_12, elyt_11]]) +energy_elyt = 0.5 * np.dot(q_elyt, np.dot(elyt, q_elyt)) + +# electrode charges and energy +q = np.dot(inv, v - b) +energy = COULOMB * (0.5 * np.dot(q, np.dot(A, q)) + np.dot(b, q) + energy_elyt) + +print( + "length, energy / kcal/mol, q1 / e, q2 / e, inv11 / A, inv12 / A, b1 / e/A, b2 / e/A" +) +print( + ", ".join( + [ + str(LENGTH), + f"{energy:.8f}", + f"{q[0]:.10f}", + f"{q[1]:.10f}", + f"{inv[0, 0]:.10f}", + f"{inv[0, 1]:.10f}", + f"{b[0]:.8f}", + f"{b[1]:.8f}", + ] + ) +) diff --git a/examples/PACKAGES/electrode/madelung/settings.mod b/examples/PACKAGES/electrode/madelung/settings.mod new file mode 100644 index 0000000000..aa1096ea81 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/settings.mod @@ -0,0 +1,22 @@ +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" + +group bot type 1 +group top type 2 + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" diff --git a/examples/PACKAGES/electrode/madelung/test.sh b/examples/PACKAGES/electrode/madelung/test.sh new file mode 100644 index 0000000000..edac04f5b1 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/test.sh @@ -0,0 +1,23 @@ +#!/bin/bash -e + +lmpbin=$1 +if [ ! -f $lmpbin ]; then + echo "LAMMPS binary '$lmpbin' is not a file" + exit 1 +fi + +ref_out="plate_cap.csv" +if [ ! -f $ref_out ]; then + echo "Generating reference data" + python3 plate_cap.py > $ref_out +fi + +echo "Running Lammps inputs" +rm -rf madelung.txt && touch madelung.txt +for file in in.*; do + printf "\n$file\n" >> madelung.txt + rm -f out.csv inv.csv vec.csv + $lmpbin -i $file &> /dev/null + python3 eval.py $ref_out out.csv inv.csv vec.csv +done +cat madelung.txt diff --git a/examples/PACKAGES/electrode/piston/.gitignore b/examples/PACKAGES/electrode/piston/.gitignore new file mode 100644 index 0000000000..9336c29266 --- /dev/null +++ b/examples/PACKAGES/electrode/piston/.gitignore @@ -0,0 +1,2 @@ +top_wall.csv +data.pistoned diff --git a/examples/PACKAGES/electrode/piston/data.piston b/examples/PACKAGES/electrode/piston/data.piston new file mode 100644 index 0000000000..815edff7ba --- /dev/null +++ b/examples/PACKAGES/electrode/piston/data.piston @@ -0,0 +1,2128 @@ +LAMMPS data file via write_data, version 23 Jun 2022, timestep = 5000 + +726 atoms +4 atom types +420 bonds +1 bond types +210 angles +1 angle types + +0 17.6494 xlo xhi +0 20.3798 ylo yhi +0 26.0000 zlo zhi + +Masses + +1 500 +2 196.97 +3 15.9994 +4 1.008 + +Pair Coeffs # lj/cut/coul/long + +1 0.069 2.78 +2 5.29 2.951 +3 0.1553 3.166 +4 0 0 + +Bond Coeffs # harmonic + +1 600 1 + +Angle Coeffs # harmonic + +1 75 109.47 + +Atoms # full + +49 25 2 0 0 0 2.4018 0 0 0 +50 25 2 0 1.4708 2.5475 2.4018 0 0 0 +51 26 2 0 0 5.0949 2.4018 0 0 0 +57 29 2 0 2.9416 0 2.4018 0 0 0 +58 29 2 0 4.4124 2.5475 2.4018 0 0 0 +59 30 2 0 2.9416 5.0949 2.4018 0 0 0 +65 33 2 0 5.8832 0 2.4018 0 0 0 +66 33 2 0 7.354000000000001 2.5475 2.4018 0 0 0 +67 34 2 0 5.8832 5.0949 2.4018 0 0 0 +243 97 4 0.4238 4.215372213007002 2.2225202484567896 5.2803935587652235 0 0 0 +52 26 2 0 1.4708 7.6424 2.4018 0 0 0 +53 27 2 0 0 10.1898 2.4018 0 0 0 +60 30 2 0 4.4124 7.6424 2.4018 0 0 0 +61 31 2 0 2.9416 10.1898 2.4018 0 0 0 +68 34 2 0 7.354000000000001 7.6424 2.4018 0 0 0 +69 35 2 0 5.8832 10.1898 2.4018 0 0 0 +387 145 4 0.4238 5.821325736406644 4.80211316415021 5.03726935778638 0 0 0 +260 103 4 0.4238 4.266650899557808 6.124697675258705 6.600494419311919 0 0 0 +277 109 3 -0.8476 1.1595300211865478 9.226136831721583 5.6374387660682395 0 0 0 +422 157 4 0.4238 5.186379561937092 9.246331162340214 5.010378323358909 0 0 0 +278 109 4 0.4238 0.16509455550271238 9.324889581001292 5.600728087976438 0 0 0 +421 157 3 -0.8476 4.267061402816361 8.96456307950511 5.285080645137098 0 0 0 +372 140 4 0.4238 7.72049151444727 3.1081049977971733 5.624439615628745 0 0 0 +241 97 3 -0.8476 4.979583082691343 1.5807071976248444 5.344102790419773 0 0 0 +367 139 3 -0.8476 3.3292653199701174 3.842283776550616 5.301650818590438 0 0 0 +368 139 4 0.4238 3.684070197838302 4.776085383558861 5.2555059732229505 0 0 0 +369 139 4 0.4238 2.4614244393932903 3.790665660238261 4.807496843609001 0 0 0 +237 95 4 0.4238 0.8688372424570395 0.5637480725652825 15.837861037745109 0 0 0 +242 97 4 0.4238 5.838317925620407 2.08972820515595 5.4030316190296865 0 0 0 +244 98 3 -0.8476 3.06007349186706 3.3156446548102743 7.800821206312822 0 0 0 +245 98 4 0.4238 3.292495500569735 3.349267797972537 6.828787504752208 0 0 0 +246 98 4 0.4238 3.244639762451247 4.205236417313474 8.21862706780732 0 0 0 +357 135 4 0.4238 5.599931101613284 2.8266561120576155 8.823939192896898 0 0 0 +248 99 4 0.4238 4.69094628305157 1.7475560287256833 10.940028326694172 0 0 0 +355 135 3 -0.8476 6.1056692668831944 3.4565727858406277 8.234503978839392 0 0 0 +370 140 3 -0.8476 8.260944365686607 2.344956325089386 5.9787203639370485 0 0 0 +5 3 1 0 0 10.1898 21.4018 0 0 0 +115 55 3 -0.8476 0.6685955791423209 1.1406007302132561 5.285707584884053 0 0 0 +117 55 4 0.4238 0.8471253049325846 2.1223521279380155 5.351215251536808 0 0 0 +337 129 3 -0.8476 3.5673781090835357 0.1584650058169618 11.855592597757308 0 1 0 +423 157 4 0.4238 3.5925256519953384 9.568512539363969 4.86052578384893 0 0 0 +388 146 3 -0.8476 4.577545906676629 5.911730949363624 8.247639703277793 0 0 0 +371 140 4 0.4238 8.763880514062548 2.641297854555424 6.790654426306619 0 0 0 +389 146 4 0.4238 5.229395912055183 5.212412787511029 8.540975963214175 0 0 0 +498 182 4 0.4238 8.708572501204229 1.6439616819374039 8.893386862511662 0 0 0 +499 183 3 -0.8476 8.788151456935827 1.747387315190607 11.831408961401284 0 0 0 +356 135 4 0.4238 7.087379176847249 3.3036660348840203 8.347928594928105 0 0 0 +235 95 3 -0.8476 1.101376037954613 0.60797910815167 14.866280241985807 0 0 0 +338 129 4 0.4238 3.086322043066555 0.17977406211341077 10.979161321324465 0 1 0 +101 50 4 0.4238 2.3452088829773485 1.679109649521978 7.998572278214729 0 0 0 +102 50 4 0.4238 1.7396190746664724 0.7815651122817325 6.776156174616777 0 0 0 +264 104 4 0.4238 1.314649046187711 7.151850339115251 5.356458350291402 0 0 0 +261 103 4 0.4238 4.344863408391302 7.229373831864509 5.400411210770298 0 0 0 +385 145 3 -0.8476 6.530003789922046 4.200582924498773 5.405965238572253 0 0 0 +386 145 4 0.4238 6.338765403718886 4.011523164034656 6.369128936305808 0 0 0 +390 146 4 0.4238 4.287287022740962 6.4497527910965 9.039019879824611 0 0 0 +259 103 3 -0.8476 4.571078813074718 6.29125568333872 5.662634084209634 0 0 0 +289 113 3 -0.8476 4.563599041145234 10.086229905664549 15.478505257325894 0 0 0 +262 104 3 -0.8476 0.9505514460098017 6.233602776791171 5.200720279695964 0 0 0 +234 94 4 0.4238 4.252305918517927 1.5104772744979198 15.776671832358746 0 0 0 +280 110 3 -0.8476 1.4649156019387215 8.625787955794543 8.210124183091255 0 0 0 +282 110 4 0.4238 1.2707547191832915 8.813324944957127 7.247247535393375 0 0 0 +404 151 4 0.4238 7.729904936627753 8.547350043185194 4.926160208837444 0 0 0 +405 151 4 0.4238 7.2770516978143425 8.988822091523867 6.431700948049315 0 0 0 +406 152 3 -0.8476 6.948766849242647 7.673937623994841 7.644671158708728 0 0 0 +407 152 4 0.4238 6.525795796205249 7.732575312342498 8.54891509101289 0 0 0 +408 152 4 0.4238 6.276846030142793 7.340427836539666 6.983389418751862 0 0 0 +281 110 4 0.4238 2.4144110839464337 8.86628530860492 8.41166651398434 0 0 0 +20 10 1 0 7.354000000000001 7.6424 21.4018 0 0 0 +403 151 3 -0.8476 7.1864312239576424 9.196956401727144 5.457807169763902 0 0 0 +140 63 4 0.4238 0.4912611771674119 5.483308431151843 7.32949919291062 0 0 0 +285 111 4 0.4238 2.222990438980817 7.758768979093943 9.602927616521612 0 0 0 +409 153 3 -0.8476 5.935160755403179 7.784141671985828 10.24740953450964 0 0 0 +410 153 4 0.4238 4.93909044392348 7.872166125675881 10.23761068803176 0 0 0 +283 111 3 -0.8476 2.9298247024233324 7.37829634209124 10.199271578404066 0 0 0 +284 111 4 0.4238 2.726159641339314 7.613476216764882 11.149646102042892 0 0 0 +300 116 4 0.4238 4.275274919124041 9.222842133138407 7.0364892960604974 0 0 0 +512 187 4 0.4238 8.159095215967982 5.212728585270325 5.862691743711303 0 0 0 +298 116 3 -0.8476 4.190494283036901 9.481049160440392 7.998852108176557 0 0 0 +13 7 1 0 2.9416 10.1898 21.4018 0 0 0 +167 72 4 0.4238 0.6888402225915744 9.490941300073734 17.687956507725275 0 0 0 +429 159 4 0.4238 6.704370008541906 9.570813638495862 9.75268746894169 0 0 0 +108 52 4 0.4238 0.4307356664021716 1.1201849372165382 13.39567680690473 0 0 0 +12 6 1 0 4.4124 7.6424 21.4018 0 0 0 +247 99 3 -0.8476 4.798369931390891 2.717477731578589 10.72159669011324 0 0 0 +249 99 4 0.4238 5.569724797087956 3.0916316888033455 11.236399566632782 0 0 0 +267 105 4 0.4238 3.62546649656917 4.334166934495396 11.516982003845238 0 0 0 +150 66 4 0.4238 0.3228287181315222 5.899276873013697 16.725238911862725 0 0 0 +232 94 3 -0.8476 4.980041500359598 0.8346261397826029 15.659938276309026 0 0 0 +103 51 3 -0.8476 1.3815948057839214 1.9892393072986618 10.960941799077768 0 0 0 +105 51 4 0.4238 2.0221030524072807 2.7460833084547516 11.091083546320654 0 0 0 +250 100 3 -0.8476 2.301722380036556 5.246668471215713 14.405023028095087 0 0 0 +251 100 4 0.4238 2.9853736210987964 5.6903907848833 14.984447511680715 0 0 0 +252 100 4 0.4238 1.395180212806813 5.361974054490418 14.811085553109534 0 0 0 +373 141 3 -0.8476 6.646815591730961 3.269837172643641 12.49061507590581 0 0 0 +374 141 4 0.4238 7.61695093879876 3.3495637297543572 12.261527610728375 0 0 0 +375 141 4 0.4238 6.481076944432454 2.390896252454289 12.937821497826814 0 0 0 +104 51 4 0.4238 0.6408775265357468 2.0608378879286913 11.628933096734032 0 0 0 +265 105 3 -0.8476 2.665829598310941 4.431310187121227 11.780914482870632 0 0 0 +144 64 4 0.4238 1.1190003692376955 5.0763854683727105 11.194475677541284 0 0 0 +229 93 3 -0.8476 5.942159660769991 0.7056663353811532 13.066706981458427 0 0 0 +266 105 4 0.4238 2.6102606372647403 4.846758214864171 12.688832882140309 0 0 0 +395 148 4 0.4238 6.791261132816323 5.2898024056276745 12.585701895393779 0 0 0 +496 182 3 -0.8476 8.656612808236074 2.6043956420410055 8.619768961623533 0 0 0 +358 136 3 -0.8476 7.858969118177482 4.323431351970546 15.158280395791389 0 0 0 +360 136 4 0.4238 7.311852997599627 4.141096884179606 14.341323716565022 0 0 0 +253 101 3 -0.8476 3.817665348062464 7.236922003920382 15.80944183548915 0 0 0 +17 9 1 0 5.8832 0 21.4018 0 0 0 +19 10 1 0 5.8832 5.0949 21.4018 0 0 0 +100 50 3 -0.8476 2.0394304158997083 0.7656654195905199 7.730022146575006 0 0 0 +178 76 3 -0.8476 5.452117716887525 9.18307317194898 13.15234900976541 0 0 0 +230 93 4 0.4238 5.059291011599534 0.38866725021142023 12.720218114220543 0 0 0 +231 93 4 0.4238 6.65052979327983 0.5320676483156337 12.382546751012228 0 0 0 +438 162 4 0.4238 7.136291463905622 9.772834868066683 17.139493058543497 0 0 0 +392 147 4 0.4238 8.38899132126725 5.8867041743537785 10.871264350514622 0 0 0 +111 53 4 0.4238 0.6985999830537806 1.3383536972275127 18.387030005691326 0 0 0 +180 76 4 0.4238 5.066448032980861 9.32084082718892 14.064642262682645 0 0 0 +233 94 4 0.4238 5.359631037926651 0.9094520875690633 14.737813568002778 0 0 0 +132 60 4 0.4238 0.8001204790197485 3.675543835266074 19.791162893511412 0 0 0 +286 112 3 -0.8476 3.0492447110060503 7.857786324043542 12.841804772376726 0 0 0 +287 112 4 0.4238 3.2098640427703793 7.07245726341082 13.43968410246133 0 0 0 +288 112 4 0.4238 3.8390372213919517 8.470176800208547 12.876525558331952 0 0 0 +394 148 3 -0.8476 7.2698038333003865 6.06308390013827 12.169729898590939 0 0 0 +396 148 4 0.4238 7.625134114087918 6.6608118801271505 12.888382847618582 0 0 0 +411 153 4 0.4238 6.2467858019307405 7.628185967709829 11.184729075452916 0 0 0 +166 72 3 -0.8476 0.0743206093292875 9.473569850066479 18.47666767184439 0 0 0 +159 69 4 0.4238 1.5369814113431812 8.581432976068813 12.91659053642449 0 0 0 +398 149 4 0.4238 8.017182850481422 8.5320782164775 15.13105927119312 0 0 0 +2 1 1 0 1.4708 2.5475 21.4018 0 0 0 +1 1 1 0 0 0 21.4018 0 0 0 +179 76 4 0.4238 5.808389160323009 10.05110184314008 12.80652118090145 0 0 0 +397 149 3 -0.8476 7.8632248442135975 8.280908077117292 14.175438467851688 0 0 0 +255 101 4 0.4238 4.224951823034336 7.092621650496108 16.711270553877267 0 0 0 +157 69 3 -0.8476 0.7114882871642291 9.135205749045086 12.807511759002331 0 0 0 +399 149 4 0.4238 7.140453712689584 8.855850348945147 13.791975805848095 0 0 0 +123 57 4 0.4238 0.1728626542764581 2.0181635873205455 9.55686086062765 0 0 0 +225 91 4 0.4238 7.816768412673801 0.8081877810287403 6.235830770216829 0 0 0 +21 11 1 0 5.8832 10.1898 21.4018 0 0 0 +417 155 4 0.4238 7.446840838580808 7.638526256652861 17.47844985435655 0 0 0 +362 137 4 0.4238 8.438368672558527 1.697843860243226 18.184511664154215 0 0 0 +129 59 4 0.4238 2.3771977665576043 1.8808184338387064 14.85662965445542 0 0 0 +359 136 4 0.4238 8.004317147899858 3.470311511692344 15.659339900839715 0 0 0 +128 59 4 0.4238 2.5853876652451317 3.4859493525534666 14.640206423330152 0 0 0 +256 102 3 -0.8476 3.36490296390101 2.609708506768986 18.019307140512538 0 0 0 +257 102 4 0.4238 2.989126363066441 2.6901816560721703 17.09609745176498 0 0 0 +258 102 4 0.4238 3.0647304195149228 1.7475126999269013 18.42736968436024 0 0 0 +382 144 3 -0.8476 6.308567838033942 2.476405458922918 18.00362734600325 0 0 0 +383 144 4 0.4238 6.593826337020496 3.427881594462966 17.888209006303875 0 0 0 +384 144 4 0.4238 5.361992496088107 2.3728369988438636 17.69822741313443 0 0 0 +272 107 4 0.4238 3.0726725732915128 4.603284898982291 18.635316954863068 0 0 0 +136 62 3 -0.8476 0.23948646424302802 3.6277413105394416 5.266501733024619 0 0 0 +365 138 4 0.4238 6.60152996763605 0.43507104006823966 18.019264498760286 0 0 0 +127 59 3 -0.8476 3.0145932097721304 2.643552260009665 14.96601392575784 0 0 0 +271 107 3 -0.8476 2.827278930096859 5.559554731210942 18.476163062225744 0 0 0 +158 69 4 0.4238 0.16630528129120115 9.089290910056087 13.644570644109479 0 0 0 +143 64 4 0.4238 0.11900142343143351 5.141919127824521 9.905160447540569 0 0 0 +415 155 3 -0.8476 7.9442542108115335 8.345727638599643 16.976009837116557 0 0 0 +4 2 1 0 1.4708 7.6424 21.4018 0 0 0 +276 108 4 0.4238 5.037529413861975 7.933581116564438 18.631487966790633 0 0 0 +254 101 4 0.4238 3.6649393772595342 8.214616238881469 15.66525877571223 0 0 0 +273 107 4 0.4238 1.8466314153892824 5.625798601756419 18.291929064604975 0 0 0 +612 220 4 0.4238 0.010930989959980764 2.2950979118534867 16.414655321355454 1 0 0 +402 150 4 0.4238 7.106876741389108 5.041237644705272 16.640202749296954 0 0 0 +401 150 4 0.4238 6.160816653506991 5.742470969945153 17.771516210789446 0 0 0 +400 150 3 -0.8476 6.996177466129156 5.214390702343716 17.618857043546885 0 0 0 +274 108 3 -0.8476 5.0193324614485215 7.043802573153883 18.17545833659005 0 0 0 +528 192 4 0.4238 8.623421722431294 5.7883736084345525 18.747118071306133 0 0 0 +275 108 4 0.4238 4.270941130836966 6.494210206303432 18.54675158901018 0 0 0 +130 60 3 -0.8476 0.30151484910318527 2.9901129901722614 19.260524594746823 0 0 0 +11 6 1 0 2.9416 5.0949 21.4018 0 0 0 +18 9 1 0 7.354000000000001 2.5475 21.4018 0 0 0 +3 2 1 0 0 5.0949 21.4018 0 0 0 +10 5 1 0 4.4124 2.5475 21.4018 0 0 0 +9 5 1 0 2.9416 0 21.4018 0 0 0 +418 156 3 -0.8476 4.815860863260777 9.600073631276539 19.091570737625037 0 0 0 +339 129 4 0.4238 2.9025423126390995 0.19480209169066873 12.601698136013006 0 1 0 +109 53 3 -0.8476 0.7320791233467872 0.6615070322554488 17.651667727097692 0 0 0 +165 71 4 0.4238 2.859472025585106 9.797582345892868 15.993242699480307 0 0 0 +142 64 3 -0.8476 0.16654348806994 5.167371806030668 10.903705304455558 0 0 0 +163 71 3 -0.8476 1.9414938951301373 9.863706489144873 16.384324307347644 0 0 0 +138 62 4 0.4238 0.46610741541910466 4.573831154626459 5.035076125954408 0 0 0 +110 53 4 0.4238 1.4763821044438006 0.016750063584620126 17.82574113464481 0 0 0 +148 66 3 -0.8476 0.2769703268883889 5.693561891799246 17.702776395141402 0 0 0 +168 72 4 0.4238 0.3851910025501984 8.779692776604824 19.126201816661716 0 0 0 +155 68 4 0.4238 0.10882260140155935 8.290546750038025 9.473605554039466 0 0 0 +419 156 4 0.4238 4.047967060581894 10.091196220875956 19.502834381376417 0 0 0 +279 109 4 0.4238 1.5891078696758345 10.112454310586116 5.464507454644324 0 0 0 +291 113 4 0.4238 5.063106516523704 9.955504370697694 16.334894862001168 0 0 0 +54 27 2 0 1.4708 12.7373 2.4018 0 0 0 +55 28 2 0 0 15.2847 2.4018 0 0 0 +62 31 2 0 4.4124 12.7373 2.4018 0 0 0 +63 32 2 0 2.9416 15.2847 2.4018 0 0 0 +70 35 2 0 7.354000000000001 12.7373 2.4018 0 0 0 +71 36 2 0 5.8832 15.2847 2.4018 0 0 0 +318 122 4 0.4238 2.4931000294030397 14.68049042504776 5.4920668045650025 0 0 0 +296 115 4 0.4238 2.208767730761098 12.293362577947239 5.072155343064113 0 0 0 +295 115 3 -0.8476 2.7410377681036264 11.51283534649287 5.39997510809189 0 0 0 +199 83 3 -0.8476 0.06129132430832457 15.968850902749507 14.273604552188592 0 0 0 +212 87 4 0.4238 0.3953399839920288 18.41963167641668 8.462803851856744 0 0 0 +56 28 2 0 1.4708 17.8322 2.4018 0 0 0 +64 32 2 0 4.4124 17.8322 2.4018 0 0 0 +72 36 2 0 7.354000000000001 17.8322 2.4018 0 0 0 +297 115 4 0.4238 3.5789798694053823 11.840523499251022 5.836407740178439 0 0 0 +316 122 3 -0.8476 1.631070916269115 14.178948300051426 5.418846200398046 0 0 0 +596 215 4 0.4238 7.109490500299251 16.657127794200864 15.625332570434084 0 0 0 +314 121 4 0.4238 4.490843993311033 14.308637759802288 5.7106306175219235 0 0 0 +317 122 4 0.4238 1.2228714849231572 14.08342483249297 6.326727512493262 0 0 0 +174 74 4 0.4238 0.10528366135845268 10.672156321950682 8.064974532168508 0 0 0 +424 158 3 -0.8476 5.101470449901436 12.351136442855362 8.772696925752863 0 0 0 +425 158 4 0.4238 5.649118560615081 11.587884372956601 9.115520413794723 0 0 0 +426 158 4 0.4238 5.518356916008868 13.214561207653139 9.056780336843094 0 0 0 +439 163 3 -0.8476 5.216895399703456 12.666087681674787 6.107919140409087 0 0 0 +440 163 4 0.4238 5.134428643535018 12.421224390109284 7.073963155217279 0 0 0 +441 163 4 0.4238 6.100613681787685 13.106659778250902 5.950000862088552 0 0 0 +443 164 4 0.4238 3.0179543685175823 12.072582679909768 8.848462487266309 0 0 0 +445 165 3 -0.8476 6.966218323718499 14.281372161941382 9.127169341964189 0 0 0 +447 165 4 0.4238 7.624646039950888 13.622453813299824 8.763439333415302 0 0 0 +460 170 3 -0.8476 7.231000148289769 14.474338072546802 5.1752234073088434 0 0 0 +566 205 4 0.4238 7.518646792922765 11.165670099715314 5.4767432294161615 0 0 0 +313 121 3 -0.8476 4.249374596810806 15.278291683142973 5.672357126140297 0 0 0 +446 165 4 0.4238 6.995056551501562 15.117996997967099 8.580152736531433 0 0 0 +442 164 3 -0.8476 2.144166379995316 11.593027145751554 8.767705401585385 0 0 0 +444 164 4 0.4238 1.865344831645564 11.254665778946087 9.666466135499824 0 0 0 +462 170 4 0.4238 6.776273488291953 15.331599425251477 5.4167323900106 0 0 0 +299 116 4 0.4238 4.0091104777731 10.462167685474132 8.065982115733604 0 0 0 +192 80 4 0.4238 1.3860580922058752 13.1436420054917 8.112211821661765 0 0 0 +223 91 3 -0.8476 7.52144010123177 20.2328986694854 6.260038148125913 0 -1 0 +567 205 4 0.4238 7.955736322443579 12.60235407524488 4.835245774032379 0 0 0 +305 118 4 0.4238 6.893786791944795 11.515500740653623 11.433469545335605 0 0 0 +461 170 4 0.4238 8.21976057692041 14.619771975490195 5.140557051180058 0 0 0 +164 71 4 0.4238 1.3048907045107163 10.192492429629349 15.686730789235462 0 0 0 +99 49 4 0.4238 1.0827619391029717 18.26873197575731 5.107129350002369 0 -1 0 +352 134 3 -0.8476 8.394595542324181 20.120875755975867 8.788527591447366 0 -1 0 +569 206 4 0.4238 8.682110941177735 16.514860767752086 8.0240313566335 0 0 0 +333 127 4 0.4238 2.504646078973971 17.96447094238861 6.618993185042102 0 0 0 +315 121 4 0.4238 5.057127339180615 15.813425143166752 5.425034770839435 0 0 0 +331 127 3 -0.8476 2.954653688178904 17.216242853434046 7.106485686197738 0 0 0 +332 127 4 0.4238 3.3551983060071806 16.58127747290928 6.445892087695467 0 0 0 +334 128 3 -0.8476 5.043566489540578 18.004186709137286 9.213366138097703 0 0 0 +335 128 4 0.4238 4.8534442245780065 17.08711847665592 9.563850392227947 0 0 0 +336 128 4 0.4238 4.502654882669719 18.164209712655897 8.387650033745803 0 0 0 +457 169 3 -0.8476 6.386951423593993 17.09407894375587 5.485002802094392 0 0 0 +458 169 4 0.4238 5.61892086420923 17.69724507997371 5.269782898552741 0 0 0 +459 169 4 0.4238 7.245351610676392 17.55200717248309 5.253808457823567 0 0 0 +587 212 4 0.4238 6.379917790162203 17.31978420187041 8.579723356366076 0 0 0 +319 123 3 -0.8476 2.0677114935593575 19.18609967444404 9.32533337014183 0 0 0 +320 123 4 0.4238 2.090368391204653 20.00813559780426 8.756348571129193 0 0 0 +97 49 3 -0.8476 1.7504097903352551 18.96219016666924 5.377983758614883 0 -1 0 +228 92 4 0.4238 3.581463417361676 19.071976505337624 5.184605072808598 0 -1 0 +588 212 4 0.4238 6.867012146053887 16.99579012623044 7.055127228361595 0 0 0 +586 212 3 -0.8476 7.025608428738302 16.797780868958256 8.022411877651955 0 0 0 +354 134 4 0.4238 7.827463202425872 20.019031781296853 7.971221332030429 0 -1 0 +226 92 3 -0.8476 4.562210484918086 19.26013212674296 5.1323305800502 0 -1 0 +193 81 3 -0.8476 0.8245833071004024 15.300666811708652 10.602945389409069 0 0 0 +321 123 4 0.4238 2.6437193555376313 18.479848078853944 8.913722343322581 0 0 0 +227 92 4 0.4238 4.712710077676816 20.248725681455316 5.1380374657472725 0 -1 0 +98 49 4 0.4238 1.3169099320926019 19.863308853601175 5.370047176076334 0 -1 0 +195 81 4 0.4238 1.045026299766095 16.23909236758004 10.868960098517407 0 0 0 +190 80 3 -0.8476 1.0673503147674046 14.085080247246221 8.002121033682439 0 0 0 +351 133 4 0.4238 8.779395441989571 18.67398725375506 5.871414963418736 0 -1 0 +341 130 4 0.4238 3.725862356405534 15.178378283914109 10.363935258652589 0 0 0 +238 96 3 -0.8476 2.946487702291966 19.844718958102625 18.430810194805673 0 -1 0 +561 203 4 0.4238 8.487062671012106 13.174506720978874 16.752807885129265 0 0 0 +14 7 1 0 4.4124 12.7373 21.4018 0 0 0 +306 118 4 0.4238 7.592713515283044 11.24309034151053 12.883959279040775 0 0 0 +302 117 4 0.4238 2.2917433244225363 12.480034374758912 11.089180564282227 0 0 0 +492 180 4 0.4238 7.2798614407449715 18.48354654936143 18.243027445798187 0 -1 0 +304 118 3 -0.8476 6.741312426600244 11.49049946331648 12.421460688803913 0 0 0 +183 77 4 0.4238 2.201548550563256 13.161992926349898 14.583303285425934 0 0 0 +301 117 3 -0.8476 2.6357063505321605 13.418277941169993 11.126442794024449 0 0 0 +177 75 4 0.4238 0.19204032170237526 11.327264418539333 10.849228099788682 0 0 0 +322 124 3 -0.8476 3.4867447532822444 14.045576532793149 13.647754803089441 0 0 0 +323 124 4 0.4238 3.1658011972240745 13.858651548000461 12.719286015494765 0 0 0 +324 124 4 0.4238 4.26580535268166 13.454389428056905 13.856470892541978 0 0 0 +448 166 3 -0.8476 6.579157498376083 14.52764103922264 11.879113428187129 0 0 0 +449 166 4 0.4238 6.675526155039823 14.266590458656776 10.918609993418364 0 0 0 +450 166 4 0.4238 6.551221579412191 13.704955354686108 12.446923268432739 0 0 0 +327 125 4 0.4238 3.061708014353232 15.519451541059949 14.566416364520057 0 0 0 +303 117 4 0.4238 1.8693136785662339 14.057151356098624 11.059487163386526 0 0 0 +182 77 4 0.4238 1.0148338056408361 13.058404785217737 15.700265397978635 0 0 0 +181 77 3 -0.8476 1.3760596420800968 12.666739304066796 14.85402984054153 0 0 0 +307 119 3 -0.8476 5.577590489353157 12.605116663955032 14.44720455247256 0 0 0 +308 119 4 0.4238 5.926057421748659 12.93507429329256 15.324530351358025 0 0 0 +309 119 4 0.4238 6.31821835851717 12.166755458317258 13.937978772621406 0 0 0 +290 113 4 0.4238 4.749002859603123 11.001502011390924 15.120870949373925 0 0 0 +24 12 1 0 7.354000000000001 17.8322 21.4018 0 0 0 +175 75 3 -0.8476 1.090507061728097 11.393348279515585 11.283267717479667 0 0 0 +240 96 4 0.4238 3.3222779866144156 19.188357866486633 17.77661393841368 0 -1 0 +214 88 3 -0.8476 1.0041440810762274 17.927962188247605 11.451026414053889 0 0 0 +463 171 3 -0.8476 6.478201880018026 18.231732824554882 14.915456188855625 0 0 0 +465 171 4 0.4238 7.331603333633061 18.73234587278177 15.060688869833879 0 0 0 +342 130 4 0.4238 5.151525977130013 15.419699471374381 11.122798860463224 0 0 0 +467 172 4 0.4238 7.373650730002787 16.12868172847659 12.292759417267117 0 0 0 +590 213 4 0.4238 7.725648904318353 19.422181263009772 10.259925608254184 0 0 0 +216 88 4 0.4238 1.4153466561258405 18.4878207590961 10.731671944033392 0 0 0 +468 172 4 0.4238 7.8682878047740346 17.628912068879078 11.878912178039954 0 0 0 +437 162 4 0.4238 7.1569382445566525 11.404678434047124 17.082162602372872 0 0 0 +589 213 3 -0.8476 7.357564300487368 19.16732661285633 11.154108379375014 0 0 0 +591 213 4 0.4238 6.413143304412662 18.85574473106839 11.049295698727546 0 0 0 +217 89 3 -0.8476 2.064286019730025 18.728445270950314 13.637846451800218 0 0 0 +236 95 4 0.4238 1.418715591647955 20.090858346659182 14.558337650277243 0 -1 0 +597 215 4 0.4238 8.70246632792204 16.46727080170849 15.93030620143767 0 0 0 +436 162 3 -0.8476 6.569742653568437 10.596838324126017 17.133110468886443 0 0 0 +215 88 4 0.4238 0.08715363937956366 18.269960061366785 11.65636997646002 0 0 0 +340 130 3 -0.8476 4.353122850014628 15.86964660354185 10.722672907024947 0 0 0 +464 171 4 0.4238 6.2701227645746105 18.204285930924424 13.93772904528681 0 0 0 +343 131 3 -0.8476 4.88784150983056 18.004372378244586 12.654559147182416 0 0 0 +345 131 4 0.4238 4.2421926520515125 18.749219219212854 12.486210891320729 0 0 0 +218 89 4 0.4238 1.6778928796021548 18.302424080386913 12.81979617913041 0 0 0 +344 131 4 0.4238 4.501475250618193 17.145800216306796 12.317549750824261 0 0 0 +219 89 4 0.4238 2.3393750095214916 18.017837434553265 14.285428506544493 0 0 0 +466 172 3 -0.8476 8.164454664814901 16.73625177658097 12.218680653823448 0 0 0 +552 200 4 0.4238 8.577169536694708 12.443351977855762 6.998753646239745 0 0 0 +224 91 4 0.4238 6.584978788736939 20.16475927385633 5.915949157194169 0 -1 0 +201 83 4 0.4238 0.9935726128790141 16.274863843792748 14.466501082610389 0 0 0 +170 73 4 0.4238 0.15705997876552483 12.519334239761646 4.630530335389882 0 0 0 +16 8 1 0 4.4124 17.8322 21.4018 0 0 0 +364 138 3 -0.8476 6.366307006108234 19.974586154222894 17.53080628881647 0 -1 0 +595 215 3 -0.8476 7.780662951582441 16.18863261155242 16.199824213366497 0 0 0 +293 114 4 0.4238 1.9703783268715727 12.276659478071428 18.69543152820229 0 0 0 +565 205 3 -0.8476 8.264468631172923 11.825293895949471 5.383754879656755 0 0 0 +294 114 4 0.4238 2.5190378334598873 11.012727617204137 17.81903228135006 0 0 0 +453 167 4 0.4238 4.835483104335401 17.279043988713962 17.46997800663247 0 0 0 +310 120 3 -0.8476 0.6065213206590157 14.217798272189098 17.358859661169866 0 0 0 +312 120 4 0.4238 0.1479468689007446 13.443270025706306 17.794537825304722 0 0 0 +328 126 3 -0.8476 4.244821463031273 14.002780695856922 18.50302264302004 0 0 0 +329 126 4 0.4238 3.8406651384614183 13.088860779050396 18.46549938220707 0 0 0 +330 126 4 0.4238 3.5359242101158874 14.671810290106164 18.726325291291452 0 0 0 +454 168 3 -0.8476 6.484450039595873 13.836390187869883 16.68928336195824 0 0 0 +455 168 4 0.4238 5.6319511436742085 13.867898528487181 17.211061921013215 0 0 0 +456 168 4 0.4238 6.932978435045694 14.729258702175622 16.729384499993166 0 0 0 +292 114 3 -0.8476 2.7860244782055217 11.834757104744316 18.322009695562482 0 0 0 +191 80 4 0.4238 0.9690093276172831 14.511009418156055 8.901517517950873 0 0 0 +239 96 4 0.4238 2.9923969244117603 19.459980091914108 19.35269336323246 0 -1 0 +176 75 4 0.4238 1.1646262863451595 10.702948035039366 12.002888355816044 0 0 0 +222 90 4 0.4238 0.1453878739340946 16.847889041005075 18.290254998907823 0 0 0 +346 132 3 -0.8476 5.656540959385894 16.438996625983226 18.654765488300594 0 0 0 +347 132 4 0.4238 6.617635439103294 16.701054655697625 18.74208254158271 0 0 0 +490 180 3 -0.8476 7.937659864014185 17.91834349940131 18.74087071091535 0 -1 0 +7 4 1 0 0 15.2847 21.4018 0 0 0 +23 12 1 0 5.8832 15.2847 21.4018 0 0 0 +326 125 4 0.4238 3.497310910343585 16.868229494682133 15.377387787061595 0 0 0 +451 167 3 -0.8476 4.4549813660146595 17.84619270794852 16.739525544730768 0 0 0 +6 3 1 0 1.4708 12.7373 21.4018 0 0 0 +325 125 3 -0.8476 2.7573430590165198 16.420499344018907 14.875406414758897 0 0 0 +452 167 4 0.4238 5.188875233615405 18.133558720493767 16.12404151631669 0 0 0 +348 132 4 0.4238 5.550868825582559 15.474284262611643 18.895936618194007 0 0 0 +472 174 3 -0.8476 2.080609622031638 16.35011037096637 18.27189638693749 0 0 0 +473 174 4 0.4238 1.9635393067535534 15.378703243526882 18.065346184779028 0 0 0 +474 174 4 0.4238 2.6071515105921335 16.78509131506686 17.541454495391882 0 0 0 +8 4 1 0 1.4708 17.8322 21.4018 0 0 0 +22 11 1 0 7.354000000000001 12.7373 21.4018 0 0 0 +15 8 1 0 2.9416 15.2847 21.4018 0 0 0 +366 138 4 0.4238 5.798440311007832 20.197486158530367 16.738440844421206 0 -1 0 +427 159 3 -0.8476 6.69880532212971 10.54685438717572 9.535169837784467 0 0 0 +428 159 4 0.4238 7.638372417732451 10.888386579014366 9.511300231205533 0 0 0 +491 180 4 0.4238 8.80852796828548 18.404704793089476 18.811876741226857 0 -1 0 +420 156 4 0.4238 5.295698243366386 10.204323718807027 18.45545874784971 0 0 0 +73 37 2 0 8.8248 0 2.4018 0 0 0 +74 37 2 0 10.2956 2.5475 2.4018 0 0 0 +75 38 2 0 8.8248 5.0949 2.4018 0 0 0 +81 41 2 0 11.7664 0 2.4018 0 0 0 +82 41 2 0 13.237200000000001 2.5475 2.4018 0 0 0 +83 42 2 0 11.7664 5.0949 2.4018 0 0 0 +89 45 2 0 14.708000000000002 0 2.4018 0 0 0 +90 45 2 0 16.178800000000003 2.5475 2.4018 0 0 0 +91 46 2 0 14.708000000000002 5.0949 2.4018 0 0 0 +44 22 1 0 16.178800000000003 7.6424 21.4018 0 0 0 +620 223 4 0.4238 14.50573307562817 3.3878102935088648 5.252599862542667 0 0 0 +431 160 4 0.4238 9.728730115312695 9.332074012330212 10.936077127438926 0 0 0 +119 56 4 0.4238 15.447689337407642 1.5804577157846718 6.2865858126131124 -1 0 0 +76 38 2 0 10.2956 7.6424 2.4018 0 0 0 +77 39 2 0 8.8248 10.1898 2.4018 0 0 0 +84 42 2 0 13.237200000000001 7.6424 2.4018 0 0 0 +85 43 2 0 11.7664 10.1898 2.4018 0 0 0 +92 46 2 0 16.178800000000003 7.6424 2.4018 0 0 0 +93 47 2 0 14.708000000000002 10.1898 2.4018 0 0 0 +125 58 4 0.4238 17.11980738695315 4.451613797715876 12.165175118415005 -1 0 0 +639 229 4 0.4238 12.240251955899847 6.329826917238441 6.3967366381970745 0 0 0 +621 223 4 0.4238 13.029328966637872 4.0377610045012355 4.998784080340424 0 0 0 +173 74 4 0.4238 16.379291133562425 10.123405568744293 7.376647193452647 -1 0 0 +475 175 3 -0.8476 10.238461486464052 0.672832311221596 5.291254220629026 0 0 0 +495 181 4 0.4238 10.87679348779582 2.802199547341775 5.12069937092746 0 0 0 +493 181 3 -0.8476 11.185778219804481 3.7303901733267684 5.328041508387651 0 0 0 +511 187 3 -0.8476 9.131405616083761 5.3896269313997776 6.015399717127127 0 0 0 +619 223 3 -0.8476 13.923837028776344 4.183349355513367 5.421465935555536 0 0 0 +118 56 3 -0.8476 15.48762876858227 1.9617212570246132 5.362982578990697 -1 0 0 +518 189 4 0.4238 11.338664336046872 3.4747961660093996 9.850526387435213 0 0 0 +643 231 3 -0.8476 14.965600376927245 5.243104974403139 7.730205989674371 0 0 0 +645 231 4 0.4238 14.354822391535658 4.6184020137875255 7.243691399839285 0 0 0 +120 56 4 0.4238 15.126526800635466 1.2948143897129842 4.711184645838061 -1 0 0 +121 57 3 -0.8476 17.152518579677942 2.4739895822142235 8.97063089765563 -1 0 0 +476 175 4 0.4238 9.541180180939875 1.362564867501539 5.4863632446361095 0 0 0 +514 188 3 -0.8476 12.708114465413592 3.17130683982108 8.893190601446161 0 0 0 +515 188 4 0.4238 12.655773634711728 2.1832397115286697 8.748333344050575 0 0 0 +503 184 4 0.4238 12.607089924550714 6.103512603430973 9.450598149442257 0 0 0 +644 231 4 0.4238 14.557652021400914 5.491235006156537 8.608846776033309 0 0 0 +269 106 4 0.4238 17.08703987118386 7.263949554768752 14.623663476105321 -1 0 0 +717 255 4 0.4238 16.385497451663372 1.2728758889145508 7.9333612062641965 0 1 0 +141 63 4 0.4238 16.65789297152239 5.185262771894378 7.945286202375017 -1 0 0 +614 221 4 0.4238 14.616703771621246 0.1698807512440305 15.409771368522266 0 0 0 +607 219 3 -0.8476 14.462344009394053 0.6793423116269275 11.105758826612533 0 0 0 +263 104 4 0.4238 17.603971760421423 6.278664588640379 5.123299856226946 -1 0 0 +517 189 3 -0.8476 10.525057194673842 3.444777251501295 10.431165937462886 0 0 0 +519 189 4 0.4238 10.151901971569751 4.367263784723073 10.530028483274075 0 0 0 +650 233 4 0.4238 16.32595622025606 9.996431981399743 15.08216287942173 0 0 0 +107 52 4 0.4238 16.48508153364432 1.008917763693127 13.063941417530929 -1 0 0 +622 224 3 -0.8476 13.023155884557012 0.2648033403280529 8.631455865220707 0 0 0 +715 255 3 -0.8476 15.724422789824505 0.5744355810299474 7.65920531052352 0 1 0 +391 147 3 -0.8476 9.082540858622865 5.558347954969397 10.230038063134518 0 0 0 +361 137 3 -0.8476 9.214720235266167 1.3881354284034537 17.635549705024292 0 0 0 +153 67 4 0.4238 15.514303418474737 8.911222468398579 6.3239595507849815 -1 0 0 +268 106 3 -0.8476 17.178718003054936 6.346562714800259 15.010957825663588 -1 0 0 +657 235 4 0.4238 12.69257310485967 8.656399307172993 5.490304167452206 0 0 0 +494 181 4 0.4238 10.394763594783074 4.307349988929852 5.5315482255405 0 0 0 +502 184 3 -0.8476 13.435863538080216 6.071669848095443 10.009275806774918 0 0 0 +134 61 4 0.4238 15.526141405856706 7.049612897749026 5.318680854660697 -1 0 0 +135 61 4 0.4238 15.359752009898337 5.431166049985472 5.458576672077275 -1 0 0 +152 67 4 0.4238 15.437613800409792 9.466214227562812 4.790098672249199 -1 0 0 +133 61 3 -0.8476 16.012555055979618 6.175884958124715 5.3198579388035085 -1 0 0 +529 193 3 -0.8476 9.945477389616554 8.593989390667373 5.3703337592043034 0 0 0 +530 193 4 0.4238 10.830803134583942 8.129083231957276 5.362532664653105 0 0 0 +637 229 3 -0.8476 12.039935590255379 6.836925636576696 5.558450155876346 0 0 0 +638 229 4 0.4238 11.7611145014945 6.1983514362614205 4.841176301201255 0 0 0 +640 230 3 -0.8476 15.240940503012244 7.949949003513103 7.640448987741966 0 0 0 +641 230 4 0.4238 15.067197170144015 6.9767975301569125 7.4894871837079595 0 0 0 +642 230 4 0.4238 15.576333535448201 8.088014520677106 8.572355333692744 0 0 0 +655 235 3 -0.8476 13.004191297158767 9.606164553080209 5.519298359494044 0 0 0 +658 236 3 -0.8476 11.876528733244868 5.552371914074833 7.850656850543071 0 0 0 +659 236 4 0.4238 10.92031489334279 5.822095381183537 7.964255007678089 0 0 0 +660 236 4 0.4238 11.939635326262486 4.55496989803981 7.815910631660994 0 0 0 +662 237 4 0.4238 11.620333917885795 8.504164003021943 8.40963187399265 0 0 0 +151 67 3 -0.8476 16.03819057141091 9.318646584332017 5.575930262743634 -1 0 0 +663 237 4 0.4238 13.127301801983382 9.126019958826273 8.314924676496526 0 0 0 +661 237 3 -0.8476 12.307488292062576 9.055159203837746 8.883154197644409 0 0 0 +531 193 4 0.4238 10.083868359208074 9.571840984562062 5.527352176750637 0 0 0 +534 194 4 0.4238 9.903180518846904 8.323485911225582 8.827414462645084 0 0 0 +413 154 4 0.4238 9.500948972456086 8.457833234630993 13.286341884407108 0 0 0 +381 143 4 0.4238 9.25769242644089 5.614493984745122 14.831340871663464 0 0 0 +270 106 4 0.4238 16.366933443538798 5.807408336477406 14.786639151039799 -1 0 0 +154 68 3 -0.8476 16.99564515461883 7.825770754486284 9.923561098870746 -1 0 0 +122 57 4 0.4238 17.608391302551865 3.1828981231631994 8.432459270415713 -1 0 0 +516 188 4 0.4238 13.517085702329528 3.3855360806551484 9.440613096708791 0 0 0 +124 58 3 -0.8476 16.411785830213912 4.148280735389562 12.802901194663619 -1 0 0 +624 224 4 0.4238 13.930126291479176 0.36753804060024686 8.222982748895415 0 0 0 +625 225 3 -0.8476 14.98428106603324 3.1890455063249252 10.406423101890848 0 0 0 +626 225 4 0.4238 15.472788614570758 3.7621967035661794 11.064342621682465 0 0 0 +627 225 4 0.4238 15.606046260807988 2.923235921084861 9.669705149828133 0 0 0 +608 219 4 0.4238 13.930757596432434 0.44163579570407824 10.292793523003274 0 0 0 +377 142 4 0.4238 12.191413440075609 2.1971291882237174 13.725508574031558 0 0 0 +376 142 3 -0.8476 11.65558853146204 1.831500263754434 14.486565464984404 0 0 0 +378 142 4 0.4238 11.36369072351205 0.899589288626599 14.271303321734832 0 0 0 +520 190 3 -0.8476 12.654935116333444 3.6144365733479766 12.268065679812521 0 0 0 +521 190 4 0.4238 11.720649462653876 3.57122933772116 11.914167525009528 0 0 0 +522 190 4 0.4238 13.296420425080491 3.7009542441951844 11.505824543044751 0 0 0 +647 232 4 0.4238 15.955697677783952 7.47002550095265 11.508808252165453 0 0 0 +126 58 4 0.4238 16.489825840404063 3.161179459230855 12.9426897223294 -1 0 0 +501 183 4 0.4238 9.500019848464866 2.3066110626092433 11.406540899686282 0 0 0 +488 179 4 0.4238 12.17030372050298 0.7347365280132854 16.12066335925784 0 0 0 +609 219 4 0.4238 14.578703663356569 1.671584479943298 11.149542546257239 0 0 0 +603 217 4 0.4238 11.844098243859511 0.24798117628765415 5.546779239647546 0 0 0 +532 194 3 -0.8476 9.727066780245151 7.525894857288054 8.250498118054495 0 0 0 +537 195 4 0.4238 12.353495091196978 8.848001055384623 10.531260597227744 0 0 0 +504 184 4 0.4238 13.246675776258947 6.465082555635054 10.908961608114506 0 0 0 +646 232 3 -0.8476 15.758715697764478 6.829369444853389 12.250939163039321 0 0 0 +687 245 4 0.4238 13.254943960064889 8.98514832345121 14.717409467578584 0 0 0 +146 65 4 0.4238 14.652546983604765 7.3398264390259955 13.545785541481697 -1 0 0 +380 143 4 0.4238 10.760236960465424 5.844866070057884 14.234753882452535 0 0 0 +535 195 3 -0.8476 12.587076651097272 8.862929127468593 11.503483145123583 0 0 0 +536 195 4 0.4238 13.460125268843678 9.334043107310453 11.629331253591983 0 0 0 +430 160 3 -0.8476 9.63301619971604 9.682111590306123 10.00424421655961 0 0 0 +414 154 4 0.4238 10.667668910810049 8.205038284877624 12.172121771003793 0 0 0 +648 232 4 0.4238 16.323707616262194 6.01126007339594 12.143787481881885 0 0 0 +664 238 3 -0.8476 15.330461270589563 9.619824689380026 11.886964236163928 0 0 0 +665 238 4 0.4238 16.025013219734323 9.420697234702951 11.195627803834094 0 0 0 +666 238 4 0.4238 15.776839584375885 9.835419118555443 12.755448957787719 0 0 0 +542 197 4 0.4238 12.47763089417775 5.391278871991881 12.590948896510838 0 0 0 +668 239 4 0.4238 10.413336106414118 7.400226207839401 16.247663943219738 0 0 0 +526 192 3 -0.8476 9.447018738683195 6.35393197064873 18.704317187302387 0 0 0 +649 233 3 -0.8476 16.345292431988536 9.017776208820443 14.877567003768547 0 0 0 +541 197 3 -0.8476 12.016680597307857 6.241846410000483 12.844050222113939 0 0 0 +543 197 4 0.4238 12.66065014496007 6.841229844165456 13.319490684104343 0 0 0 +651 233 4 0.4238 15.415559139821084 8.651303043411826 14.913545232779468 0 0 0 +669 239 4 0.4238 11.34531831324323 8.719230683730283 16.006284652834186 0 0 0 +149 66 4 0.4238 16.975003500909565 5.532110247630704 17.965140968283233 -1 0 0 +379 143 3 -0.8476 10.168526258313129 5.976248477845736 15.030126623655189 0 0 0 +106 52 3 -0.8476 17.32022414402993 1.5314939343212752 12.892328616929841 -1 0 0 +156 68 4 0.4238 17.114254909284774 6.836096950343959 9.8430753514597 -1 0 0 +487 179 3 -0.8476 12.871539431927152 0.18134475334640518 16.570136924346187 0 0 0 +611 220 4 0.4238 16.96786977839787 2.245308644288098 14.936600889020037 0 0 0 +685 245 3 -0.8476 12.688631671624949 9.72961967112852 15.07103912691135 0 0 0 +630 226 4 0.4238 15.005489989911132 4.091712021991173 14.617352112708947 0 0 0 +116 55 4 0.4238 17.331046353595866 0.9826632711330118 5.254290449184732 -1 0 0 +510 186 4 0.4238 15.043136745492426 2.223973733634678 18.677734674555186 0 0 0 +507 185 4 0.4238 10.788282772357693 1.779605101333772 18.310039048189257 0 0 0 +509 186 4 0.4238 13.570227172248117 1.540106317407538 18.849458994365822 0 0 0 +610 220 3 -0.8476 16.959627787799334 2.6999855176143948 15.827219251577725 0 0 0 +524 191 4 0.4238 11.854768366914618 3.452430035980569 15.450256070858579 0 0 0 +131 60 4 0.4238 17.17888673686221 3.4245764675653874 18.79661190206157 -1 0 0 +506 185 4 0.4238 11.540722657327938 2.5145731008392413 19.55915181769573 0 0 0 +489 179 4 0.4238 13.29333780055349 0.711147543182084 17.30593329652049 0 0 0 +631 227 3 -0.8476 11.748759389818904 5.063013473056592 18.56850313403675 0 0 0 +632 227 4 0.4238 11.960957525709071 4.455714804852932 17.802892076261333 0 0 0 +634 228 3 -0.8476 15.6973562742273 4.094358065071973 18.118279668716543 0 0 0 +635 228 4 0.4238 15.200352516122278 4.946573617303477 17.95482962688389 0 0 0 +636 228 4 0.4238 15.941572938384622 3.6777232570725373 17.24262353813765 0 0 0 +523 191 3 -0.8476 12.025408686455123 4.2674240629078986 16.00403092905008 0 0 0 +505 185 3 -0.8476 11.616803826099243 1.794144829149753 18.869808159253164 0 0 0 +508 186 3 -0.8476 14.45694832583151 1.4653954955160282 18.393230297892163 0 0 0 +412 154 3 -0.8476 9.987626209974833 8.856276442416524 12.50891731085676 0 0 0 +45 23 1 0 14.708000000000002 10.1898 21.4018 0 0 0 +29 15 1 0 8.8248 10.1898 21.4018 0 0 0 +37 19 1 0 11.7664 10.1898 21.4018 0 0 0 +363 137 4 0.4238 8.891032147766978 0.7695517256996456 16.91960209454339 0 0 0 +628 226 3 -0.8476 14.748942182135409 4.651847451132323 15.405026919073109 0 0 0 +527 192 4 0.4238 10.256276910280322 5.768136621974385 18.74843629367082 0 0 0 +667 239 3 -0.8476 10.905387100614663 8.145686126522445 16.697304386582232 0 0 0 +145 65 3 -0.8476 14.048109555524928 7.505942731370751 14.324926458054504 -1 0 0 +629 226 4 0.4238 13.867967023118094 4.341344535587499 15.76205819579822 0 0 0 +525 191 4 0.4238 11.256779264811215 4.900357966674289 15.91127680861615 0 0 0 +500 183 4 0.4238 9.15950919943577 0.8451278902796727 12.050549180997539 0 0 0 +545 198 4 0.4238 10.3859577066206 9.32968686167653 18.002672781508142 0 0 0 +28 14 1 0 10.2956 7.6424 21.4018 0 0 0 +633 227 4 0.4238 12.214801106517807 5.938217167406841 18.43879809995541 0 0 0 +497 182 4 0.4238 9.206145816141262 3.1591445027130947 9.244482576320312 0 0 0 +671 240 4 0.4238 16.163078642836908 9.331042302154946 18.053830807429286 0 0 0 +670 240 3 -0.8476 15.224817405813624 9.144645834839004 17.76241457163988 0 0 0 +653 234 4 0.4238 12.461479289342714 7.49574321439815 17.453786763044352 0 0 0 +147 65 4 0.4238 14.070920627669235 6.7167697480003925 14.938673698254686 -1 0 0 +652 234 3 -0.8476 13.365831688920437 7.170425167622884 17.730039683862234 0 0 0 +654 234 4 0.4238 13.989818710227668 7.9478252106615095 17.809353682794825 0 0 0 +393 147 4 0.4238 9.051160636566062 6.107653142449054 9.395005687203998 0 0 0 +544 198 3 -0.8476 10.251293605893514 9.465474225781529 18.984216631773542 0 0 0 +546 198 4 0.4238 10.085424935750423 8.582422467561342 19.42320172197676 0 0 0 +416 155 4 0.4238 8.874760748308521 8.41771418724447 17.335141447942494 0 0 0 +34 17 1 0 13.237200000000001 2.5475 21.4018 0 0 0 +35 18 1 0 11.7664 5.0949 21.4018 0 0 0 +41 21 1 0 14.708000000000002 0 21.4018 0 0 0 +33 17 1 0 11.7664 0 21.4018 0 0 0 +42 21 1 0 16.178800000000003 2.5475 21.4018 0 0 0 +27 14 1 0 8.8248 5.0949 21.4018 0 0 0 +26 13 1 0 10.2956 2.5475 21.4018 0 0 0 +25 13 1 0 8.8248 0 21.4018 0 0 0 +43 22 1 0 14.708000000000002 5.0949 21.4018 0 0 0 +36 18 1 0 13.237200000000001 7.6424 21.4018 0 0 0 +137 62 4 0.4238 17.029879343610318 3.6063203619230157 5.778017012581245 -1 0 0 +513 187 4 0.4238 9.250995043077497 6.321981494907824 6.356593907209222 0 0 0 +139 63 3 -0.8476 17.63872263347519 5.18172987619495 8.140121207137877 -1 0 0 +672 240 4 0.4238 14.623489504230498 9.874295254591855 18.088016695075755 0 0 0 +533 194 4 0.4238 8.836211864765245 7.62533107456142 7.807226210399083 0 0 0 +78 39 2 0 10.2956 12.7373 2.4018 0 0 0 +79 40 2 0 8.8248 15.2847 2.4018 0 0 0 +86 43 2 0 13.237200000000001 12.7373 2.4018 0 0 0 +87 44 2 0 11.7664 15.2847 2.4018 0 0 0 +94 47 2 0 16.178800000000003 12.7373 2.4018 0 0 0 +95 48 2 0 14.708000000000002 15.2847 2.4018 0 0 0 +585 211 4 0.4238 10.671104024076405 14.523096964758968 5.378452704872705 0 0 0 +48 24 1 0 16.178800000000003 17.8322 21.4018 0 0 0 +80 40 2 0 10.2956 17.8322 2.4018 0 0 0 +88 44 2 0 13.237200000000001 17.8322 2.4018 0 0 0 +96 48 2 0 16.178800000000003 17.8322 2.4018 0 0 0 +189 79 4 0.4238 16.330716326393684 14.430543197032055 5.378876353138224 -1 0 0 +605 218 4 0.4238 14.554608821922615 17.810049518496978 5.425575473887812 0 -1 0 +185 78 4 0.4238 17.278396096257584 11.245243170341306 18.628865108751647 -1 0 0 +675 241 4 0.4238 14.050256076460313 11.268910684157941 5.2547329010893895 0 0 0 +583 211 3 -0.8476 9.742398396942372 14.830929242522885 5.585204967619628 0 0 0 +549 199 4 0.4238 9.880935542031319 11.534228571969086 5.578833372236164 0 0 0 +673 241 3 -0.8476 14.423537036600743 12.196595024378954 5.246789504930352 0 0 0 +691 247 3 -0.8476 12.226887967387686 13.96808871865356 5.550461386630152 0 0 0 +693 247 4 0.4238 12.405744481804994 14.402639542495168 6.433170805482284 0 0 0 +547 199 3 -0.8476 10.800294514900852 11.144551884206534 5.524694081527026 0 0 0 +548 199 4 0.4238 11.330392659763318 11.635863314460998 4.833601517261942 0 0 0 +551 200 4 0.4238 9.824105888312557 12.904381406994865 7.947029932960728 0 0 0 +570 206 4 0.4238 10.107087940276514 16.351002395244187 8.804555207290619 0 0 0 +674 241 4 0.4238 15.412065550992372 12.156879839921826 5.101070493632253 0 0 0 +676 242 3 -0.8476 13.149488474276104 14.303592627625555 8.033435431397672 0 0 0 +677 242 4 0.4238 12.520481979817932 13.57565652491699 8.306308729587867 0 0 0 +678 242 4 0.4238 14.090526371000333 13.970499146782764 8.092565441363229 0 0 0 +692 247 4 0.4238 13.047259912639866 13.485037990235355 5.244435494901086 0 0 0 +694 248 3 -0.8476 15.75249070806157 13.230109644684827 8.352539134651927 0 0 0 +695 248 4 0.4238 15.765048403110793 13.302188135502202 9.349859068474089 0 0 0 +696 248 4 0.4238 16.001000584924615 12.299903472725656 8.082429196171498 0 0 0 +553 201 3 -0.8476 11.536188658610737 12.261247879197334 8.838365774200673 0 0 0 +698 249 4 0.4238 13.152747288257768 15.38647935865847 9.369905701535087 0 0 0 +584 211 4 0.4238 9.742750697211381 15.334499473693516 6.449159937664458 0 0 0 +481 177 3 -0.8476 9.712261912951215 19.81131724866128 12.731667155342551 0 -1 0 +194 81 4 0.4238 17.614132852196526 15.025554160136025 11.033027733588618 -1 0 0 +697 249 3 -0.8476 13.074278463395652 15.880587473655579 10.235757789681385 0 0 0 +686 245 4 0.4238 12.316495205151407 10.25704939957381 14.307276157481006 0 0 0 +555 201 4 0.4238 11.763969176938547 12.541287007486309 9.770940538585773 0 0 0 +40 20 1 0 13.237200000000001 17.8322 21.4018 0 0 0 +572 207 4 0.4238 11.357418534899173 15.825375084096414 10.447114897443656 0 0 0 +477 175 4 0.4238 9.796764568089872 20.173557848497314 5.112000475676461 0 -1 0 +571 207 3 -0.8476 10.469632050143648 16.285507194605774 10.45781595454496 0 0 0 +617 222 4 0.4238 12.604572827998943 19.11782192983119 17.014530479074676 0 -1 0 +207 85 4 0.4238 16.484804937847407 17.95784225793004 5.125866981859153 -1 0 0 +604 218 3 -0.8476 14.919490237883124 18.740081140997685 5.469195595814299 0 -1 0 +606 218 4 0.4238 14.163642529486074 19.392337426063147 5.526256978773244 0 -1 0 +350 133 4 0.4238 9.847135671811797 17.59617059112192 5.2673712576069285 0 -1 0 +710 253 4 0.4238 13.094622584847201 15.473320385701221 5.264938889383966 0 0 0 +711 253 4 0.4238 14.484370529808553 15.807813174434916 6.054458768321659 0 0 0 +187 79 3 -0.8476 16.06784358046388 15.038800971157187 6.127822756092875 -1 0 0 +568 206 3 -0.8476 9.639082982591818 16.241142337718703 7.927684555691646 0 0 0 +482 177 4 0.4238 9.013549408922476 19.282481790090376 12.249864431686571 0 -1 0 +188 79 4 0.4238 16.054578692186666 14.524902713402577 6.985572058160539 -1 0 0 +709 253 3 -0.8476 13.69574544303163 16.20540052832755 5.585422851670113 0 0 0 +478 176 3 -0.8476 10.743136222875439 19.021221793365413 9.459342719817577 0 -1 0 +712 254 3 -0.8476 11.355719422270928 17.596452138767013 6.330954333049798 0 0 0 +713 254 4 0.4238 12.147100443543675 17.026867143366314 6.10894120498237 0 0 0 +714 254 4 0.4238 10.85441011892559 17.187831247840155 7.0936593948775375 0 0 0 +208 86 3 -0.8476 14.978787616946535 17.883565352950576 9.85434485358232 -1 0 0 +699 249 4 0.4238 13.803457673737139 16.562083734382476 10.297891058072048 0 0 0 +479 176 4 0.4238 10.830380710808972 18.201250779709707 10.025060408971106 0 -1 0 +210 86 4 0.4238 15.707952472992298 17.95740770355826 9.174001558520414 -1 0 0 +602 217 4 0.4238 11.931270349438666 19.05745227984406 5.986204602865755 0 -1 0 +480 176 4 0.4238 11.526129474544906 19.622068656329446 9.620292714944727 0 -1 0 +557 202 4 0.4238 9.13318824506834 12.473014112086789 9.617393618763018 0 0 0 +213 87 4 0.4238 17.054061009047526 18.335028953897382 7.167418106968749 -1 0 0 +349 133 3 -0.8476 8.966699097700523 18.04564610258063 5.116362049366701 0 -1 0 +601 217 3 -0.8476 12.434259484055977 19.920257686140243 5.935521094437088 0 -1 0 +211 87 3 -0.8476 17.115549893879596 18.586909191454463 8.133221500466798 -1 0 0 +716 255 4 0.4238 16.090290545633202 20.047836677861607 7.8703494362293585 0 0 0 +30 15 1 0 10.2956 12.7373 21.4018 0 0 0 +690 246 4 0.4238 14.016938477330777 11.918951523221422 17.048776835745876 0 0 0 +434 161 4 0.4238 9.693823285321802 10.480006453901664 13.46319566455011 0 0 0 +540 196 4 0.4238 11.674280249267774 11.854940896867596 12.289264008634488 0 0 0 +680 243 4 0.4238 16.478424726320092 12.587026221666738 11.664932438859578 0 0 0 +573 207 4 0.4238 9.91378123849236 15.920061312053692 11.204461329475878 0 0 0 +206 85 4 0.4238 16.98469098124782 16.433732066685277 5.432182455531139 -1 0 0 +679 243 3 -0.8476 15.864399170116613 12.312379072571936 10.924971754919977 0 0 0 +576 208 4 0.4238 10.588873040032755 14.34942231890106 13.367757482470923 0 0 0 +681 243 4 0.4238 15.065045663212485 11.850484998300644 11.309273873923207 0 0 0 +682 244 3 -0.8476 11.962561506249118 13.401175001102121 11.265786491254556 0 0 0 +683 244 4 0.4238 12.689665893772041 14.081940340712748 11.35454258028487 0 0 0 +684 244 4 0.4238 11.13131903032003 13.74213974238264 11.704852521590375 0 0 0 +196 82 3 -0.8476 15.90285320510125 15.42041398579357 12.053244611285264 -1 0 0 +198 82 4 0.4238 15.999832561023927 16.415625842665293 12.065435578871838 -1 0 0 +574 208 3 -0.8476 9.846636628795936 14.258971167237283 12.703751701446874 0 0 0 +432 160 4 0.4238 9.611886226641284 10.6816890833237 10.024203718077358 0 0 0 +197 82 4 0.4238 14.93374208238936 15.179298400795396 12.105082391999241 -1 0 0 +722 257 4 0.4238 14.253751156061526 14.665978439852315 14.219280715412237 0 0 0 +161 70 4 0.4238 15.961388715819947 12.577197095769023 14.434148039917726 -1 0 0 +721 257 3 -0.8476 13.443073239250747 15.202875049727682 13.985735521948472 0 0 0 +160 70 3 -0.8476 16.454216814462317 11.857514503546295 13.945090378978806 -1 0 0 +704 251 4 0.4238 16.492568511985038 14.65856714257437 14.904602735163373 0 0 0 +703 251 3 -0.8476 15.686041018071307 14.126152016812876 15.161599817811231 0 0 0 +723 257 4 0.4238 12.626015554694403 14.73882329909381 14.327894460415154 0 0 0 +200 83 4 0.4238 17.636715194805177 15.712516898031126 13.309851169131049 -1 0 0 +38 19 1 0 13.237200000000001 12.7373 21.4018 0 0 0 +471 173 4 0.4238 9.213708826688599 20.10521736834987 14.484550560031712 0 0 0 +616 222 3 -0.8476 12.486553254914368 18.179588143054474 17.339782319012816 0 -1 0 +31 16 1 0 8.8248 15.2847 21.4018 0 0 0 +558 202 4 0.4238 9.279605746055639 12.744930098194228 11.220905704732532 0 0 0 +209 86 4 0.4238 15.284708839266862 18.288339711647406 10.716070154782482 -1 0 0 +483 177 4 0.4238 10.589194302513869 19.71123832755193 12.261588666928713 0 -1 0 +579 209 4 0.4238 10.632760498133948 13.609865246700785 15.254030959955827 0 0 0 +656 235 4 0.4238 12.233494486101138 10.203173043550326 5.742028409390008 0 0 0 +46 23 1 0 16.178800000000003 12.7373 21.4018 0 0 0 +484 178 3 -0.8476 12.271762944753268 19.3092318048306 12.256076031945002 0 -1 0 +615 221 4 0.4238 15.703698741359615 19.437734901664438 14.911128387672555 0 -1 0 +701 250 4 0.4238 13.053700403965204 18.01421232485029 15.235824244829562 0 0 0 +486 178 4 0.4238 12.412225411434237 18.822427821700416 13.118219979361202 0 -1 0 +700 250 3 -0.8476 12.581078466090279 17.797604551340076 14.381593843109357 0 0 0 +702 250 4 0.4238 12.86343717428936 16.892117653667498 14.064786282811827 0 0 0 +593 214 4 0.4238 10.887928434111936 17.45241601646232 14.457678355975723 0 0 0 +718 256 3 -0.8476 16.113357623734434 19.089754005358483 12.130203493412996 0 0 0 +719 256 4 0.4238 15.731103913455442 19.005687028005063 13.050428928782427 0 0 0 +720 256 4 0.4238 15.794398214315043 19.940882962764434 11.713256954907804 0 0 0 +613 221 3 -0.8476 15.20393210112 20.26432473888685 14.652318504384699 0 -1 0 +600 216 4 0.4238 11.084689407902278 20.20403610863822 18.935319345381465 0 0 0 +485 178 4 0.4238 13.154564554087738 19.610816229399713 11.895925918696058 0 -1 0 +725 258 4 0.4238 16.569141248743357 17.107301434712273 15.075566187079383 0 0 0 +592 214 3 -0.8476 9.926060900867862 17.181240442111783 14.493396631013495 0 0 0 +220 90 3 -0.8476 16.837656850141205 16.7365181467464 18.02286642685194 -1 0 0 +577 209 3 -0.8476 11.267255610418932 14.304356543589998 14.914770347189284 0 0 0 +470 173 4 0.4238 9.418934192592229 18.827095608845703 15.479997089330922 0 0 0 +171 73 4 0.4238 17.22712271937352 12.084163738213748 6.093958329052445 -1 0 0 +724 258 3 -0.8476 15.977787063732565 17.877537936292324 15.31439037709252 0 0 0 +550 200 3 -0.8476 8.843880574348374 12.707663008542877 7.9255787960182325 0 0 0 +169 73 3 -0.8476 17.083413201671984 12.018684981104961 5.106506979270466 -1 0 0 +469 173 3 -0.8476 9.217462584338872 19.805716438344422 15.438639192053397 0 0 0 +47 24 1 0 14.708000000000002 15.2847 21.4018 0 0 0 +559 203 3 -0.8476 9.222833651291937 12.570348717943896 16.44681031548591 0 0 0 +39 20 1 0 11.7664 15.2847 21.4018 0 0 0 +564 204 4 0.4238 10.658684166557238 11.127527387280814 18.825581164798123 0 0 0 +186 78 4 0.4238 16.813476582396806 12.459781548073602 19.616474951157276 -1 0 0 +562 204 3 -0.8476 11.056949526067399 12.030021626625789 18.661602869563605 0 0 0 +563 204 4 0.4238 11.995444943416727 11.925404905340534 18.332541014507754 0 0 0 +580 210 3 -0.8476 10.448406987200734 14.81229121924737 18.347689310309658 0 0 0 +581 210 4 0.4238 10.594160894470312 13.85617327263508 18.60184473713495 0 0 0 +688 246 3 -0.8476 14.074844739563572 11.94780328954529 18.04668201078806 0 0 0 +689 246 4 0.4238 14.666244972833242 12.704816564391312 18.324489833823254 0 0 0 +435 161 4 0.4238 9.27206118562732 11.312172644181144 14.803435651426073 0 0 0 +202 84 3 -0.8476 14.891958761149404 14.616331988006797 17.552943751811167 -1 0 0 +204 84 4 0.4238 15.2986183079614 15.412266337573367 18.00140379447663 -1 0 0 +705 251 4 0.4238 15.388384001542512 14.393411825883335 16.078099953945607 0 0 0 +582 210 4 0.4238 9.924481028531677 15.271693180004116 19.064942024378542 0 0 0 +554 201 4 0.4238 11.80070270348779 11.306403015389012 8.703073689133799 0 0 0 +184 78 3 -0.8476 17.059420129620797 12.219767137760014 18.677376986174107 -1 0 0 +203 84 4 0.4238 13.908189752082496 14.760435488661487 17.44601976433382 -1 0 0 +560 203 4 0.4238 9.873397808788084 12.432659786103576 17.19367613275572 0 0 0 +32 16 1 0 10.2956 17.8322 21.4018 0 0 0 +538 196 3 -0.8476 11.856530283653065 11.071714403050905 12.883689284791696 0 0 0 +114 54 4 0.4238 16.740507502986524 19.733888369270662 17.464290232566544 -1 -1 0 +599 216 4 0.4238 9.991486069185791 19.92760256842262 17.754168449921202 0 0 0 +594 214 4 0.4238 9.567365199734075 17.10189768486746 13.563319997919086 0 0 0 +618 222 4 0.4238 11.757625359421008 18.153169411832355 18.02386286343707 0 -1 0 +578 209 4 0.4238 11.784309790163105 14.686144949572663 15.680859504578684 0 0 0 +598 216 3 -0.8476 10.440809954127937 19.538278556913312 18.558242715539976 0 0 0 +221 90 4 0.4238 16.40504190396716 17.635193851231918 17.95057348248026 -1 0 0 +726 258 4 0.4238 15.623940228103091 17.751260116932656 16.24113010577946 0 0 0 +113 54 4 0.4238 15.274792861943855 19.90322500302785 18.164027337467978 -1 -1 0 +112 54 3 -0.8476 16.001763578512946 19.25472642761485 17.938275397726326 -1 -1 0 +706 252 3 -0.8476 12.551685935685516 15.457175848664178 16.910098217483355 0 0 0 +707 252 4 0.4238 12.845942592767507 16.407649029956072 16.81002937477236 0 0 0 +708 252 4 0.4238 11.708194957139375 15.424075280938515 17.446220729813266 0 0 0 +172 74 3 -0.8476 16.76433481998671 10.797863993354191 8.006605472672149 -1 0 0 +162 70 4 0.4238 17.435264857566406 11.950759692050937 14.114943325593048 -1 0 0 +353 134 4 0.4238 9.254987607694568 19.627508709431815 8.660795000969017 0 -1 0 +433 161 3 -0.8476 8.946978004577417 10.956312644342525 13.927259409798495 0 0 0 +205 85 3 -0.8476 17.26823301711381 17.39134990381299 5.381460419461074 -1 0 0 +556 202 3 -0.8476 8.92984528918619 12.114054866496765 10.528327709580134 0 0 0 +575 208 4 0.4238 9.085368583583021 14.84916727603299 12.972339380460301 0 0 0 +539 196 4 0.4238 11.878312138663802 10.235425564757355 12.335831573597769 0 0 0 +311 120 4 0.4238 17.61891096205037 14.985380485740194 17.287899468199146 -1 0 0 +623 224 4 0.4238 12.381880540841486 20.312082142119113 7.939939105861083 0 -1 0 + +Velocities + +49 0 0 0 +50 0 0 0 +51 0 0 0 +57 0 0 0 +58 0 0 0 +59 0 0 0 +65 0 0 0 +66 0 0 0 +67 0 0 0 +243 -0.002822231990877442 -0.0023052214061719707 0.009530247074424172 +52 0 0 0 +53 0 0 0 +60 0 0 0 +61 0 0 0 +68 0 0 0 +69 0 0 0 +387 0.02040683175844618 0.030113474205102974 -0.0006765655981871661 +260 0.017568072072126094 0.03499100077202979 0.005917376062361976 +277 0.004833784750961121 -0.00983323915389275 0.005100923381866167 +422 0.004448794740744859 0.0020408391736819425 -0.010275883348163031 +278 0.003719859102099544 -0.025495496257443982 -0.006461254346208349 +421 0.006340358780268348 0.0018558120884466683 -0.004128164084761198 +372 0.0026494365999797627 0.0002416167810091355 0.0012395336245644754 +241 0.00014861395742901305 -0.0005174394549237438 -0.008073847438556242 +367 1.8977919425869245e-05 -0.002868464457728128 0.00126126747148945 +368 0.021696731790194046 -0.011658449783557777 -0.010106304430098976 +369 -0.0039062155813656472 0.012545818714569952 0.006562477023364197 +237 -0.028078564390780818 0.004642075302683817 -0.0069978916624241095 +242 -0.0021337131990320645 0.0018399202445872026 0.004897830174432379 +244 -0.000635853912060899 -0.0003117027780749414 -0.007075749642614316 +245 -0.005541920902969381 0.0025149861461632337 -0.008146082429684204 +246 -0.019695456306746895 0.005140535300857363 -0.01023662976377297 +357 0.002776409122597718 -0.008408343533829422 -0.009812139883210476 +248 -0.006684000376662951 0.005731878005754331 0.010024448438371488 +355 0.0039628389974169075 0.00046045180285836514 0.0006669919797090927 +370 -0.0026366044952138763 -0.0023389228268249564 0.0037486821808728667 +5 0 0 0 +115 -0.0020402352082021387 0.0036677720131863276 -0.00802303077613984 +117 -0.0034464988542171884 0.0016938233529814452 0.0262953836422676 +337 0.0073633788430925 0.004509282303724596 -0.0007650594341553004 +423 0.0026959799397957645 -0.006812979157387598 -0.010685424784478047 +388 0.0015852098107365846 0.005259230015998264 0.002751026511287103 +371 0.005779711986636393 -0.0008353768785160366 -0.00198237878607976 +389 0.0031846943488478907 0.011642110703518128 0.014420711142016252 +498 -0.005164631476145359 0.010939168436109934 0.022352344522590478 +499 0.006886168281265468 -0.009108086281242952 0.003883120004951695 +356 0.004163620682770444 0.013138193062289373 0.016049265341384164 +235 -0.003179198694301041 -0.003692981204063803 -0.0014262247525664452 +338 0.00310168679193579 -0.008146882520727082 0.0012671826351908747 +101 -0.006659046138748814 -0.0008304393783897443 0.0018191140652219755 +102 0.02188289620486816 -0.0011844869068423447 -0.012098996861358865 +264 -0.012316318853493463 0.0005577946038971241 0.00507703390200475 +261 0.03604318154809298 0.009806231532263591 -0.0160720490780732 +385 -0.002687032468404485 0.002271728237296993 -0.0017646573286989264 +386 -0.012497380519527533 0.0041402170434657075 -0.0033535206200510353 +390 0.0022744866866548233 0.0194196424464606 -0.006615088105745522 +259 0.005872554698472103 0.006217209229585764 -0.002947062491945664 +289 0.005394136139617279 -0.0018490152341513514 -0.0017693122242661956 +262 -0.0016568568125734 -0.002825219529412475 6.382233586258925e-05 +234 -0.008949726380115033 -0.015331490021295458 -0.0038004764767583044 +280 0.0004636341960603261 0.0006221175752928897 -0.0005407374987479414 +282 0.015715623100300606 0.013923022667883546 -0.0010483024598094686 +404 -0.014410298273982824 -0.012668338419291134 -0.011323512960376125 +405 0.0023458245411136914 -0.01692821219885552 -0.005019559570698842 +406 -0.003252744961088347 0.003382257937125399 -0.0025557519964832082 +407 -0.016535773877968372 -0.010199818886584635 -0.007880710321119557 +408 0.003104693710013748 0.024588717619135 -0.019734253685727947 +281 0.0038133770520735583 -0.02336844480331769 0.012395796079644686 +20 0 0 0 +403 0.002095886803122054 -0.005917998223858474 -0.0026387005496362314 +140 0.005917114366454788 0.00013672823352229473 0.010728054627890327 +285 0.0020423077594681877 -0.017314949305267807 -0.0078038982086199755 +409 0.0011885270468256002 0.001311496780392462 -0.006250213859486361 +410 0.002137303664280779 0.011393840611042969 -0.012019296950139544 +283 0.008387724395267328 -0.0004268569909832637 -0.004571499974862614 +284 0.0037479866880654462 0.003123659347513404 -0.006442038358579766 +300 -0.0020886391612222007 0.0011952415753491992 -0.002123570749439468 +512 0.0034541512569677144 -0.015701250730296833 -0.0006847182789978021 +298 0.004687912913638835 0.00396454302748385 -0.002268901914386687 +13 0 0 0 +167 0.008372557569580531 0.0020909883643117043 0.013455188067349093 +429 -0.0010329283045439992 -0.010344906649571438 -0.014496032790783172 +108 -0.014271917085942332 -0.002526311480035533 0.010864999945330718 +12 0 0 0 +247 -0.0013223759091741563 0.003051151563170616 0.0008020438055177612 +249 0.005915134979981071 0.001695039449665328 -0.009036002276667511 +267 -5.203826288410304e-05 0.011088343189988381 -0.016122035385740748 +150 -0.003275619611567659 -0.013131930835458579 -0.0031684098600017235 +232 0.009245437451002687 0.003369086397482676 0.0014175603209244307 +103 -0.002149210018643365 -0.00674464019035111 -0.004041355781702086 +105 -0.0012281774976330689 -0.009203227586228503 0.005694364069998308 +250 0.0023070568946502463 -0.0006414185530465225 0.0005282073163470133 +251 0.0009555910616923369 -0.005715887362345588 0.0060110066067819165 +252 -0.0002510451393985372 0.007329026713063109 -0.007493424691042163 +373 -0.0008705678021523996 -0.0024088310901922145 0.004592015983896998 +374 -0.003931339219109338 -0.016247225888682645 -0.012914239606148408 +375 -0.007942244152822379 -0.0060302172125581005 -0.0052038457937996765 +104 -0.011833857212613298 -0.004127926432757908 -0.015035492259698087 +265 0.0031454031762572156 -0.00246737648579412 0.0005406656545775518 +144 0.003546031095210744 -0.0038350589651608004 -0.007439077765406193 +229 0.0008187621059599007 -0.003770569170131831 0.004015947506505133 +266 0.013521098905566343 -0.022659542063113915 0.010384028628807856 +395 0.016278537764752236 -0.007528312170464568 0.0019027200331366068 +496 -0.0032866997173605483 0.005189101573918263 0.0017819703307354775 +358 -0.00043662911478563993 0.002091132008949735 0.0008355855190060376 +360 0.0021562801326494166 0.028681859833282353 -0.006852502071007954 +253 -0.00018608464258926786 -0.0034350314595455243 0.0021609958688780114 +17 0 0 0 +19 0 0 0 +100 -0.0002459862160224302 -0.0009442792339078408 -0.005128196004024017 +178 0.001378807349484608 0.003432156861170504 -0.006405935735664396 +230 -0.0030347069514960433 0.007114919870044278 0.0038760141152567214 +231 -0.004881286924708873 0.007364944438314923 -0.004742740868794306 +438 0.0026473976068899737 0.0032581497864147906 -0.021751859248191313 +392 0.009407580846764031 0.018205934857776874 0.004335142576954614 +111 0.004714061424162619 0.018228957649179207 -0.019987299139746964 +180 -0.005959092296708947 0.00037040100063528216 -0.009037319032682158 +233 1.5171261964060061e-05 -0.0007245864250013526 -0.002712199050964378 +132 -0.015054402443154296 -0.009164801953985011 0.03124839324921733 +286 0.00862264629438526 0.0020470752961162246 0.0002795935159881998 +287 0.013349805236602987 0.007260122847025134 0.005863728567388524 +288 -0.009317184630367126 0.02402454627808293 0.022064072519289615 +394 0.00408114796092972 0.0001262048336044046 0.002093477769512995 +396 -0.0007520969450285531 0.0027296854694956307 0.002310697288151023 +411 -0.004901362171333696 0.008797804190475603 -0.0029696518702863454 +166 -0.0011991302113043027 -0.0010146518351967157 0.005937081132183463 +159 -0.006903688208656232 -0.0017269476722276214 -2.6136668986767914e-05 +398 0.004555640424819427 0.004736373435451135 0.0017147780498698957 +2 0 0 0 +1 0 0 0 +179 0.009297541728472438 0.0034242450328185875 0.0017120759413145345 +397 0.0023632897757542284 0.005237892508362889 0.0019341925178973478 +255 0.028991618925043962 0.0025163600128309017 -0.010074435274392352 +157 -0.0053419651087539205 0.0009093299635396 0.0015631418651845292 +399 -0.0015933703029870642 0.0024191444535809022 0.005177427562284777 +123 -0.0008028814835527645 0.003446217051215865 0.007263081739694155 +225 0.004043632558155959 -0.0008602569408086914 -0.011024515477927854 +21 0 0 0 +417 -0.011016708095062428 0.021016423008858746 0.027021942113397354 +362 0.014400211555475738 0.02036532596351461 0.002366284053437811 +129 0.011984788717614495 -0.0038818338418699625 -0.01144947359364502 +359 -0.003799527036142441 -0.013871544730852163 -0.025355097880908957 +128 -0.019621574593312444 0.00330829030739978 0.011297099869832166 +256 0.004485857776842822 -0.006190801167325729 -0.004114050717367789 +257 -0.022889246506700947 0.016462815613716802 0.008995511031478167 +258 -0.0006750115093414352 -0.006492045194607161 -0.008539585614011868 +382 -0.000597634904196285 0.0031190547022447047 -0.0005426010315562802 +383 -0.01634488230604647 0.012293073745882217 0.03664733161082087 +384 -0.0036208229605027634 0.002392346607545294 0.009122574124318885 +272 0.010142233404856617 -0.005047913831595099 0.003412889130966729 +136 0.004503784480935454 0.0038223968860329467 0.0018198636906331498 +365 0.016589402600688283 -0.010293926257802932 0.006087471580008456 +127 0.0011478788695262919 0.005150422624549264 -0.011206416984160349 +271 0.0017123135951122007 -0.007785939214365013 -7.337703803098046e-05 +158 -0.009529404427389821 -0.0065789591819548935 -0.0015910212988070281 +143 -0.0047281625879192395 0.03124515069332843 0.0007451703256053234 +415 -0.00379066481523338 -0.0026663767364489017 0.0007712027345475282 +4 0 0 0 +276 0.01443192294700282 1.2119192948378698e-05 0.007580423687662169 +254 0.008413254538567476 -0.0031806116939371324 -0.005176729835500755 +273 -0.00235887879677462 -0.014807869627375875 0.018953669816605245 +612 0.000553795366781067 -0.008063136654246279 -0.015050782989627462 +402 0.0025057881076196976 0.013005029946408737 0.0024227412749199197 +401 -0.01611939125183101 -0.026613207073318514 0.011389739053037555 +400 0.0020939366064105544 0.004274317448135537 0.0039088401021415455 +274 0.0033890835718365284 0.0034962426873985687 0.0012142356622953697 +528 -0.0013204856705111925 0.008273432022243156 -0.006824479683978935 +275 -0.002467493814982517 0.009567039269012681 -0.001628281796299501 +130 -0.002294452700115776 0.004794778503598961 0.0012428491729459905 +11 0 0 0 +18 0 0 0 +3 0 0 0 +10 0 0 0 +9 0 0 0 +418 0.001969443672537646 0.0035591095160348667 6.840845948225931e-05 +339 0.009449547392686573 -0.015527752503599964 0.0020519522114406832 +109 0.0009019933692628193 -0.0023637997904728007 -0.001195708615075569 +165 -0.0031442370830047028 -0.00860076308764216 -0.004385624526108252 +142 0.0014997158829675526 0.0023986615572450763 0.0012176499361465287 +163 0.0005529616736063511 0.0011520262220100132 0.0026876826981595578 +138 0.00835009874289962 0.005446113136637283 0.012245936278168302 +110 0.0058595694218395306 0.006330401993370779 0.009691789005782887 +148 0.0010484300933068299 0.003614731905265376 0.0005656354442996937 +168 -0.0035453252363009 0.0030591240603495603 0.01141478999979606 +155 -0.006081584053376349 0.013488305256955841 0.003122684449638359 +419 -0.0043326958772574465 -0.007672862505363698 0.001741431881340215 +279 -0.006987931517458088 -0.004463380651949984 0.0032168497927575978 +291 0.013070263333084142 -0.011043304766923914 -0.007667022379803992 +54 0 0 0 +55 0 0 0 +62 0 0 0 +63 0 0 0 +70 0 0 0 +71 0 0 0 +318 0.002855540774250541 -0.008706265392435268 0.016709087896323416 +296 -0.006827138825786998 -0.008250089563741453 -0.010023271445379432 +295 0.0028025143164420044 0.004503395179327505 0.004740427349136433 +199 -0.0004276652048611721 0.0021036436581905785 0.001894836691998127 +212 0.0030494069444099436 0.008059312371114956 -0.0015384303490254432 +56 0 0 0 +64 0 0 0 +72 0 0 0 +297 -0.00863611007915637 0.023794218238383708 0.012286597898870223 +316 -0.0027282969248329306 0.0034784826105371163 -0.0015550482433265614 +596 0.0022540588825489087 -0.0004558511768009074 0.0021113703320854186 +314 0.0022730308836219526 -0.003576104706675502 -0.018305547725501175 +317 -0.008818932993818982 -0.01614550769887922 -0.006312790795656888 +174 -0.003989108346691385 -0.0041463772148390655 -0.012133006782017853 +424 -0.002061853383746996 0.0060283608089820645 0.0003858189982856313 +425 0.004667869130489407 0.006734610704535739 -0.008810620526543933 +426 0.001800378488543691 0.006572078134776592 -0.006959939430260138 +439 0.003570594672782302 -0.0075541274141492564 0.0011385953818795792 +440 -0.018483500755499073 0.026077043148287158 0.007762026717706596 +441 -0.0035160639639977304 0.01017935880582407 0.010925510238252048 +443 0.002752891522179302 0.002359520536859665 0.004402033435474336 +445 0.005109753638480509 0.0020799917239666893 0.0006203039106678689 +447 -0.004833957539877676 -0.013635648993521989 0.011042274951983328 +460 0.004502332563078225 -0.007019778994064603 -0.0020909163924237063 +566 0.006856255802710405 -0.007670066707940605 0.016488680237282137 +313 -0.00032024264450880786 -0.0033268448173116097 0.004213963501884734 +446 0.008230377667680117 -0.012002220683816067 -0.020817049936810675 +442 0.00632326144690708 -0.0028844850223673168 -0.0030935507749222787 +444 -0.006310050738245053 0.007701816347405714 -0.0030374249791888914 +462 -0.014819125088095908 -0.011935071226326503 -0.021055826472684266 +299 -0.01677058520297861 0.00017554348774697463 -0.004683820806050938 +192 0.0029983763762283316 0.00016984782773855043 -0.01239756136002042 +223 -0.0004979047776757504 0.0008512078443138333 0.0008443921365999649 +567 -0.015144427531155595 -0.010095143190313405 -0.003938143744796693 +305 0.011789453157160831 0.0011848420902197377 -0.006893690590609019 +461 0.003728808485234629 0.005861362556647005 0.030227046338109683 +164 -0.006371415362340771 -0.01791438320080124 9.28678768006752e-06 +99 -0.008674754592385234 0.0028175274440473265 -0.0035583112811675274 +352 -0.0019487809489514367 0.0005924046979209127 0.003081154877279966 +569 -0.004017890676087473 -0.02815893688383933 0.002950938479936915 +333 -0.034231073878134635 -0.020187818196016755 -0.002800887564445431 +315 -0.010786280226653037 0.0008279905777623672 -0.02094968371962149 +331 -0.003989578895582793 -0.002515570144974486 -0.0036650894134105383 +332 0.016019028086450147 0.01092586031507103 -0.004489180590132138 +334 -0.0050160125646465294 -0.0018598829970539145 -0.0053845119970308665 +335 -0.028710921574646858 -0.0077694127337625445 -0.033636255583214404 +336 0.007057694179060937 0.03364290478740563 -0.006438555338777638 +457 -0.0005470346035113902 -0.003636024539138937 -0.004693496328677859 +458 -0.014508974750418497 -0.025372567016445004 -0.015913823359620972 +459 -0.010595826221479657 0.016269726791195215 -0.00272015023858062 +587 0.009304708374423524 0.01802080928685514 -0.00225021037130779 +319 -6.329541868364268e-05 0.0007604880730009239 0.003923874710400092 +320 -0.013692396245649933 -0.004691994559443151 -0.004472120236690682 +97 -0.0041811451372435054 -0.0016947454452144169 -0.003088595435702038 +228 0.0035068470044357877 -0.00722159557397858 0.012380633273355516 +588 -0.007410650883482608 -0.004122963242300341 -0.002857693802382625 +586 -0.007183335289483923 -0.0021087039116411354 -0.002484722594033302 +354 -0.005993845781479215 0.012873796518682281 0.004349877868201698 +226 0.0006083611726830203 0.0035042017699132974 -0.003614859636821342 +193 -0.005669407429393517 0.004100406563704109 0.0010676709282988433 +321 -0.0071014047941653355 -0.001969377469874544 -0.0012339450644901888 +227 -0.011610696838439318 0.005519782536646491 -0.033176739962523336 +98 0.004309616722914489 0.002296427992121968 -0.0120792319341143 +195 -0.022875726692808136 0.01247390549316612 -0.01427276806388248 +190 0.0018356261705295177 0.0009825184232487147 -0.002190550287520845 +351 0.012404406240632222 -0.0006226879763799463 -0.0007946612762221016 +341 0.009353367040698626 -0.02002743130988449 0.011758841508559133 +238 0.001140654521438526 0.001459298321068358 0.001042104126190775 +561 0.011113989685122774 0.022628295093003382 0.007122561809265144 +14 0 0 0 +306 -0.0038854100448435683 0.009898877676498599 0.002296497679251702 +302 0.006250906499575308 0.0006651428085952308 0.003150835151576138 +492 0.0014990461900945217 0.00451246124630026 0.016271728963465862 +304 -0.0007644313239277986 -0.0002378869841683528 -0.008863599759836709 +183 -0.004235930717635777 0.015135770004869582 -0.009430966156809679 +301 0.001407295695739688 0.0025883970140671473 -0.0005129121354970562 +177 0.008532161224650597 -0.006166551287122611 -0.017051347217575095 +322 -0.006036741936123908 0.006694507238557491 -0.008797210546742736 +323 -0.0005878788759916577 -0.0046750514109782345 -0.00838774267309369 +324 0.0010320404343721495 0.018535823894319074 -0.0017230633321379187 +448 -0.0016501872771886364 0.0013105394169198484 -0.0016886903769968596 +449 -0.0018265835047153955 0.028292021845375437 -0.009028321848105923 +450 -0.004808560034150565 -0.01472989321192729 -0.02510566175036757 +327 0.00646416913515833 0.006855393213799753 -0.005266755020241675 +303 -0.0015080760032872007 -0.001614212669020773 -0.0071983001830801295 +182 0.005208468193997556 0.0074887616117697425 -0.00011567499674279219 +181 0.0041917814790537 0.006276446506232434 1.3253856979742307e-05 +307 -0.001742158205026559 -0.003906781181025906 0.0037522031056115815 +308 -0.030670315452765617 0.011715162069613731 0.00940047271483485 +309 0.015594087693923099 -0.011118430703491443 0.03507873836369949 +290 -0.01822990251793187 0.01136554812614189 0.019784306732369923 +24 0 0 0 +175 0.0003997089801711392 0.005612968231817301 -0.001977491453552462 +240 0.0021550359085433833 -0.013887726897599147 0.017007464029105246 +214 -0.0030236250800941365 -0.007746304500505268 -0.003265469519951162 +463 -0.0030506716559674306 8.022641073809966e-05 0.001305001465203792 +465 0.011668743673717535 -0.022561344284648188 -0.006913272055741826 +342 0.00761335978819216 0.01725411685187947 0.0031665163313512263 +467 0.005429443080097707 0.00505311980836296 0.03253239780470216 +590 -0.007667081749785803 -0.012646854519747352 -0.007344849346264026 +216 -0.015420086265898867 -0.0011289370701770252 -0.005213310630267644 +468 -0.014944650251435999 0.012290176565218719 0.03445762183628464 +437 0.008170752455860762 0.003515568999353165 -0.012392634739661046 +589 0.002120429597512166 -0.00404409002311151 -0.0008524764743937817 +591 0.0023748900106734744 -0.00911858234514646 0.011898881278063407 +217 -0.002002123365953612 -0.0016868233396341733 -0.0009793648464728668 +236 0.024017051264351316 -0.0011740301473598094 0.019254633312972093 +597 0.0006978982547704831 0.008971611751512084 0.01620145805868815 +436 0.006073089779316558 0.005758616207831075 -0.0010603059361670737 +215 -0.001968651756097078 -0.013581535743139927 0.011191410586834654 +340 0.0005155521625423603 -0.003066135423754587 -0.005507656172976111 +464 -0.013672365051519688 0.006462804234922297 0.0034084160890599114 +343 0.006296604556438187 -0.004345465035479592 -0.002148122930183059 +345 0.012407457872537 -0.002470006777829203 -0.017291130429046578 +218 -0.015256436367871109 -0.017127300174924556 0.013286905082506264 +344 0.006957172847952071 -0.005066948994127098 -0.0010697045913517173 +219 0.0129990390246623 0.01038063493403641 0.005896687981359087 +466 0.002244198202014901 0.00548664713748076 0.0017161884024748234 +552 -0.022571692032816285 0.003080463860301062 0.004147492761917047 +224 0.0030068463673795505 -0.0004210343710353578 -0.008435186117653032 +201 0.0002611282610589362 -0.02171208956219141 0.03614342720217159 +170 -0.004091015625502559 0.006132229043273037 -0.007894232048875658 +16 0 0 0 +364 -0.0015161431784151442 -0.0016413835416760833 -0.00011269983298135968 +595 0.0004009832164706928 -0.005943467092534516 -0.00021490750932348881 +293 0.0029792186491364907 -0.00951830053221831 0.009805396617398226 +565 -0.0020216291381893706 0.0005759466603249998 0.0037816069669276407 +294 0.006110145852875226 -0.011587409875187532 0.014746336149031355 +453 0.010684183447769217 0.00966936228778118 0.01067799815316271 +310 0.0013110820976444488 6.690346346024489e-05 -0.0013484122248995742 +312 0.0021350124964415944 -0.009300676520635393 -0.017126176751746602 +328 -0.0012173744274507857 -0.0010004333693518076 7.454356672613982e-05 +329 -0.004393989551355606 -0.0006342382009824402 0.025248414291071577 +330 0.003200826537968669 0.006262041666898172 -0.007660542795091789 +454 -0.001848413897192655 -0.006087838419291344 -0.00212182078058685 +455 0.002625640706938784 -0.005389333951319389 0.005133907982892303 +456 0.006533480317251084 -0.010660519588964945 0.006259950572557032 +292 0.0025205821997437323 0.0005728266872274269 -0.0031633541265021726 +191 0.016238306710869115 -0.003915115089834756 0.0017136737961342124 +239 0.00990944273613697 0.02760052218964869 0.011501959077712662 +176 -0.003812401466461981 0.00870460277141486 0.0014222213445986018 +222 -0.00575985861173191 0.022102253315148642 0.02527855635069059 +346 0.0011312225860331724 -0.0012039193200392066 -0.004868828659936997 +347 0.0022739232260907067 -0.011436140880903854 0.013284463507981098 +490 -0.0005595459079784365 -0.006269611312179471 0.0067393847431723 +7 0 0 0 +23 0 0 0 +326 0.0012996293407948924 0.008854456872801352 -0.005816613812790807 +451 -0.0028561369319889804 -0.0017465825473428813 0.008900668566522418 +6 0 0 0 +325 0.0010562870027208723 0.0034255062969131894 -0.0006172205493860827 +452 -0.009426612957814726 0.015699509362869738 0.009239585598848264 +348 -0.013065067399225125 -0.0011186833550731684 -0.01072093470053397 +472 -7.897472416050894e-05 0.0031805716301914226 -0.007784430712320418 +473 -0.006914952611644003 0.002498006849629822 -0.0006741048128127044 +474 -0.0022767631580318 -0.004582678763273538 -0.013994347301896512 +8 0 0 0 +22 0 0 0 +15 0 0 0 +366 -0.007893398177358455 0.015115361966491036 0.009170509752392673 +427 -0.0003444825785329123 -0.007337801801584954 -0.0009778496983795068 +428 0.001284241023354871 -0.013260102504623554 -0.021443246975242775 +491 -0.001767046133691502 -0.006564287081459821 0.023503882347904403 +420 -0.003509122175633548 0.01305155283816234 0.004947689893280669 +73 0 0 0 +74 0 0 0 +75 0 0 0 +81 0 0 0 +82 0 0 0 +83 0 0 0 +89 0 0 0 +90 0 0 0 +91 0 0 0 +44 0 0 0 +620 -0.018208136394152405 -0.01636478757026537 0.005723871336844999 +431 -0.005947889870410918 0.00044174663691606093 0.006557506419947902 +119 0.024721347844244186 0.008261586757785296 0.00907322934727056 +76 0 0 0 +77 0 0 0 +84 0 0 0 +85 0 0 0 +92 0 0 0 +93 0 0 0 +125 0.00376014626516738 0.002210168316563869 0.002298583773418513 +639 0.022515309952399035 0.009411637442127493 -0.008062907963212114 +621 -0.006374910185946932 0.00955951852607432 0.003250334549828182 +173 -0.021441066526937017 0.008981863969610688 0.01224124107433771 +475 0.004198954420745654 0.00028100082518072285 9.383026152395088e-05 +495 -0.004241287562035139 -0.005785104432022318 0.000523166704738585 +493 9.348630210513032e-05 -0.006284687922454231 -0.003701310284386629 +511 0.0007148304951871003 0.004802516087996348 -0.006923741019514223 +619 -0.002075393845858219 -0.003045847479122124 -0.001524738632164393 +118 0.00683188131992754 0.003668598221419104 0.006404555705525047 +518 0.0007042053936607947 0.0037009655583541416 0.006413238235319736 +643 -0.0004247381946310078 -0.0020119972122199944 0.003487618986222057 +645 -0.0048948895131701985 0.012363718645768199 -0.00928544818799057 +120 -0.010236314365806192 0.0022623366455210496 0.017281073956898166 +121 -0.001238562526158577 0.001104413566869127 0.005942347097054137 +476 0.012182201173028576 -0.004728148764198684 0.046347192725480664 +514 0.0022983792918737627 0.0014437839560773938 0.0036109547751728994 +515 -0.019172556612093973 -0.0016311268294803955 0.03216642670953416 +503 -0.0069105541563097604 -0.015249937977793143 0.0052637590343377815 +644 -0.010719473881067676 0.0037551606817486853 -0.0029346406103394162 +269 -0.004657911325433949 -0.003131957474482315 -0.011666276096979261 +717 -0.007598678858223351 0.0022229145917488594 0.005743247797030988 +141 -0.005265179044891148 0.002032989406198283 -0.015312221016573192 +614 -0.009219001917256551 0.005407772759963249 -0.0029756043481738784 +607 -0.0022318262514579175 -0.0013437454041061285 0.0034819193316852786 +263 -0.0031337390415979646 -0.0155076302314032 0.01168936778694652 +517 -0.004222729742737883 -0.0015412935817472574 -0.000744868553385778 +519 -0.017834616810459846 -0.005708672219139421 -0.013654944035195295 +650 0.016098074211762008 0.0008317702866467745 -0.0070629490018340796 +107 -0.013373872234929177 0.015550080911235302 0.000476694292789935 +622 0.0049167825063810506 -0.0019646746434102656 -0.0004138217494473092 +715 -0.0018479214618609496 -0.00040031683451092646 -0.0013844650938375396 +391 -0.0037858640614263014 -0.005495674469386023 0.0021697837969133988 +361 0.005936878618776804 -0.0060340273998497115 0.005302669782661007 +153 0.009350169255480476 -0.010095254447887305 -0.00021295408316436036 +268 0.00016309797421927704 0.001379673676436866 -0.0021059918993536083 +657 0.00797165705335179 -0.006626095212976235 0.002974029917145391 +494 0.001148355736449653 0.0036909034525013456 -0.02786109619932466 +502 -0.004711785614046966 -0.0032981402250937784 0.0026900818002181955 +134 -0.006372075048389165 -0.0010597064275151555 0.032493616061931636 +135 0.012441386237017894 -0.006758027851359993 -0.01093456688317497 +152 -0.022588064290988544 0.00886667288447623 0.008279189884228825 +133 0.002463951400607453 0.003811161478952187 -0.0012055726394182785 +529 0.0011447538436001538 -0.0013248981429381148 -0.002691009401164175 +530 -0.012741704403083629 -0.027504642134544018 -0.015426630500459096 +637 0.0027262342808301856 0.003417848363641975 -0.006980165287281133 +638 0.013337262716142521 -0.004492669699077519 -0.004062142879164206 +640 0.007343968608723324 -0.0017944529921501285 -0.0034872458540833894 +641 -0.0028237421192901504 -0.0005068756058293126 -0.00012747376583541385 +642 0.011814745657888743 -0.0024688971419446265 -0.005000832651892577 +655 0.001627324356529187 -0.004482993080078517 0.000808734460992604 +658 0.004840904310899923 -0.0002765015435387103 0.007219927125603741 +659 0.0024123333017816587 -0.0008252092073925724 -0.012010079098928605 +660 0.006288891732283029 -0.00028621221044029935 0.01017292418448191 +662 0.00042341404767420534 0.004858867208208743 -0.0025731587003398884 +151 -0.007481030563338991 0.0042940249428423454 -0.004138492391462666 +663 0.005706463166013832 -0.005134244724722354 0.01594300643902129 +661 -0.0004834562555479056 -0.0025170072941784116 0.0073306297338467516 +531 0.031627589352554296 -0.006929272021968033 0.005196746262871528 +534 -0.005636380674033646 -0.017477660905108702 0.01583147823999135 +413 0.011989224814873311 0.005002345322903481 0.013751203817150124 +381 -0.004459092376404236 -0.0050190034979797115 0.004721607878339021 +270 0.005446123992737857 -0.006947452847301007 -0.0011899546998997536 +154 0.0014172994016706149 -0.0033421080124123727 -0.0015470569232849327 +122 0.0012375927763631494 -0.011554657426034941 -0.00867285237322033 +516 0.005271954403411166 -0.0006481966287883752 2.6812633073704167e-05 +124 -0.003754526570879154 0.004041520353836536 -0.005167280520955695 +624 0.0024348446654673915 -0.011410862941411113 -0.008303184235291208 +625 -0.0004068734138486256 -0.0024077577282892604 0.0022463102414447145 +626 -0.007682544160104886 -0.002868348151472689 0.00804166794901491 +627 0.0055724420133055515 0.004831244270910297 0.0046825571947010595 +608 0.00904173534830472 -0.009299908749254992 -0.0015525376365491403 +377 -0.00531515207456117 -0.0003352083340617145 0.008223828332509607 +376 -0.0009132380668384925 -0.0032370142105785536 0.00992592406478607 +378 -0.013491407056118503 0.0024474110437273286 0.002430454281174073 +520 0.0029167102188674267 0.004050524998543141 0.006939254966538985 +521 0.0022255023178218117 -0.02084496868773591 0.011833792105899514 +522 -0.0021754058603597605 0.0036037952857744453 0.0025967549113268523 +647 0.01725665770888626 0.00025618854275232135 -0.004371903448504005 +126 -0.001396907296059675 0.005466933409078029 0.0035397437049442407 +501 0.0020137754495144103 -0.020560911871733662 -0.01930454581812061 +488 -0.013992558802764758 0.007135432550136229 0.019787547208033468 +609 -0.017041781544970595 0.00036953593881046697 0.004304666740455674 +603 0.004263060495225364 -0.0025041678366056743 -0.010088965858195222 +532 0.005236924638911616 -0.007374489144160924 -0.0014032938229172295 +537 -0.017202023712709204 0.029719340341784754 -0.0001481723823312356 +504 -0.006971669314112023 -0.003848037969451082 0.0024547071196951505 +646 0.0044060144797029716 0.00577277956175787 -0.0030311005618453533 +687 0.0029962372948669712 -0.00155376186210015 -0.007657774465803122 +146 -0.03168109088721509 -0.02093657671158045 -0.017430408359101673 +380 -0.004133070694344155 -0.023055369912419688 -0.0014608727321119676 +535 -0.0019018091647201572 -0.0027235789258337646 -0.003324715729768929 +536 -0.0033834221238263347 -0.00067664325480983 -0.0006818536684817816 +430 0.004878146505217018 -0.0005940118847220873 0.005061681229495326 +414 0.009784993638197226 0.007374598436598287 0.010895484131701147 +648 -0.01014869121728334 -0.004687101881511565 0.00012350285801009922 +664 0.002748144375770029 0.0026032090370390745 0.0006037618161079066 +665 0.009943417517975731 0.0332171540183687 -0.0010053949941968945 +666 -0.005204025673966604 0.005025169562373523 0.004088145103267187 +542 -0.0022871310890402786 -0.009483481838644251 0.039038521784662036 +668 -0.002010112042516619 -0.007839349380007939 -0.00012454825026704687 +526 0.004326170016375512 0.0006520283975472351 0.0013000875562086272 +649 0.006012493069566269 -0.0015705317570891995 0.0034453344311484997 +541 0.002417893801822803 0.004953709857499055 -0.0011048403053594347 +543 -0.006442682634596088 0.005483003196258186 0.010230143159271812 +651 5.851794152747379e-05 0.012096329874549444 -0.010504851962064576 +669 0.024559577529554937 -0.02670525413183529 -0.0006593803661219533 +149 0.005052614171349867 -0.016830388877089375 0.0024188350050921904 +379 -0.003329235103452224 -0.003013750877183804 -0.00414482381276264 +106 -0.0049276728477274205 0.0020773265341779523 0.0005342135720872503 +156 0.011327442559981039 -0.0005332212400849956 -0.021654626738406565 +487 -0.0005451479807017357 0.007096858276882301 -0.001211298812154257 +611 -0.021960485084400877 0.000683067126064194 -0.004807437709543965 +685 0.0054027121027461185 -0.0020836334168693686 -0.002685455633487145 +630 -0.008822313536481361 -0.004845697584124013 0.008618144649607666 +116 -0.0018481495655891557 0.003288677485939496 -0.01203827513108651 +510 -0.032301904778016324 0.03266518347502736 -0.010524750287846713 +507 0.01026908212324152 -0.003027423216310613 -0.01339935367398813 +509 -0.012123990818602938 -0.010921177126252526 -0.01085126541231615 +610 -0.0018536013560426982 0.0019641033697579227 -0.005272154166504122 +524 0.0025126158748017494 -0.011386391297567867 0.010899004749210146 +131 0.013925658871889492 0.01863780388390729 -0.012821208349513039 +506 0.002798516823548351 0.015462304271963446 -0.01979101766979263 +489 0.018551315704509276 0.005579119527076206 -0.011093956324755981 +631 -0.00213217437222647 0.007731605502977125 -5.708562343811414e-05 +632 -0.016010702686313313 0.003032381845605066 -0.00016432383794700518 +634 0.0024411605772810775 0.004856927419569082 0.0033624694714103616 +635 -0.004217713091711203 -0.0006169550158152153 -0.004853283570280516 +636 -0.0053752383344858115 -0.008175815179565843 0.007388678311008392 +523 -0.0016045268195455857 -0.0005433703477544734 -0.003812789038354003 +505 0.001251686805937162 -0.00358100309984456 -3.8168118482729824e-05 +508 -0.0024350068053152494 0.0035688590735699585 0.005610509346455448 +412 -0.00022593016936094175 0.0005569123807237037 0.0038001159805280626 +45 0 0 0 +29 0 0 0 +37 0 0 0 +363 -0.011964726025106835 0.002432278732280362 0.006076559669061676 +628 0.0008364492726496631 0.0005774360309607983 0.007909972736732423 +527 -0.001525771217934407 -0.00663724790475885 0.012008066487640058 +667 -0.0045753428553175395 -0.005313933751263768 -0.0015147195617714066 +145 0.0030897905888227985 -0.0005725135249566786 0.00520175803564182 +629 -0.011793195181352264 0.02610618463611397 -0.0011129416403377994 +525 -0.022420806448309998 -0.022996093757596713 0.015105277643548942 +500 -0.004188727339036917 -0.019564310174631772 -0.020323389800299303 +545 0.011136831496755695 0.002952182290516256 0.0005637316061665317 +28 0 0 0 +633 -0.02960278783895163 0.018048758207440972 -0.02963510627545276 +497 -0.023527326541010283 0.0208568120165425 0.005687411209495451 +671 0.0023108185550983966 0.012908244135685297 -0.004180129514014733 +670 0.006465909962417871 -0.006214105452110799 -0.005385675478166314 +653 0.0005457560351153357 -0.005732993238943683 -0.023978676323071678 +147 0.0009543364532176592 -0.0005669825788105438 0.005288972927967759 +652 -0.0020809963981695528 0.004201341752230154 -0.0037182713882387905 +654 -0.009705191096746496 0.00993785708033847 0.0002582345573881968 +393 0.00014977536429222813 -0.016157391113790023 -0.005007396695791053 +544 -0.0007464408473846617 -0.0025274118460750926 -0.0003262638562050646 +546 0.0007482564200138334 -0.005738810532314362 -0.0062078641022687555 +416 -0.005855847757407431 0.007349365261206047 0.00415066632160293 +34 0 0 0 +35 0 0 0 +41 0 0 0 +33 0 0 0 +42 0 0 0 +27 0 0 0 +26 0 0 0 +25 0 0 0 +43 0 0 0 +36 0 0 0 +137 -0.01807013140598822 -0.002206759585164299 -0.036470288931081965 +513 -0.016634738109428417 0.007838661917040123 -0.009140157784366151 +139 -0.008963827399168726 0.005060486629698257 0.00333600682613603 +672 -0.007607605155630691 -0.01456975078088874 -0.012598143794359841 +533 0.010617840224744613 -0.002777497773010237 -0.011197727642067286 +78 0 0 0 +79 0 0 0 +86 0 0 0 +87 0 0 0 +94 0 0 0 +95 0 0 0 +585 0.005605752859388974 -0.010142526760761094 0.03727990234950359 +48 0 0 0 +80 0 0 0 +88 0 0 0 +96 0 0 0 +189 -0.0066352869894572225 0.00024265908697179757 -0.008154695950714637 +605 0.002150142719826519 0.005331502869050656 -0.010584005781348844 +185 -0.00394193505540348 -0.006302674919906286 0.0014182920779830875 +675 -0.0005415046250754363 -0.0017158463927637298 -0.004355857781192924 +583 0.0023731378694094554 -0.000649623218570412 0.008513088612560797 +549 0.011016693797627375 0.028511018549521542 -0.0014920139544244682 +673 0.002569391041646503 -0.002953874401980327 -0.0027483375366729244 +691 0.0019340855980439994 0.00033670287218828305 -0.002850215590991099 +693 -0.010246446382756453 -0.01757295812509763 0.008367118291182465 +547 -0.0014747922178342681 -0.0011664893969373193 -0.0006060539317155183 +548 0.011682558902498964 -0.025233418213810175 -0.007658772705311056 +551 0.001350153023456467 0.00022279379737177285 -0.025939803341241217 +570 -0.005131884633683738 -0.021071670171871774 0.006468261966454463 +674 0.005944688363822889 -0.007207689386530191 0.021342103282829653 +676 -0.0019462920513466076 0.004407790321609089 -0.0015620365885013808 +677 0.006715775323883596 0.002944114457622447 0.014542952323996265 +678 0.0002778779391768264 0.006297772905186056 -0.026565168661761288 +692 0.009268689356589333 0.014731647385365748 -0.006025572741709686 +694 -0.003961631162606319 -0.0013806200811878214 -0.0008172345637775933 +695 -0.007667502982246405 0.0030490460467132675 -0.001088289569629578 +696 0.008468651107356945 0.0005907165859080803 0.003859911467064242 +553 -0.00047604019730420217 -0.0006315561767963964 0.0010024200881167521 +698 -0.0020717511399018134 0.010002747658628137 -0.006096442037637733 +584 -0.016580812361012713 0.012511158150068527 0.0008511110478859006 +481 0.0005948587232964445 0.001010539994860156 -0.007444450185793666 +194 0.00014052509066614157 -0.005196283194920727 0.006780792332164644 +697 -0.0013789642648926277 0.0036795675853680348 -0.0024305337069368458 +686 0.004822045126303928 0.0025096147997947602 0.0007703584546722453 +555 0.017189293067074386 -0.0008847199219453851 -0.0032260555994972286 +40 0 0 0 +572 0.011836142232616654 0.016930917726623914 0.0054145245254328695 +477 -0.0023182861715013415 0.0010624526210653072 0.012226130441533083 +571 0.003380622710715224 0.0006712391588360674 -0.0004913569633634105 +617 0.014810694316454103 0.004926610428412379 0.01925291118216818 +207 -0.007590085971879394 -0.014703490219233173 -0.010578241152045156 +604 -0.002926332808910417 0.006517063988398441 0.006874331039776373 +606 -0.006711013892835755 0.0017538833490847003 0.01109190361787526 +350 -0.00791114708309395 -0.018510770014932714 -0.004815453363899084 +710 -0.0064427786804492244 0.007900704613316586 -0.004014534901828139 +711 -0.013659088845790259 -0.006353686711340907 0.014745080974907615 +187 0.009196546495462546 -0.0006436048533352592 -0.0018751511705191544 +568 0.00351338252872656 -0.000468923257277023 -0.0006920890468333366 +482 -0.004913558802329553 -0.004280135253253908 0.00633294127596329 +188 0.004540426836736988 -0.007097215069674514 -0.005805835450005286 +709 0.001925645254538778 0.0014380880583831747 -0.004930937336155932 +478 0.0010797933791857736 0.0025266095076614922 -0.004986957491084801 +712 0.0005301580092307634 0.007828721030901242 0.0017280526627498729 +713 0.00023845816884353593 0.00504266543517644 0.007841645749689477 +714 -0.018116868406079928 -0.001053639709884517 -0.015294935527253715 +208 0.0022479985060981176 -0.0014519851635401385 -0.004570555125416719 +699 -0.0011994729208893943 0.003087096701170354 0.00206825365641926 +479 0.017036064852232736 -0.008815895837007535 -0.023904033427918216 +210 0.0037407613528955865 0.0035360396633836435 -0.0024281379564064314 +602 0.0075099029288607545 0.00248142438114653 0.007042328134206083 +480 0.003606247195743753 0.0011315638494953186 -0.012091977160979392 +557 0.01799594238988353 0.0010119724239675647 0.001713299481119473 +213 8.142606683067033e-05 0.0018049324742849876 0.001148356581106332 +349 -0.0011981816039239028 -0.004139945811682951 -0.0012467355401650265 +601 0.004020873251639709 0.004241016472708001 0.002563273451182537 +211 0.0011912649917131756 0.0025005537615394933 0.0008960825230590572 +716 -0.001685592699635269 0.0011640365948642592 0.005066042148810565 +30 0 0 0 +690 -0.008258764473906464 -0.015659920241712057 -0.002035366592494931 +434 -0.015147993202601842 -0.008391160991570657 -0.00133837501844855 +540 -0.01070956669106575 -0.0009034196831042784 -0.005091934969456589 +680 0.013411542345369893 -0.01224680766604758 -0.007693285108323204 +573 0.001125174289584756 -0.017065312099830133 -0.010847897177433372 +206 0.0062792678126364024 -0.004920618337422227 0.015385751090398978 +679 0.003851754102318177 0.00014121255786835605 -0.004367045609373842 +576 -0.006859141335892818 0.013475175880741354 0.019291224624438694 +681 -0.0010155508996575868 0.011841568778219715 -0.00038192110946660176 +682 -0.0033380546085591783 0.0029410572005993175 -0.0007868866109149822 +683 -0.0171452686314646 0.02080647918819655 -0.02494529463235201 +684 -0.011351263294960242 0.003268021853032265 -0.016211941153317734 +196 -0.0011300226991530493 -0.0007258875281920439 -0.0011053990262034088 +198 0.0028989491941254233 -0.0011295577630334667 -0.00010020171672689361 +574 0.010329552867290752 0.002573691251766472 0.0016334142849459905 +432 0.011312228177704555 -0.00040924084403576723 0.0030694280639071577 +197 -0.004165427208999216 0.003771685867294356 -0.03660165966181166 +722 -0.000648338729561578 -6.679565631513779e-07 0.0002618774194506748 +161 0.01798142895193523 0.0020571194054308513 0.016038128295544164 +721 -0.0003920833445493075 -0.0011075276896324445 -0.003149117714578652 +160 0.0012524360201935448 5.8385753508661056e-05 0.002094782880919037 +704 0.008829418227424335 -0.014756395405287588 0.01498750148919691 +703 -0.0008587083092325698 -0.007226841972489215 0.0002064836414122881 +723 -0.0005749020356670792 0.0016998018058745072 0.00022422970383630792 +200 0.031146059326807876 -0.005877684895195546 0.001580489200077874 +38 0 0 0 +471 -0.002412379012618108 0.002859766574078075 0.004225099064154239 +616 0.0015868289649342174 -0.0007154336713301255 -0.0018420555864635155 +31 0 0 0 +558 0.0010017769942429495 0.0028748423486200923 0.0029530298960570274 +209 -0.011547394561373242 0.021473730893253655 -0.010467996459002728 +483 -0.0011483108990157148 -0.01775883938741853 -0.006642617216380664 +579 -0.004400467068591756 -0.004727848404823099 -0.017194937494532058 +656 -0.009323761806544907 -0.00582840436180242 -0.033605778143606546 +46 0 0 0 +484 -0.0020388281695896135 -0.0013637084095724807 0.0019497022250018388 +615 -0.0005601690839121759 0.006209015490306886 0.014137268169018329 +701 -0.0037809143963855028 -0.003501975583518593 0.00300447780062066 +486 0.007618907754277993 0.0056944910767996034 0.004370581324618608 +700 -0.0046612326215811906 0.0009000392673902709 0.00237179703020734 +702 0.00448352509306984 0.007779674344946335 -0.009149493097928028 +593 -0.0015941057753356155 0.014578054449146513 -0.01738511514299848 +718 -0.001339803046916652 -0.0010137548764877385 -0.0018600250448437623 +719 -0.0041288597035935 -0.006640144853355004 -0.0035284383329067825 +720 -0.00828186051332812 -0.003436384759437303 -0.0014846993389069985 +613 -0.0037516874821196923 0.0008032080553151717 0.0030109183271456704 +600 0.0015665561791694254 -0.006074023336013163 -0.011441956255009576 +485 -0.008520355267151752 0.019106678931441436 0.0032307036002293785 +725 -0.018859767151860926 -0.01208741183555489 -0.00951241905524379 +592 0.002697557535774519 0.0016443361599495928 9.002589005331697e-05 +220 0.001644969207029382 0.004361924552822558 0.006117664057252492 +577 -0.0004582090954931718 0.0006102606399476886 0.001105420556781803 +470 -0.0062849098259277645 -0.004641593303172789 -0.0046067188749420885 +171 0.0008636188674837649 0.017476464872149055 -0.002555116980647831 +724 0.0008894985940205911 0.0005834133379995128 -0.0014610090405300256 +550 0.0006896316396178657 0.0009143133831033406 -0.0019354784779200378 +169 -0.0002215997710391417 0.006458478087593333 -0.0016723848777001873 +469 -0.0069673897228099664 -0.004505481750238904 0.001926603834355063 +47 0 0 0 +559 -0.007572098022459057 0.0034063887331657805 0.00015950666002367757 +39 0 0 0 +564 0.0034478240574839806 0.000977567496075238 0.011370397005249621 +186 0.003307811358636357 0.0024005138798181575 -0.0058730609160886635 +562 0.00040069870388580273 0.000886838393600568 0.0035753479994040382 +563 0.0009622848371929641 0.0012466569522117086 0.005071231855063573 +580 -0.0008152164468272666 -0.002281961916018554 -0.00340540442179655 +581 0.008664526206245351 -0.003613339366634202 -0.013849180825236965 +688 -0.0007737260024269964 -0.0021109727959323214 -0.0028686896014043996 +689 0.01184941834518123 -0.006439014918069607 -0.01795905690960574 +435 0.009487793849062317 0.008077776372612812 -0.003825190621775344 +202 0.0018611302621018263 0.001042316838629044 0.0007915024393209877 +204 -0.010242398098511275 -0.00771714677539368 0.027343526182630737 +705 0.00415826355703768 -0.027463756463854967 0.007706011293389328 +582 0.010940242714444454 -0.010471175449668265 0.010439795907298415 +554 -0.0033734100682732042 -0.0007050045550250698 -0.004141877996055899 +184 0.00954182511554633 -0.0030756224799226724 -0.0028355764318479435 +203 -0.0004896914330753941 -0.010713189084407382 0.006448641517112284 +560 0.002811074841408279 -0.0031284342121008137 -0.01007923914596747 +32 0 0 0 +538 -0.0014460833289970435 0.007075092708989862 0.0025968213594936666 +114 -0.0012344875182377776 -0.013021613850333872 -0.01551117572690931 +599 -0.009486941638727845 -0.0017646423596571908 -0.0022232385848233835 +594 -0.019757837691149267 0.020460127715951404 0.007156004053852354 +618 -0.004117904664209404 -0.007129562600878678 -0.008167279502096409 +578 -0.013243998449868415 -0.007568779562563151 0.01379750777771968 +598 -0.00894340226085164 -0.0011454896373641877 -0.002227227468484275 +221 -0.013387813082014567 -0.0036068811506120473 -0.0033536813661818755 +726 -0.010423730766968823 -0.005077846457722445 -0.006545701921982794 +113 0.009053197578918851 0.02806209034029739 -0.0038652610892807708 +112 -0.003598585058077683 0.010797122998889751 0.004964748066429578 +706 -0.009230566219107101 -0.00019179937588319708 -0.005897156455629181 +707 -0.0186040820527444 0.0030286498517162874 -0.0027171798388519654 +708 0.0005970323997883637 -0.011672330092629255 0.008809894454709295 +172 -0.003969055528345896 0.004616418314061088 0.006244115578595084 +162 0.003904417477970175 -0.02252457850998945 -0.0007511502242897511 +353 -0.004813423204096107 -0.0019593482773551324 -0.006475119883457997 +433 -0.005628582184186051 0.0004681681306527026 0.0048841056399051425 +205 -0.0025719666702933358 -0.0031601909448657315 -0.00034608644411026354 +556 0.006202519606328875 0.003259859743020484 -2.0384837307811827e-05 +575 0.009296645991498211 0.0182167459357296 -0.03573768643543234 +539 0.03550184814237637 0.005236622576246589 0.006877977306907682 +311 -0.005741616851658933 -0.006067351756425933 -0.004516807655761214 +623 0.00555361268890784 -0.038847648348719455 0.016774210292904084 + +Bonds + +1 1 277 278 +2 1 277 279 +3 1 421 422 +4 1 421 423 +5 1 241 242 +6 1 241 243 +7 1 367 368 +8 1 367 369 +9 1 244 245 +10 1 244 246 +11 1 355 356 +12 1 355 357 +13 1 370 371 +14 1 370 372 +15 1 115 116 +16 1 115 117 +17 1 337 338 +18 1 337 339 +19 1 388 389 +20 1 388 390 +21 1 499 500 +22 1 499 501 +23 1 235 236 +24 1 235 237 +25 1 385 386 +26 1 385 387 +27 1 259 260 +28 1 259 261 +29 1 289 290 +30 1 289 291 +31 1 262 263 +32 1 262 264 +33 1 280 281 +34 1 280 282 +35 1 406 407 +36 1 406 408 +37 1 403 404 +38 1 403 405 +39 1 409 410 +40 1 409 411 +41 1 283 284 +42 1 283 285 +43 1 298 299 +44 1 298 300 +45 1 247 248 +46 1 247 249 +47 1 232 233 +48 1 232 234 +49 1 103 104 +50 1 103 105 +51 1 250 251 +52 1 250 252 +53 1 373 374 +54 1 373 375 +55 1 265 266 +56 1 265 267 +57 1 229 230 +58 1 229 231 +59 1 496 497 +60 1 496 498 +61 1 358 359 +62 1 358 360 +63 1 253 254 +64 1 253 255 +65 1 100 101 +66 1 100 102 +67 1 178 179 +68 1 178 180 +69 1 286 287 +70 1 286 288 +71 1 394 395 +72 1 394 396 +73 1 166 167 +74 1 166 168 +75 1 397 398 +76 1 397 399 +77 1 157 158 +78 1 157 159 +79 1 256 257 +80 1 256 258 +81 1 382 383 +82 1 382 384 +83 1 136 137 +84 1 136 138 +85 1 127 128 +86 1 127 129 +87 1 271 272 +88 1 271 273 +89 1 415 416 +90 1 415 417 +91 1 400 401 +92 1 400 402 +93 1 274 275 +94 1 274 276 +95 1 130 131 +96 1 130 132 +97 1 418 419 +98 1 418 420 +99 1 109 110 +100 1 109 111 +101 1 142 143 +102 1 142 144 +103 1 163 164 +104 1 163 165 +105 1 148 149 +106 1 148 150 +107 1 295 296 +108 1 295 297 +109 1 199 200 +110 1 199 201 +111 1 316 317 +112 1 316 318 +113 1 424 425 +114 1 424 426 +115 1 439 440 +116 1 439 441 +117 1 445 446 +118 1 445 447 +119 1 460 461 +120 1 460 462 +121 1 313 314 +122 1 313 315 +123 1 442 443 +124 1 442 444 +125 1 223 224 +126 1 223 225 +127 1 352 353 +128 1 352 354 +129 1 331 332 +130 1 331 333 +131 1 334 335 +132 1 334 336 +133 1 457 458 +134 1 457 459 +135 1 319 320 +136 1 319 321 +137 1 97 98 +138 1 97 99 +139 1 586 587 +140 1 586 588 +141 1 226 227 +142 1 226 228 +143 1 193 194 +144 1 193 195 +145 1 190 191 +146 1 190 192 +147 1 238 239 +148 1 238 240 +149 1 304 305 +150 1 304 306 +151 1 301 302 +152 1 301 303 +153 1 322 323 +154 1 322 324 +155 1 448 449 +156 1 448 450 +157 1 181 182 +158 1 181 183 +159 1 307 308 +160 1 307 309 +161 1 175 176 +162 1 175 177 +163 1 214 215 +164 1 214 216 +165 1 463 464 +166 1 463 465 +167 1 589 590 +168 1 589 591 +169 1 217 218 +170 1 217 219 +171 1 436 437 +172 1 436 438 +173 1 340 341 +174 1 340 342 +175 1 343 344 +176 1 343 345 +177 1 466 467 +178 1 466 468 +179 1 364 365 +180 1 364 366 +181 1 595 596 +182 1 595 597 +183 1 565 566 +184 1 565 567 +185 1 310 311 +186 1 310 312 +187 1 328 329 +188 1 328 330 +189 1 454 455 +190 1 454 456 +191 1 292 293 +192 1 292 294 +193 1 346 347 +194 1 346 348 +195 1 490 491 +196 1 490 492 +197 1 451 452 +198 1 451 453 +199 1 325 326 +200 1 325 327 +201 1 472 473 +202 1 472 474 +203 1 427 428 +204 1 427 429 +205 1 475 476 +206 1 475 477 +207 1 493 494 +208 1 493 495 +209 1 511 512 +210 1 511 513 +211 1 619 620 +212 1 619 621 +213 1 118 119 +214 1 118 120 +215 1 643 644 +216 1 643 645 +217 1 121 122 +218 1 121 123 +219 1 514 515 +220 1 514 516 +221 1 607 608 +222 1 607 609 +223 1 517 518 +224 1 517 519 +225 1 622 623 +226 1 622 624 +227 1 715 716 +228 1 715 717 +229 1 391 392 +230 1 391 393 +231 1 361 362 +232 1 361 363 +233 1 268 269 +234 1 268 270 +235 1 502 503 +236 1 502 504 +237 1 133 134 +238 1 133 135 +239 1 529 530 +240 1 529 531 +241 1 637 638 +242 1 637 639 +243 1 640 641 +244 1 640 642 +245 1 655 656 +246 1 655 657 +247 1 658 659 +248 1 658 660 +249 1 151 152 +250 1 151 153 +251 1 661 662 +252 1 661 663 +253 1 154 155 +254 1 154 156 +255 1 124 125 +256 1 124 126 +257 1 625 626 +258 1 625 627 +259 1 376 377 +260 1 376 378 +261 1 520 521 +262 1 520 522 +263 1 532 533 +264 1 532 534 +265 1 646 647 +266 1 646 648 +267 1 535 536 +268 1 535 537 +269 1 430 431 +270 1 430 432 +271 1 664 665 +272 1 664 666 +273 1 526 527 +274 1 526 528 +275 1 649 650 +276 1 649 651 +277 1 541 542 +278 1 541 543 +279 1 379 380 +280 1 379 381 +281 1 106 107 +282 1 106 108 +283 1 487 488 +284 1 487 489 +285 1 685 686 +286 1 685 687 +287 1 610 611 +288 1 610 612 +289 1 631 632 +290 1 631 633 +291 1 634 635 +292 1 634 636 +293 1 523 524 +294 1 523 525 +295 1 505 506 +296 1 505 507 +297 1 508 509 +298 1 508 510 +299 1 412 413 +300 1 412 414 +301 1 628 629 +302 1 628 630 +303 1 667 668 +304 1 667 669 +305 1 145 146 +306 1 145 147 +307 1 670 671 +308 1 670 672 +309 1 652 653 +310 1 652 654 +311 1 544 545 +312 1 544 546 +313 1 139 140 +314 1 139 141 +315 1 583 584 +316 1 583 585 +317 1 673 674 +318 1 673 675 +319 1 691 692 +320 1 691 693 +321 1 547 548 +322 1 547 549 +323 1 676 677 +324 1 676 678 +325 1 694 695 +326 1 694 696 +327 1 553 554 +328 1 553 555 +329 1 481 482 +330 1 481 483 +331 1 697 698 +332 1 697 699 +333 1 571 572 +334 1 571 573 +335 1 604 605 +336 1 604 606 +337 1 187 188 +338 1 187 189 +339 1 568 569 +340 1 568 570 +341 1 709 710 +342 1 709 711 +343 1 478 479 +344 1 478 480 +345 1 712 713 +346 1 712 714 +347 1 208 209 +348 1 208 210 +349 1 349 350 +350 1 349 351 +351 1 601 602 +352 1 601 603 +353 1 211 212 +354 1 211 213 +355 1 679 680 +356 1 679 681 +357 1 682 683 +358 1 682 684 +359 1 196 197 +360 1 196 198 +361 1 574 575 +362 1 574 576 +363 1 721 722 +364 1 721 723 +365 1 160 161 +366 1 160 162 +367 1 703 704 +368 1 703 705 +369 1 616 617 +370 1 616 618 +371 1 484 485 +372 1 484 486 +373 1 700 701 +374 1 700 702 +375 1 718 719 +376 1 718 720 +377 1 613 614 +378 1 613 615 +379 1 592 593 +380 1 592 594 +381 1 220 221 +382 1 220 222 +383 1 577 578 +384 1 577 579 +385 1 724 725 +386 1 724 726 +387 1 550 551 +388 1 550 552 +389 1 169 170 +390 1 169 171 +391 1 469 470 +392 1 469 471 +393 1 559 560 +394 1 559 561 +395 1 562 563 +396 1 562 564 +397 1 580 581 +398 1 580 582 +399 1 688 689 +400 1 688 690 +401 1 202 203 +402 1 202 204 +403 1 184 185 +404 1 184 186 +405 1 538 539 +406 1 538 540 +407 1 598 599 +408 1 598 600 +409 1 112 113 +410 1 112 114 +411 1 706 707 +412 1 706 708 +413 1 172 173 +414 1 172 174 +415 1 433 434 +416 1 433 435 +417 1 205 206 +418 1 205 207 +419 1 556 557 +420 1 556 558 + +Angles + +1 1 278 277 279 +2 1 422 421 423 +3 1 242 241 243 +4 1 368 367 369 +5 1 245 244 246 +6 1 356 355 357 +7 1 371 370 372 +8 1 116 115 117 +9 1 338 337 339 +10 1 389 388 390 +11 1 500 499 501 +12 1 236 235 237 +13 1 386 385 387 +14 1 260 259 261 +15 1 290 289 291 +16 1 263 262 264 +17 1 281 280 282 +18 1 407 406 408 +19 1 404 403 405 +20 1 410 409 411 +21 1 284 283 285 +22 1 299 298 300 +23 1 248 247 249 +24 1 233 232 234 +25 1 104 103 105 +26 1 251 250 252 +27 1 374 373 375 +28 1 266 265 267 +29 1 230 229 231 +30 1 497 496 498 +31 1 359 358 360 +32 1 254 253 255 +33 1 101 100 102 +34 1 179 178 180 +35 1 287 286 288 +36 1 395 394 396 +37 1 167 166 168 +38 1 398 397 399 +39 1 158 157 159 +40 1 257 256 258 +41 1 383 382 384 +42 1 137 136 138 +43 1 128 127 129 +44 1 272 271 273 +45 1 416 415 417 +46 1 401 400 402 +47 1 275 274 276 +48 1 131 130 132 +49 1 419 418 420 +50 1 110 109 111 +51 1 143 142 144 +52 1 164 163 165 +53 1 149 148 150 +54 1 296 295 297 +55 1 200 199 201 +56 1 317 316 318 +57 1 425 424 426 +58 1 440 439 441 +59 1 446 445 447 +60 1 461 460 462 +61 1 314 313 315 +62 1 443 442 444 +63 1 224 223 225 +64 1 353 352 354 +65 1 332 331 333 +66 1 335 334 336 +67 1 458 457 459 +68 1 320 319 321 +69 1 98 97 99 +70 1 587 586 588 +71 1 227 226 228 +72 1 194 193 195 +73 1 191 190 192 +74 1 239 238 240 +75 1 305 304 306 +76 1 302 301 303 +77 1 323 322 324 +78 1 449 448 450 +79 1 182 181 183 +80 1 308 307 309 +81 1 176 175 177 +82 1 215 214 216 +83 1 464 463 465 +84 1 590 589 591 +85 1 218 217 219 +86 1 437 436 438 +87 1 341 340 342 +88 1 344 343 345 +89 1 467 466 468 +90 1 365 364 366 +91 1 596 595 597 +92 1 566 565 567 +93 1 311 310 312 +94 1 329 328 330 +95 1 455 454 456 +96 1 293 292 294 +97 1 347 346 348 +98 1 491 490 492 +99 1 452 451 453 +100 1 326 325 327 +101 1 473 472 474 +102 1 428 427 429 +103 1 476 475 477 +104 1 494 493 495 +105 1 512 511 513 +106 1 620 619 621 +107 1 119 118 120 +108 1 644 643 645 +109 1 122 121 123 +110 1 515 514 516 +111 1 608 607 609 +112 1 518 517 519 +113 1 623 622 624 +114 1 716 715 717 +115 1 392 391 393 +116 1 362 361 363 +117 1 269 268 270 +118 1 503 502 504 +119 1 134 133 135 +120 1 530 529 531 +121 1 638 637 639 +122 1 641 640 642 +123 1 656 655 657 +124 1 659 658 660 +125 1 152 151 153 +126 1 662 661 663 +127 1 155 154 156 +128 1 125 124 126 +129 1 626 625 627 +130 1 377 376 378 +131 1 521 520 522 +132 1 533 532 534 +133 1 647 646 648 +134 1 536 535 537 +135 1 431 430 432 +136 1 665 664 666 +137 1 527 526 528 +138 1 650 649 651 +139 1 542 541 543 +140 1 380 379 381 +141 1 107 106 108 +142 1 488 487 489 +143 1 686 685 687 +144 1 611 610 612 +145 1 632 631 633 +146 1 635 634 636 +147 1 524 523 525 +148 1 506 505 507 +149 1 509 508 510 +150 1 413 412 414 +151 1 629 628 630 +152 1 668 667 669 +153 1 146 145 147 +154 1 671 670 672 +155 1 653 652 654 +156 1 545 544 546 +157 1 140 139 141 +158 1 584 583 585 +159 1 674 673 675 +160 1 692 691 693 +161 1 548 547 549 +162 1 677 676 678 +163 1 695 694 696 +164 1 554 553 555 +165 1 482 481 483 +166 1 698 697 699 +167 1 572 571 573 +168 1 605 604 606 +169 1 188 187 189 +170 1 569 568 570 +171 1 710 709 711 +172 1 479 478 480 +173 1 713 712 714 +174 1 209 208 210 +175 1 350 349 351 +176 1 602 601 603 +177 1 212 211 213 +178 1 680 679 681 +179 1 683 682 684 +180 1 197 196 198 +181 1 575 574 576 +182 1 722 721 723 +183 1 161 160 162 +184 1 704 703 705 +185 1 617 616 618 +186 1 485 484 486 +187 1 701 700 702 +188 1 719 718 720 +189 1 614 613 615 +190 1 593 592 594 +191 1 221 220 222 +192 1 578 577 579 +193 1 725 724 726 +194 1 551 550 552 +195 1 170 169 171 +196 1 470 469 471 +197 1 560 559 561 +198 1 563 562 564 +199 1 581 580 582 +200 1 689 688 690 +201 1 203 202 204 +202 1 185 184 186 +203 1 539 538 540 +204 1 599 598 600 +205 1 113 112 114 +206 1 707 706 708 +207 1 173 172 174 +208 1 434 433 435 +209 1 206 205 207 +210 1 557 556 558 diff --git a/examples/PACKAGES/electrode/piston/data.piston.final b/examples/PACKAGES/electrode/piston/data.piston.final new file mode 100644 index 0000000000..8549261a3f --- /dev/null +++ b/examples/PACKAGES/electrode/piston/data.piston.final @@ -0,0 +1,2128 @@ +LAMMPS data file via write_data, version 3 Nov 2022, timestep = 100000 + +726 atoms +4 atom types +420 bonds +1 bond types +210 angles +1 angle types + +0 17.6494 xlo xhi +0 20.3798 ylo yhi +0 26 zlo zhi + +Masses + +1 500 +2 196.97 +3 15.9994 +4 1.008 + +Pair Coeffs # lj/cut/coul/long + +1 0.069 2.78 +2 5.29 2.951 +3 0.1553 3.166 +4 0 0 + +Bond Coeffs # harmonic + +1 600 1 + +Angle Coeffs # harmonic + +1 75 109.47 + +Atoms # full + +49 25 2 0.008543040314262548 0 0 2.4018 0 0 0 +50 25 2 0.0160448240953976 1.4708 2.5475 2.4018 0 0 0 +51 26 2 -0.0079256875305239 0 5.0949 2.4018 0 0 0 +57 29 2 -0.005227878579680007 2.9416 0 2.4018 0 0 0 +58 29 2 0.01534182829253148 4.4124 2.5475 2.4018 0 0 0 +59 30 2 0.005249625623138609 2.9416 5.0949 2.4018 0 0 0 +676 242 3 -0.8476 2.819460981381933 5.027845836373835 5.552858700712285 1 0 0 +677 242 4 0.4238 3.6237064095951212 5.498057979630644 5.1894159030362905 1 0 0 +678 242 4 0.4238 3.0474931330566792 4.071918834795528 5.737806475295655 1 0 0 +709 253 3 -0.8476 3.326005069719568 2.1405935467748485 5.508189818283542 1 1 0 +195 81 4 0.4238 0.9649465875607126 4.340812162842168 5.657183047543541 0 0 0 +193 81 3 -0.8476 0.07822017262197362 3.9629228426194305 5.3908801998879925 0 0 0 +194 81 4 0.4238 0.11965319368873736 2.964163951647319 5.41854519664211 0 0 0 +103 51 3 -0.8476 6.804813198264613 5.084871250040471 11.277692419576146 1 0 0 +710 253 4 0.4238 2.3404190574558714 1.9714070000250485 5.508878140894409 1 1 0 +713 254 4 0.4238 9.064078450490644 2.446520257897097 5.3348626027546535 0 1 0 +65 33 2 0.01159205120014908 5.8832 0 2.4018 0 0 0 +66 33 2 0.01814012345205012 7.354000000000001 2.5475 2.4018 0 0 0 +67 34 2 0.001406594129736151 5.8832 5.0949 2.4018 0 0 0 +73 37 2 0.007725405338865237 8.8248 0 2.4018 0 0 0 +74 37 2 0.01259870480846824 10.2956 2.5475 2.4018 0 0 0 +75 38 2 -0.0004634638718638646 8.8248 5.0949 2.4018 0 0 0 +712 254 3 -0.8476 8.802633903527065 3.406390680517518 5.233373245990451 0 1 0 +714 254 4 0.4238 9.596656647074049 3.988446812598421 5.408709008648956 0 1 0 +604 218 3 -0.8476 10.053718350737668 0.9458152116350096 5.395407376762871 0 0 0 +189 79 4 0.4238 7.4156883111781475 3.478062124305858 6.469061899326572 -1 1 0 +170 73 4 0.4238 11.80947244959249 4.900763207760851 5.38132073658318 -1 0 0 +315 121 4 0.4238 12.776759773328315 8.761973185109612 12.512691519633954 0 0 0 +605 218 4 0.4238 11.02536148980741 0.7580225920428326 5.251723453806732 0 0 0 +116 55 4 0.4238 6.860405297106715 1.6714006503015966 5.673388843698673 -1 0 0 +388 146 3 -0.8476 13.766836983830515 3.9827224990972567 5.330985943540624 0 -1 0 +389 146 4 0.4238 13.425795558197045 3.8960741688633775 6.267033057995917 0 -1 0 +586 212 3 -0.8476 12.99172583601213 0.9627880677417303 5.186804494815568 0 1 0 +81 41 2 -0.006484897416350773 11.7664 0 2.4018 0 0 0 +82 41 2 0.008703081094077752 13.237200000000001 2.5475 2.4018 0 0 0 +83 42 2 0.00416546498595383 11.7664 5.0949 2.4018 0 0 0 +89 45 2 -0.01428117869162144 14.708000000000002 0 2.4018 0 0 0 +90 45 2 0.008098914705004666 16.178800000000003 2.5475 2.4018 0 0 0 +91 46 2 -0.02631301835063423 14.708000000000002 5.0949 2.4018 0 0 0 +601 217 3 -0.8476 14.580700057086469 2.470074704951404 9.549553516230905 0 0 0 +602 217 4 0.4238 13.852177407353523 2.485606699806581 10.234399813568656 0 0 0 +107 52 4 0.4238 1.7753325684361263 5.260464281758941 12.927518370297552 0 0 0 +603 217 4 0.4238 15.320102605212748 3.0795550665438127 9.835591885333054 0 0 0 +378 142 4 0.4238 15.457095569986127 9.173371129323348 12.171458596416667 0 -1 0 +422 157 4 0.4238 4.786861348572543 7.318978962263422 5.502857747714512 0 0 0 +52 26 2 -0.01097199601095499 1.4708 7.6424 2.4018 0 0 0 +53 27 2 0.01511923962052951 0 10.1898 2.4018 0 0 0 +60 30 2 -0.006773385603520778 4.4124 7.6424 2.4018 0 0 0 +61 31 2 -0.0006618884891667937 2.9416 10.1898 2.4018 0 0 0 +316 122 3 -0.8476 13.376991964874126 9.733980167782747 5.2443510947274685 -1 0 0 +423 157 4 0.4238 6.118596559257136 6.376695231617992 5.575034452052516 0 0 0 +421 157 3 -0.8476 5.134517216890271 6.414178710640228 5.748768298079106 0 0 0 +643 231 3 -0.8476 3.1763474635956395 8.886111555148053 5.282080436718036 1 0 0 +644 231 4 0.4238 2.513118087318634 8.218141042299745 4.944523274214661 1 0 0 +581 210 4 0.4238 1.9210593488372454 5.953179684029002 6.41990460669887 1 2 0 +426 158 4 0.4238 15.617845693245721 0.24896899149304588 12.27982548992809 0 0 0 +582 210 4 0.4238 0.738973409880735 7.079488872493541 6.392936823978947 1 2 0 +299 116 4 0.4238 1.8742478531098932 0.3995180953106482 9.934219884593341 0 0 0 +691 247 3 -0.8476 7.689714173805594 6.217320019017989 5.258073041482447 0 0 0 +693 247 4 0.4238 8.37284176321211 6.235548870214623 5.9881454257142686 0 0 0 +369 139 4 0.4238 8.495516986476424 8.433565798354097 5.028752451013381 0 0 0 +300 116 4 0.4238 2.911599743969392 1.5040316802567835 10.542971525540692 0 0 0 +367 139 3 -0.8476 8.981733107973055 8.98237922473984 5.708751536331027 0 0 0 +368 139 4 0.4238 9.966826030721563 8.844561146157186 5.605781099266854 0 0 0 +68 34 2 -0.005353421945912079 7.354000000000001 7.6424 2.4018 0 0 0 +69 35 2 -0.02242224817485722 5.8832 10.1898 2.4018 0 0 0 +76 38 2 -0.008749553110635829 10.2956 7.6424 2.4018 0 0 0 +77 39 2 -0.001587975150694571 8.8248 10.1898 2.4018 0 0 0 +169 73 3 -0.8476 10.86775468338433 5.19328586965271 5.547456960295855 -1 0 0 +171 73 4 0.4238 10.800651355284717 6.183975873079292 5.42898775849054 -1 0 0 +425 158 4 0.4238 16.365686839954538 1.6918548567498142 12.120323120019671 0 0 0 +543 197 4 0.4238 15.74455376269356 5.985972014656273 4.244902593730374 1 -1 0 +522 190 4 0.4238 12.358773694396177 8.241027948029787 5.4342692843409335 0 0 0 +541 197 3 -0.8476 15.948040102134595 5.877893730968188 5.217997046194076 1 -1 0 +520 190 3 -0.8476 11.521538237363735 7.820855042448146 5.784258984209179 0 0 0 +521 190 4 0.4238 11.640196773280092 7.596913910660865 6.751612100022279 0 0 0 +213 87 4 0.4238 16.94869795729418 7.658694530040734 4.96211922323137 -1 1 0 +84 42 2 -0.02253342595559467 13.237200000000001 7.6424 2.4018 0 0 0 +85 43 2 -0.02386325442458492 11.7664 10.1898 2.4018 0 0 0 +92 46 2 -0.03395260336333754 16.178800000000003 7.6424 2.4018 0 0 0 +93 47 2 -0.02530118571584997 14.708000000000002 10.1898 2.4018 0 0 0 +211 87 3 -0.8476 17.523577595505472 8.373665168921514 5.360027780919543 -1 1 0 +212 87 4 0.4238 17.0831513845729 9.262879118182907 5.236238106470797 -1 1 0 +205 85 3 -0.8476 5.522367248324516 5.082933874779558 8.132800488002275 0 0 0 +207 85 4 0.4238 4.856839636565012 5.040433764778345 8.877963749174969 0 0 0 +206 85 4 0.4238 5.248881626300537 5.7908645558964675 7.4816162727356925 0 0 0 +188 79 4 0.4238 6.497322905499542 3.778149013994996 7.785564626115502 -1 1 0 +104 51 4 0.4238 6.975223059984354 6.057718294907826 11.434323932547846 1 0 0 +240 96 4 0.4238 15.907149183138676 1.5390029324335393 8.501706376153551 0 0 0 +186 78 4 0.4238 10.809679491055352 4.82920260257931 12.234285165918621 -1 0 0 +627 225 4 0.4238 1.142311523721859 0.5701072346557061 5.407977967350236 1 0 0 +679 243 3 -0.8476 14.388344112145468 5.895841187409739 12.553492598002434 0 0 0 +298 116 3 -0.8476 2.249658462135075 0.7910692719529153 10.774314024535329 0 0 0 +498 182 4 0.4238 3.1782299333534842 4.421584435342713 10.843305251025729 0 0 0 +242 97 4 0.4238 0.11372454909840307 4.5608406751586585 8.512959914844476 1 0 0 +497 182 4 0.4238 3.635093197649102 3.6372270746257795 9.485847319495857 0 0 0 +496 182 3 -0.8476 3.891719288381077 4.3420728032109785 10.147162657393025 0 0 0 +243 97 4 0.4238 1.166929713515916 3.3148448925475837 8.443094046894181 1 0 0 +653 234 4 0.4238 7.986724447375092 9.58663088134249 7.078331051080797 0 -1 0 +291 113 4 0.4238 1.3902648936489443 6.574700931558314 8.627083040419217 2 0 0 +476 175 4 0.4238 10.873396710796088 3.7503648821895377 7.099886667034369 0 0 0 +626 225 4 0.4238 17.341387780659073 1.3131579087511918 5.302792549204005 0 0 0 +187 79 3 -0.8476 6.972728954372332 3.0679623101137263 7.266310623507446 -1 1 0 +198 82 4 0.4238 11.676864533923228 2.4008557059764484 11.887821076968272 0 1 0 +477 175 4 0.4238 11.028257394545655 2.35049554258184 6.2734372961507034 0 0 0 +385 145 3 -0.8476 9.464341047888412 3.3817188372167357 10.216775935923458 0 0 0 +432 160 4 0.4238 7.4158023596883 5.242602008656209 8.911704625300178 1 0 0 +386 145 4 0.4238 9.834023311752183 3.1577521519269993 11.118538449130567 0 0 0 +387 145 4 0.4238 8.839522007452976 2.6580907515237095 9.923575914839613 0 0 0 +431 160 4 0.4238 8.97937772550123 4.855861822733754 9.180574759645397 1 0 0 +430 160 3 -0.8476 8.360641109810988 5.4265820345806866 8.640716144277553 1 0 0 +475 175 3 -0.8476 11.185122253842481 2.80161992224134 7.152006656534362 0 0 0 +577 209 3 -0.8476 11.892138326574036 4.606875557740573 8.77639055263619 0 0 0 +578 209 4 0.4238 11.15205283743665 4.662613397329064 9.446591004081876 0 0 0 +579 209 4 0.4238 11.806616036319609 3.757706369789849 8.255238997490805 0 0 0 +282 110 4 0.4238 11.993978725584078 0.6955935520855357 10.362669416358116 1 -1 0 +281 110 4 0.4238 13.246870870022725 0.7932688823507881 11.405429138463369 1 -1 0 +280 110 3 -0.8476 12.399897412926068 1.230819260076083 11.103456814170583 1 -1 0 +576 208 4 0.4238 7.424477420107739 1.9205433206111677 8.347065650914391 0 0 0 +115 55 3 -0.8476 6.566829197641645 0.7852168728409362 5.314930190030221 -1 0 0 +117 55 4 0.4238 7.3699037409564365 0.24315040972892277 5.0674680046309595 -1 0 0 +654 234 4 0.4238 6.5231563540652955 9.334766916189148 7.757419217563333 0 -1 0 +196 82 3 -0.8476 11.325205678636125 3.0960265761644146 12.514778502806406 0 1 0 +353 134 4 0.4238 10.34648669613546 9.717097284025227 12.21531953491664 1 -1 0 +575 208 4 0.4238 6.8621106467674515 0.6153612624236356 9.151348490167914 0 0 0 +390 146 4 0.4238 14.71592873372509 4.297162424310161 5.349801109951233 0 -1 0 +468 172 4 0.4238 14.334820367346975 9.458375422451784 9.389857451086156 0 1 0 +680 243 4 0.4238 14.420209860242771 5.620779336744502 11.592592717412877 0 0 0 +401 150 4 0.4238 13.58439176144119 5.20555361726743 9.602450324228725 0 0 0 +241 97 3 -0.8476 0.3452523216688656 3.6651747745441994 8.892669971959721 1 0 0 +400 150 3 -0.8476 14.455722458405065 5.628055139668128 9.852004866869082 0 0 0 +562 204 3 -0.8476 16.641350343283886 4.083296189715342 10.989056663280612 0 0 0 +563 204 4 0.4238 16.037770379422128 4.850987807509285 10.773784577109874 0 0 0 +564 204 4 0.4238 17.178401412678653 3.844498107566038 10.180011679572727 0 0 0 +687 245 4 0.4238 16.714761709756484 4.337732009968187 12.639387839102408 0 0 0 +467 172 4 0.4238 13.346114040811248 9.313588789790407 10.681417293752048 0 1 0 +666 238 4 0.4238 4.34126756117676 8.905137414158627 6.516509692747207 0 0 0 +664 238 3 -0.8476 4.751093055532058 9.063792850376354 7.414773021734108 0 0 0 +637 229 3 -0.8476 0.7471877141074242 8.354301697005937 11.535489275372338 1 -1 0 +290 113 4 0.4238 1.5797294433316216 5.599705770675408 9.923275349951421 2 0 0 +652 234 3 -0.8476 7.361488829472968 9.878076947823384 7.802307315600979 0 -1 0 +402 150 4 0.4238 14.817635634485477 6.133309514160487 9.068590593856563 0 0 0 +257 102 4 0.4238 2.654784049830047 9.360773717063745 10.840199367879586 1 0 0 +256 102 3 -0.8476 2.7861525988520546 9.125527207512318 9.87717977353219 1 0 0 +424 158 3 -0.8476 16.282645750155215 0.8737366464771422 12.689346105039219 0 0 0 +665 238 4 0.4238 4.161382545837657 8.676258785766425 8.123335852134215 0 0 0 +122 57 4 0.4238 7.825760402756952 0.4118083408578644 10.770069138315867 0 0 0 +258 102 4 0.4238 2.6507626673715956 8.142581237775797 9.752715909565804 1 0 0 +466 172 3 -0.8476 13.51508294943025 9.818693918214702 9.83505984792318 0 1 0 +377 142 4 0.4238 17.080578433321772 9.22752863551317 12.004131277448275 0 -1 0 +105 51 4 0.4238 5.853746057457844 4.953910172266563 10.997832121722793 1 0 0 +580 210 3 -0.8476 1.3210642970676016 6.5207610408534675 6.98369360583625 1 2 0 +638 229 4 0.4238 0.9970176405359414 7.548196505367084 10.999036348164699 1 -1 0 +717 255 4 0.4238 12.39024162854418 0.28840285676654837 6.591412796748799 1 1 0 +352 134 3 -0.8476 11.226526547688243 9.242192984029268 12.216220312698256 1 -1 0 +137 62 4 0.4238 2.027815877839267 1.8732362417553365 7.987025431651223 0 0 0 +692 247 4 0.4238 7.786529711776536 5.3723882747118985 4.732032313657794 0 0 0 +645 231 4 0.4238 2.8214978665553723 9.809957726487395 5.138560233155634 1 0 0 +185 78 4 0.4238 10.316334741569422 6.044854419256892 11.261952987588222 -1 0 0 +292 114 3 -0.8476 5.67656046565693 9.596732521658042 10.995975339349497 0 0 0 +294 114 4 0.4238 4.789939140622079 9.742378050555555 11.434941355604284 0 0 0 +574 208 3 -0.8476 7.516492206466037 1.3710743960569696 9.177498905408314 0 0 0 +711 253 4 0.4238 3.810396593432228 1.2880838486682353 5.311739399800884 1 1 0 +437 162 4 0.4238 6.860466827809697 8.422553075168016 11.337314477776795 1 0 0 +436 162 3 -0.8476 7.571135241081482 7.730803749388945 11.465517092648946 1 0 0 +588 212 4 0.4238 13.498663213828278 0.38996264096399363 4.542687820493753 0 1 0 +438 162 4 0.4238 8.31154777226707 7.888534002434359 10.812132835679304 1 0 0 +701 250 4 0.4238 9.286513797831446 6.646575924029509 9.147658317438076 2 -1 0 +700 250 3 -0.8476 9.643385938511667 7.47449461758298 9.580320183736939 2 -1 0 +513 187 4 0.4238 1.8185112493161812 10.053298043923604 8.893843011592004 1 0 0 +106 52 3 -0.8476 2.266275159877156 4.688670030017356 12.270229177579722 0 0 0 +702 250 4 0.4238 10.60077224354893 7.600272590312019 9.32033378097907 2 -1 0 +138 62 4 0.4238 3.3080664559545965 2.543423811679406 7.226477171885048 0 0 0 +542 197 4 0.4238 16.61438869395917 5.142214492766869 5.339474575210934 1 -1 0 +376 142 3 -0.8476 16.267806197381876 9.752608027087469 12.256508250931114 0 -1 0 +639 229 4 0.4238 1.2657862555275905 8.359520313997795 12.390492314175315 1 -1 0 +524 191 4 0.4238 13.000197848284115 7.591623195457351 8.231720539306574 0 -1 0 +360 136 4 0.4238 16.927450088881905 9.623013099606048 8.250041448548666 0 0 0 +359 136 4 0.4238 16.11845308444977 9.867127694636144 6.852701508709072 0 0 0 +358 136 3 -0.8476 16.050165493006663 9.508888830997453 7.78383224839627 0 0 0 +289 113 3 -0.8476 1.4110503224699262 6.539558634958015 9.626249498776556 2 0 0 +384 144 4 0.4238 2.493028840280995 9.719794300761412 12.910496964228098 0 -1 0 +406 152 3 -0.8476 15.247929159060655 7.012234071819868 7.773022011622398 0 0 0 +408 152 4 0.4238 15.48816222034174 6.532006856700564 6.929416156188867 0 0 0 +523 191 3 -0.8476 12.082020144652011 7.21880883213217 8.365736806678662 0 -1 0 +407 152 4 0.4238 15.63244454689617 7.93511971351192 7.752267289359093 0 0 0 +525 191 4 0.4238 12.142278624301815 6.233249103608379 8.523992954763008 0 -1 0 +625 225 3 -0.8476 0.6808462683385743 1.4551937786169056 5.347366251301949 1 0 0 +136 62 3 -0.8476 2.697762074389062 2.615104290660337 8.015394827891544 0 0 0 +587 212 4 0.4238 13.566186954572455 1.7288682835758 5.475103447756109 0 1 0 +184 78 3 -0.8476 10.806213490399747 5.820732453607262 12.104443472749216 -1 0 0 +404 151 4 0.4238 0.19226097555573238 0.6070051864264498 8.178840137751594 1 0 0 +313 121 3 -0.8476 13.713176980186857 8.464536347918953 12.326518306939699 0 0 0 +238 96 3 -0.8476 16.147179753895433 0.6588013419307613 8.092271913343968 0 0 0 +461 170 4 0.4238 9.724872597026858 0.5544258850846108 9.053145916541903 0 0 0 +354 134 4 0.4238 11.073991971501862 8.257853428140294 12.30459990822289 1 -1 0 +314 121 4 0.4238 13.814688248066297 7.503222137375749 12.582601723500172 0 0 0 +403 151 3 -0.8476 1.1872556285218714 0.5093445341888718 8.200033176326532 1 0 0 +698 249 4 0.4238 15.55803239857769 0.7459365278981882 6.259847956511043 0 1 0 +114 54 4 0.4238 7.782158286850564 4.869601692703211 12.807668425470919 0 -1 0 +697 249 3 -0.8476 15.855429109033778 0.4369326727389228 5.356480411028421 0 1 0 +606 218 4 0.4238 9.544775439662294 0.08501982626141869 5.398561718648435 0 0 0 +317 122 4 0.4238 13.333479801593976 9.740943665116738 4.24532200523119 -1 0 0 +108 52 4 0.4238 2.6709587275475806 3.9072302649054578 12.745192231166719 0 0 0 +382 144 3 -0.8476 3.147429286024961 10.109636142426924 12.262589634326233 0 -1 0 +219 89 4 0.4238 6.364020207274239 2.520405553770681 12.99540340928131 0 1 0 +670 240 3 -0.8476 6.773533755134105 3.717038175159099 16.491590206755482 1 1 0 +396 148 4 0.4238 5.803462923264418 5.197637234493128 18.99743460565577 1 0 0 +395 148 4 0.4238 6.231119807997449 5.430041501948986 17.438676906564567 1 0 0 +394 148 3 -0.8476 5.703165163684741 5.798066954915367 18.20406962093302 1 0 0 +204 84 4 0.4238 0.9285041127500067 6.081115753960207 17.765142563298816 0 0 0 +608 219 4 0.4238 3.4847098211944805 4.983851303239975 16.51022523448973 2 0 0 +203 84 4 0.4238 2.239308631405881 6.936298376846396 18.23106240529696 0 0 0 +202 84 3 -0.8476 1.7977361263740537 6.4724758132065725 17.4630234950725 0 0 0 +486 178 4 0.4238 1.5196084362896762 6.12225022226849 15.824399106036145 2 -1 0 +347 132 4 0.4238 3.6682462328407848 1.7981456998993772 14.104840128555262 0 0 0 +45 23 1 0.006123381361742108 14.708000000000002 10.1898 23.449863020791625 0 0 0 +471 173 4 0.4238 1.169657196352889 2.3243122122885453 14.225856073802426 1 0 0 +348 132 4 0.4238 3.2986057185518605 3.2227066069571335 14.81238521553265 0 0 0 +275 108 4 0.4238 3.030667138719297 2.590837305059514 17.506935704777117 0 1 0 +346 132 3 -0.8476 3.0631397880047393 2.5935970488364877 14.071588140230032 0 0 0 +572 207 4 0.4238 5.938146311728662 1.1988717244542944 18.449373741134067 2 0 0 +338 129 4 0.4238 3.072928503496896 1.7841590474751556 19.542649762121915 1 1 0 +485 178 4 0.4238 0.47678333061827677 5.47396748641097 14.747888473867437 2 -1 0 +571 207 3 -0.8476 5.4801718917026605 1.015513120679157 17.579521025148217 2 0 0 +591 213 4 0.4238 1.6285162972905645 3.4120124953752153 19.93620754678186 1 0 0 +589 213 3 -0.8476 0.8251068536873744 3.8954462084678685 20.28381032825206 1 0 0 +607 219 3 -0.8476 3.867930772442749 4.066191566694831 16.405134372982015 2 0 0 +609 219 4 0.4238 4.806032103818568 4.055085076366629 16.75132234398619 2 0 0 +180 76 4 0.4238 6.828372582015677 7.87413160734309 14.827932072927481 1 0 0 +274 108 3 -0.8476 2.2754290519199434 2.0804855419940176 17.918224542873194 0 1 0 +686 245 4 0.4238 17.05951378440882 3.718092322788279 14.110381025997988 0 0 0 +671 240 4 0.4238 7.723844896306422 3.5324942522771177 16.240882591061286 1 1 0 +672 240 4 0.4238 6.164914683475686 3.1703614971042993 15.916500506334968 1 1 0 +112 54 3 -0.8476 8.040671566798173 4.854493140691428 13.773559856960954 0 -1 0 +681 243 4 0.4238 14.923807986964198 5.253612199100808 13.101965411111607 0 0 0 +113 54 4 0.4238 7.6698060149863725 5.662965420048592 14.230545447349645 0 -1 0 +344 131 4 0.4238 10.95474300812148 4.0896914619293145 14.970342975126565 1 0 0 +343 131 3 -0.8476 10.063394350235356 3.7363576006086254 15.254338082590541 1 0 0 +345 131 4 0.4238 9.34090547780924 4.213383582128138 14.753881815078818 1 0 0 +255 101 4 0.4238 10.85824303556981 3.0901798958905475 17.415063203472258 1 1 0 +254 101 4 0.4238 10.431165704841273 2.7912121126124174 18.962593602768095 1 1 0 +309 119 4 0.4238 9.657908807892223 1.9712599592283588 15.351618323136861 0 0 0 +253 101 3 -0.8476 11.154265512428617 3.1439882841524334 18.368727773437268 1 1 0 +479 176 4 0.4238 5.403795086006659 1.4149877692142259 20.021771864299765 0 -1 0 +109 53 3 -0.8476 8.600205030653099 2.2462808893047232 19.821549314151852 -1 -1 0 +480 176 4 0.4238 6.258921142430334 0.1412548703721989 20.581229029437516 0 -1 0 +375 141 4 0.4238 9.117868061991976 1.036566241068436 18.751587159762384 1 0 0 +44 22 1 -0.0001812904321965569 16.178800000000003 7.6424 23.449863020791625 0 0 0 +110 53 4 0.4238 7.727663154061957 1.8390933537663159 20.091493343399456 -1 -1 0 +307 119 3 -0.8476 9.343792417931972 1.0220586309221074 15.332862776937171 0 0 0 +685 245 3 -0.8476 16.514983914712488 4.396701916152739 13.617453660612183 0 0 0 +635 228 4 0.4238 14.934439265290866 2.288341571568405 19.356194526021124 -1 1 0 +636 228 4 0.4238 16.2158222895273 2.6797206531874846 18.422648696940644 -1 1 0 +271 107 3 -0.8476 14.384906263459381 5.231528110011023 18.211019803516685 0 0 0 +722 257 4 0.4238 0.7841546606140447 3.2030543524924195 17.73657679021505 1 0 0 +481 177 3 -0.8476 12.581138481752648 4.859708235311564 14.646852856409735 0 -1 0 +721 257 3 -0.8476 17.60844845622247 3.454378290202139 17.230572913673747 0 0 0 +483 177 4 0.4238 13.160238723845719 4.100628436368969 14.944244840432273 0 -1 0 +723 257 4 0.4238 17.606644439674373 2.9907645897973025 16.344535049328133 0 0 0 +482 177 4 0.4238 13.012070955214067 5.324546157865892 13.873402918227042 0 -1 0 +210 86 4 0.4238 15.870038382436055 6.148820952871613 19.006015180550836 0 0 0 +208 86 3 -0.8476 16.865547237935143 6.098380167171903 19.086141002575904 0 0 0 +469 173 3 -0.8476 0.24099730438873146 2.3625139757391653 14.594820907791535 1 0 0 +209 86 4 0.4238 17.139292025421696 5.150302069211487 19.248054676505525 0 0 0 +688 246 3 -0.8476 14.623886499778722 3.6932990280304163 15.732807373833925 0 0 0 +690 246 4 0.4238 14.619196195132695 3.9139495349394897 16.70815146361856 0 0 0 +634 228 3 -0.8476 15.93174987773314 2.3544851495071337 19.324605678443945 -1 1 0 +689 246 4 0.4238 15.265375999751216 4.295738562336769 15.257869634602969 0 0 0 +662 237 4 0.4238 4.978031757165134 0.7547617838359337 14.20344931791269 0 0 0 +149 66 4 0.4238 6.142925343814942 8.825398894478063 19.325397902096977 1 -1 0 +590 213 4 0.4238 0.07861235173383108 3.2446527141465413 20.422437871943448 1 0 0 +433 161 3 -0.8476 13.453174159881309 1.2429493424526434 18.58612891404859 1 0 0 +435 161 4 0.4238 13.569356144672101 0.9791538990920698 17.628571988252272 1 0 0 +102 50 4 0.4238 6.712168198770753 6.861720337029987 19.24687390403485 2 0 0 +140 63 4 0.4238 14.018366924616625 9.69491277775119 14.008138262339143 -2 -1 0 +417 155 4 0.4238 5.208444868460392 7.220217558553598 16.73639408130369 0 0 0 +415 155 3 -0.8476 5.290910423508213 8.090179521588407 16.250219145720393 0 0 0 +416 155 4 0.4238 4.571517941560458 8.713170942042227 16.557394543089575 0 0 0 +459 169 4 0.4238 1.274864904832181 9.57147587035769 16.73714616564885 1 0 0 +217 89 3 -0.8476 6.03252642387316 1.682543967490432 13.429110083925117 0 1 0 +478 176 3 -0.8476 6.321181520041977 1.0326296477116548 20.13225702561793 0 -1 0 +361 137 3 -0.8476 1.6007303313238133 8.59744641622387 14.087757338010231 1 -1 0 +197 82 4 0.4238 11.189299229444917 2.6912260959037098 13.419027842857094 0 1 0 +650 233 4 0.4238 14.003306552648727 1.5742686356038393 16.043690746479285 1 0 0 +488 179 4 0.4238 14.200182875506746 9.953534892777244 19.839371915250766 1 -1 0 +484 178 3 -0.8476 1.310019783094791 6.016938649674422 14.852293828373476 2 -1 0 +661 237 3 -0.8476 4.352879610820145 0.25944931473696636 14.80665155844631 0 0 0 +363 137 4 0.4238 1.959463608305586 9.151048377028488 14.839313627996184 1 -1 0 +100 50 3 -0.8476 7.520229491829531 7.3048366120870165 19.635059688498004 2 0 0 +707 252 4 0.4238 11.76043130595752 9.939320694789002 19.71667383739911 0 1 0 +178 76 3 -0.8476 7.517489493276682 7.333706134334132 14.345168774847096 1 0 0 +684 244 4 0.4238 17.28192914942711 9.812564778400814 18.086534426021203 0 1 0 +36 18 1 -0.0179910439504863 13.237200000000001 7.6424 23.449863020791625 0 0 0 +276 108 4 0.4238 2.207595987778979 1.1805886699543764 17.487427077013713 0 1 0 +214 88 3 -0.8476 8.637264772060341 8.061628662502454 16.90108297131685 -1 0 0 +216 88 4 0.4238 9.630438446102557 8.174027520932198 16.932331381504746 -1 0 0 +539 196 4 0.4238 9.695497532266977 6.886264199273172 14.189789226002413 2 0 0 +538 196 3 -0.8476 10.563020232995258 6.775061520800534 14.674598753985302 2 0 0 +252 100 4 0.4238 7.685168241584919 9.610566187163585 16.889892309335206 0 0 0 +228 92 4 0.4238 11.050503228858997 8.010373029173316 15.663121686944693 0 -1 0 +226 92 3 -0.8476 11.28429273467671 8.543911989710573 16.475943851978776 0 -1 0 +227 92 4 0.4238 11.344287050217062 9.512148354407193 16.233205016457113 0 -1 0 +540 196 4 0.4238 11.161666855372657 6.168261200879016 14.151701557933738 2 0 0 +596 215 4 0.4238 12.771065336519738 7.748494590220643 16.220536748708703 1 -1 0 +215 88 4 0.4238 8.374011229887373 7.6671090745462545 16.020711214547347 -1 0 0 +234 94 4 0.4238 16.576430424719607 0.5062309843763978 19.13844592766813 0 0 0 +706 252 3 -0.8476 12.36193947812822 9.160747667168573 19.537751621413815 0 1 0 +708 252 4 0.4238 11.865171027143662 8.469425792189265 19.01306505088366 0 1 0 +373 141 3 -0.8476 9.412620718118959 0.35565490575707015 18.08114998455027 1 0 0 +272 107 4 0.4238 13.96923862413299 5.521984167683582 19.072911164078484 0 0 0 +273 107 4 0.4238 14.169684339674113 5.896953089438392 17.496254328798827 0 0 0 +362 137 4 0.4238 1.6305502404987111 7.6307855704072995 14.342077627004548 1 -1 0 +597 215 4 0.4238 13.155595108591708 6.281716998754621 15.614461099800554 1 -1 0 +519 189 4 0.4238 0.25052520571656256 7.410000747569126 19.453385808828934 1 0 0 +682 244 3 -0.8476 17.37568243426495 9.11353756111006 17.377610598188703 0 1 0 +161 70 4 0.4238 0.4276393931068581 9.645404130294276 19.94966591203612 1 0 0 +683 244 4 0.4238 16.762775639163923 8.349640967386419 17.579621185009074 0 1 0 +339 129 4 0.4238 2.953255533740337 0.7273765470433621 20.781809824703732 1 1 0 +470 173 4 0.4238 17.313495807482283 1.701791190164049 14.11457782420363 0 0 0 +595 215 3 -0.8476 13.434254199843643 7.000670331013912 16.25121582144323 1 -1 0 +649 233 3 -0.8476 13.730521799815536 0.614769911259436 16.114057992895944 1 0 0 +179 76 4 0.4238 7.376399341193584 7.418181342250472 13.358780560554386 1 0 0 +308 119 4 0.4238 9.328524040796328 0.6575663281326254 16.263946795393448 0 0 0 +663 237 4 0.4238 4.505521910089192 0.5457888494359412 15.752543276886664 0 0 0 +337 129 3 -0.8476 3.514575860727707 1.4477360756662245 20.37437556806391 1 1 0 +327 125 4 0.4238 4.963020305736973 4.844213183983858 21.800104413199907 0 1 0 +325 125 3 -0.8476 5.413526513655491 4.683300538459343 20.92195188291159 0 1 0 +326 125 4 0.4238 6.356823537007404 4.39129241653594 21.079824846511343 0 1 0 +535 195 3 -0.8476 2.983237344424761 5.852992742968334 19.86140129850823 1 0 0 +537 195 4 0.4238 3.8877052935337013 5.573139871228802 20.183303829725734 1 0 0 +2 1 1 0.01681964573718448 1.4708000000000014 2.5475000000000003 23.449863020791625 0 0 0 +1 1 1 0.009530892217576416 1.7763568394002505e-15 1.7763568394002505e-15 23.449863020791625 0 0 0 +11 6 1 -0.01524214201230506 2.941600000000001 5.094900000000001 23.449863020791625 0 0 0 +3 2 1 0.01449029221643637 1.7763568394002505e-15 5.094900000000001 23.449863020791625 0 0 0 +10 5 1 0.00691884776850595 4.4124 2.5474999999999994 23.449863020791625 0 0 0 +9 5 1 0.0195314219644623 2.9415999999999993 1.7763568394002505e-15 23.449863020791625 0 0 0 +536 195 4 0.4238 2.319795753718221 5.1326684425952385 20.063837216279858 1 0 0 +516 188 4 0.4238 8.108138722594667 5.927016819163718 20.411810376184487 1 -1 0 +111 53 4 0.4238 8.496355497036129 3.238090310367132 19.747187863764335 -1 -1 0 +515 188 4 0.4238 9.362944894589518 4.883962319684104 20.47605173012904 1 -1 0 +514 188 3 -0.8476 8.36740867133632 4.961263964951319 20.421886089225346 1 -1 0 +168 72 4 0.4238 11.376288543712512 4.443050222600666 19.712926478310834 0 0 0 +166 72 3 -0.8476 11.119316529543537 5.1744679228851975 20.344587376759364 0 0 0 +17 9 1 -0.0001196702448092049 5.8832 0 23.449863020791625 0 0 0 +19 10 1 -0.04577843504398507 5.8832 5.094900000000001 23.449863020791625 0 0 0 +18 9 1 0.005448749793554232 7.354000000000001 2.5474999999999994 23.449863020791625 0 0 0 +27 14 1 0.01621780275369726 8.8248 5.094900000000001 23.449863020791625 0 0 0 +26 13 1 0.009139377486030886 10.2956 2.5474999999999994 23.449863020791625 0 0 0 +25 13 1 0.005843126768876098 8.8248 0 23.449863020791625 0 0 0 +434 161 4 0.4238 12.577274249871005 1.7121343654934205 18.69868691361602 1 0 0 +41 21 1 -0.0175826914366148 14.708 0 23.449863020791625 0 0 0 +42 21 1 0.003543843405838151 16.178800000000003 2.5474999999999994 23.449863020791625 0 0 0 +43 22 1 -0.008930438763612256 14.708000000000002 5.0949 23.449863020791625 0 0 0 +33 17 1 -0.01319754578259268 11.7664 1.7763568394002505e-15 23.449863020791625 0 0 0 +35 18 1 0.005624883561307313 11.7664 5.094900000000001 23.449863020791625 0 0 0 +34 17 1 -0.001833361793814021 13.237200000000001 2.5474999999999994 23.449863020791625 0 0 0 +518 189 4 0.4238 1.7262219883909424 7.436086788297749 20.15214607725663 1 0 0 +101 50 4 0.4238 8.106166655216015 7.636318994291072 18.895600145997378 2 0 0 +517 189 3 -0.8476 0.8975282537764131 7.9667901703236526 19.974321127200675 1 0 0 +150 66 4 0.4238 4.649148498694868 8.243938426512141 19.63710700967118 1 -1 0 +37 19 1 0.008059123604893179 11.7664 10.1898 23.449863020791625 0 0 0 +13 7 1 0.003562500361631949 2.941600000000001 10.1898 23.449863020791625 0 0 0 +4 2 1 0.01118045101209775 1.4708000000000006 7.6424 23.449863020791625 0 0 0 +12 6 1 -0.008187862475270539 4.4124 7.6424 23.449863020791625 0 0 0 +148 66 3 -0.8476 5.168232450516505 9.047906137187535 19.346953256748833 1 -1 0 +5 3 1 0.01564426943939494 1.7763568394002505e-15 10.1898 23.449863020791625 0 0 0 +167 72 4 0.4238 11.942045323115195 5.649130151908711 20.657340273077285 0 0 0 +328 126 3 -0.8476 13.536656944721523 6.706920305720269 20.30923123396737 0 1 0 +329 126 4 0.4238 14.033035625445095 6.901107759295683 21.155340398492882 0 1 0 +330 126 4 0.4238 13.32248868402487 7.565726120598325 19.84383926291113 0 1 0 +28 14 1 0.005135353479473132 10.2956 7.6424 23.449863020791625 0 0 0 +29 15 1 -0.01709114553122559 8.8248 10.1898 23.449863020791625 0 0 0 +20 10 1 0.004420735120240576 7.354000000000001 7.6424 23.449863020791625 0 0 0 +21 11 1 -8.295950892680149e-05 5.8832 10.1898 23.449863020791625 0 0 0 +457 169 3 -0.8476 2.137690785024048 9.831264578841258 16.303498875411698 1 0 0 +573 207 4 0.4238 5.848305837212314 0.1762190034544807 17.17943778184179 2 0 0 +651 233 4 0.4238 14.491471777300028 0.03037914374267814 15.83219648354528 1 0 0 +218 89 4 0.4238 6.5919786085182075 0.9091158018046296 13.131077697911964 0 1 0 +54 27 2 0.009538003210554242 1.4708 12.7373 2.4018 0 0 0 +55 28 2 -0.003172379929243049 0 15.2847 2.4018 0 0 0 +62 31 2 -0.00186117057999337 4.4124 12.7373 2.4018 0 0 0 +63 32 2 0.00758887481169554 2.9416 15.2847 2.4018 0 0 0 +192 80 4 0.4238 4.794387147708667 14.909075171120765 5.419182095600811 0 0 0 +119 56 4 0.4238 3.2500817867314398 11.832800805491306 6.2682928485004785 0 -1 0 +118 56 3 -0.8476 2.709695006424336 11.627182945371326 5.452384520275485 0 -1 0 +191 80 4 0.4238 3.8571863060224443 13.57325796518277 5.356927851433144 0 0 0 +190 80 3 -0.8476 3.8530200194608413 14.572485850889231 5.396004384825564 0 0 0 +98 49 4 0.4238 2.2766564815872377 15.778957767705766 5.556621305001019 1 0 0 +120 56 4 0.4238 1.8997669381619913 12.21338080817393 5.432566828266767 0 -1 0 +97 49 3 -0.8476 1.6582359104391984 16.291326734509507 6.152472357053496 1 0 0 +244 98 3 -0.8476 0.3924528377280096 13.052383693685869 5.275030660375085 0 -1 0 +99 49 4 0.4238 1.9764418005425044 16.22605313800913 7.098245454454695 1 0 0 +631 227 3 -0.8476 8.778943735028687 10.474788944453667 12.685594012363595 -1 0 0 +295 115 3 -0.8476 6.836426798704437 14.252095160705379 5.316785643293747 0 0 0 +296 115 4 0.4238 6.3380790395823565 13.385929350133972 5.27926186731909 0 0 0 +336 128 4 0.4238 9.504568664514785 15.01506830678913 4.725006859909346 0 0 0 +70 35 2 0.01569918460207732 7.354000000000001 12.7373 2.4018 0 0 0 +71 36 2 0.01622723354682065 5.8832 15.2847 2.4018 0 0 0 +78 39 2 0.01233699237017652 10.2956 12.7373 2.4018 0 0 0 +79 40 2 -0.0123167339477786 8.8248 15.2847 2.4018 0 0 0 +334 128 3 -0.8476 9.804960251945063 14.585282143844777 5.576505038341256 0 0 0 +335 128 4 0.4238 10.764689305944286 14.811244909035093 5.743428161519318 0 0 0 +656 235 4 0.4238 11.274876877297288 11.589128799416661 6.812142647899859 0 0 0 +655 235 3 -0.8476 11.388256990917405 11.907831882964768 5.871092838018554 0 0 0 +657 235 4 0.4238 10.511574676431575 12.241068556600506 5.524131235030396 0 0 0 +331 127 3 -0.8476 8.647876026470513 11.72968917644971 5.372752090789252 0 0 0 +225 91 4 0.4238 13.252704815948258 12.484966119923902 5.4991907056523175 -1 -1 0 +223 91 3 -0.8476 14.108667496093203 12.961787209464076 5.699123243872336 -1 -1 0 +86 43 2 0.004517062113848894 13.237200000000001 12.7373 2.4018 0 0 0 +87 44 2 0.001691435347730985 11.7664 15.2847 2.4018 0 0 0 +94 47 2 0.00685931941051703 16.178800000000003 12.7373 2.4018 0 0 0 +95 48 2 0.006949345406057055 14.708000000000002 15.2847 2.4018 0 0 0 +246 98 4 0.4238 0.38146479586720616 13.911666462643149 4.763645752254332 0 -1 0 +224 91 4 0.4238 14.421312095518909 12.71496419083952 6.616368538934622 -1 -1 0 +283 111 3 -0.8476 15.628193884175449 15.67958654625237 5.712183668752193 -1 0 0 +285 111 4 0.4238 15.20823137338435 14.77263604396369 5.744946721536371 -1 0 0 +284 111 4 0.4238 15.39730073469381 16.18406388803546 6.544167099225616 -1 0 0 +135 61 4 0.4238 17.181734297894028 11.50938194605289 5.376919239592664 -1 0 0 +128 59 4 0.4238 12.510696850559 13.400814682569763 12.12154569673403 0 0 0 +641 230 4 0.4238 16.460174864867515 11.555259291722754 11.513987660535511 1 0 0 +694 248 3 -0.8476 5.646664121771563 12.003829343647613 5.265517005823366 1 0 0 +508 186 3 -0.8476 11.874631242554559 19.183954362495257 12.757848230170808 -1 0 0 +365 138 4 0.4238 6.888120955508712 13.350278100146872 11.983484682294058 0 -1 0 +56 28 2 -0.007346483191423765 1.4708 17.8322 2.4018 0 0 0 +64 32 2 -0.007040366496871621 4.4124 17.8322 2.4018 0 0 0 +264 104 4 0.4238 2.890774254525348 19.395952063865504 5.416360014788498 0 -1 0 +262 104 3 -0.8476 1.9229167571391381 19.551713032251147 5.613835629405332 0 -1 0 +303 117 4 0.4238 12.119648008726836 10.348886671661969 8.982817094596912 0 0 0 +263 104 4 0.4238 1.3632164588516946 19.027705040806982 4.971845369641502 0 -1 0 +696 248 4 0.4238 4.931090248366684 11.920720405779006 5.959093966041219 1 0 0 +555 201 4 0.4238 0.1476370801517249 17.587643965474964 5.9820586175388515 1 -1 0 +460 170 3 -0.8476 10.511653292375941 20.36092252510843 9.28183703745981 0 -1 0 +357 135 4 0.4238 5.30802705175001 20.077669929184395 5.47750029282528 0 -1 0 +355 135 3 -0.8476 4.502197418039438 19.485574693167184 5.469578450808493 0 -1 0 +642 230 4 0.4238 17.59514938340467 12.494288109655482 10.809223899354208 1 0 0 +440 163 4 0.4238 6.746420411262218 15.956533676323577 5.22022015080474 0 0 0 +441 163 4 0.4238 5.7446670540994935 16.848265237800078 6.151849013066668 0 0 0 +248 99 4 0.4238 0.19491065621647194 15.263151600771593 12.384493561505723 1 0 0 +439 163 3 -0.8476 6.316582565899266 16.852550879871938 5.331546912613838 0 0 0 +72 36 2 0.007179830066346712 7.354000000000001 17.8322 2.4018 0 0 0 +80 40 2 0.009767193963479517 10.2956 17.8322 2.4018 0 0 0 +593 214 4 0.4238 7.884845767551953 18.242346210560054 5.215564680586794 1 0 0 +592 214 3 -0.8476 8.441708788539396 19.06278952840712 5.34509407825288 1 0 0 +594 214 4 0.4238 9.407518236319975 18.806924915027857 5.3868767845437215 1 0 0 +229 93 3 -0.8476 11.002931909959898 17.85349899482245 5.534832624443298 -1 -1 0 +356 135 4 0.4238 4.727932098205787 18.62143419085674 5.019794724809724 0 -1 0 +443 164 4 0.4238 12.40229864797583 14.881890635527546 6.532324378182912 -1 0 0 +230 93 4 0.4238 11.272239561806135 18.40387542301247 6.325124179849419 -1 -1 0 +442 164 3 -0.8476 12.249392559907344 15.43317503022671 5.712134600968626 -1 0 0 +444 164 4 0.4238 13.129546035940322 15.725685437724305 5.338276770112374 -1 0 0 +231 93 4 0.4238 11.438767335047864 16.955174113268875 5.59016816824532 -1 -1 0 +88 44 2 -0.004661733698708054 13.237200000000001 17.8322 2.4018 0 0 0 +96 48 2 0.004146602187371051 16.178800000000003 17.8322 2.4018 0 0 0 +553 201 3 -0.8476 17.01816778562073 17.995397600438885 5.50550827227041 0 -1 0 +554 201 4 0.4238 16.440634429393626 17.270603716767287 5.129835074976055 0 -1 0 +699 249 4 0.4238 15.700109015732405 19.83239470687886 5.2730815881929605 0 0 0 +247 99 3 -0.8476 17.336782813381703 15.9758100387841 12.86878129068549 0 0 0 +527 192 4 0.4238 8.400400049346944 19.554495577047934 12.685963916073062 0 -1 0 +245 98 4 0.4238 0.14624632377865007 13.228544728434645 6.228106595314394 0 -1 0 +633 227 4 0.4238 7.8446313240677465 10.215293497567252 12.929977075896192 -1 0 0 +123 57 4 0.4238 7.0746556208220435 19.34524620318107 10.872591375491558 0 -1 0 +724 258 3 -0.8476 4.234176441183506 12.039368920513985 7.672701195843418 1 -1 0 +725 258 4 0.4238 4.137223358179028 11.154093396315286 8.127551251299957 1 -1 0 +342 130 4 0.4238 3.3490444756314663 14.507070913866091 7.917816047124389 1 0 0 +340 130 3 -0.8476 2.475251769304553 14.763988319874148 8.330709130564067 1 0 0 +341 130 4 0.4238 2.5667527473696508 14.772232456574866 9.326480518807314 1 0 0 +364 138 3 -0.8476 6.231328463002679 12.764543730928395 11.508572517819397 0 -1 0 +726 258 4 0.4238 4.70687708932946 12.676759931947513 8.28121621344766 1 -1 0 +503 184 4 0.4238 0.626740782878561 12.112155305683151 8.36175181603283 2 0 0 +502 184 3 -0.8476 0.3530019095059348 13.026562250348038 8.063539643828118 2 0 0 +504 184 4 0.4238 1.1590491426400296 13.616383360322493 8.014514200238665 2 0 0 +413 154 4 0.4238 10.310246047781114 12.645425170155443 9.649734635743975 -1 -1 0 +278 109 4 0.4238 2.0689926172355833 13.226423725069202 11.044416560097394 1 0 0 +270 106 4 0.4238 14.518258075018746 16.25012768269104 11.329980010628349 -1 0 0 +719 256 4 0.4238 14.442688875729713 18.00809488214158 8.65135922354247 0 0 0 +132 60 4 0.4238 13.719412563278548 19.25471490200023 12.012858419540821 0 -1 0 +297 115 4 0.4238 7.758248037390944 14.09126118228873 5.669459107658047 0 0 0 +392 147 4 0.4238 8.440775970159434 10.837303720059037 8.832462502385212 1 -1 0 +260 103 4 0.4238 6.064521948562677 13.07373599605862 9.675228220765085 1 0 0 +548 199 4 0.4238 8.329731669573114 16.02435016298476 8.300652493750043 0 0 0 +302 117 4 0.4238 10.534927101610386 10.641668809892366 8.71905928310815 0 0 0 +259 103 3 -0.8476 6.039295026524322 13.683249827267247 8.882849726337565 1 0 0 +261 103 4 0.4238 6.968645563455479 13.97585610861691 8.65769716313075 1 0 0 +640 230 3 -0.8476 16.65021625418278 12.46084907650203 11.134783599664194 1 0 0 +532 194 3 -0.8476 8.625524965508806 14.111716138349044 7.926539176924266 1 -1 0 +235 95 3 -0.8476 2.8058865877200936 17.909202481046883 10.86408017002096 1 -1 0 +533 194 4 0.4238 9.285608328477988 13.74349101780916 8.581291434167639 1 -1 0 +534 194 4 0.4238 9.031378094953077 14.119395432885998 7.012632675162272 1 -1 0 +621 223 4 0.4238 11.759447009759235 16.637770265234245 8.125266626319792 0 -1 0 +121 57 3 -0.8476 7.405164265328445 20.132366073683155 11.393370019265204 0 -1 0 +269 106 4 0.4238 15.69906664349124 15.938606379638701 12.414079729103287 -1 0 0 +265 105 3 -0.8476 13.858511390467266 12.2257643539824 11.862964948226105 1 -1 0 +547 199 3 -0.8476 8.479300024438404 16.994101102650657 8.493567490661286 0 0 0 +619 223 3 -0.8476 11.181389829059919 17.28631938477271 8.620479805635687 0 -1 0 +279 109 4 0.4238 2.3342044958643817 11.616099100570484 10.98832580613683 1 0 0 +293 114 4 0.4238 5.974133299119694 10.444262483041067 10.556494238721228 0 0 0 +695 248 4 0.4238 5.440253808833983 11.395549814498784 4.499102405585278 1 0 0 +494 181 4 0.4238 14.091170402355985 15.83372339966198 8.056796739388613 0 -1 0 +131 60 4 0.4238 14.375504558444222 19.40171818823153 10.52471778468597 0 -1 0 +715 255 3 -0.8476 12.148806693669629 19.94644025668999 7.2400816171341615 1 0 0 +239 96 4 0.4238 15.531142815012778 20.3309642839673 8.438322792523895 0 -1 0 +414 154 4 0.4238 10.783851523474887 13.801560969805426 10.70124633178135 -1 -1 0 +648 232 4 0.4238 13.545815145696485 13.70677775084171 8.047430920645967 1 -1 0 +646 232 3 -0.8476 12.89354184562956 14.45291909331316 8.180909241857698 1 -1 0 +565 205 3 -0.8476 16.571290714132587 15.380788191495872 9.978390686128293 0 0 0 +566 205 4 0.4238 16.486697788555325 14.396887548242892 10.135820192964106 0 0 0 +544 198 3 -0.8476 14.802744123952923 12.494905050684105 8.220714343430616 0 0 0 +546 198 4 0.4238 15.69958392914293 12.648272017127166 8.635636336988226 0 0 0 +545 198 4 0.4238 14.327341303672132 11.766564694345089 8.71418549827662 0 0 0 +495 181 4 0.4238 15.64406667138792 16.008563289169672 8.530685968345766 0 -1 0 +647 232 4 0.4238 12.174548141627941 14.158466532425988 8.81047248263604 1 -1 0 +493 181 3 -0.8476 14.888021746634598 16.43755314652351 8.036353729476255 0 -1 0 +301 117 3 -0.8476 11.444178994842403 10.634235762851835 8.302874111374269 0 0 0 +127 59 3 -0.8476 11.835398099674071 14.130588554568469 12.228336617000755 0 0 0 +266 105 4 0.4238 13.437837209675466 11.718053793881642 11.111124693406984 1 -1 0 +391 147 3 -0.8476 9.099036309266321 11.055510230198061 9.552934514493218 1 -1 0 +465 171 4 0.4238 4.507962365618935 16.739930651989027 12.02419305834093 1 1 0 +333 127 4 0.4238 7.671719130956259 11.719916025379499 5.589601145029327 0 0 0 +366 138 4 0.4238 5.3810066147385625 12.723574451940152 12.033239886655569 0 -1 0 +267 105 4 0.4238 14.695595476843678 12.667206008724747 11.539822065683758 1 -1 0 +157 69 3 -0.8476 5.628213484046431 19.7062241141079 8.476653698924062 0 -1 0 +412 154 3 -0.8476 10.588274339586592 13.60163970345705 9.74115068987977 -1 -1 0 +393 147 4 0.4238 8.752170977546312 10.727795337016143 10.43173357510416 1 -1 0 +405 151 4 0.4238 1.4893493439895436 20.379210451086568 7.3946095610145495 1 -1 0 +448 166 3 -0.8476 2.31094841939137 15.22894706649686 11.40418724815192 1 -1 0 +449 166 4 0.4238 2.4578750502157516 15.152016401940413 12.390338787322065 1 -1 0 +584 211 4 0.4238 7.457640650200761 17.192133224007062 11.208629944424919 0 0 0 +585 211 4 0.4238 7.4183339086411015 17.350678325691767 9.583838609015473 0 0 0 +318 122 4 0.4238 12.677059363876626 10.345851943535926 5.612738242773594 -1 0 0 +450 166 4 0.4238 2.5278285080124174 16.1586189746941 11.106405599802631 1 -1 0 +159 69 4 0.4238 5.396739043963939 19.542646637149865 7.517663044565708 0 -1 0 +277 109 3 -0.8476 1.9668284394083102 12.400955373279421 10.489290044953318 1 0 0 +174 74 4 0.4238 2.093131136233991 20.2908531347256 12.509936900888619 1 -1 0 +158 69 4 0.4238 5.72722641111533 18.830742461490534 8.949654740651088 0 -1 0 +236 95 4 0.4238 2.955886959156451 18.56642796559528 10.125462919315872 1 -1 0 +332 127 4 0.4238 8.992796984842672 10.791435697737592 5.34607589753084 0 0 0 +567 205 4 0.4238 17.492436254495992 15.680156746258747 10.227126720885458 0 0 0 +268 106 3 -0.8476 14.72205779127257 15.84637768385046 12.22186102297119 -1 0 0 +144 64 4 0.4238 11.609867542673534 17.63780259318367 11.964952217223086 0 -1 0 +143 64 4 0.4238 10.437547809860437 16.53467569974479 11.690352189869234 0 -1 0 +620 223 4 0.4238 11.248363625488201 17.110068003656618 9.60254814088919 0 -1 0 +142 64 3 -0.8476 11.326107809904766 16.875494366073085 11.383255826277036 0 -1 0 +129 59 4 0.4238 12.300763358612933 15.015557263662124 12.2446824789516 0 0 0 +549 199 4 0.4238 9.422230282072096 17.23756950681282 8.266389738781958 0 0 0 +583 211 3 -0.8476 6.97427468797035 17.61248426688647 10.440734635242483 0 0 0 +718 256 3 -0.8476 13.966610727938773 18.787186536259128 9.059246432430188 0 0 0 +237 95 4 0.4238 2.482978017919997 18.391152324186773 11.678608951138568 1 -1 0 +462 170 4 0.4238 10.307703252681602 19.40879670268801 9.05410643052076 0 -1 0 +130 60 3 -0.8476 14.46327699006248 19.66514390094484 11.485397145457227 0 -1 0 +720 256 4 0.4238 13.217661837076776 19.070863155758513 8.460408162150607 0 0 0 +383 144 4 0.4238 3.5533021915261043 10.935137256889309 12.654783731389125 0 -1 0 +133 61 3 -0.8476 16.51149780470187 10.788229938237286 5.201627541800947 -1 0 0 +511 187 3 -0.8476 1.1543831961823052 10.310487624376274 8.191850041914243 1 0 0 +134 61 4 0.4238 15.632698323193418 11.200996122194294 4.9621749152925725 -1 0 0 +716 255 4 0.4238 11.626630842918797 20.339515205022618 7.996935994482277 1 0 0 +512 187 4 0.4238 1.567722559344666 10.205106901475968 7.287390743726031 1 0 0 +509 186 4 0.4238 10.912595818989244 19.417924622524666 12.89837775340388 -1 0 0 +568 206 3 -0.8476 6.485313610696203 14.44523352047762 16.559346762808755 1 0 0 +569 206 4 0.4238 5.877025478161448 14.853591461355627 17.239958916387955 1 0 0 +304 118 3 -0.8476 3.972168127351238 15.654660056945955 17.403540948690193 1 -1 0 +305 118 4 0.4238 3.3854131498127042 14.920622411377614 17.06162240739048 1 -1 0 +418 156 3 -0.8476 2.2734537776824832 13.394090298029402 17.756318894272294 0 0 0 +306 118 4 0.4238 3.723466580375299 16.51489113835542 16.958399519713794 1 -1 0 +501 183 4 0.4238 2.8455782661452247 12.338053980852902 14.176040664713545 0 -1 0 +445 165 3 -0.8476 5.729110891648391 12.122083027826067 15.433974986322738 1 -1 0 +463 171 3 -0.8476 4.549155758711698 16.77122254564855 13.022854621887307 1 1 0 +172 74 3 -0.8476 2.0677673094230764 19.527911145364634 13.155909715455525 1 -1 0 +489 179 4 0.4238 14.886763033339717 10.902943702023924 18.70189284494204 1 -1 0 +419 156 4 0.4238 1.6504734693675003 13.234408025086623 18.52208606851008 0 0 0 +446 165 4 0.4238 5.710179429818999 13.041573185918448 15.82663266450181 1 -1 0 +420 156 4 0.4238 3.1335652597928223 12.910968687196343 17.92004363905744 0 0 0 +499 183 3 -0.8476 3.6979504775468945 12.369149009344994 13.654029663057878 0 -1 0 +500 183 4 0.4238 4.473726698288414 12.401810668166792 14.284194212701715 0 -1 0 +250 100 3 -0.8476 7.609604863953975 10.606171102951322 16.945230673113805 0 0 0 +147 65 4 0.4238 13.61668681394621 19.964324916590904 19.533511237350798 0 -1 0 +146 65 4 0.4238 12.536466740647986 19.339889174664197 20.586997674791956 0 -1 0 +570 206 4 0.4238 7.376196607403398 14.262759769403841 16.97532363052286 1 0 0 +323 124 4 0.4238 8.730985930270878 15.01364577963519 18.921207974437056 1 1 0 +324 124 4 0.4238 9.459353552713571 15.212836705232725 17.473301605982858 1 1 0 +322 124 3 -0.8476 8.813624638926065 14.65274321341759 17.992272333045058 1 1 0 +200 83 4 0.4238 10.388442485410472 11.91097015701038 16.806022211892135 -1 0 0 +623 224 4 0.4238 6.927586929691289 14.247240193752283 14.41222893771625 1 -1 0 +551 200 4 0.4238 12.247394341229853 11.259529069604119 14.84681275368594 1 0 0 +201 83 4 0.4238 9.71192070215314 12.977793729481439 17.840834618671714 -1 0 0 +199 83 3 -0.8476 9.899149161698215 12.010006135076521 17.672503104553247 -1 0 0 +312 120 4 0.4238 11.79495765458046 13.369509996222956 18.772893074029064 -1 0 0 +624 224 4 0.4238 7.897178590463072 15.319195662378577 13.652340180508801 1 -1 0 +350 133 4 0.4238 16.208874637827858 18.83362085868009 21.47129005078417 0 -1 0 +126 58 4 0.4238 8.88511907083734 13.272142299537386 13.66818822412786 0 -1 0 +622 224 3 -0.8476 7.593373444769949 14.366747565469286 13.67571894110038 1 -1 0 +550 200 3 -0.8476 11.432996415804167 11.567553927000933 15.33862353821482 1 0 0 +552 200 4 0.4238 10.76952107398665 11.935576775479335 14.687194082211969 1 0 0 +124 58 3 -0.8476 9.764955887504145 12.797152211212811 13.684703994662227 0 -1 0 +145 65 3 -0.8476 13.361959064058402 19.150230676335642 20.05540166992056 0 -1 0 +40 20 1 -0.006425533623795996 13.237200000000001 17.832199999999997 23.449863020791625 0 0 0 +599 216 4 0.4238 15.202481084467259 12.24900078170297 16.690922642575146 0 1 0 +251 100 4 0.4238 8.439342401574516 10.980938867010675 17.358856275145612 0 0 0 +704 251 4 0.4238 16.305154322814072 16.042350718561647 17.631988502422384 1 0 0 +703 251 3 -0.8476 16.0883225484333 16.255856181651623 16.67941162794245 1 0 0 +705 251 4 0.4238 15.715587557055152 15.442833175152185 16.232124973929633 1 0 0 +48 24 1 -0.02029044178834072 16.178800000000003 17.8322 23.449863020791625 0 0 0 +559 203 3 -0.8476 15.105531419639098 13.835234878317607 15.170664799706675 0 -1 0 +561 203 4 0.4238 14.406014847882542 14.34932009538237 14.674283203645347 0 -1 0 +675 241 4 0.4238 17.437788579674944 14.421546806543976 19.79224658208944 1 -1 0 +222 90 4 0.4238 15.365101969084085 15.332074787573918 19.959893780942252 0 0 0 +598 216 3 -0.8476 14.485446191543312 11.647768322089009 17.04360100536762 0 1 0 +177 75 4 0.4238 3.61134855335209 11.579252278014556 19.453192026472223 0 -1 0 +310 120 3 -0.8476 12.381985872710548 13.80369947515285 18.089607987476125 -1 0 0 +458 169 4 0.4238 2.6933087112285694 10.351514807091242 16.952058213771583 1 0 0 +139 63 3 -0.8476 13.691362264873232 10.627931433301129 14.158294798087477 -2 -1 0 +614 221 4 0.4238 11.61650220566129 15.485182333983216 17.966722851607205 1 -1 0 +600 216 4 0.4238 13.914747640475733 11.329877307455188 16.286467756847514 0 1 0 +617 222 4 0.4238 13.259523186751528 14.51825781874507 19.356416644998088 0 -1 0 +311 120 4 0.4238 12.776789012062968 13.102786397427105 17.495594179094766 -1 0 0 +530 193 4 0.4238 1.6281735604033576 12.886011322673935 16.268039063851113 1 0 0 +141 63 4 0.4238 13.630765327041322 11.105034290734396 13.28153613591018 -2 -1 0 +531 193 4 0.4238 0.4467031724535419 12.527812716084183 15.199183538889944 1 0 0 +399 149 4 0.4238 6.486830695241165 16.029581701860693 15.666779418386291 0 -1 0 +380 143 4 0.4238 3.5853869202872657 18.660092474563687 18.603647711199425 1 -1 0 +464 171 4 0.4238 4.023461569086171 16.009792558697868 13.40215734502378 1 1 0 +428 159 4 0.4238 9.469055750500404 10.667524387442267 20.937661270126558 1 -1 0 +397 149 3 -0.8476 6.413895340325838 16.8360319627653 15.07998984725994 0 -1 0 +319 123 3 -0.8476 0.7829907556311054 16.744941337967973 15.272421110502437 1 0 0 +398 149 4 0.4238 5.749127839593244 16.66081301160753 14.353776938898731 0 -1 0 +528 192 4 0.4238 8.975850745071186 20.350056923475165 13.990790392092903 0 -1 0 +321 123 4 0.4238 0.12521342288041218 16.277401530292295 15.862964127879662 1 0 0 +490 180 3 -0.8476 3.125563432540245 18.468684529246257 16.74556745319216 1 -1 0 +491 180 4 0.4238 3.575636793388386 18.624126139932855 15.8662072375943 1 -1 0 +492 180 4 0.4238 2.578632077563288 19.27047397837691 16.986406012030017 1 -1 0 +659 236 4 0.4238 1.0298389225267837 20.168025384298502 20.026919057347232 2 -1 0 +249 99 4 0.4238 0.16814848071124128 16.21206933125259 13.713202558066024 1 0 0 +164 71 4 0.4238 0.5299522359953556 20.257624996360576 17.55648066935482 0 -1 0 +162 70 4 0.4238 16.66913392996693 10.45829253707763 19.795901801640834 0 0 0 +371 140 4 0.4238 11.056255566760345 16.598270748160388 15.718911806822456 0 -1 0 +370 140 3 -0.8476 11.298560558575987 16.404137638756527 14.768331949474652 0 -1 0 +610 220 3 -0.8476 9.182998099495135 16.844324083314575 13.063635808058317 1 -1 0 +154 68 3 -0.8476 9.372552675513472 16.050092330482723 20.09128772182719 0 0 0 +155 68 4 0.4238 9.045313534743997 16.990624622451623 20.000103598074276 0 0 0 +156 68 4 0.4238 10.11796075622463 15.89226417482912 19.443632058888397 0 0 0 +612 220 4 0.4238 9.912940585757283 16.62881769597969 13.71228285972464 1 -1 0 +183 77 4 0.4238 7.463961847985207 18.60237515839614 19.98843047486115 0 -1 0 +629 226 4 0.4238 6.710399312260268 18.123336806911855 16.079630988721004 1 -1 0 +182 77 4 0.4238 7.757164552671424 18.810844945497134 18.395570465863837 0 -1 0 +181 77 3 -0.8476 8.125126014517141 18.452044538789227 19.253401321364763 0 -1 0 +611 220 4 0.4238 8.931884466842028 17.808185361298875 13.152595651819967 1 -1 0 +628 226 3 -0.8476 6.9796091824851425 18.952004521134636 16.570383047183572 1 -1 0 +630 226 4 0.4238 7.708609412032784 19.4156379445819 16.06679113644326 1 -1 0 +487 179 3 -0.8476 15.066619024936566 10.249951535799466 19.437593400150895 1 -1 0 +526 192 3 -0.8476 9.129233109396537 19.581112471942753 13.37014199224269 0 -1 0 +151 67 3 -0.8476 17.426283060222275 19.58522448708249 14.435121464885997 -2 -2 0 +160 70 3 -0.8476 0.01506610403255687 10.548473719534147 19.830294631268465 1 0 0 +351 133 4 0.4238 15.056477500508233 18.63959592950024 20.330692470756837 0 -1 0 +372 140 4 0.4238 12.170052868259033 16.843340153646995 14.550139731531836 0 -1 0 +473 174 4 0.4238 14.26517035940876 17.98252701799394 14.507717382131688 0 -1 0 +669 239 4 0.4238 15.647005666799474 17.715015917343795 16.152341030706786 1 0 0 +220 90 3 -0.8476 16.219792055920426 15.707023482600887 19.60084001936226 0 0 0 +221 90 4 0.4238 16.33803818547856 16.64326825776226 19.931693947174367 0 0 0 +349 133 3 -0.8476 16.000726312606744 18.426710693303725 20.581851466927844 0 -1 0 +176 75 4 0.4238 4.728802867281302 10.760075907012997 18.588971835799967 0 -1 0 +472 174 3 -0.8476 13.537149582394218 17.542196784550853 13.982262808143558 0 -1 0 +286 112 3 -0.8476 12.565689798467716 18.517223262424135 17.37055509192227 0 -1 0 +287 112 4 0.4238 12.767092649586525 18.693595832778726 18.334054128623215 0 -1 0 +288 112 4 0.4238 13.312023375950227 18.86734630158713 16.80451492455031 0 -1 0 +667 239 3 -0.8476 15.34738402069065 18.575704886300255 15.74070654907211 1 0 0 +557 202 4 0.4238 2.0877847893502692 15.917637143334856 14.598779519777349 1 0 0 +668 239 4 0.4238 16.102271316982648 18.97804359363653 15.222758820554837 1 0 0 +233 94 4 0.4238 16.939408664150182 19.300736366917782 19.285818625681394 0 -1 0 +232 94 3 -0.8476 17.251185745369266 20.17960735549295 18.92473073318461 0 -1 0 +556 202 3 -0.8476 2.5142033450925534 15.10859384094593 14.194283647198105 1 0 0 +613 221 3 -0.8476 11.029798398400157 16.24252383347896 17.67998671968566 1 -1 0 +615 221 4 0.4238 11.597398207517758 17.002005745636787 17.362143868985218 1 -1 0 +447 165 4 0.4238 6.2756188615712825 11.521571558695248 16.017683721626977 1 -1 0 +453 167 4 0.4238 3.215029455130721 15.987095453067399 19.079850682663047 0 0 0 +452 167 4 0.4238 2.0544632500236664 15.323519686230991 20.017604338312154 0 0 0 +451 167 3 -0.8476 2.772338132809199 16.01844856447551 19.975979335062384 0 0 0 +427 159 3 -0.8476 10.261611448686569 11.049130758551382 20.462021892602714 1 -1 0 +429 159 4 0.4238 10.007428161019474 11.279799732432494 19.52277538343466 1 -1 0 +14 7 1 0.003164654221259076 4.4124 12.7373 23.449863020791625 0 0 0 +7 4 1 0.009893054359739757 1.7763568394002505e-15 15.2847 23.449863020791625 0 0 0 +6 3 1 0.007054820838538483 1.4708000000000014 12.7373 23.449863020791625 0 0 0 +15 8 1 0.01742682861283385 2.941600000000001 15.2847 23.449863020791625 0 0 0 +410 153 4 0.4238 10.111531319873574 14.412553872150411 20.82849386163515 1 -1 0 +411 153 4 0.4238 10.469141456583753 12.84237118855151 21.09917747701026 1 -1 0 +23 12 1 0.002267061274119069 5.8832 15.2847 23.449863020791625 0 0 0 +22 11 1 -0.00588542885415537 7.354000000000001 12.7373 23.449863020791625 0 0 0 +31 16 1 0.004565600593305302 8.8248 15.2847 23.449863020791625 0 0 0 +30 15 1 -0.005925222637524864 10.2956 12.737299999999998 23.449863020791625 0 0 0 +409 153 3 -0.8476 10.837769824697997 13.725395752659518 20.80869263231772 1 -1 0 +674 241 4 0.4238 0.39525518297454587 12.95332622295135 20.169962624276398 2 -1 0 +673 241 3 -0.8476 0.6270046999503937 13.886923561797822 19.896670228457296 2 -1 0 +616 222 3 -0.8476 13.68828360729474 14.607480608256637 20.25542035696146 0 -1 0 +618 222 4 0.4238 12.980122773618541 14.639356060980928 20.960754364272496 0 -1 0 +47 24 1 0.007459299037120008 14.708000000000002 15.284699999999999 23.449863020791625 0 0 0 +39 20 1 0.003376862325317847 11.7664 15.2847 23.449863020791625 0 0 0 +46 23 1 0.009768162996603134 16.178800000000003 12.737299999999998 23.449863020791625 0 0 0 +38 19 1 0.011451708519644 13.237200000000001 12.7373 23.449863020791625 0 0 0 +529 193 3 -0.8476 1.4045836747088354 12.797677923854442 15.297364918402971 1 0 0 +379 143 3 -0.8476 3.6479330411961883 18.493128836123883 19.58762503197076 1 -1 0 +165 71 4 0.4238 0.6364380304987282 20.088673926904107 15.935757183747858 0 -1 0 +660 236 4 0.4238 2.12389322021301 19.263967819272075 20.834602549240042 2 -1 0 +658 236 3 -0.8476 1.5737386108979707 20.098541840243776 20.86318845039298 2 -1 0 +560 203 4 0.4238 15.394781076902573 13.050765407651904 14.622081620313322 0 -1 0 +381 143 4 0.4238 3.2550133288406142 17.598298120219788 19.799504375422842 1 -1 0 +125 58 4 0.4238 10.47743096516406 13.402844176984058 13.330419032611076 0 -1 0 +506 185 4 0.4238 17.00798692793307 10.56073453324316 15.263209711132241 -1 0 0 +8 4 1 0.007878856031568425 1.4708000000000023 17.8322 23.449863020791625 0 0 0 +16 8 1 -0.02162051739161995 4.412400000000001 17.8322 23.449863020791625 0 0 0 +454 168 3 -0.8476 6.1211530914480035 18.877217060758102 21.057303091018483 1 0 0 +455 168 4 0.4238 6.016004433060814 18.378364098649328 21.91758892263117 1 0 0 +456 168 4 0.4238 5.249585193480707 18.883650340743063 20.567064277406875 1 0 0 +24 12 1 -0.02105358127656316 7.354000000000001 17.8322 23.449863020791625 0 0 0 +32 16 1 -8.633878219141563e-05 10.2956 17.8322 23.449863020791625 0 0 0 +474 174 4 0.4238 13.940539993728047 16.977316374214087 13.262406896868265 0 -1 0 +320 123 4 0.4238 0.45185935575146113 17.666250404746776 15.068591299890938 1 0 0 +173 74 4 0.4238 2.7498380997441414 19.67489584208449 13.872273730507478 1 -1 0 +175 75 3 -0.8476 4.212203814165672 11.613788132755259 18.65457863001542 0 -1 0 +152 67 4 0.4238 0.6848929361146843 19.37421734773228 14.07318618999465 -1 -2 0 +505 185 3 -0.8476 16.758143951478264 11.211629355559246 14.546329703315896 -1 0 0 +558 202 4 0.4238 2.2322174055594726 14.29431286166049 14.701660067407344 1 0 0 +510 186 4 0.4238 12.208040730030191 18.659648620639253 13.541393467576771 -1 0 0 +374 141 4 0.4238 9.497589320200765 19.8441690425366 18.526563503706242 1 -1 0 +153 67 4 0.4238 16.840552768523775 19.914595574397616 13.694556413474471 -2 -2 0 +163 71 3 -0.8476 1.137603810251879 20.333101852965335 16.765870695643105 0 -1 0 +507 185 4 0.4238 16.68943419233681 10.7331700931247 13.670909273297896 -1 0 0 +632 227 4 0.4238 9.059492914790276 11.263838240899624 13.232125352935022 -1 0 0 + +Velocities + +49 0 0 0 +50 0 0 0 +51 0 0 0 +57 0 0 0 +58 0 0 0 +59 0 0 0 +676 0.0021411732266066546 -0.0031466597050466686 0.006950385069113567 +677 0.00471300605204294 -0.010676608272384733 0.0027534373566423364 +678 -0.008823855984279599 -0.007959499471369818 -0.004534651421080043 +709 0.005380424876014373 0.006307583340186229 -0.0018881938332245358 +195 0.0035011066672069953 -0.018982633794167522 0.013387657244058954 +193 -0.0016243730866856681 -0.0009043410307212374 0.00442651336838353 +194 -0.016844359613345537 -0.0020052459554273784 -0.01311294231282549 +103 0.0015806838149129447 0.002560824201124871 0.0047168491592377345 +710 0.007830390266471615 -0.009204470955483884 0.04052260106336803 +713 -0.011412032208487173 -0.0013968159548142917 -0.01011897403656863 +65 0 0 0 +66 0 0 0 +67 0 0 0 +73 0 0 0 +74 0 0 0 +75 0 0 0 +712 0.00439112600296801 0.00360710731488533 -0.0039525073869872964 +714 0.014803144807230072 -0.010674744767348688 -0.003430825293082879 +604 -0.00011827390695045583 -0.006806704613944644 0.0027321887706147296 +189 0.008154941183069432 0.00402238852258463 0.006084124951427027 +170 0.0013361044299764954 -0.00017168208250770554 -0.006118458408511565 +315 0.0037328380509703343 0.017096489497345373 0.013207513139570021 +605 0.003503171355645862 0.00393175960965181 0.01269038834140635 +116 -0.009757167707959114 0.010598646892323519 -0.010231402748289127 +388 0.001747370305520368 0.0018503925217209565 -0.0005923969541604404 +389 -0.02015066489450734 -0.008493989807482257 -0.009473043666461643 +586 0.0050721953206553675 -0.002995629227084019 -0.0022560086328735564 +81 0 0 0 +82 0 0 0 +83 0 0 0 +89 0 0 0 +90 0 0 0 +91 0 0 0 +601 0.0013661096020166409 -0.003796167035264375 0.0063671190647323125 +602 -0.008528174022195655 0.008966924162453272 -0.0044782466696049895 +107 0.002028194218827179 -0.012365773885091972 0.011299553506975946 +603 -0.0030874748643350066 0.0020597842518737266 0.005359799428542693 +378 -0.009420735022443168 0.009599931914543234 -0.009184011191465311 +422 0.0010193233677437787 0.005769570923430941 -0.0006033266822692004 +52 0 0 0 +53 0 0 0 +60 0 0 0 +61 0 0 0 +316 0.002099526043199114 -0.0045408329717682855 -0.0028575294101176726 +423 -0.0017639729433514052 0.002384599378075939 0.006405279839456641 +421 -0.0026843238108787987 0.0046959324815539945 0.0006610392109797653 +643 -0.003182764168498806 -0.002245164669701677 -0.0020501158160216556 +644 -0.02278045268171879 0.008802300249148224 0.014781779450300365 +581 0.014810628036019674 0.0056131550207308666 0.001138473889555862 +426 -0.01183599814307284 -0.0030118119812299515 0.011634339637079983 +582 0.011911283072524504 0.002506814749779835 -0.001888380076239702 +299 0.00994979834473168 -0.0096597572982869 0.006175710613675385 +691 -0.0026712809298204015 0.005580991440600302 -0.005608206061799583 +693 -0.014851955236401738 0.019823950564919104 0.005329652535995544 +369 -0.014885149160620455 0.006101800275190467 0.006812320026047257 +300 0.0008158139232951453 0.00232745268131941 0.00015792455194356278 +367 -0.0049456849226559435 0.008314528563211335 -0.002138833331259298 +368 -0.005849586902335537 0.016404409742447917 -0.023365351477116908 +68 0 0 0 +69 0 0 0 +76 0 0 0 +77 0 0 0 +169 0.005590524540675908 0.007794464783479033 0.003654628816346811 +171 0.012286139005426607 0.008057541351814898 0.0020922247023472014 +425 -0.016526775746840687 -0.0019895804930743877 -0.0012848640610859466 +543 -0.008403263122905095 -0.010110530886943685 0.0016250745100911436 +522 -0.00235343490059379 -0.005821725621201975 -0.014831986110216069 +541 -0.002052849658527383 0.001446847447984322 0.0015600130792332112 +520 0.0005441812914655316 0.0020611556729780707 0.0017969804508576564 +521 0.01905794717342043 -0.002386834191950047 -0.0014130319315243112 +213 -0.0036990379004162195 0.008707625631414345 -0.019663536410738924 +84 0 0 0 +85 0 0 0 +92 0 0 0 +93 0 0 0 +211 -0.005623424343732137 0.00041450752084430637 -0.00187652360271947 +212 0.006534163449200209 0.005670602877114846 -0.0069945707656233055 +205 0.008555811513959347 -0.002709371287039603 0.0014234983072410974 +207 0.01677499159222979 -0.003385261115317942 0.008761159144685641 +206 -0.0001887616937573145 -0.004069535594198049 0.0036374306485813203 +188 0.0030565470233890027 0.008303749761324268 0.0014899500510024226 +104 0.0036813924474077115 0.007994502590776614 -0.03313731805992863 +240 0.010056751094400922 -0.013332457722194798 0.036809456838136606 +186 -0.0012950439927692653 0.002894648277169305 0.006583342682271782 +627 -0.011158521584990703 -0.0009662710867750767 0.006042395691770004 +679 0.006444076291197415 -0.0014424205891745063 -0.0014998614075233054 +298 0.001415424120738642 0.003068364998106709 0.004182110752503899 +498 0.0015425122749562377 0.016719318190993645 -0.007505001561501574 +242 -0.02456132712089157 -0.00499984312835767 -0.017843586754103514 +497 0.007139149173339814 -0.0145879096307924 0.012441864775946854 +496 0.0010186556613462456 0.005655575482822908 -0.006762667135991682 +243 -0.007715796816331542 0.008719348744647202 -0.007300486873615359 +653 0.010449033256064723 0.004309437854212114 0.000935271957518078 +291 0.004183977929022222 0.0034791720281195566 0.008654935223702453 +476 0.016439414220948263 -0.0010854446635568742 -0.046096342306847136 +626 -0.004396560653690805 0.010758464422674686 -0.0049427779061986445 +187 -0.004442223772804815 0.0047589723343784175 -0.0006148440280884378 +198 -0.017122202248149542 0.004671830831065398 -0.021591592448874278 +477 0.0040737641278782745 -0.04058404020647128 0.019242920253909494 +385 0.007886786472273232 0.0013311289547582469 -0.006409370965421947 +432 -0.005112477606678751 0.009856086607739475 0.0027357065631810756 +386 0.02463926635147559 0.016683088148706424 -0.009438473091688007 +387 -0.00010606347230315728 -0.0020318345731269952 0.018980717561988752 +431 -0.007493012343989028 -0.00807857236319325 -0.009881982085251819 +430 -0.004524910755669161 0.0069218123924701105 0.0028532664656262 +475 0.0005240789999880052 -0.0036600642125827463 0.0005837376117434307 +577 -0.00039257654752591074 0.006216233007986547 0.002821290791104702 +578 0.020057630069978766 -0.004246264624556574 0.02613706699373874 +579 -0.007622100966699831 0.0073994147205036324 0.0020110299310591565 +282 0.0008362717929222001 0.0042467846601403755 0.0027792731068598457 +281 -0.0022527029426062414 0.003975642769665842 0.006531907364618286 +280 -0.0020932155844553303 0.003303421993385573 0.005106114099904367 +576 -0.021795680954640875 0.00033248379966947404 0.0035909079681866697 +115 0.0009651319566518861 0.001613687366934229 0.0031050301198059047 +117 0.007092275821736963 0.016601328333389103 -0.010174399596936017 +654 0.006666123396093453 0.0034820782549897476 -0.007548491071939311 +196 -0.007724650614744938 -0.004434335618261068 -0.006100969448446816 +353 0.0012893706598156962 -0.003696189678514886 0.006810683602718142 +575 -0.00015451142420669985 -0.007903206226872591 0.0053590040277165804 +390 0.0019318952353184432 -3.915485612460652e-05 0.02512946163532081 +468 -0.02149606396352213 -0.014627346139848459 -0.02322137074184742 +680 0.0021316175435442384 -0.006654962178855455 -0.0001873582646005704 +401 0.010401215314564395 -0.01960362072239097 -0.01515973547470601 +241 -0.005230192439982171 0.007020204461620798 -0.0013500646300778566 +400 -0.006812157761295941 0.009089711854151245 -0.0036543826545893435 +562 0.0019804650115473567 -0.00028603596969985575 0.005858052848098717 +563 -0.01218620597672023 -0.015524824921392979 -0.008793186490164185 +564 -0.008935569769710614 -0.019371477501039753 0.004169465211802351 +687 -0.02132702946477968 0.002624497943599152 -0.009338031127366477 +467 0.012537198784621843 0.002965885297784254 0.004720391558890157 +666 0.00798795194024716 -0.030319685798422914 -0.0020188158019839183 +664 0.004749322796011822 -0.0043766561886238765 -0.0049774737380464725 +637 0.00588099891901965 -0.001216339123192569 -0.0026242446564109594 +290 0.014516979272844701 0.0015897248385656547 0.005707976744589011 +652 0.006850034980395777 0.0026782797648557486 -0.0015069280546491383 +402 -0.0034976084774069804 0.004535202116435988 -0.005087829093657203 +257 0.0012607025312018137 -0.009368212646836838 0.006968118390459642 +256 -0.0018478117849684223 0.002025941765796813 0.003727441819147934 +424 -0.006901245522197137 -0.0013303335985025966 0.0011059441800063592 +665 -0.004108673022343136 0.02756341408187244 0.004998477269975495 +122 0.03325733328895117 -0.009837145275822285 0.010300807091427751 +258 0.02352477625978478 -0.000800587290288175 -0.002937467081773502 +466 0.0008211706166287764 0.0037786952682420934 0.0028864889717026224 +377 -0.006791525954268541 -0.012741664603392176 0.008960836876523243 +105 0.0075254897454936276 -0.004097719399251073 -0.012147216735037885 +580 0.0037274873834820628 -0.00451385869218868 -0.0005479283373083121 +638 0.02378979194655618 0.01258017180535563 -0.014888606022849447 +717 0.0008536852916907268 0.00758135276550789 0.00866904087809462 +352 0.0013677093267280443 -0.0035327394727749832 -0.0021756600763700967 +137 -0.004025571305218045 -0.0011771198658975714 -0.0028210853387310437 +692 0.0019285659783500123 -0.007498396388372936 0.016327933902900025 +645 -0.006334167147176737 0.0026932034532357765 0.03810632174272965 +185 -0.0258016499999917 0.002966337289661987 0.0192775032868555 +292 0.0032239529951158365 -0.002940539950527776 0.005128379648619589 +294 -0.002882030968976172 -0.009999674767135671 -0.004996218559394716 +574 -0.0017098010265335615 -0.006233341003337626 -0.003130881298453147 +711 0.011550634037340288 0.005661405841651928 0.016230520184342886 +437 0.016623543237673673 0.021126526281754876 0.01525697145973429 +436 0.0011580833433645576 0.001866769096270803 -0.0020668982892715054 +588 0.003788053246840207 0.004318290540820436 -0.009756708962759054 +438 0.002778859820834817 -0.0006615532270598109 -0.0008258015725774891 +701 -0.0077340127867783545 -0.0012750504303974512 -0.0015549160015513451 +700 0.0003771746026641942 -0.005971056101101204 0.00048713541643599623 +513 -0.007685562035241124 -0.003451884123490726 0.011140761717829488 +106 0.0012167401758591842 0.0005190446916700595 -0.0005689566549062379 +702 0.0012360073361495057 -0.014010782072965118 -0.00023435212022074399 +138 -0.00844580607399001 0.002622106272118458 -0.006828542248324802 +542 0.004462053398768184 0.00798739986184309 0.005271563844807477 +376 -0.002635850208642133 -0.0009250576279445919 -0.0022212103610827097 +639 -0.009436328867848297 -0.013749239756427646 0.006593851052360545 +524 -0.005123725178539699 0.015426884373031625 -0.01834347769166834 +360 -0.004178590839375953 0.012772866811974804 0.009637982488128747 +359 0.001703407707272143 0.009108089839648342 0.0055708198881699615 +358 -0.00036687245580791145 0.005831964931051857 0.004159047388106057 +289 -0.001595283063915116 -0.00038607006533445217 0.008644630517419101 +384 -0.0025783811970427543 -0.010842560568130202 0.0002485575154442456 +406 0.008334788236422419 0.0010503441284235345 -0.0023800280127281867 +408 -0.008249724433327414 0.0125860312627397 -0.013608031710222075 +523 0.002630732510263263 0.003918200827993626 0.002970183260485006 +407 0.0010126932985940003 0.004105264448148497 -0.0008185914388617361 +525 0.015007331123588413 -0.002998296737147837 -0.044921726699770494 +625 -0.003508771931501176 0.0027372555782873113 0.0013339734432499892 +136 -0.005107835457616012 -0.00017978248743965154 -0.003988644887833829 +587 0.0006181639400713768 0.001490404492305943 -0.005441807772501442 +184 0.006119642789751914 0.002129260802961511 0.000355130366432989 +404 0.0055448536095734375 0.0007743654867219097 0.016037969196716063 +313 -0.004078044888590166 0.0008247081419541478 -0.0005316362965100083 +238 0.0018177803681502889 0.001226893367767893 0.0007423981284663952 +461 0.0009318635511549625 -4.928350118386009e-05 0.0045466223791930825 +354 0.001972954579596857 -0.0043780296240654385 -0.01077371477183407 +314 -0.009623735019970261 0.00665798742211111 0.02408146022132393 +403 0.006589710410456089 0.007960810210289698 -0.0020320127654004315 +698 0.00031058122010607815 -0.010174080916795681 0.006501436501535736 +114 0.013755765119664892 -0.013815807900815349 -0.008433355002016293 +697 0.0007293039474806055 -0.0017923216167614411 0.003822203247328284 +606 0.008037094668825863 -0.011716121615248383 -0.01219235266766627 +317 -0.014708949199744841 0.009643525399184418 -0.0020141933611741514 +108 0.03603925575757461 0.012858477843299815 -0.009808108963212754 +382 -0.0028195334564676882 -0.0005791679751282715 0.00626241480650448 +219 -0.01247120825189971 0.0030987939456600623 -0.01140054054306225 +670 -0.0009417370514361473 -0.00047014470829927983 -0.002823228428905164 +396 -0.005706783431449613 -0.011306512585110057 -0.009211332176758109 +395 -0.023204652307578223 -0.011850758133780951 -0.014161496708519091 +394 0.0029623638021562065 -7.495431979780323e-05 -0.0017703271435133582 +204 -0.009868889536072716 0.02769142115737454 0.0017278949223337818 +608 -0.00450536239188671 0.002161396364473985 -0.014865545157464521 +203 0.0030390793343812923 0.007253293998996769 0.002638515417395934 +202 0.002472172566760438 0.0031112304950174172 0.005448652165971851 +486 0.0032226946473274958 0.027815340414288316 -0.0050285190432157985 +347 0.011618224126060037 0.010964925075023732 -0.006653010163344175 +45 0 0 2.5892839001447932e-05 +471 -0.007037423015746189 -0.003782108828722424 -0.011604084450051443 +348 -0.007877981592598695 0.00414031561501778 -0.0030371587615563864 +275 0.0027899592485585616 -0.011786738734745311 0.0008697111063236321 +346 0.0014770373743619686 0.003355855691268311 -0.005340974682633985 +572 -0.0025855405956535737 -0.007377959785635259 0.005585381444125606 +338 -0.0070240134955776665 0.004933198476666814 0.0002829725739334517 +485 -0.005851182975421713 0.013136051886263062 0.012654523591979782 +571 0.00834830199522675 -0.0009831706646230961 -0.0015188720646701576 +591 -0.014367954804647138 -0.0282607848831299 -0.0021645959273891365 +589 0.004702184319895896 0.0032133515813428256 -0.002238551119579548 +607 -0.0077765081012144705 -0.000563208567949008 -0.0033449827357436538 +609 0.00272424910864701 0.008195494864301909 -0.03137225773080429 +180 0.0008690738597768954 0.005018713025200337 -0.002945938694498902 +274 -0.005699313791818707 -0.004759962610832066 -0.005872756565232799 +686 0.008217894207660833 -0.0100983629438411 -0.021635270384703958 +671 -0.00024128230687570196 -0.021572647010253177 0.015357674519379468 +672 -0.0012462607034635857 -0.007069689753832631 0.00381563953963042 +112 0.005190774999806905 -0.005729811432305558 -0.0060176087276321245 +681 0.0007714432326670715 -0.004259570858526994 0.0008648677556282801 +113 0.0043631901827183815 7.2629853515748496e-06 -0.016906736065202134 +344 0.0006884579264700855 0.010742221645104114 0.011459152479148704 +343 0.0008499678995289771 -0.0009767427603578425 -0.0031023296178217664 +345 0.0020361124741315505 -0.0003990095428137886 -0.004264505629606172 +255 -0.007269101324618613 0.011421184414796655 0.003680445929695058 +254 0.006698925536045348 -0.0016114719270781995 0.005001912184894123 +309 0.0026873735966253492 -0.003516917240483255 -0.017190081722208775 +253 0.0010722910362563373 0.004038576864854738 0.0014868195441214305 +479 -0.013992183831219059 -0.02537860894898881 -0.00897013602536543 +109 0.002777209346426365 -0.001936144063141461 -0.0069405893687318095 +480 0.018491401867564334 -0.003446569057091999 -0.009085032649696024 +375 0.01146247831539809 -0.002217879718471049 0.0033766238753439658 +44 0 0 2.5892839001447936e-05 +110 0.0019920646548702734 -0.006687944878399153 -0.016768903427213912 +307 -0.0002242679944927341 -0.0028719408963667494 0.001806513745984584 +685 -0.0005070695650422137 -0.004796427068777599 -0.004675336978463182 +635 -0.006874160125070285 -0.0014608020876715408 -0.02409078032412396 +636 0.010895677030626532 -0.0037324590359100168 -0.00047381957852790586 +271 -0.0006627518310477532 -0.0006417588443855544 -0.000925908330851208 +722 -0.008255845250114668 0.00023297165630569398 0.0024535094545625113 +481 -0.005629526983345739 -0.0031242149927506956 0.0037214577831749165 +721 -0.001593152923256278 -0.0007609137655317765 -0.008921595727198363 +483 0.0018748021123651613 -0.0041152897635225805 -0.013180944449052353 +723 0.014252615954590953 0.004118554178258352 -0.011499683175531865 +482 -0.007456018443800531 0.022105815174257835 0.017712618439186752 +210 -0.0015471256324352317 -0.013597641088573208 -0.006216934372877166 +208 -0.0014177674098368779 0.0004455926366301616 0.00017918089607261745 +469 -0.0005997161956485187 0.004690227452983195 0.003880946509081852 +209 0.012946439616943303 0.0003010845740829233 -0.024955441077315038 +688 0.004244333938104657 0.00088687279816499 0.00042834367934795574 +690 -0.01615279858740688 0.013008480696852221 -0.002485959767769533 +634 -0.006715643473882907 0.005128315157175796 -0.0028461075943380623 +689 -0.02883305567581292 0.033940126886677344 -0.002767256806642573 +662 -0.01022324961652937 0.02459966582402962 0.007784567790126536 +149 0.003448328041689386 -0.006877133198457014 0.003969592342967052 +590 -0.02195059781319254 0.033237536847323716 -0.006017526921710795 +433 0.00272180042867418 0.005464940336619222 -0.007183585266666167 +435 -0.00997731338770566 0.018353157147169678 -0.012308600735794373 +102 -0.004933393112589753 -0.0014184896165212457 0.00282315695425379 +140 0.0037442461642616855 0.0008981125403190698 0.017717716926278767 +417 0.008997384653293916 -0.0007344093814239228 0.006883529345814865 +415 0.0010928032033067465 -0.005899521475255703 -0.0035861446547572782 +416 0.010512486392201103 -0.00010648666874990137 0.006727460050107925 +459 0.019803011405952094 -0.03588714256147905 0.008839860703799078 +217 0.0019975096609847784 0.007198832692135352 0.007528959939583509 +478 -0.003112488499603424 0.003929662738660447 0.0028623819844919673 +361 0.0006999918066639268 -0.004357350629198427 0.00022328947844429584 +197 0.0056318114382033204 -0.01769689459774823 -0.010011278507051987 +650 -0.013351051426644498 0.005724197454670781 -0.007295403538761586 +488 -0.0020278193298860344 -0.014631550395182694 0.006454598682826132 +484 0.0007862864811946282 0.005692991164955517 -0.0020259406411123064 +661 0.0014175655249771993 0.002025210035311634 0.0015878833296731276 +363 0.005742013891446284 -0.008837413122760119 0.0011588715258481145 +100 -0.0018359970011427253 -0.0034868726137758537 -0.0012239581668545684 +707 -0.009434545254390386 0.004083690301746898 1.2720907411063185e-05 +178 0.0002213341038015743 0.00042280505641683046 0.0012455284523796245 +684 -0.0016857583723109088 0.01457015268967376 -0.01248668591187947 +36 0 0 2.5892839001447932e-05 +276 -0.01288304297198337 -0.0024180918894788875 -0.009445007106884281 +214 0.0040375473866697525 0.004832098072512322 -0.0011350282263338225 +216 0.003281923037182911 0.012991080014267777 -0.00640293960536805 +539 0.005431350013191119 -0.02106556848906726 -0.00764575525773749 +538 0.004112938902306128 -0.002290109903302108 -0.0010714133951981704 +252 0.014720479077525389 -0.004278515844677452 0.00617407962447848 +228 -0.02651274201810521 0.006169895153203455 0.0026039557167579757 +226 -0.005986759492118269 -0.002624851477283382 0.002437497167111253 +227 0.037359535164647996 -0.005692341539956028 0.0007690705251742958 +540 0.029556683797969833 0.028216009622947624 -0.007637203209894227 +596 -0.000697425483047941 0.001418504974987797 0.0025860571290182237 +215 0.0019872688713270963 0.009030373521039053 -0.0024074898093308073 +234 -0.013734641718106119 -0.006668468740782935 -0.01326772362636071 +706 -0.0074752312033302334 0.005036319412231939 0.0023954321652624308 +708 -0.0008425953758246843 0.009181695196824482 -0.009248661735532846 +373 0.004422144964975159 -0.0017838198122578036 -0.00018027826543031534 +272 0.013275855183390188 0.014396950748917418 0.0007514222935930509 +273 0.005974305377988905 -0.0017929350389151585 -0.004011080458908929 +362 0.005928696718884773 -0.0061635334731560834 -0.0070875384379755196 +597 -0.011587275738507787 -0.0026775845755159858 0.005599952012635736 +519 -0.010602493961103342 0.01561109572005503 -0.004366769028339268 +682 0.001983241531391707 0.0001436343494854703 0.002165088698424475 +161 0.009978689554182 0.001974367386088278 -0.005346935314707327 +683 -0.011175053949123178 0.011604486671463417 0.005680469507150669 +339 0.011317559380578967 -0.013840330482369045 -0.013807747849132778 +470 -0.012260116006234724 0.0029555761306863846 0.02022738168370677 +595 -0.0012887047489432875 0.0007223671835801802 -0.0028794772050928733 +649 -0.001959620111970716 0.0027086652664905795 -0.004508497780011865 +179 -0.008134269078556558 -0.018166688138021095 0.0007578460469746819 +308 0.0220712849298707 0.00809270514744733 0.0063544521946541635 +663 -0.018587653237992264 0.008058025396004323 0.003021049320538634 +337 0.0009033685485476928 -0.0015102179823566727 -0.0064849412993145715 +327 0.00783068755116193 -0.006919671129723819 0.007255760426290675 +325 0.0014839226012046617 -0.004293646082977329 0.003541697150309064 +326 0.009138500341898103 0.016222223033475605 -0.004576555598052157 +535 0.005511650342351115 0.003976008787370079 -0.0035332740014495886 +537 0.00039714859735720515 -0.0034221246954245044 0.004417018509094299 +2 0 0 2.5892839001447915e-05 +1 0 0 2.5892839001447912e-05 +11 0 0 2.5892839001447912e-05 +3 0 0 2.589283900144791e-05 +10 0 0 2.589283900144792e-05 +9 0 0 2.5892839001447915e-05 +536 -0.008139619366591666 0.023305802200695613 0.020099395824835317 +516 -0.01472371433290118 -0.00947034405699238 -0.006759743057624231 +111 -0.0005643300911320225 -0.00203649367262994 -0.0031700572161786175 +515 0.0021658009569283476 0.013002309599111122 0.023091810824977285 +514 0.002194248370768298 -0.00477869990315876 -0.001376235961931239 +168 -0.007642051948728814 0.0025148703254984145 -0.0010089913229547366 +166 -0.0018884353605177553 0.00853020828258679 -0.005584376923825304 +17 0 0 2.5892839001447922e-05 +19 0 0 2.589283900144792e-05 +18 0 0 2.5892839001447925e-05 +27 0 0 2.5892839001447922e-05 +26 0 0 2.589283900144793e-05 +25 0 0 2.5892839001447925e-05 +434 -0.0131141501224289 -0.029735168306092356 0.018069386056516087 +41 0 0 2.5892839001447936e-05 +42 0 0 2.589283900144794e-05 +43 0 0 2.5892839001447932e-05 +33 0 0 2.5892839001447932e-05 +35 0 0 2.589283900144793e-05 +34 0 0 2.5892839001447936e-05 +518 -0.003364650601080657 -0.0025510701028415793 -0.019031077701915526 +101 0.0066056761815660925 -0.025335359921442018 -0.0042522676779589135 +517 -0.0042150036150125966 0.003039265084075177 0.001234238912865041 +150 -0.003263779481471764 -0.006968079925877713 -0.0285427305003533 +37 0 0 2.589283900144793e-05 +13 0 0 2.5892839001447912e-05 +4 0 0 2.5892839001447912e-05 +12 0 0 2.5892839001447915e-05 +148 0.004337680509183382 -0.0024120213706328784 -0.0023459000779718947 +5 0 0 2.589283900144791e-05 +167 0.0022761530768332797 0.0009747010232492098 -0.004993243345757521 +328 0.004462110300378782 0.003171460897117234 0.0013533076822872438 +329 -0.0028078357210696643 0.0006206344128711716 0.006200475106646407 +330 0.030738960581955917 0.003287330484129426 -0.010708188876434703 +28 0 0 2.5892839001447925e-05 +29 0 0 2.5892839001447922e-05 +20 0 0 2.5892839001447922e-05 +21 0 0 2.589283900144792e-05 +457 0.006550818533058792 -0.001884276384381016 0.003039243394733296 +573 0.013975969924696937 0.0024199182318704903 -0.0034702509100560364 +651 0.015420309153338693 0.010283570358113264 0.02634159883149936 +218 -0.003395956296838163 0.00547325260028855 0.0019942972776871965 +54 0 0 0 +55 0 0 0 +62 0 0 0 +63 0 0 0 +192 -0.004363758761444326 0.00951161221484961 0.017129944705041603 +119 -0.004701077453742114 -8.296328219091687e-05 -0.0009688745560292821 +118 -0.0009314150513423432 0.00027605062629613427 -0.0035150783233501826 +191 0.00680583753605197 0.003167173243801115 -0.015417719909486413 +190 -0.0014967223491699952 0.0025908878048932016 -0.002402175301537957 +98 -0.009260175858086675 -0.028226198550552986 0.007567183856183354 +120 -0.0034806697031884997 -0.003298183743718096 -0.004362434174689871 +97 0.005989233619364602 0.0023803823609934273 -0.0030417661760985806 +244 0.0017880362939288001 0.00422352421710819 0.0005606753077441453 +99 -0.006220115534110591 -0.002045805635333923 0.0006476194511692398 +631 -0.0033826096876896855 -0.002181941878393241 0.0025269093094629474 +295 0.0006648861314364348 -0.003931280096251278 -0.0026803518350101033 +296 0.0062929742791497266 -0.006194372009187594 -0.024124245716887833 +336 -2.5155253934298795e-05 -0.00267261595791318 -0.014156428435828225 +70 0 0 0 +71 0 0 0 +78 0 0 0 +79 0 0 0 +334 0.0001249108228848411 0.009592140759049824 -0.008055311762730182 +335 -0.008933120836296046 0.03861648264199437 0.005139262991883574 +656 -0.012795486572600556 0.01001730917412183 0.010504777975066928 +655 0.0002453631990046368 -0.008270009402721512 0.005790081828127683 +657 0.0059063953119072934 -0.011220436899447496 -0.011461093784466869 +331 -0.001861800330708783 -0.004080943128134591 -0.006024367439539751 +225 0.008847588531356471 -0.005432354583684017 -0.017291462941727266 +223 0.0018512701070779799 0.002105046598030068 -0.0050342839053457425 +86 0 0 0 +87 0 0 0 +94 0 0 0 +95 0 0 0 +246 0.019304488124036106 0.012412888772496453 0.01389232978530525 +224 0.011417823406336933 -0.02584104798241233 -0.01586969560916166 +283 -0.000656343011071711 0.0008016291011868049 -0.003620593475455601 +285 0.0051281146563605 -0.002140065887603185 -0.011749359473630993 +284 0.002108917603863087 -0.010745428739586635 0.004067661946326833 +135 -0.0019613502216042204 0.0060261613203991815 -0.005145175930284868 +128 -0.01091600795889493 -0.005359155172554258 0.0011735199042172864 +641 -0.0047721234085586475 -0.00089548417111443 -0.02881249647727017 +694 0.004306853434289274 -0.0003461190629024837 0.002613610137021579 +508 0.0038336193257742066 0.004428638671902145 -0.002578190874375256 +365 -0.0008789666156448981 -0.01647416448186925 0.005405726875929458 +56 0 0 0 +64 0 0 0 +264 -0.005069066816637629 0.008594012902267328 -0.004896454013501075 +262 -0.00411559201856892 0.0055846035307135136 0.0022939832937934027 +303 -0.012248995229285456 -0.02038598577770783 -0.0067506409467423655 +263 -0.007203606603798386 0.00015673233657838596 0.009479088778907655 +696 -0.002403944998986855 0.012547542006427242 -0.0025721085279788183 +555 0.010313716462669934 0.017093518256946594 -0.0007535353716470382 +460 0.004762464388993355 0.0035128765813662345 0.0002544426222686458 +357 0.0026975244838181372 0.0006296683369134417 -0.004187815650450881 +355 0.0009889367525614406 0.0028571604624972836 0.0044422297391537215 +642 0.011684188963247771 0.02173040302358248 0.027637684910990796 +440 0.004733172069375852 -0.0006744085975210469 0.015964767016019198 +441 0.019273424633345186 0.02031857101103021 0.01136636551406023 +248 0.005408140991082604 0.01948553192838653 -0.01769576815856515 +439 0.0021888008868001167 0.00022281918895093757 -0.0005699233777872146 +72 0 0 0 +80 0 0 0 +593 -0.010764868078727771 0.0004632189843140992 0.03371192356674729 +592 -0.0012510047155927621 -0.0013228538172386057 0.0030004231674896093 +594 -0.003138799668445178 -0.009265431891145101 -0.0035030936801646703 +229 -0.004015308077517968 0.002304541027168982 0.0018452763612786536 +356 -0.00439289027906843 -0.0003181501233854808 0.007804079534610549 +443 0.01501004287837676 0.01274826059103139 -0.0008103413168549527 +230 -0.0033363552955116165 0.0011395679198842948 0.002421577058286637 +442 0.004590428851528285 -0.00016647082324879346 -0.007536939151246863 +444 -0.0004709522261627252 0.0007916817345592208 -0.01857710544198639 +231 -0.005563876064052946 0.001516515443061688 0.0011917788782933065 +88 0 0 0 +96 0 0 0 +553 0.002310850563285711 0.0038622245684212407 0.001063744581887175 +554 0.020520241141740107 -0.005768318995011451 -0.008503556427794993 +699 0.009769647936468813 -0.0026398354232907723 -0.0019420937862542735 +247 -0.0005440687793801106 0.00533274551270155 -0.003116117624827588 +527 0.0018514500777837737 -0.009230378273878258 -0.0060158525133069156 +245 0.005556414067735625 -0.0055651124084785675 0.0033327958619201684 +633 -0.006228493799001829 -0.0025536564906557587 -0.008694681481617547 +123 -0.0013254634442550768 0.0063472029134561585 -0.011594854053242773 +724 0.009989087181242503 -0.005372152351255475 -0.0018551724238006096 +725 0.028063127915331425 0.0036594616018658425 0.019379030908003192 +342 0.0006491711315738201 0.016203183514455405 0.0023688436726023014 +340 -0.00433735839176797 -0.000495918764211808 0.002257318744322688 +341 -0.0006929018962787288 0.015189606179435388 0.0018137275128837062 +364 -0.00882244249614916 0.0034576704590505883 -0.00811983159685899 +726 -0.01855210191687358 0.024009648567330344 -0.010178733951576051 +503 0.014134059605139943 -0.004326106316946778 -0.001926850902735659 +502 0.003759520085920061 -0.005572417624353865 0.0038047544622829043 +504 -0.003935710721857757 0.005577813760648028 0.013790854542965157 +413 -0.021593565939491674 0.003234704353097422 0.011974405473584714 +278 0.00883327301294058 -0.013449834793822607 0.020644593756055547 +270 0.00781868067364934 0.002754459504676058 -0.0010544004588571533 +719 0.006398783376387078 0.001946288912145545 0.022229144951245915 +132 0.007832425765429163 0.011404797448368427 0.015400661765000056 +297 0.0038792006849247243 -0.007593554626325106 -0.012809257149632622 +392 -0.011715180257929931 -1.176189615249834e-05 0.009633360116141418 +260 -0.009423773124827882 -0.023186194647239755 -0.02190022720812517 +548 0.009629883272752136 0.006774886139507993 -0.020907198728238808 +302 -0.007841165533640462 0.003026014956910295 -0.00703538244890269 +259 -0.003426942147231846 0.0014749707614869303 -0.003444717877250437 +261 0.0006945604695285328 -0.010576783124679686 -0.0020734669000596877 +640 -0.0008886178358934431 0.0060434330372213935 -0.010383480842809305 +532 8.241792411033156e-05 0.006040661450994054 -0.002463893772382022 +235 0.0007038770519582305 0.0067292095538841615 -0.0028443681465380494 +533 -0.0002129926328668816 0.00488451374048223 -0.0028066827071909287 +534 0.007064961280930333 0.025232242617842127 0.0008574875214082739 +621 0.011287366443141251 -0.003449176508228183 0.017928382611092662 +121 0.0007022815589027053 -0.000892538811671254 -0.0018627823896997114 +269 0.00469009840256279 0.0015241035513903975 0.001984306143110744 +265 -0.0054586758884403105 0.002131291238446908 0.001153323924828889 +547 -0.0011175811849537705 0.004103087625132249 0.00078716134613171 +619 0.0003632578854721528 0.005362253640767787 -0.006417849782413687 +279 0.011624081133984786 -0.011774327315428757 -0.014995684102348524 +293 -0.0017466342827571289 -0.002552253740249767 0.002528434692005852 +695 -0.004911630333401857 0.008651651256560356 -0.0020402912967414214 +494 0.005776310030291935 -0.000219217384465697 -0.0012280489592709103 +131 -0.018436321747528253 -0.021208301175051184 0.0006884707536230596 +715 0.006546258488425628 -0.005755050576697564 -0.0039883518170252905 +239 0.011588133086593538 -0.011846815428878082 -0.00881463043856705 +414 0.010325867114536506 -0.0006113612193524784 0.0017105622669241444 +648 -0.0026558023935934014 -0.009616362543538188 0.010264407433954103 +646 -0.0003042619186802288 -0.006311024166021424 0.0031010083811757994 +565 0.0007394748342163842 0.004516477559592657 0.00033539363242210933 +566 0.002090696563890277 0.0033273332142688904 -0.006266252541019348 +544 0.0007700118900610095 -0.001389627444945187 -0.004115546441642321 +546 -0.008050688006328074 0.023127963394541477 0.006164274038600667 +545 0.005924140141637715 0.001350652630120117 0.004941780161927939 +495 0.0069079619862543245 -0.007627704476709708 -0.0021154124154080375 +647 -0.00017732064807360345 0.002645796003071014 0.007429648590994952 +493 0.008654158253716833 -0.004029112678793171 -0.0016991226950217582 +301 -0.00533271211616937 0.007677255432536089 -0.0016339575663828834 +127 -0.0017719186381853886 0.003534213331123468 -0.0014256780429603613 +266 -0.0005212803553580399 -0.010749716358853169 0.007192928429952392 +391 -0.002578132714595172 0.0014365390200574261 0.0008211021077538514 +465 0.016880882832760326 -0.01067083624985097 -0.00022780999411606596 +333 -0.002918705357704968 -0.01118788463028499 -0.011006638219927969 +366 -0.0034141036467909827 -0.01084067671589307 -0.0004984580617246783 +267 0.006279258266850698 -0.018295845749178304 0.003999927664413487 +157 -0.0032474639721635297 -0.002071067218862699 0.005146248544668708 +412 0.0010230248589894202 -0.002669542251526284 0.004046648042845933 +393 0.003984235524416656 0.01206305025975438 0.007338917088694135 +405 -0.0055971864668224415 -0.001835879479675777 -0.0003608610575552909 +448 0.004430595048261473 -0.005005222921986947 -0.0018506673587511161 +449 0.01637776697980032 -0.014127790377349642 -0.00434461965343095 +584 0.013793791431671172 -0.009326091804055824 -0.01747981576570497 +585 -0.008359394537154218 0.009831653490172253 -0.015131425117590833 +318 0.014260723165817455 -0.002876736345312385 0.01741120858595613 +450 0.016867039987388758 -0.006826024777415599 0.0014250845205727915 +159 -0.0020686816783562546 0.023218708679260347 0.0005679898884230374 +277 -0.00031624432316685767 -0.003276417788006159 0.007206583965036211 +174 0.02232250253907675 -0.01231852993148094 -0.010546896918912205 +158 0.009085924338852294 -0.014728147944420766 -0.020912169525047947 +236 0.006765120985488478 0.005926831661173007 -0.002318291635240894 +332 0.0042747818750445725 -0.0017899782198140476 -0.007971038141225751 +567 0.002235629448123555 0.003016503143010697 -0.003392544405989525 +268 0.004011420131944795 0.008377084166031164 0.002316053989518986 +144 -0.012024612981489083 0.005361811091711969 -0.0014672866723572583 +143 -0.0073730174733633545 0.0040880726939264795 -0.0165900644982253 +620 -0.0065142327069454865 0.035190802650504636 -0.0006640427681044298 +142 0.0028419016591640558 -0.004087187698190576 0.0037294719979222247 +129 0.008463487923697903 -0.0015510850454567688 -0.015170037898573475 +549 -0.0025830067012953825 0.01852116530899133 0.010385008510639499 +583 0.004268963968694046 0.0010471359047598279 -0.005851219475190436 +718 0.0006430494717885148 0.007923101925764318 0.004010379569037137 +237 0.014352864654346011 0.01020811390215342 0.00047127720322738515 +462 0.005064298161311936 0.0015423027868889188 0.008335104423218753 +130 0.004406284567008871 -0.00860513254615911 -0.004879385522234749 +720 0.00393831447904276 -0.006119628459627095 -0.006764066218979042 +383 0.004218653914705313 -0.01202327645784736 0.022980672819351747 +133 -0.00102039624254495 0.002371407198966068 0.0067364713751238425 +511 0.003912741513012298 0.00101552438914296 0.0018958766721141054 +134 -0.0033610434450266286 -0.0026284616742153787 0.00674072004379062 +716 0.010566057481285352 -0.02176428147337611 0.007168160969202919 +512 0.01634597212601708 -0.0002926570645188546 0.007738629495829494 +509 0.0011140510641293316 0.0007182760943427564 -0.014628144005186052 +568 -0.0039044314646687196 -0.006830451357868171 -0.0022373549345757774 +569 -0.0013290493571988461 0.004839537419246563 -0.006910692862670655 +304 0.0054736539006658485 -0.004960430228645577 -0.001968166657216059 +305 -0.012109090513145905 0.00577200024652643 0.005396896203310628 +418 -2.437543145425559e-05 -0.005689015414779892 -0.002258568108083334 +306 0.011459516326170439 0.0007872800806459576 0.005803298963212287 +501 -0.009350152887850311 0.003677986993344379 -0.011989987989375296 +445 -0.0008290701903718754 0.005643282980849799 0.0002485307221862214 +463 0.0004729541684906896 -0.0009865037215842994 0.0002106726307666064 +172 0.004731719855505472 -0.0030321314569809483 -0.0003530081265682011 +489 -0.014429505694453698 0.009455042753152534 0.01903652416959836 +419 0.0025409339530107623 -0.002879625146716656 0.0003702102460500956 +446 -0.00021411000691779435 0.00955825379875846 -0.00885753338160607 +420 0.007536051380740864 0.010381989365120456 0.005336366205111886 +499 -0.0006342662881036965 -0.00023501992000385272 0.0020560303434147245 +500 -0.01195099663304182 0.028212202950552916 0.014770929928671189 +250 0.007361035395654199 -0.004690688159251201 0.003061239445099873 +147 -0.009310962727936977 0.020391157953635785 0.03074647165589922 +146 -3.6811505540478325e-05 -0.017980254752765046 0.017302450341036273 +570 -0.0017712854514889199 0.0019656582840076615 -0.002982248494982292 +323 0.02025520719624794 0.00437956264756661 -0.0018309996628302016 +324 -0.014124442777214079 0.011549999461420518 -0.018237952404482057 +322 0.0016068916953904174 0.006306614444237204 -0.004315464210736402 +200 0.021753072613096884 0.018573023333333702 0.004427859217421257 +623 0.011452678250841558 -0.007224569524583359 0.0027236085578886244 +551 -0.014919499049456707 -0.01686470199682272 -0.009390344835571803 +201 -0.023111043546362873 0.00020560246955362896 -0.006295323851049318 +199 0.0004815918368625051 0.004853422247417755 -0.006061618709908838 +312 0.0008481996440953347 -0.006155473605828348 -0.0017282663370451403 +624 0.001586490607358962 0.004010243402294628 0.0059810887166708345 +350 -0.009760147323275311 -0.016632875743950715 0.016528153602606437 +126 -0.006532699294053725 -0.012656386469316777 0.0068195173267290715 +622 0.0024139583689417247 0.003498498050067583 -0.003655007006662313 +550 -0.0012162513220406828 -0.0033011033267567416 0.004819001835822252 +552 -0.00924649718960619 0.0013741774004242453 0.015653387667881418 +124 0.0001705708408269096 -0.000550279279659424 -0.0013377042655839796 +145 -0.002334830495624088 0.002793853156377406 0.006506801380971504 +40 0 0 2.589283900144793e-05 +599 0.0023217932209911667 -0.01835053819969972 -0.013463199934529201 +251 0.002581923394498151 0.0023298657256145133 0.006255129412513726 +704 -0.005296929928288727 0.01607189461778198 0.010179684267012322 +703 0.0034655840261788758 0.005574906464163651 0.005889701146370732 +705 0.010861930940493255 -0.0003350694921833778 0.01044180291497366 +48 0 0 2.5892839001447932e-05 +559 -0.005483933645194205 -0.0012780353966408038 0.0023721586219114825 +561 0.01337950290190957 0.0044607660522192946 -0.01823291897146361 +675 0.0031193771284579496 0.00217714638874969 7.001676744408073e-06 +222 -0.006345175465281138 0.004820356905560499 0.023282345551168215 +598 -0.0007217641988605089 -0.007385715555506205 -0.0009079271908534197 +177 -0.01851185003563661 -0.00016629752608533365 -0.012976887019520758 +310 0.0012985833227644886 -0.001566855158339641 0.001579031386051685 +458 0.0039239799167950645 -0.007481014210507378 0.009788403085109105 +139 0.00033494528818851267 0.0024585397677852625 0.000660401833580898 +614 -0.0009389256816982662 0.011828643953531368 0.018676419298217065 +600 -0.018094474476051486 0.00023445740586081488 0.008899796958011633 +617 -0.009036194427037533 -0.0025641807901169078 0.005251509094796726 +311 0.0010927413625261679 0.0024725292678410946 -0.0033258539523485773 +530 -0.009543198468485899 0.009194738162092713 0.002932821352048649 +141 0.007530076713547185 -0.010772382425474793 -0.007049312864075332 +531 0.01346275911311354 -0.015519264000711233 -0.013983233267324877 +399 -0.015794023221716955 0.013361754155793227 0.023184548477482157 +380 -0.00016532393637421034 0.005396941650961916 0.003706037154930361 +464 -0.009720016666000888 0.005508521851143906 -0.0010447395388278984 +428 -0.0032295145570997628 0.0073242509948272215 -0.008762443779130127 +397 -0.0019383749400236328 -0.004608215655716036 -0.0033540348251192864 +319 -0.0009038475895158715 0.0004032373568885917 -0.0008893950154038688 +398 0.0008784454978576588 -0.019930509233584276 -0.0023402740275860765 +528 -0.017149344935718215 0.0053125553694975455 -0.0062739095024969055 +321 0.011291342491685402 0.011778478494356572 0.02157510722031055 +490 0.003460299667122343 0.0005008872223548776 -0.003928509480568708 +491 -0.02042787598151604 0.009606293972625789 -0.014609420256501925 +492 -0.01179479155292874 -0.013123603914816054 0.006317741927870814 +659 -0.0069325446438758135 0.001872758468936734 -0.001820683375806924 +249 -0.003689403614427041 -0.009541231217973603 0.0028290387567211457 +164 -0.006400690048675919 -0.013877760093602321 -0.002977622020994794 +162 -0.004855407125325768 -0.01879111496764322 0.020518095513515515 +371 0.0186329030963466 -0.0030361600806192253 0.01127947927515273 +370 -0.006645327540014044 0.0013620044066288777 0.0040028544483149825 +610 0.002198658185540671 -0.005517799631155318 -0.0021977580020232164 +154 -0.0040921640552195535 0.004469932541531453 -0.004074017062258021 +155 0.00946262378435491 0.008912303180476127 -0.007853976504644958 +156 -0.007160039514904957 -0.009309817752610663 -0.004347645837647768 +612 -0.01853211573078728 -0.01727473985951407 0.017215191641891617 +183 -0.004442865646352574 -0.003400423991540166 -0.0018621889463709465 +629 0.020458137445744262 -0.0005441012285127372 -0.016121405666884327 +182 0.010414879082570251 0.030332837986610725 0.005191185967407049 +181 -0.004080198053479511 -0.0019011724834973821 -0.001840667647736802 +611 0.012212859606390776 -0.0026124264131294 -0.005669832465189566 +628 0.0001792339331808534 -0.002433089326052819 -0.001805358970649801 +630 -0.015366679651799057 0.027336154517751083 0.0030786076245146897 +487 -0.006612908041425593 -0.010557716751849671 -0.0004398534728532736 +526 -0.0028150615039515803 0.004044411001066752 -0.0013644193865672359 +151 -0.008568566244765728 0.0059744557184639255 -0.000627104807162225 +160 -0.005288304762918362 -0.004980091259974818 -0.0052020664728392955 +351 -0.014050712299375443 -0.02358677864502768 0.022078468617912066 +372 -0.010000271327845013 -0.0017495788438303597 -0.015743229425643938 +473 -0.008545742194336561 0.03299533080814433 -0.006554398847784694 +669 0.009323919846092737 -0.005503137113750206 -0.01757154792744392 +220 -0.010802030745763268 -0.003946674830891448 0.003347466106919407 +221 0.0031078719584793097 -0.0026986854685907176 -0.005051678138139105 +349 -0.0028467913154277976 0.00619549728782877 0.004513308653347061 +176 0.014573690185444051 0.005701141194454324 0.02429670540436278 +472 0.0034704444931731564 -0.0004223936528461586 0.004682456493386929 +286 -0.0007227944529852624 0.0002044846821905628 0.0005275546923425382 +287 -0.013787536809725281 0.0027725652215363646 0.0028043383019355616 +288 0.013467067943699075 -0.013607004090118587 0.010562692707514431 +667 -0.0033231615840826375 -0.0026754997278682718 -0.0025810158998434453 +557 0.00480046414868641 0.0036381648364985485 0.011568695731040347 +668 -0.010354343669844574 0.01551276249617225 0.001263283616141959 +233 0.018175533457414624 0.0017013730890884599 -0.000542455897216258 +232 0.0005655337868856603 0.005109144050052834 -0.0075456339065252485 +556 -0.002652573873678528 0.0017686267932879897 0.007383198916898972 +613 -0.0015918424196763945 0.004086688266801507 -0.0008860298641209033 +615 -0.0020836681424838757 -0.0005735018872513953 -0.013310568326146311 +447 0.01139703322386246 0.014688114003843386 -0.0018920048987641955 +453 -0.004830305681658932 0.02052395365578583 -0.006460118140426627 +452 -0.006659826339694623 0.0003543348655607981 -0.022845001543426367 +451 -0.005502850804956584 0.00025572828917443384 -0.005940030711587164 +427 0.006878068518221622 -0.00885399992822085 -0.004941337405656671 +429 0.016310095429692206 -0.004246153250381018 -0.0063539068368046086 +14 0 0 2.5892839001447915e-05 +7 0 0 2.5892839001447905e-05 +6 0 0 2.5892839001447912e-05 +15 0 0 2.589283900144791e-05 +410 0.0036773579068940594 0.005088334412447784 -0.00010670193844646754 +411 -0.013294041272967414 0.0018927422415192015 0.004022854780372532 +23 0 0 2.5892839001447915e-05 +22 0 0 2.5892839001447922e-05 +31 0 0 2.589283900144792e-05 +30 0 0 2.5892839001447925e-05 +409 -0.0033332525225770564 -0.00245864319500691 0.003352617057588178 +674 -0.0020876963116493253 0.0012720696117521837 0.004777046069219144 +673 0.001440207298745793 0.0006711067607754656 0.005750751000129193 +616 0.0034399261571874833 -0.0006771518251561286 -0.0008689301882926043 +618 0.011960174137895753 0.02757908212908868 0.006623095130093759 +47 0 0 2.589283900144793e-05 +39 0 0 2.5892839001447925e-05 +46 0 0 2.5892839001447936e-05 +38 0 0 2.5892839001447932e-05 +529 0.005442778008874495 0.007503881077571631 -0.00033589800355411745 +379 -0.001314351775643973 0.002379695621041653 0.003275885323478339 +165 0.00884464006202344 0.015924976929959245 -0.005078073570798919 +660 0.011025274705486485 0.007784764248372991 -0.019723554911707096 +658 -0.0017037660488597379 -0.0011580239500757668 -0.005506394723447372 +560 0.005991317348670128 -0.0022661168537082676 0.009892255799050512 +381 0.012417376249213864 -0.004828502113807977 -0.0018726878888628074 +125 -0.013873333040961978 0.004406736093524685 -0.021053266887589718 +506 -0.026262892601657484 -0.0021543522170194944 0.00442906465538162 +8 0 0 2.589283900144791e-05 +16 0 0 2.5892839001447912e-05 +454 -0.00010663947966301035 -0.005040601246033902 -0.0006922370547977346 +455 0.02289550486644541 -0.006075060916417402 0.0014647034106781431 +456 -0.0058551014431358 -0.028688264965094145 0.009412476538204347 +24 0 0 2.589283900144792e-05 +32 0 0 2.5892839001447922e-05 +474 0.018709003929338164 0.009713859155058282 0.005249922845235266 +320 0.020360034496335867 0.014864835586975439 0.030731515192935176 +173 -0.00013434925230160102 -0.003339721540542993 0.004399850614784226 +175 0.00477366431159889 0.0011728150452943586 0.0044527343392776805 +152 0.0025786212815767234 0.029696509429575725 0.013830328539275497 +505 -0.0004092230325628855 0.007490307555796668 0.004255257179335567 +558 -0.008265759925745195 0.00204552967410164 0.004668247385046733 +510 -0.0053380401606728245 0.0015521061958218008 -0.0005550030486493117 +374 0.02765868826006261 0.0017903292061302555 0.0026621329108467906 +153 -0.001037157082329749 0.005658079883762745 -0.006765436155795196 +163 2.534136430269839e-06 0.0043915276877542625 0.003615456878949748 +507 0.011440010041486237 0.01571871212288878 -0.001231948945091482 +632 -0.009407051140085434 -0.003481475839385426 0.0075372754448969695 + +Bonds + +1 1 676 677 +2 1 676 678 +3 1 709 710 +4 1 709 711 +5 1 193 194 +6 1 193 195 +7 1 103 104 +8 1 103 105 +9 1 712 713 +10 1 712 714 +11 1 604 605 +12 1 604 606 +13 1 388 389 +14 1 388 390 +15 1 586 587 +16 1 586 588 +17 1 601 602 +18 1 601 603 +19 1 316 317 +20 1 316 318 +21 1 421 422 +22 1 421 423 +23 1 643 644 +24 1 643 645 +25 1 691 692 +26 1 691 693 +27 1 367 368 +28 1 367 369 +29 1 169 170 +30 1 169 171 +31 1 541 542 +32 1 541 543 +33 1 520 521 +34 1 520 522 +35 1 211 212 +36 1 211 213 +37 1 205 206 +38 1 205 207 +39 1 679 680 +40 1 679 681 +41 1 298 299 +42 1 298 300 +43 1 496 497 +44 1 496 498 +45 1 187 188 +46 1 187 189 +47 1 385 386 +48 1 385 387 +49 1 430 431 +50 1 430 432 +51 1 475 476 +52 1 475 477 +53 1 577 578 +54 1 577 579 +55 1 280 281 +56 1 280 282 +57 1 115 116 +58 1 115 117 +59 1 196 197 +60 1 196 198 +61 1 241 242 +62 1 241 243 +63 1 400 401 +64 1 400 402 +65 1 562 563 +66 1 562 564 +67 1 664 665 +68 1 664 666 +69 1 637 638 +70 1 637 639 +71 1 652 653 +72 1 652 654 +73 1 256 257 +74 1 256 258 +75 1 424 425 +76 1 424 426 +77 1 466 467 +78 1 466 468 +79 1 580 581 +80 1 580 582 +81 1 352 353 +82 1 352 354 +83 1 292 293 +84 1 292 294 +85 1 574 575 +86 1 574 576 +87 1 436 437 +88 1 436 438 +89 1 700 701 +90 1 700 702 +91 1 106 107 +92 1 106 108 +93 1 376 377 +94 1 376 378 +95 1 358 359 +96 1 358 360 +97 1 289 290 +98 1 289 291 +99 1 406 407 +100 1 406 408 +101 1 523 524 +102 1 523 525 +103 1 625 626 +104 1 625 627 +105 1 136 137 +106 1 136 138 +107 1 184 185 +108 1 184 186 +109 1 313 314 +110 1 313 315 +111 1 238 239 +112 1 238 240 +113 1 403 404 +114 1 403 405 +115 1 697 698 +116 1 697 699 +117 1 382 383 +118 1 382 384 +119 1 670 671 +120 1 670 672 +121 1 394 395 +122 1 394 396 +123 1 202 203 +124 1 202 204 +125 1 346 347 +126 1 346 348 +127 1 571 572 +128 1 571 573 +129 1 589 590 +130 1 589 591 +131 1 607 608 +132 1 607 609 +133 1 274 275 +134 1 274 276 +135 1 112 113 +136 1 112 114 +137 1 343 344 +138 1 343 345 +139 1 253 254 +140 1 253 255 +141 1 109 110 +142 1 109 111 +143 1 307 308 +144 1 307 309 +145 1 685 686 +146 1 685 687 +147 1 271 272 +148 1 271 273 +149 1 481 482 +150 1 481 483 +151 1 721 722 +152 1 721 723 +153 1 208 209 +154 1 208 210 +155 1 469 470 +156 1 469 471 +157 1 688 689 +158 1 688 690 +159 1 634 635 +160 1 634 636 +161 1 433 434 +162 1 433 435 +163 1 415 416 +164 1 415 417 +165 1 217 218 +166 1 217 219 +167 1 478 479 +168 1 478 480 +169 1 361 362 +170 1 361 363 +171 1 484 485 +172 1 484 486 +173 1 661 662 +174 1 661 663 +175 1 100 101 +176 1 100 102 +177 1 178 179 +178 1 178 180 +179 1 214 215 +180 1 214 216 +181 1 538 539 +182 1 538 540 +183 1 226 227 +184 1 226 228 +185 1 706 707 +186 1 706 708 +187 1 373 374 +188 1 373 375 +189 1 682 683 +190 1 682 684 +191 1 595 596 +192 1 595 597 +193 1 649 650 +194 1 649 651 +195 1 337 338 +196 1 337 339 +197 1 325 326 +198 1 325 327 +199 1 535 536 +200 1 535 537 +201 1 514 515 +202 1 514 516 +203 1 166 167 +204 1 166 168 +205 1 517 518 +206 1 517 519 +207 1 148 149 +208 1 148 150 +209 1 328 329 +210 1 328 330 +211 1 457 458 +212 1 457 459 +213 1 118 119 +214 1 118 120 +215 1 190 191 +216 1 190 192 +217 1 97 98 +218 1 97 99 +219 1 244 245 +220 1 244 246 +221 1 631 632 +222 1 631 633 +223 1 295 296 +224 1 295 297 +225 1 334 335 +226 1 334 336 +227 1 655 656 +228 1 655 657 +229 1 331 332 +230 1 331 333 +231 1 223 224 +232 1 223 225 +233 1 283 284 +234 1 283 285 +235 1 694 695 +236 1 694 696 +237 1 508 509 +238 1 508 510 +239 1 262 263 +240 1 262 264 +241 1 460 461 +242 1 460 462 +243 1 355 356 +244 1 355 357 +245 1 439 440 +246 1 439 441 +247 1 592 593 +248 1 592 594 +249 1 229 230 +250 1 229 231 +251 1 442 443 +252 1 442 444 +253 1 553 554 +254 1 553 555 +255 1 247 248 +256 1 247 249 +257 1 724 725 +258 1 724 726 +259 1 340 341 +260 1 340 342 +261 1 364 365 +262 1 364 366 +263 1 502 503 +264 1 502 504 +265 1 259 260 +266 1 259 261 +267 1 640 641 +268 1 640 642 +269 1 532 533 +270 1 532 534 +271 1 235 236 +272 1 235 237 +273 1 121 122 +274 1 121 123 +275 1 265 266 +276 1 265 267 +277 1 547 548 +278 1 547 549 +279 1 619 620 +280 1 619 621 +281 1 715 716 +282 1 715 717 +283 1 646 647 +284 1 646 648 +285 1 565 566 +286 1 565 567 +287 1 544 545 +288 1 544 546 +289 1 493 494 +290 1 493 495 +291 1 301 302 +292 1 301 303 +293 1 127 128 +294 1 127 129 +295 1 391 392 +296 1 391 393 +297 1 157 158 +298 1 157 159 +299 1 412 413 +300 1 412 414 +301 1 448 449 +302 1 448 450 +303 1 277 278 +304 1 277 279 +305 1 268 269 +306 1 268 270 +307 1 142 143 +308 1 142 144 +309 1 583 584 +310 1 583 585 +311 1 718 719 +312 1 718 720 +313 1 130 131 +314 1 130 132 +315 1 133 134 +316 1 133 135 +317 1 511 512 +318 1 511 513 +319 1 568 569 +320 1 568 570 +321 1 304 305 +322 1 304 306 +323 1 418 419 +324 1 418 420 +325 1 445 446 +326 1 445 447 +327 1 463 464 +328 1 463 465 +329 1 172 173 +330 1 172 174 +331 1 499 500 +332 1 499 501 +333 1 250 251 +334 1 250 252 +335 1 322 323 +336 1 322 324 +337 1 199 200 +338 1 199 201 +339 1 622 623 +340 1 622 624 +341 1 550 551 +342 1 550 552 +343 1 124 125 +344 1 124 126 +345 1 145 146 +346 1 145 147 +347 1 703 704 +348 1 703 705 +349 1 559 560 +350 1 559 561 +351 1 598 599 +352 1 598 600 +353 1 310 311 +354 1 310 312 +355 1 139 140 +356 1 139 141 +357 1 397 398 +358 1 397 399 +359 1 319 320 +360 1 319 321 +361 1 490 491 +362 1 490 492 +363 1 370 371 +364 1 370 372 +365 1 610 611 +366 1 610 612 +367 1 154 155 +368 1 154 156 +369 1 181 182 +370 1 181 183 +371 1 628 629 +372 1 628 630 +373 1 487 488 +374 1 487 489 +375 1 526 527 +376 1 526 528 +377 1 151 152 +378 1 151 153 +379 1 160 161 +380 1 160 162 +381 1 220 221 +382 1 220 222 +383 1 349 350 +384 1 349 351 +385 1 472 473 +386 1 472 474 +387 1 286 287 +388 1 286 288 +389 1 667 668 +390 1 667 669 +391 1 232 233 +392 1 232 234 +393 1 556 557 +394 1 556 558 +395 1 613 614 +396 1 613 615 +397 1 451 452 +398 1 451 453 +399 1 427 428 +400 1 427 429 +401 1 409 410 +402 1 409 411 +403 1 673 674 +404 1 673 675 +405 1 616 617 +406 1 616 618 +407 1 529 530 +408 1 529 531 +409 1 379 380 +410 1 379 381 +411 1 658 659 +412 1 658 660 +413 1 454 455 +414 1 454 456 +415 1 175 176 +416 1 175 177 +417 1 505 506 +418 1 505 507 +419 1 163 164 +420 1 163 165 + +Angles + +1 1 677 676 678 +2 1 710 709 711 +3 1 194 193 195 +4 1 104 103 105 +5 1 713 712 714 +6 1 605 604 606 +7 1 389 388 390 +8 1 587 586 588 +9 1 602 601 603 +10 1 317 316 318 +11 1 422 421 423 +12 1 644 643 645 +13 1 692 691 693 +14 1 368 367 369 +15 1 170 169 171 +16 1 542 541 543 +17 1 521 520 522 +18 1 212 211 213 +19 1 206 205 207 +20 1 680 679 681 +21 1 299 298 300 +22 1 497 496 498 +23 1 188 187 189 +24 1 386 385 387 +25 1 431 430 432 +26 1 476 475 477 +27 1 578 577 579 +28 1 281 280 282 +29 1 116 115 117 +30 1 197 196 198 +31 1 242 241 243 +32 1 401 400 402 +33 1 563 562 564 +34 1 665 664 666 +35 1 638 637 639 +36 1 653 652 654 +37 1 257 256 258 +38 1 425 424 426 +39 1 467 466 468 +40 1 581 580 582 +41 1 353 352 354 +42 1 293 292 294 +43 1 575 574 576 +44 1 437 436 438 +45 1 701 700 702 +46 1 107 106 108 +47 1 377 376 378 +48 1 359 358 360 +49 1 290 289 291 +50 1 407 406 408 +51 1 524 523 525 +52 1 626 625 627 +53 1 137 136 138 +54 1 185 184 186 +55 1 314 313 315 +56 1 239 238 240 +57 1 404 403 405 +58 1 698 697 699 +59 1 383 382 384 +60 1 671 670 672 +61 1 395 394 396 +62 1 203 202 204 +63 1 347 346 348 +64 1 572 571 573 +65 1 590 589 591 +66 1 608 607 609 +67 1 275 274 276 +68 1 113 112 114 +69 1 344 343 345 +70 1 254 253 255 +71 1 110 109 111 +72 1 308 307 309 +73 1 686 685 687 +74 1 272 271 273 +75 1 482 481 483 +76 1 722 721 723 +77 1 209 208 210 +78 1 470 469 471 +79 1 689 688 690 +80 1 635 634 636 +81 1 434 433 435 +82 1 416 415 417 +83 1 218 217 219 +84 1 479 478 480 +85 1 362 361 363 +86 1 485 484 486 +87 1 662 661 663 +88 1 101 100 102 +89 1 179 178 180 +90 1 215 214 216 +91 1 539 538 540 +92 1 227 226 228 +93 1 707 706 708 +94 1 374 373 375 +95 1 683 682 684 +96 1 596 595 597 +97 1 650 649 651 +98 1 338 337 339 +99 1 326 325 327 +100 1 536 535 537 +101 1 515 514 516 +102 1 167 166 168 +103 1 518 517 519 +104 1 149 148 150 +105 1 329 328 330 +106 1 458 457 459 +107 1 119 118 120 +108 1 191 190 192 +109 1 98 97 99 +110 1 245 244 246 +111 1 632 631 633 +112 1 296 295 297 +113 1 335 334 336 +114 1 656 655 657 +115 1 332 331 333 +116 1 224 223 225 +117 1 284 283 285 +118 1 695 694 696 +119 1 509 508 510 +120 1 263 262 264 +121 1 461 460 462 +122 1 356 355 357 +123 1 440 439 441 +124 1 593 592 594 +125 1 230 229 231 +126 1 443 442 444 +127 1 554 553 555 +128 1 248 247 249 +129 1 725 724 726 +130 1 341 340 342 +131 1 365 364 366 +132 1 503 502 504 +133 1 260 259 261 +134 1 641 640 642 +135 1 533 532 534 +136 1 236 235 237 +137 1 122 121 123 +138 1 266 265 267 +139 1 548 547 549 +140 1 620 619 621 +141 1 716 715 717 +142 1 647 646 648 +143 1 566 565 567 +144 1 545 544 546 +145 1 494 493 495 +146 1 302 301 303 +147 1 128 127 129 +148 1 392 391 393 +149 1 158 157 159 +150 1 413 412 414 +151 1 449 448 450 +152 1 278 277 279 +153 1 269 268 270 +154 1 143 142 144 +155 1 584 583 585 +156 1 719 718 720 +157 1 131 130 132 +158 1 134 133 135 +159 1 512 511 513 +160 1 569 568 570 +161 1 305 304 306 +162 1 419 418 420 +163 1 446 445 447 +164 1 464 463 465 +165 1 173 172 174 +166 1 500 499 501 +167 1 251 250 252 +168 1 323 322 324 +169 1 200 199 201 +170 1 623 622 624 +171 1 551 550 552 +172 1 125 124 126 +173 1 146 145 147 +174 1 704 703 705 +175 1 560 559 561 +176 1 599 598 600 +177 1 311 310 312 +178 1 140 139 141 +179 1 398 397 399 +180 1 320 319 321 +181 1 491 490 492 +182 1 371 370 372 +183 1 611 610 612 +184 1 155 154 156 +185 1 182 181 183 +186 1 629 628 630 +187 1 488 487 489 +188 1 527 526 528 +189 1 152 151 153 +190 1 161 160 162 +191 1 221 220 222 +192 1 350 349 351 +193 1 473 472 474 +194 1 287 286 288 +195 1 668 667 669 +196 1 233 232 234 +197 1 557 556 558 +198 1 614 613 615 +199 1 452 451 453 +200 1 428 427 429 +201 1 410 409 411 +202 1 674 673 675 +203 1 617 616 618 +204 1 530 529 531 +205 1 380 379 381 +206 1 659 658 660 +207 1 455 454 456 +208 1 176 175 177 +209 1 506 505 507 +210 1 164 163 165 diff --git a/examples/PACKAGES/electrode/piston/in.piston b/examples/PACKAGES/electrode/piston/in.piston new file mode 100644 index 0000000000..35b4790935 --- /dev/null +++ b/examples/PACKAGES/electrode/piston/in.piston @@ -0,0 +1,65 @@ +# The intention is to find the average position of one wall at atmospheric +# pressure. The output is the wall position over time which can be used to +# find the average position for a run with fixed wall position. +# +# ----------------- Init Section ----------------- + +atom_style full +units real +boundary p p f +kspace_style pppm/electrode 1e-4 +kspace_modify slab 3.0 +pair_style lj/cut/coul/long 8 8 +bond_style harmonic +angle_style harmonic +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +# ----------------- Atom Definition Section ----------------- + +read_data "data.piston" + +# ----------------- Settings Section ----------------- + +pair_coeff 1 1 0.069 2.78 +pair_coeff 2 2 5.29 2.951 +pair_coeff 3 3 0.1553 3.166 +pair_coeff 4 4 0.0 0.0 +bond_coeff 1 600.0 1.0 +angle_coeff 1 75.0 109.47 +group wall type 1 +group gold type 2 +group spce type 3:4 +group ele union wall gold +fix fRattleSPCE spce shake 0.0001 10 0 b 1 a 1 +pair_modify mix arithmetic + +# ----------------- Run Section ----------------- + +neigh_modify every 1 delay 0 +timestep 2 +fix fxnvt spce nvt temp 300 300 500 +fix fxforce_au gold setforce 0.0 0.0 0.0 + +# equilibrate z-coordinate of upper electrode while keeping the electrode rigid +fix fxforce_wa wall setforce 0.0 0.0 NULL +fix fxpressure wall aveforce 0 0 -0.005246 # atomspheric pressure: area/force->nktv2p +fix fxdrag wall viscous 100 +fix fxrigid wall rigid/nve single + +# maintain constant potential during equilibration +# 'algo cg' allows for moving electrodes +fix fxele ele electrode/conp 0.0 1.805 symm on algo cg 1e-4 + +# setup output and run +variable q atom q +compute qwa wall reduce sum v_q +compute qau gold reduce sum v_q +variable top_wall equal (bound(wall,zmin)) +compute temp_mobile spce temp +variable s equal step +fix fxprint all print 1000 "${s} ${top_wall}" file top_wall.csv screen no +thermo_style custom step c_temp_mobile c_qwa c_qau v_top_wall +thermo 5000 +run 100000 +write_data "data.piston.final" + diff --git a/examples/PACKAGES/electrode/piston/log.1Dec2022.piston.g++.1 b/examples/PACKAGES/electrode/piston/log.1Dec2022.piston.g++.1 new file mode 100644 index 0000000000..a5b6d4cd4f --- /dev/null +++ b/examples/PACKAGES/electrode/piston/log.1Dec2022.piston.g++.1 @@ -0,0 +1,223 @@ +LAMMPS (3 Nov 2022) +# The intention is to find the average position of one wall at atmospheric +# pressure. The output is the wall position over time which can be used to +# find the average position for a run with fixed wall position. +# +# ----------------- Init Section ----------------- + +atom_style full +units real +boundary p p f +kspace_style pppm/electrode 1e-4 +kspace_modify slab 3.0 +pair_style lj/cut/coul/long 8 8 +bond_style harmonic +angle_style harmonic +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +# ----------------- Atom Definition Section ----------------- + +read_data "data.piston" +Reading data file ... + orthogonal box = (0 0 0) to (17.6494 20.3798 26) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 726 atoms + reading velocities ... + 726 velocities + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 420 bonds + reading angles ... + 210 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.011 seconds + +# ----------------- Settings Section ----------------- + +pair_coeff 1 1 0.069 2.78 +pair_coeff 2 2 5.29 2.951 +pair_coeff 3 3 0.1553 3.166 +pair_coeff 4 4 0.0 0.0 +bond_coeff 1 600.0 1.0 +angle_coeff 1 75.0 109.47 +group wall type 1 +48 atoms in group wall +group gold type 2 +48 atoms in group gold +group spce type 3:4 +630 atoms in group spce +group ele union wall gold +96 atoms in group ele +fix fRattleSPCE spce shake 0.0001 10 0 b 1 a 1 +Finding SHAKE clusters ... + 0 = # of size 2 clusters + 0 = # of size 3 clusters + 0 = # of size 4 clusters + 210 = # of frozen angles + find clusters CPU = 0.000 seconds +pair_modify mix arithmetic + +# ----------------- Run Section ----------------- + +neigh_modify every 1 delay 0 +timestep 2 +fix fxnvt spce nvt temp 300 300 500 +fix fxforce_au gold setforce 0.0 0.0 0.0 + +# equilibrate z-coordinate of upper electrode while keeping the electrode rigid +fix fxforce_wa wall setforce 0.0 0.0 NULL +fix fxpressure wall aveforce 0 0 -0.005246 # atomspheric pressure: area/force->nktv2p +fix fxdrag wall viscous 100 +fix fxrigid wall rigid/nve single + 1 rigid bodies with 48 atoms + +# maintain constant potential during equilibration +# 'algo cg' allows for moving electrodes +fix fxele ele electrode/conp 0.0 1.805 symm on algo cg 1e-4 +96 atoms in group conp_group + +# setup output and run +variable q atom q +compute qwa wall reduce sum v_q +compute qau gold reduce sum v_q +variable top_wall equal (bound(wall,zmin)) +compute temp_mobile spce temp +variable s equal step +fix fxprint all print 1000 "${s} ${top_wall}" file top_wall.csv screen no +thermo_style custom step c_temp_mobile c_qwa c_qau v_top_wall +thermo 5000 +run 100000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.32814871 + grid = 12 15 36 + stencil order = 5 + estimated absolute RMS force accuracy = 0.02930901 + estimated relative force accuracy = 8.8263214e-05 + using double precision MKL FFT + 3d grid and FFT values/proc = 15884 6480 +Generated 6 of 6 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10 + ghost atom cutoff = 10 + binsize = 5, bins = 4 5 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 11.7 | 11.7 | 11.7 Mbytes + Step c_temp_mobile c_qwa c_qau v_top_wall + 0 303.38967 -0.042963484 0.042963484 21.4018 + 5000 285.08828 -0.26105255 0.26105255 25.155629 + 10000 323.19176 -0.26264003 0.26264003 24.541676 + 15000 310.479 -0.27318148 0.27318148 23.141522 + 20000 295.18544 -0.11313444 0.11313444 23.828735 + 25000 295.38607 -0.25433086 0.25433086 23.673314 + 30000 288.0613 -0.30099901 0.30099901 23.438086 + 35000 278.5591 -0.15823576 0.15823576 24.311915 + 40000 303.95751 -0.19941381 0.19941381 23.69594 + 45000 279.026 -0.1659962 0.1659962 23.588604 + 50000 298.79278 -0.28866703 0.28866703 23.372508 + 55000 301.03353 -0.078370381 0.078370381 23.192985 + 60000 306.77965 -0.12807205 0.12807205 23.968574 + 65000 309.86008 -0.27162663 0.27162663 23.616704 + 70000 287.31116 -0.029751882 0.029751882 23.667495 + 75000 312.48654 -0.10759866 0.10759866 23.504105 + 80000 309.94267 -0.2558548 0.2558548 23.810576 + 85000 328.04389 -0.1575471 0.1575471 24.013437 + 90000 302.9806 -0.032002164 0.032002164 24.264432 + 95000 294.20804 -0.27797238 0.27797238 23.291758 + 100000 307.63019 -0.19047448 0.19047448 23.632147 +Loop time of 530.844 on 1 procs for 100000 steps with 726 atoms + +Performance: 32.552 ns/day, 0.737 hours/ns, 188.379 timesteps/s, 136.763 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 190.47 | 190.47 | 190.47 | 0.0 | 35.88 +Bond | 0.10754 | 0.10754 | 0.10754 | 0.0 | 0.02 +Kspace | 73.179 | 73.179 | 73.179 | 0.0 | 13.79 +Neigh | 24.209 | 24.209 | 24.209 | 0.0 | 4.56 +Comm | 1.6857 | 1.6857 | 1.6857 | 0.0 | 0.32 +Output | 0.0016861 | 0.0016861 | 0.0016861 | 0.0 | 0.00 +Modify | 240.23 | 240.23 | 240.23 | 0.0 | 45.26 +Other | | 0.9595 | | | 0.18 + +Nlocal: 726 ave 726 max 726 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2335 ave 2335 max 2335 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 120271 ave 120271 max 120271 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 120271 +Ave neighs/atom = 165.66253 +Ave special neighs/atom = 1.7355372 +Neighbor list builds = 7722 +Dangerous builds = 0 +write_data "data.piston.final" +System init for write_data ... +PPPM/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.32814871 + grid = 12 15 36 + stencil order = 5 + estimated absolute RMS force accuracy = 0.029311365 + estimated relative force accuracy = 8.8270304e-05 + using double precision MKL FFT + 3d grid and FFT values/proc = 15884 6480 +Generated 6 of 6 mixed pair_coeff terms from arithmetic mixing rule + +Average conjugate gradient steps: 1.981 +Total wall time: 0:08:50 diff --git a/examples/PACKAGES/electrode/piston/log.1Dec2022.piston.g++.4 b/examples/PACKAGES/electrode/piston/log.1Dec2022.piston.g++.4 new file mode 100644 index 0000000000..ffb6bcc61c --- /dev/null +++ b/examples/PACKAGES/electrode/piston/log.1Dec2022.piston.g++.4 @@ -0,0 +1,224 @@ +LAMMPS (3 Nov 2022) +# The intention is to find the average position of one wall at atmospheric +# pressure. The output is the wall position over time which can be used to +# find the average position for a run with fixed wall position. +# +# ----------------- Init Section ----------------- + +atom_style full +units real +boundary p p f +kspace_style pppm/electrode 1e-4 +kspace_modify slab 3.0 +pair_style lj/cut/coul/long 8 8 +bond_style harmonic +angle_style harmonic +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" +processors * * 2 + +# ----------------- Atom Definition Section ----------------- + +read_data "data.piston" +Reading data file ... + orthogonal box = (0 0 0) to (17.6494 20.3798 26) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 726 atoms + reading velocities ... + 726 velocities + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 420 bonds + reading angles ... + 210 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.017 seconds + +# ----------------- Settings Section ----------------- + +pair_coeff 1 1 0.069 2.78 +pair_coeff 2 2 5.29 2.951 +pair_coeff 3 3 0.1553 3.166 +pair_coeff 4 4 0.0 0.0 +bond_coeff 1 600.0 1.0 +angle_coeff 1 75.0 109.47 +group wall type 1 +48 atoms in group wall +group gold type 2 +48 atoms in group gold +group spce type 3:4 +630 atoms in group spce +group ele union wall gold +96 atoms in group ele +fix fRattleSPCE spce shake 0.0001 10 0 b 1 a 1 +Finding SHAKE clusters ... + 0 = # of size 2 clusters + 0 = # of size 3 clusters + 0 = # of size 4 clusters + 210 = # of frozen angles + find clusters CPU = 0.002 seconds +pair_modify mix arithmetic + +# ----------------- Run Section ----------------- + +neigh_modify every 1 delay 0 +timestep 2 +fix fxnvt spce nvt temp 300 300 500 +fix fxforce_au gold setforce 0.0 0.0 0.0 + +# equilibrate z-coordinate of upper electrode while keeping the electrode rigid +fix fxforce_wa wall setforce 0.0 0.0 NULL +fix fxpressure wall aveforce 0 0 -0.005246 # atomspheric pressure: area/force->nktv2p +fix fxdrag wall viscous 100 +fix fxrigid wall rigid/nve single + 1 rigid bodies with 48 atoms + +# maintain constant potential during equilibration +# 'algo cg' allows for moving electrodes +fix fxele ele electrode/conp 0.0 1.805 symm on algo cg 1e-4 +96 atoms in group conp_group + +# setup output and run +variable q atom q +compute qwa wall reduce sum v_q +compute qau gold reduce sum v_q +variable top_wall equal (bound(wall,zmin)) +compute temp_mobile spce temp +variable s equal step +fix fxprint all print 1000 "${s} ${top_wall}" file top_wall.csv screen no +thermo_style custom step c_temp_mobile c_qwa c_qau v_top_wall +thermo 5000 +run 100000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.32814871 + grid = 12 15 36 + stencil order = 5 + estimated absolute RMS force accuracy = 0.02930901 + estimated relative force accuracy = 8.8263214e-05 + using double precision MKL FFT + 3d grid and FFT values/proc = 8512 2880 +Generated 6 of 6 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10 + ghost atom cutoff = 10 + binsize = 5, bins = 4 5 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 10.06 | 10.22 | 10.41 Mbytes + Step c_temp_mobile c_qwa c_qau v_top_wall + 0 303.38967 -0.042963484 0.042963484 21.4018 + 5000 292.03027 -0.19040435 0.19040435 24.581338 + 10000 309.52764 -0.48308301 0.48308301 23.776985 + 15000 295.00243 -0.16591109 0.16591109 23.672038 + 20000 293.5536 -0.086669084 0.086669084 23.426455 + 25000 303.0079 -0.16488112 0.16488112 23.862966 + 30000 306.31463 -0.23192653 0.23192653 23.819882 + 35000 303.66268 -0.2317907 0.2317907 23.495344 + 40000 301.39435 -0.34661329 0.34661329 23.657835 + 45000 291.61205 -0.30539427 0.30539427 23.437303 + 50000 298.65319 -0.096107034 0.096107034 23.57809 + 55000 282.65069 -0.14943539 0.14943539 23.823728 + 60000 310.64182 -0.17418813 0.17418813 23.286959 + 65000 308.47141 -0.02075662 0.02075662 23.91313 + 70000 292.5186 -0.080163162 0.080163162 23.96283 + 75000 270.13928 -0.029528648 0.029528648 23.488972 + 80000 322.10914 0.030761045 -0.030761045 23.47592 + 85000 310.60347 -0.24069996 0.24069996 23.987091 + 90000 294.35695 -0.070458235 0.070458235 23.397929 + 95000 308.69043 -0.2652581 0.2652581 23.473813 + 100000 318.71883 0.024035956 -0.024035956 23.449863 +Loop time of 590.232 on 4 procs for 100000 steps with 726 atoms + +Performance: 29.277 ns/day, 0.820 hours/ns, 169.425 timesteps/s, 123.003 katom-step/s +72.5% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 57.391 | 75.867 | 96.292 | 212.1 | 12.85 +Bond | 0.10177 | 0.11042 | 0.12415 | 2.7 | 0.02 +Kspace | 102.79 | 123.16 | 141.5 | 165.7 | 20.87 +Neigh | 12.808 | 12.895 | 12.982 | 2.3 | 2.18 +Comm | 18.885 | 19.973 | 21.064 | 24.0 | 3.38 +Output | 0.0022573 | 0.0022749 | 0.0023225 | 0.1 | 0.00 +Modify | 355.89 | 356.74 | 357.61 | 4.2 | 60.44 +Other | | 1.478 | | | 0.25 + +Nlocal: 181.5 ave 207 max 169 min +Histogram: 2 0 1 0 0 0 0 0 0 1 +Nghost: 1961.5 ave 1984 max 1926 min +Histogram: 1 0 0 0 0 0 1 0 1 1 +Neighs: 30051 ave 41646 max 20775 min +Histogram: 1 1 0 0 0 0 1 0 0 1 + +Total # of neighbors = 120204 +Ave neighs/atom = 165.57025 +Ave special neighs/atom = 1.7355372 +Neighbor list builds = 7663 +Dangerous builds = 0 +write_data "data.piston.final" +System init for write_data ... +PPPM/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.32814871 + grid = 12 15 36 + stencil order = 5 + estimated absolute RMS force accuracy = 0.029311028 + estimated relative force accuracy = 8.8269289e-05 + using double precision MKL FFT + 3d grid and FFT values/proc = 8512 2880 +Generated 6 of 6 mixed pair_coeff terms from arithmetic mixing rule + +Average conjugate gradient steps: 1.982 +Total wall time: 0:09:50 diff --git a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew2d.g++.1 b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew2d.g++.1 similarity index 76% rename from examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew2d.g++.1 rename to examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew2d.g++.1 index b01114e64c..bc2cf5b1e3 100644 --- a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew2d.g++.1 +++ b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew2d.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) boundary p p f kspace_style ewald/electrode 1.0e-7 kspace_modify slab ew2d @@ -28,8 +28,8 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.006 seconds + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds group bot molecule 1 144 atoms in group bot @@ -67,6 +67,24 @@ thermo 1 thermo_style custom step v_v c_qbot c_qtop v_qtheory v_percdev run 10 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) Ewald/electrode initialization ... WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327) @@ -76,9 +94,9 @@ WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327 estimated relative force accuracy = 1.2145309e-07 KSpace vectors: actual max1d max3d = 90 5 665 kxmax kymax kzmax = 3 3 5 - generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 16 ghost atom cutoff = 16 @@ -94,7 +112,7 @@ Neighbor list info ... pair build: copy stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 15.93 | 15.93 | 15.93 Mbytes +Per MPI rank memory allocation (min/avg/max) = 15.94 | 15.94 | 15.94 Mbytes Step v_v c_qbot c_qtop v_qtheory v_percdev 0 0 0 0 0 0 1 0.2 -0.030920491 0.030920491 0.031376826 -1.4543703 @@ -107,22 +125,22 @@ Per MPI rank memory allocation (min/avg/max) = 15.93 | 15.93 | 15.93 Mbytes 8 1.6 -0.24736393 0.24736393 0.25101461 -1.4543704 9 1.8 -0.27828442 0.27828442 0.28239144 -1.4543704 10 2 -0.30920491 0.30920491 0.31376826 -1.4543704 -Loop time of 0.0912872 on 1 procs for 10 steps with 288 atoms +Loop time of 0.0451804 on 1 procs for 10 steps with 288 atoms -Performance: 9.465 ns/day, 2.536 hours/ns, 109.544 timesteps/s -400.1% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 19.123 ns/day, 1.255 hours/ns, 221.335 timesteps/s, 63.744 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0086713 | 0.0086713 | 0.0086713 | 0.0 | 9.50 -Bond | 3.759e-06 | 3.759e-06 | 3.759e-06 | 0.0 | 0.00 -Kspace | 0.04575 | 0.04575 | 0.04575 | 0.0 | 50.12 +Pair | 0.0046814 | 0.0046814 | 0.0046814 | 0.0 | 10.36 +Bond | 1.293e-06 | 1.293e-06 | 1.293e-06 | 0.0 | 0.00 +Kspace | 0.028302 | 0.028302 | 0.028302 | 0.0 | 62.64 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00018224 | 0.00018224 | 0.00018224 | 0.0 | 0.20 -Output | 0.0027569 | 0.0027569 | 0.0027569 | 0.0 | 3.02 -Modify | 0.03386 | 0.03386 | 0.03386 | 0.0 | 37.09 -Other | | 6.314e-05 | | | 0.07 +Comm | 7.3611e-05 | 7.3611e-05 | 7.3611e-05 | 0.0 | 0.16 +Output | 0.001128 | 0.001128 | 0.001128 | 0.0 | 2.50 +Modify | 0.010919 | 0.010919 | 0.010919 | 0.0 | 24.17 +Other | | 7.567e-05 | | | 0.17 Nlocal: 288 ave 288 max 288 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew2d.g++.4 b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew2d.g++.4 similarity index 76% rename from examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew2d.g++.4 rename to examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew2d.g++.4 index 29a0d660a1..b5243e747c 100644 --- a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew2d.g++.4 +++ b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew2d.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) boundary p p f kspace_style ewald/electrode 1.0e-7 kspace_modify slab ew2d @@ -29,8 +29,8 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.008 seconds + special bonds CPU = 0.003 seconds + read_data CPU = 0.009 seconds group bot molecule 1 144 atoms in group bot @@ -68,6 +68,24 @@ thermo 1 thermo_style custom step v_v c_qbot c_qtop v_qtheory v_percdev run 10 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) Ewald/electrode initialization ... WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327) @@ -77,9 +95,9 @@ WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327 estimated relative force accuracy = 1.2145309e-07 KSpace vectors: actual max1d max3d = 90 5 665 kxmax kymax kzmax = 3 3 5 - generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 16 ghost atom cutoff = 16 @@ -95,7 +113,7 @@ Neighbor list info ... pair build: copy stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 15.96 | 15.96 | 15.96 Mbytes +Per MPI rank memory allocation (min/avg/max) = 15.97 | 15.97 | 15.97 Mbytes Step v_v c_qbot c_qtop v_qtheory v_percdev 0 0 0 0 0 0 1 0.2 -0.030920491 0.030920491 0.031376826 -1.4543703 @@ -108,22 +126,22 @@ Per MPI rank memory allocation (min/avg/max) = 15.96 | 15.96 | 15.96 Mbytes 8 1.6 -0.24736393 0.24736393 0.25101461 -1.4543704 9 1.8 -0.27828442 0.27828442 0.28239144 -1.4543704 10 2 -0.30920491 0.30920491 0.31376826 -1.4543704 -Loop time of 0.0456609 on 4 procs for 10 steps with 288 atoms +Loop time of 0.022489 on 4 procs for 10 steps with 288 atoms -Performance: 18.922 ns/day, 1.268 hours/ns, 219.006 timesteps/s -86.7% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 38.419 ns/day, 0.625 hours/ns, 444.661 timesteps/s, 128.062 katom-step/s +91.6% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0019389 | 0.0024013 | 0.0030807 | 0.9 | 5.26 -Bond | 1.493e-06 | 1.7132e-06 | 1.935e-06 | 0.0 | 0.00 -Kspace | 0.016165 | 0.016695 | 0.017072 | 0.3 | 36.56 +Pair | 0.0011688 | 0.0013694 | 0.0016077 | 0.4 | 6.09 +Bond | 6.72e-07 | 7.59e-07 | 9.02e-07 | 0.0 | 0.00 +Kspace | 0.0077542 | 0.0093901 | 0.010384 | 1.0 | 41.75 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0030891 | 0.0037595 | 0.0040145 | 0.6 | 8.23 -Output | 0.0024177 | 0.0027885 | 0.0037099 | 1.0 | 6.11 -Modify | 0.01944 | 0.019746 | 0.020327 | 0.2 | 43.24 -Other | | 0.0002691 | | | 0.59 +Comm | 0.0015392 | 0.0016945 | 0.00183 | 0.3 | 7.53 +Output | 0.00084374 | 0.0010929 | 0.0015437 | 0.8 | 4.86 +Modify | 0.007495 | 0.0084669 | 0.010081 | 1.1 | 37.65 +Other | | 0.0004745 | | | 2.11 Nlocal: 72 ave 72 max 72 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew3dc.g++.1 b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew3dc.g++.1 similarity index 76% rename from examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew3dc.g++.1 rename to examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew3dc.g++.1 index d5292ad6ef..bebd5aed4a 100644 --- a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew3dc.g++.1 +++ b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew3dc.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) boundary p p f kspace_style ewald/electrode 1.0e-7 kspace_modify slab 3.0 # ew3dc @@ -28,8 +28,8 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.007 seconds + special bonds CPU = 0.001 seconds + read_data CPU = 0.004 seconds group bot molecule 1 144 atoms in group bot @@ -67,6 +67,24 @@ thermo 1 thermo_style custom step v_v c_qbot c_qtop v_qtheory v_percdev run 10 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) Ewald/electrode initialization ... WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327) @@ -76,9 +94,9 @@ WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327 estimated relative force accuracy = 9.3919471e-08 KSpace vectors: actual max1d max3d = 266 12 7812 kxmax kymax kzmax = 3 3 12 - generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 16 ghost atom cutoff = 16 @@ -94,7 +112,7 @@ Neighbor list info ... pair build: copy stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 27.27 | 27.27 | 27.27 Mbytes +Per MPI rank memory allocation (min/avg/max) = 27.29 | 27.29 | 27.29 Mbytes Step v_v c_qbot c_qtop v_qtheory v_percdev 0 0 0 0 0 0 1 0.2 -0.030925182 0.030925182 0.031376826 -1.4394194 @@ -107,22 +125,22 @@ Per MPI rank memory allocation (min/avg/max) = 27.27 | 27.27 | 27.27 Mbytes 8 1.6 -0.24740146 0.24740146 0.25101461 -1.4394195 9 1.8 -0.27832664 0.27832664 0.28239144 -1.4394195 10 2 -0.30925182 0.30925182 0.31376826 -1.4394195 -Loop time of 0.0672288 on 1 procs for 10 steps with 288 atoms +Loop time of 0.0243868 on 1 procs for 10 steps with 288 atoms -Performance: 12.852 ns/day, 1.867 hours/ns, 148.746 timesteps/s -400.4% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 35.429 ns/day, 0.677 hours/ns, 410.058 timesteps/s, 118.097 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0071442 | 0.0071442 | 0.0071442 | 0.0 | 10.63 -Bond | 2.976e-06 | 2.976e-06 | 2.976e-06 | 0.0 | 0.00 -Kspace | 0.0097903 | 0.0097903 | 0.0097903 | 0.0 | 14.56 +Pair | 0.0041504 | 0.0041504 | 0.0041504 | 0.0 | 17.02 +Bond | 8.92e-07 | 8.92e-07 | 8.92e-07 | 0.0 | 0.00 +Kspace | 0.0046942 | 0.0046942 | 0.0046942 | 0.0 | 19.25 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00023514 | 0.00023514 | 0.00023514 | 0.0 | 0.35 -Output | 0.0029795 | 0.0029795 | 0.0029795 | 0.0 | 4.43 -Modify | 0.047009 | 0.047009 | 0.047009 | 0.0 | 69.92 -Other | | 6.809e-05 | | | 0.10 +Comm | 6.7942e-05 | 6.7942e-05 | 6.7942e-05 | 0.0 | 0.28 +Output | 0.0010799 | 0.0010799 | 0.0010799 | 0.0 | 4.43 +Modify | 0.014311 | 0.014311 | 0.014311 | 0.0 | 58.69 +Other | | 8.199e-05 | | | 0.34 Nlocal: 288 ave 288 max 288 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew3dc.g++.4 b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew3dc.g++.4 similarity index 76% rename from examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew3dc.g++.4 rename to examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew3dc.g++.4 index 92c5bf3cea..9899edc256 100644 --- a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ew3dc.g++.4 +++ b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ew3dc.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) boundary p p f kspace_style ewald/electrode 1.0e-7 kspace_modify slab 3.0 # ew3dc @@ -29,8 +29,8 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.008 seconds - read_data CPU = 0.123 seconds + special bonds CPU = 0.003 seconds + read_data CPU = 0.007 seconds group bot molecule 1 144 atoms in group bot @@ -68,6 +68,24 @@ thermo 1 thermo_style custom step v_v c_qbot c_qtop v_qtheory v_percdev run 10 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) Ewald/electrode initialization ... WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327) @@ -77,9 +95,9 @@ WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327 estimated relative force accuracy = 9.3919471e-08 KSpace vectors: actual max1d max3d = 266 12 7812 kxmax kymax kzmax = 3 3 12 - generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 16 ghost atom cutoff = 16 @@ -95,7 +113,7 @@ Neighbor list info ... pair build: copy stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 27.31 | 27.31 | 27.31 Mbytes +Per MPI rank memory allocation (min/avg/max) = 27.32 | 27.32 | 27.32 Mbytes Step v_v c_qbot c_qtop v_qtheory v_percdev 0 0 0 0 0 0 1 0.2 -0.030925182 0.030925182 0.031376826 -1.4394194 @@ -108,22 +126,22 @@ Per MPI rank memory allocation (min/avg/max) = 27.31 | 27.31 | 27.31 Mbytes 8 1.6 -0.24740146 0.24740146 0.25101461 -1.4394195 9 1.8 -0.27832664 0.27832664 0.28239144 -1.4394195 10 2 -0.30925182 0.30925182 0.31376826 -1.4394195 -Loop time of 0.0459561 on 4 procs for 10 steps with 288 atoms +Loop time of 0.0200123 on 4 procs for 10 steps with 288 atoms -Performance: 18.801 ns/day, 1.277 hours/ns, 217.599 timesteps/s -95.8% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 43.173 ns/day, 0.556 hours/ns, 499.692 timesteps/s, 143.911 katom-step/s +90.2% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0021527 | 0.0026891 | 0.0037845 | 1.3 | 5.85 -Bond | 1.303e-06 | 1.9462e-06 | 3.206e-06 | 0.0 | 0.00 -Kspace | 0.0066254 | 0.0077509 | 0.0083577 | 0.8 | 16.87 +Pair | 0.0014059 | 0.0015013 | 0.0015856 | 0.2 | 7.50 +Bond | 7.12e-07 | 8.9675e-07 | 1.19e-06 | 0.0 | 0.00 +Kspace | 0.0036091 | 0.0037586 | 0.0039024 | 0.2 | 18.78 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00285 | 0.0057275 | 0.0067088 | 2.2 | 12.46 -Output | 0.0024325 | 0.0034682 | 0.0065316 | 3.0 | 7.55 -Modify | 0.025911 | 0.025969 | 0.026007 | 0.0 | 56.51 -Other | | 0.0003494 | | | 0.76 +Comm | 0.0017095 | 0.0017404 | 0.001775 | 0.1 | 8.70 +Output | 0.00092975 | 0.0010846 | 0.0015398 | 0.8 | 5.42 +Modify | 0.011292 | 0.011375 | 0.011438 | 0.1 | 56.84 +Other | | 0.0005509 | | | 2.75 Nlocal: 72 ave 72 max 72 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ffield.g++.1 b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ffield.g++.1 similarity index 77% rename from examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ffield.g++.1 rename to examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ffield.g++.1 index b0172323a3..3ea9920c7c 100644 --- a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ffield.g++.1 +++ b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ffield.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) boundary p p p # finite field, fully periodic kspace_style ewald/electrode 1.0e-7 @@ -28,7 +28,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.001 seconds - read_data CPU = 0.010 seconds + read_data CPU = 0.004 seconds group bot molecule 1 144 atoms in group bot @@ -66,6 +66,24 @@ thermo 1 thermo_style custom step v_v c_qbot c_qtop v_qtheory v_percdev run 10 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) Ewald/electrode initialization ... WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327) @@ -75,9 +93,9 @@ WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327 estimated relative force accuracy = 1.2145309e-07 KSpace vectors: actual max1d max3d = 95 5 665 kxmax kymax kzmax = 3 3 5 - generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 16 ghost atom cutoff = 16 @@ -93,7 +111,7 @@ Neighbor list info ... pair build: copy stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 16.01 | 16.01 | 16.01 Mbytes +Per MPI rank memory allocation (min/avg/max) = 16.02 | 16.02 | 16.02 Mbytes Step v_v c_qbot c_qtop v_qtheory v_percdev 0 0 0 0 0 0 1 0.2 -0.030908718 0.030908718 0.031376826 -1.491893 @@ -106,22 +124,22 @@ Per MPI rank memory allocation (min/avg/max) = 16.01 | 16.01 | 16.01 Mbytes 8 1.6 -0.24726974 0.24726974 0.25101461 -1.491893 9 1.8 -0.27817846 0.27817846 0.28239144 -1.491893 10 2 -0.30908718 0.30908718 0.31376826 -1.491893 -Loop time of 0.0481838 on 1 procs for 10 steps with 288 atoms +Loop time of 0.0147727 on 1 procs for 10 steps with 288 atoms -Performance: 17.931 ns/day, 1.338 hours/ns, 207.539 timesteps/s -390.7% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 58.486 ns/day, 0.410 hours/ns, 676.926 timesteps/s, 194.955 katom-step/s +75.1% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0071719 | 0.0071719 | 0.0071719 | 0.0 | 14.88 -Bond | 2.946e-06 | 2.946e-06 | 2.946e-06 | 0.0 | 0.01 -Kspace | 0.0038758 | 0.0038758 | 0.0038758 | 0.0 | 8.04 +Pair | 0.0035163 | 0.0035163 | 0.0035163 | 0.0 | 23.80 +Bond | 9.61e-07 | 9.61e-07 | 9.61e-07 | 0.0 | 0.01 +Kspace | 0.0018156 | 0.0018156 | 0.0018156 | 0.0 | 12.29 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00053561 | 0.00053561 | 0.00053561 | 0.0 | 1.11 -Output | 0.0025385 | 0.0025385 | 0.0025385 | 0.0 | 5.27 -Modify | 0.033951 | 0.033951 | 0.033951 | 0.0 | 70.46 -Other | | 0.0001075 | | | 0.22 +Comm | 0.00012717 | 0.00012717 | 0.00012717 | 0.0 | 0.86 +Output | 0.00083495 | 0.00083495 | 0.00083495 | 0.0 | 5.65 +Modify | 0.0083949 | 0.0083949 | 0.0083949 | 0.0 | 56.83 +Other | | 8.273e-05 | | | 0.56 Nlocal: 288 ave 288 max 288 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ffield.g++.4 b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ffield.g++.4 similarity index 76% rename from examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ffield.g++.4 rename to examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ffield.g++.4 index b1ee1bec45..ef9c212755 100644 --- a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-ewald-ffield.g++.4 +++ b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-ewald-ffield.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) boundary p p p # finite field, fully periodic kspace_style ewald/electrode 1.0e-7 @@ -28,8 +28,8 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.026 seconds + special bonds CPU = 0.002 seconds + read_data CPU = 0.006 seconds group bot molecule 1 144 atoms in group bot @@ -67,6 +67,24 @@ thermo 1 thermo_style custom step v_v c_qbot c_qtop v_qtheory v_percdev run 10 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) Ewald/electrode initialization ... WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327) @@ -76,9 +94,9 @@ WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327 estimated relative force accuracy = 1.2145309e-07 KSpace vectors: actual max1d max3d = 95 5 665 kxmax kymax kzmax = 3 3 5 - generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 16 ghost atom cutoff = 16 @@ -94,7 +112,7 @@ Neighbor list info ... pair build: copy stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 15.97 | 15.97 | 15.97 Mbytes +Per MPI rank memory allocation (min/avg/max) = 15.98 | 15.98 | 15.98 Mbytes Step v_v c_qbot c_qtop v_qtheory v_percdev 0 0 0 0 0 0 1 0.2 -0.030908718 0.030908718 0.031376826 -1.491893 @@ -107,22 +125,22 @@ Per MPI rank memory allocation (min/avg/max) = 15.97 | 15.97 | 15.97 Mbytes 8 1.6 -0.24726974 0.24726974 0.25101461 -1.491893 9 1.8 -0.27817846 0.27817846 0.28239144 -1.491893 10 2 -0.30908718 0.30908718 0.31376826 -1.491893 -Loop time of 0.0294825 on 4 procs for 10 steps with 288 atoms +Loop time of 0.0151333 on 4 procs for 10 steps with 288 atoms -Performance: 29.306 ns/day, 0.819 hours/ns, 339.184 timesteps/s -99.8% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 57.093 ns/day, 0.420 hours/ns, 660.794 timesteps/s, 190.309 katom-step/s +41.1% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0020718 | 0.0025674 | 0.0029431 | 0.7 | 8.71 -Bond | 1.423e-06 | 2.0293e-06 | 2.615e-06 | 0.0 | 0.01 -Kspace | 0.0028016 | 0.0031772 | 0.0035529 | 0.5 | 10.78 +Pair | 0.0014606 | 0.0015586 | 0.0016093 | 0.1 | 10.30 +Bond | 9.31e-07 | 1.0197e-06 | 1.084e-06 | 0.0 | 0.01 +Kspace | 0.0014157 | 0.0015231 | 0.0016295 | 0.2 | 10.06 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0023552 | 0.0032209 | 0.0035502 | 0.9 | 10.92 -Output | 0.0011969 | 0.0016057 | 0.002676 | 1.5 | 5.45 -Modify | 0.018358 | 0.018553 | 0.018654 | 0.1 | 62.93 -Other | | 0.0003563 | | | 1.21 +Comm | 0.0019994 | 0.0020111 | 0.0020282 | 0.0 | 13.29 +Output | 0.00072893 | 0.00095378 | 0.0015177 | 0.0 | 6.30 +Modify | 0.0081934 | 0.0082729 | 0.0083794 | 0.1 | 54.67 +Other | | 0.0008128 | | | 5.37 Nlocal: 72 ave 72 max 72 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ew3dc.g++.1 b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ew3dc.g++.1 similarity index 73% rename from examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ew3dc.g++.1 rename to examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ew3dc.g++.1 index ff0ae7698a..2e5d18d09c 100644 --- a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ew3dc.g++.1 +++ b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ew3dc.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) boundary p p f kspace_style pppm/electrode 1.0e-7 kspace_modify slab 3.0 @@ -28,8 +28,8 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.007 seconds + special bonds CPU = 0.001 seconds + read_data CPU = 0.004 seconds group bot molecule 1 144 atoms in group bot @@ -67,6 +67,35 @@ thermo 1 thermo_style custom step v_v c_qbot c_qtop v_qtheory v_percdev run 10 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) PPPM/electrode initialization ... WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327) @@ -78,9 +107,9 @@ WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327 estimated relative force accuracy = 8.4221827e-08 using double precision MKL FFT 3d grid and FFT values/proc = 4563 1600 - generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 16 ghost atom cutoff = 16 @@ -97,7 +126,7 @@ Neighbor list info ... stencil: none bin: none WARNING: Using kspace solver on system with no charge (src/kspace.cpp:314) -Per MPI rank memory allocation (min/avg/max) = 7.93 | 7.93 | 7.93 Mbytes +Per MPI rank memory allocation (min/avg/max) = 7.942 | 7.942 | 7.942 Mbytes Step v_v c_qbot c_qtop v_qtheory v_percdev 0 0 0 0 0 0 1 0.2 -0.030912769 0.030912769 0.031376826 -1.4789807 @@ -110,22 +139,22 @@ Per MPI rank memory allocation (min/avg/max) = 7.93 | 7.93 | 7.93 Mbytes 8 1.6 -0.24730215 0.24730215 0.25101461 -1.4789807 9 1.8 -0.27821492 0.27821492 0.28239144 -1.4789807 10 2 -0.30912769 0.30912769 0.31376826 -1.4789807 -Loop time of 0.0784857 on 1 procs for 10 steps with 288 atoms +Loop time of 0.0176221 on 1 procs for 10 steps with 288 atoms -Performance: 11.008 ns/day, 2.180 hours/ns, 127.412 timesteps/s -400.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 49.029 ns/day, 0.490 hours/ns, 567.471 timesteps/s, 163.432 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0075859 | 0.0075859 | 0.0075859 | 0.0 | 9.67 -Bond | 2.817e-06 | 2.817e-06 | 2.817e-06 | 0.0 | 0.00 -Kspace | 0.020841 | 0.020841 | 0.020841 | 0.0 | 26.55 +Pair | 0.0051407 | 0.0051407 | 0.0051407 | 0.0 | 29.17 +Bond | 9.92e-07 | 9.92e-07 | 9.92e-07 | 0.0 | 0.01 +Kspace | 0.0029456 | 0.0029456 | 0.0029456 | 0.0 | 16.72 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00019415 | 0.00019415 | 0.00019415 | 0.0 | 0.25 -Output | 0.0032534 | 0.0032534 | 0.0032534 | 0.0 | 4.15 -Modify | 0.046545 | 0.046545 | 0.046545 | 0.0 | 59.30 -Other | | 6.246e-05 | | | 0.08 +Comm | 8.3497e-05 | 8.3497e-05 | 8.3497e-05 | 0.0 | 0.47 +Output | 0.0012832 | 0.0012832 | 0.0012832 | 0.0 | 7.28 +Modify | 0.0080737 | 0.0080737 | 0.0080737 | 0.0 | 45.82 +Other | | 9.442e-05 | | | 0.54 Nlocal: 288 ave 288 max 288 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -140,4 +169,4 @@ Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:10 +Total wall time: 0:00:01 diff --git a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ew3dc.g++.4 b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ew3dc.g++.4 similarity index 73% rename from examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ew3dc.g++.4 rename to examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ew3dc.g++.4 index 4fcb219a89..69950a5859 100644 --- a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ew3dc.g++.4 +++ b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ew3dc.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) boundary p p f kspace_style pppm/electrode 1.0e-7 kspace_modify slab 3.0 @@ -29,8 +29,8 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.014 seconds + special bonds CPU = 0.003 seconds + read_data CPU = 0.007 seconds group bot molecule 1 144 atoms in group bot @@ -68,6 +68,35 @@ thermo 1 thermo_style custom step v_v c_qbot c_qtop v_qtheory v_percdev run 10 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) PPPM/electrode initialization ... WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327) @@ -79,9 +108,9 @@ WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327 estimated relative force accuracy = 8.4221827e-08 using double precision MKL FFT 3d grid and FFT values/proc = 2691 672 - generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 16 ghost atom cutoff = 16 @@ -98,7 +127,7 @@ Neighbor list info ... stencil: none bin: none WARNING: Using kspace solver on system with no charge (src/kspace.cpp:314) -Per MPI rank memory allocation (min/avg/max) = 7.716 | 7.765 | 7.814 Mbytes +Per MPI rank memory allocation (min/avg/max) = 7.725 | 7.774 | 7.823 Mbytes Step v_v c_qbot c_qtop v_qtheory v_percdev 0 0 0 0 0 0 1 0.2 -0.030912769 0.030912769 0.031376826 -1.4789807 @@ -111,22 +140,22 @@ Per MPI rank memory allocation (min/avg/max) = 7.716 | 7.765 | 7.814 Mbytes 8 1.6 -0.24730215 0.24730215 0.25101461 -1.4789807 9 1.8 -0.27821492 0.27821492 0.28239144 -1.4789807 10 2 -0.30912769 0.30912769 0.31376826 -1.4789807 -Loop time of 0.0296999 on 4 procs for 10 steps with 288 atoms +Loop time of 0.0162257 on 4 procs for 10 steps with 288 atoms -Performance: 29.091 ns/day, 0.825 hours/ns, 336.701 timesteps/s -91.5% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 53.249 ns/day, 0.451 hours/ns, 616.306 timesteps/s, 177.496 katom-step/s +50.4% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0021578 | 0.0022153 | 0.0022978 | 0.1 | 7.46 -Bond | 1.161e-06 | 1.435e-06 | 1.943e-06 | 0.0 | 0.00 -Kspace | 0.0054884 | 0.0057437 | 0.0059072 | 0.2 | 19.34 +Pair | 0.0010955 | 0.0013022 | 0.0014351 | 0.3 | 8.03 +Bond | 6.13e-07 | 7.795e-07 | 1.031e-06 | 0.0 | 0.00 +Kspace | 0.0034606 | 0.003541 | 0.0036869 | 0.2 | 21.82 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0015424 | 0.0025686 | 0.0031306 | 1.2 | 8.65 -Output | 0.0019229 | 0.0023315 | 0.0033526 | 1.2 | 7.85 -Modify | 0.016192 | 0.016494 | 0.016902 | 0.2 | 55.54 -Other | | 0.0003449 | | | 1.16 +Comm | 0.0015915 | 0.0017672 | 0.0019298 | 0.3 | 10.89 +Output | 0.00071528 | 0.00095256 | 0.001506 | 0.0 | 5.87 +Modify | 0.0080243 | 0.0080738 | 0.0081204 | 0.0 | 49.76 +Other | | 0.0005881 | | | 3.62 Nlocal: 72 ave 72 max 72 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -141,4 +170,4 @@ Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:03 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ffield.g++.1 b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ffield.g++.1 similarity index 73% rename from examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ffield.g++.1 rename to examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ffield.g++.1 index be13b1ca10..eb8d857fbe 100644 --- a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ffield.g++.1 +++ b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ffield.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) boundary p p p # finite field, fully periodic kspace_style pppm/electrode 1.0e-7 @@ -28,7 +28,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.001 seconds - read_data CPU = 0.006 seconds + read_data CPU = 0.004 seconds group bot molecule 1 144 atoms in group bot @@ -66,6 +66,35 @@ thermo 1 thermo_style custom step v_v c_qbot c_qtop v_qtheory v_percdev run 10 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) PPPM/electrode initialization ... WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327) @@ -77,9 +106,9 @@ WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327 estimated relative force accuracy = 5.4638319e-08 using double precision MKL FFT 3d grid and FFT values/proc = 2873 768 - generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 16 ghost atom cutoff = 16 @@ -96,7 +125,7 @@ Neighbor list info ... stencil: none bin: none WARNING: Using kspace solver on system with no charge (src/kspace.cpp:314) -Per MPI rank memory allocation (min/avg/max) = 7.86 | 7.86 | 7.86 Mbytes +Per MPI rank memory allocation (min/avg/max) = 7.871 | 7.871 | 7.871 Mbytes Step v_v c_qbot c_qtop v_qtheory v_percdev 0 0 0 0 0 0 1 0.2 -0.030902 0.030902 0.031376826 -1.5133027 @@ -109,22 +138,22 @@ Per MPI rank memory allocation (min/avg/max) = 7.86 | 7.86 | 7.86 Mbytes 8 1.6 -0.247216 0.247216 0.25101461 -1.5133028 9 1.8 -0.278118 0.278118 0.28239144 -1.5133028 10 2 -0.30902 0.30902 0.31376826 -1.5133028 -Loop time of 0.054016 on 1 procs for 10 steps with 288 atoms +Loop time of 0.0150845 on 1 procs for 10 steps with 288 atoms -Performance: 15.995 ns/day, 1.500 hours/ns, 185.130 timesteps/s -400.3% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 57.277 ns/day, 0.419 hours/ns, 662.933 timesteps/s, 190.925 katom-step/s +90.5% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0081119 | 0.0081119 | 0.0081119 | 0.0 | 15.02 -Bond | 4.802e-06 | 4.802e-06 | 4.802e-06 | 0.0 | 0.01 -Kspace | 0.0053539 | 0.0053539 | 0.0053539 | 0.0 | 9.91 +Pair | 0.0052281 | 0.0052281 | 0.0052281 | 0.0 | 34.66 +Bond | 9.72e-07 | 9.72e-07 | 9.72e-07 | 0.0 | 0.01 +Kspace | 0.0017267 | 0.0017267 | 0.0017267 | 0.0 | 11.45 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00052577 | 0.00052577 | 0.00052577 | 0.0 | 0.97 -Output | 0.0033476 | 0.0033476 | 0.0033476 | 0.0 | 6.20 -Modify | 0.036562 | 0.036562 | 0.036562 | 0.0 | 67.69 -Other | | 0.0001102 | | | 0.20 +Comm | 0.00016423 | 0.00016423 | 0.00016423 | 0.0 | 1.09 +Output | 0.0010211 | 0.0010211 | 0.0010211 | 0.0 | 6.77 +Modify | 0.0068532 | 0.0068532 | 0.0068532 | 0.0 | 45.43 +Other | | 9.022e-05 | | | 0.60 Nlocal: 288 ave 288 max 288 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -138,4 +167,4 @@ Ave neighs/atom = 92 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:09 +Total wall time: 0:00:01 diff --git a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ffield.g++.4 b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ffield.g++.4 similarity index 73% rename from examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ffield.g++.4 rename to examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ffield.g++.4 index 619ed2bc48..75b20bb7f2 100644 --- a/examples/PACKAGES/electrode/planar/log.26Apr2022.planar-pppm-ffield.g++.4 +++ b/examples/PACKAGES/electrode/planar/log.1Dec2022.planar-pppm-ffield.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (24 Mar 2022) +LAMMPS (3 Nov 2022) boundary p p p # finite field, fully periodic kspace_style pppm/electrode 1.0e-7 @@ -28,8 +28,8 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.022 seconds + special bonds CPU = 0.002 seconds + read_data CPU = 0.006 seconds group bot molecule 1 144 atoms in group bot @@ -67,6 +67,35 @@ thermo 1 thermo_style custom step v_v c_qbot c_qtop v_qtheory v_percdev run 10 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- kspace_style pppm/electrode command: + +@article{Ahrens2021, +author = {Ahrens-Iwers, Ludwig J.V. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0063381}, +title = {{Constant potential simulations on a mesh}}, +journal = {Journal of Chemical Physics}, +year = {2021} +volume = {155}, +pages = {104104}, +} +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) PPPM/electrode initialization ... WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327) @@ -78,9 +107,9 @@ WARNING: System is not charge neutral, net charge = 0.000219 (src/kspace.cpp:327 estimated relative force accuracy = 5.4638319e-08 using double precision MKL FFT 3d grid and FFT values/proc = 1287 192 - generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 16 ghost atom cutoff = 16 @@ -97,7 +126,7 @@ Neighbor list info ... stencil: none bin: none WARNING: Using kspace solver on system with no charge (src/kspace.cpp:314) -Per MPI rank memory allocation (min/avg/max) = 7.712 | 7.712 | 7.712 Mbytes +Per MPI rank memory allocation (min/avg/max) = 7.721 | 7.721 | 7.721 Mbytes Step v_v c_qbot c_qtop v_qtheory v_percdev 0 0 0 0 0 0 1 0.2 -0.030902 0.030902 0.031376826 -1.5133027 @@ -110,22 +139,22 @@ Per MPI rank memory allocation (min/avg/max) = 7.712 | 7.712 | 7.712 Mbytes 8 1.6 -0.247216 0.247216 0.25101461 -1.5133028 9 1.8 -0.278118 0.278118 0.28239144 -1.5133028 10 2 -0.30902 0.30902 0.31376826 -1.5133028 -Loop time of 0.0301351 on 4 procs for 10 steps with 288 atoms +Loop time of 0.0169132 on 4 procs for 10 steps with 288 atoms -Performance: 28.671 ns/day, 0.837 hours/ns, 331.839 timesteps/s -99.8% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 51.084 ns/day, 0.470 hours/ns, 591.252 timesteps/s, 170.281 katom-step/s +49.8% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.0020768 | 0.0022701 | 0.0024074 | 0.3 | 7.53 -Bond | 1.271e-06 | 2.2107e-06 | 4.237e-06 | 0.0 | 0.01 -Kspace | 0.0039171 | 0.0040631 | 0.0042468 | 0.2 | 13.48 +Pair | 0.00098343 | 0.0013515 | 0.0015461 | 0.6 | 7.99 +Bond | 6.21e-07 | 6.81e-07 | 7.3e-07 | 0.0 | 0.00 +Kspace | 0.0036673 | 0.0038144 | 0.004106 | 0.3 | 22.55 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0020711 | 0.0032953 | 0.0038884 | 1.3 | 10.93 -Output | 0.0013425 | 0.001877 | 0.0031692 | 1.7 | 6.23 -Modify | 0.018076 | 0.018252 | 0.018479 | 0.1 | 60.57 -Other | | 0.0003755 | | | 1.25 +Comm | 0.0015601 | 0.0016528 | 0.0017294 | 0.2 | 9.77 +Output | 0.00072013 | 0.00087465 | 0.0012429 | 0.0 | 5.17 +Modify | 0.0086712 | 0.0087641 | 0.0089049 | 0.1 | 51.82 +Other | | 0.0004551 | | | 2.69 Nlocal: 72 ave 72 max 72 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -139,4 +168,4 @@ Ave neighs/atom = 92 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:03 +Total wall time: 0:00:00 diff --git a/src/ELECTRODE/boundary_correction.cpp b/src/ELECTRODE/boundary_correction.cpp index feda3af4f9..8e622c170f 100644 --- a/src/ELECTRODE/boundary_correction.cpp +++ b/src/ELECTRODE/boundary_correction.cpp @@ -19,34 +19,18 @@ #include "atom.h" #include "comm.h" +#include "domain.h" #include "force.h" +#include "kspace.h" using namespace LAMMPS_NS; -// use EW3DC slab correction -// BoundaryCorrection::BoundaryCorrection(LAMMPS *lmp) : Pointers(lmp) {} -void BoundaryCorrection::setup(double x, double y, double z) +double BoundaryCorrection::get_volume() { - xprd_wire = x; - yprd_wire = y; - zprd_slab = z; - volume = x * y * z; - area = x * y; - qqrd2e = force->qqrd2e; - scale = 1.0; -} -void BoundaryCorrection::setup(double x, double y, double z, double g) -{ - xprd_wire = x; - yprd_wire = y; - zprd_slab = z; - volume = x * y * z; - area = x * y; - qqrd2e = force->qqrd2e; - scale = 1.0; - g_ewald = g; + return domain->xprd * force->kspace->wire_volfactor * domain->yprd * + force->kspace->wire_volfactor * domain->zprd * force->kspace->slab_volfactor; } std::vector BoundaryCorrection::gather_recvcounts(int n) diff --git a/src/ELECTRODE/boundary_correction.h b/src/ELECTRODE/boundary_correction.h index b729207b6c..3fec90f8d2 100644 --- a/src/ELECTRODE/boundary_correction.h +++ b/src/ELECTRODE/boundary_correction.h @@ -27,20 +27,10 @@ class BoundaryCorrection : protected Pointers { BoundaryCorrection(LAMMPS *); virtual void vector_corr(double *, int, int, bool){}; virtual void matrix_corr(bigint *, double **){}; - virtual void compute_corr(double, double, int, int, double &, double *){}; - void setup(double, double, double); - void setup(double, double, double, double); + virtual void compute_corr(double, int, int, double &, double *){}; protected: - double area; - double volume; - double xprd_wire; - double yprd_wire; - double zprd_slab; - double qqrd2e; - double scale; - double g_ewald; - + double get_volume(); std::vector gather_jmat(bigint *); std::vector gather_recvcounts(int); std::vector gather_displs(const std::vector &); diff --git a/src/ELECTRODE/electrode_matrix.cpp b/src/ELECTRODE/electrode_matrix.cpp index 484e524041..1362026eb3 100644 --- a/src/ELECTRODE/electrode_matrix.cpp +++ b/src/ELECTRODE/electrode_matrix.cpp @@ -82,7 +82,9 @@ void ElectrodeMatrix::compute_array(double **array, bool timer_flag) MPI_Barrier(world); if (timer_flag && (comm->me == 0)) utils::logmesg(lmp, fmt::format("KSpace time: {:.4g} s\n", MPI_Wtime() - kspace_time)); + //cout << array[0][0] << ", " << array[0][1] << endl; pair_contribution(array); + //cout << array[0][0] << ", " << array[0][1] << endl; self_contribution(array); electrode_kspace->compute_matrix_corr(&mpos[0], array); if (tfflag) tf_contribution(array); @@ -110,7 +112,7 @@ void ElectrodeMatrix::pair_contribution(double **array) int nlocal = atom->nlocal; int newton_pair = force->newton_pair; - double etaij = eta * eta / sqrt(2.0 * eta * eta); // see mw ewald theory eq. (29)-(30) + double const etaij = eta * eta / sqrt(2.0 * eta * eta); // see mw ewald theory eq. (29)-(30) // neighbor list will be ready because called from post_neighbor inum = list->inum; diff --git a/src/ELECTRODE/electrode_vector.cpp b/src/ELECTRODE/electrode_vector.cpp index 4b99973fc7..1a1b877406 100644 --- a/src/ELECTRODE/electrode_vector.cpp +++ b/src/ELECTRODE/electrode_vector.cpp @@ -25,10 +25,12 @@ #include "force.h" #include "group.h" #include "kspace.h" +#include "math_const.h" #include "neigh_list.h" #include "pair.h" using namespace LAMMPS_NS; +using namespace MathConst; ElectrodeVector::ElectrodeVector(LAMMPS *lmp, int sensor_group, int source_group, double eta, bool invert_source) : @@ -41,6 +43,7 @@ ElectrodeVector::ElectrodeVector(LAMMPS *lmp, int sensor_group, int source_group ngroup = group->count(igroup); source_grpbit = group->bitmask[source_group]; this->eta = eta; + tfflag = false; kspace_time_total = 0; pair_time_total = 0; @@ -79,6 +82,14 @@ void ElectrodeVector::setup(class Pair *fix_pair, class NeighList *fix_neighlist /* ---------------------------------------------------------------------- */ +void ElectrodeVector::setup_tf(const std::map &tf_types) +{ + tfflag = true; + this->tf_types = tf_types; +} + +/* ---------------------------------------------------------------------- */ + void ElectrodeVector::compute_vector(double *vector) { MPI_Barrier(world); @@ -86,6 +97,8 @@ void ElectrodeVector::compute_vector(double *vector) // pair double pair_start_time = MPI_Wtime(); pair_contribution(vector); + self_contribution(vector); + if (tfflag) tf_contribution(vector); MPI_Barrier(world); pair_time_total += MPI_Wtime() - pair_start_time; // kspace @@ -105,6 +118,7 @@ void ElectrodeVector::compute_vector(double *vector) void ElectrodeVector::pair_contribution(double *vector) { + double const etaij = eta * MY_ISQRT2; double **x = atom->x; double *q = atom->q; int *type = atom->type; @@ -121,6 +135,7 @@ void ElectrodeVector::pair_contribution(double *vector) int const i = ilist[ii]; bool const i_in_sensor = (mask[i] & groupbit); bool const i_in_source = !!(mask[i] & source_grpbit) != invert_source; + if (!(i_in_sensor || i_in_source)) continue; double const xtmp = x[i][0]; double const ytmp = x[i][1]; double const ztmp = x[i][2]; @@ -144,12 +159,53 @@ void ElectrodeVector::pair_contribution(double *vector) double const rinv = 1.0 / r; double aij = rinv; aij *= ElectrodeMath::safe_erfc(g_ewald * r); - aij -= ElectrodeMath::safe_erfc(eta * r) * rinv; + if (invert_source) + aij -= ElectrodeMath::safe_erfc(eta * r) * rinv; + else + aij -= ElectrodeMath::safe_erfc(etaij * r) * rinv; if (i_in_sensor) { vector[i] += aij * q[j]; - } else if (j_in_sensor) { - vector[j] += aij * q[i]; + //} else if (j_in_sensor) { } + if (j_in_sensor && (!invert_source || !i_in_sensor)) { vector[j] += aij * q[i]; } } } } + +/* ---------------------------------------------------------------------- */ + +void ElectrodeVector::self_contribution(double *vector) +{ + int const inum = list->inum; + int *mask = atom->mask; + int *ilist = list->ilist; + double *q = atom->q; + + const double selfint = 2.0 / MY_PIS * g_ewald; + const double preta = MY_SQRT2 / MY_PIS; + + for (int ii = 0; ii < inum; ii++) { + int const i = ilist[ii]; + bool const i_in_sensor = (mask[i] & groupbit); + bool const i_in_source = !!(mask[i] & source_grpbit) != invert_source; + if (i_in_sensor && i_in_source) vector[i] += (preta * eta - selfint) * q[i]; + } +} + +/* ---------------------------------------------------------------------- */ + +void ElectrodeVector::tf_contribution(double *vector) +{ + int const inum = list->inum; + int *mask = atom->mask; + int *type = atom->type; + int *ilist = list->ilist; + double *q = atom->q; + + for (int ii = 0; ii < inum; ii++) { + int const i = ilist[ii]; + bool const i_in_sensor = (mask[i] & groupbit); + bool const i_in_source = !!(mask[i] & source_grpbit) != invert_source; + if (i_in_sensor && i_in_source) vector[i] += tf_types[type[i]] * q[i]; + } +} diff --git a/src/ELECTRODE/electrode_vector.h b/src/ELECTRODE/electrode_vector.h index cd3117a31f..e7f637dd2d 100644 --- a/src/ELECTRODE/electrode_vector.h +++ b/src/ELECTRODE/electrode_vector.h @@ -19,6 +19,7 @@ #define LMP_ELECTRODE_VECTOR_H #include "pointers.h" +#include namespace LAMMPS_NS { @@ -27,6 +28,7 @@ class ElectrodeVector : protected Pointers { ElectrodeVector(class LAMMPS *, int, int, double, bool); ~ElectrodeVector() override; void setup(class Pair *, class NeighList *, bool); + void setup_tf(const std::map &); void compute_vector(double *); int igroup, source_group; @@ -36,11 +38,15 @@ class ElectrodeVector : protected Pointers { bigint ngroup; double **cutsq; double g_ewald, eta; + bool tfflag; + std::map tf_types; class Pair *pair; class NeighList *list; class ElectrodeKSpace *electrode_kspace; void pair_contribution(double *); + void self_contribution(double *); + void tf_contribution(double *); double kspace_time_total; double pair_time_total; diff --git a/src/ELECTRODE/ewald_electrode.cpp b/src/ELECTRODE/ewald_electrode.cpp index 9d9dbdcd07..a0a081deb0 100644 --- a/src/ELECTRODE/ewald_electrode.cpp +++ b/src/ELECTRODE/ewald_electrode.cpp @@ -32,6 +32,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -40,7 +41,7 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -EwaldElectrode::EwaldElectrode(LAMMPS *lmp) : Ewald(lmp) +EwaldElectrode::EwaldElectrode(LAMMPS *lmp) : Ewald(lmp), boundcorr(nullptr) { eikr_step = -1; } @@ -88,6 +89,7 @@ void EwaldElectrode::init() }; int periodicity_2d[] = {1, 1, 0}; int periodicity_1d[] = {0, 0, 1}; + if (boundcorr != nullptr) delete boundcorr; if (slabflag == 1) { // EW3Dc dipole correction if (!equal_periodicity(periodicity_2d)) @@ -301,7 +303,6 @@ void EwaldElectrode::setup() memory->create3d_offset(sn, -kmax, kmax, 3, nmax, "ewald/electrode:sn"); kmax_created = kmax; } - boundcorr->setup(xprd_wire, yprd_wire, zprd_slab, g_ewald); // pre-compute Ewald coefficients @@ -418,7 +419,7 @@ void EwaldElectrode::compute(int eflag, int vflag) for (int j = 0; j < 6; j++) vatom[i][j] *= q[i] * qscale; } - boundcorr->compute_corr(qsum, slab_volfactor, eflag_atom, eflag_global, energy, eatom); + boundcorr->compute_corr(qsum, eflag_atom, eflag_global, energy, eatom); } /* ---------------------------------------------------------------------- */ @@ -1007,7 +1008,8 @@ void EwaldElectrode::compute_matrix(bigint *imat, double **matrix, bool /* timer n++; } - // TODO check if ((bigint) kxmax+1)*ngroup overflows ... + if (((bigint) kxmax + 1) * ngroup > INT_MAX) + error->all(FLERR, "kmax is too large, integer overflows might occur."); memory->create(csx_all, ((bigint) kxmax + 1) * ngroup, "ewald/electrode:csx_all"); memory->create(snx_all, ((bigint) kxmax + 1) * ngroup, "ewald/electrode:snx_all"); @@ -1018,15 +1020,12 @@ void EwaldElectrode::compute_matrix(bigint *imat, double **matrix, bool /* timer memory->create(jmat, ngroup, "ewald/electrode:jmat"); - int *recvcounts, *displs; // TODO allgather requires int for displs but - // displs might overflow! + int *recvcounts, *displs; memory->create(recvcounts, nprocs, "ewald/electrode:recvcounts"); memory->create(displs, nprocs, "ewald/electrode:displs"); // gather subsets global cs and sn int n = (kxmax + 1) * ngrouplocal; - // TODO check if (kxmax+1)*ngrouplocal, etc. - // overflows int n! typically kxmax small MPI_Allgather(&n, 1, MPI_INT, recvcounts, 1, MPI_INT, world); displs[0] = 0; diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index a5069f819d..73c029a61f 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -18,6 +18,7 @@ #include "fix_electrode_conp.h" #include "atom.h" +#include "citeme.h" #include "comm.h" #include "compute.h" #include "domain.h" @@ -46,34 +47,52 @@ using namespace LAMMPS_NS; using namespace MathConst; +#define SMALL 1e-16 + extern "C" { void dgetrf_(const int *M, const int *N, double *A, const int *lda, int *ipiv, int *info); void dgetri_(const int *N, double *A, const int *lda, const int *ipiv, double *work, const int *lwork, int *info); } -enum { CONST, EQUAL }; -enum { - V, // voltage - QSB, // q_sb - MC, // macro_capacitance - ME // macro_elastance -}; +static const char cite_fix_electrode[] = + "fix electrode command:\n\n" + "@article{Ahrens2022\n" + "author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\\ss}ner, " + "Robert H.},\n" + "doi = {10.1063/5.0099239},\n" + "title = {{ELECTRODE: An electrochemistry package for LAMMPS}},\n" + "journal = {The Journal of Chemical Physics},\n" + "year = {2022}\n" + "volume = {157},\n" + "pages = {084801},\n" + "}\n"; // 0 1 2 3 4 // fix fxupdate group1 electrode/conp pot1 eta couple group2 pot2 FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), f_inv(nullptr), f_mat(nullptr), f_vec(nullptr), array_compute(nullptr), - ele_vector(nullptr), capacitance(nullptr), pair(nullptr), mat_neighlist(nullptr), - vec_neighlist(nullptr), recvcounts(nullptr), displs(nullptr), iele_gathered(nullptr), - buf_gathered(nullptr), potential_i(nullptr), potential_iele(nullptr), charge_iele(nullptr) + Fix(lmp, narg, arg), elyt_vector(nullptr), elec_vector(nullptr), capacitance(nullptr), + elastance(nullptr), pair(nullptr), mat_neighlist(nullptr), vec_neighlist(nullptr), + recvcounts(nullptr), displs(nullptr), iele_gathered(nullptr), buf_gathered(nullptr), + potential_i(nullptr), potential_iele(nullptr) { - read_inv = read_mat = false; + if (lmp->citeme) lmp->citeme->add(cite_fix_electrode); + // fix.h output flags + scalar_flag = 1; + vector_flag = 1; + extscalar = 1; + extvector = 0; + extarray = 0; + + bool default_algo = true; + algo = Algo::MATRIX_INV; + matrix_algo = true; + cg_threshold = 0.; + write_inv = write_mat = write_vec = read_inv = read_mat = false; symm = false; ffield = false; thermo_time = 0.; - scalar_flag = 1; - vector_flag = 1; + top_group = 0; intelflag = false; tfflag = false; @@ -81,19 +100,20 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : update_time = 0; mult_time = 0; + n_call = n_cg_step = 0; // read fix command fixname = std::string(arg[0]); groups = std::vector(1, igroup); group_bits = std::vector(1, groupbit); group_psi_var_names = std::vector(1); - group_psi_var_styles = std::vector(1, CONST); + group_psi_var_styles = std::vector(1, VarStyle::CONST); group_psi = std::vector(1); etypes_neighlists = false; if (strstr(arg[3], "v_") == arg[3]) { std::string vname = arg[3]; group_psi_var_names[0] = vname.substr(2); - group_psi_var_styles[0] = EQUAL; + group_psi_var_styles[0] = VarStyle::EQUAL; } else group_psi[0] = utils::numeric(FLERR, arg[3], false, lmp); char *eta_str = arg[4]; @@ -110,50 +130,51 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : if (strstr(arg[iarg], "v_") == arg[iarg]) { std::string vname = arg[iarg]; group_psi_var_names.push_back(vname.substr(2)); - group_psi_var_styles.push_back(EQUAL); + group_psi_var_styles.push_back(VarStyle::EQUAL); group_psi.push_back(0.); } else { std::string null; group_psi_var_names.push_back(null); - group_psi_var_styles.push_back(CONST); + group_psi_var_styles.push_back(VarStyle::CONST); group_psi.push_back(utils::numeric(FLERR, arg[iarg], false, lmp)); } - } else if ((strncmp(arg[iarg], "symm", 4) == 0)) { - if (iarg + 2 > narg) error->all(FLERR, "Need yes/no command after symm keyword"); - char *symm_arg = arg[++iarg]; - if ((strcmp(symm_arg, "yes") == 0) || (strcmp(symm_arg, "on") == 0)) { - symm = true; - } else if ((strcmp(symm_arg, "no") == 0) || (strcmp(symm_arg, "off") == 0)) { - symm = false; + } else if ((strcmp(arg[iarg], "algo") == 0)) { + if (!default_algo) error->one(FLERR, fmt::format("Algorithm can be set once, only")); + default_algo = false; + if (iarg + 2 > narg) error->all(FLERR, "Need one argument after algo command"); + char *algo_arg = arg[++iarg]; + bool cg_algo = false; + if ((strcmp(algo_arg, "mat_inv") == 0)) { + algo = Algo::MATRIX_INV; + matrix_algo = true; + } else if ((strcmp(algo_arg, "mat_cg") == 0)) { + algo = Algo::MATRIX_CG; + matrix_algo = true; + cg_algo = true; + } else if ((strcmp(algo_arg, "cg") == 0)) { + algo = Algo::CG; + matrix_algo = false; + cg_algo = true; } else { - error->all(FLERR, "Invalid argument after symm keyword"); + error->all(FLERR, "Invalid argument after algo keyword"); + } + if (cg_algo) { + if (iarg + 2 > narg) error->all(FLERR, "Need one argument after algo *cg command"); + cg_threshold = utils::numeric(FLERR, arg[++iarg], false, lmp); } } else if ((strncmp(arg[iarg], "write", 5) == 0)) { if (iarg + 2 > narg) error->all(FLERR, "Need one argument after write command"); - if (comm->me == 0) { - if ((strcmp(arg[iarg], "write_inv") == 0)) { // capacitance matrix - f_inv = fopen(arg[++iarg], "w"); - if (f_inv == nullptr) - error->one(FLERR, - fmt::format("Cannot open capacitance matrix file {}: {}", arg[iarg], - utils::getsyserror())); - } else if ((strcmp(arg[iarg], "write_mat") == 0)) { // b vector - f_mat = fopen(arg[++iarg], "w"); - if (f_mat == nullptr) - error->one(FLERR, - fmt::format("Cannot open elastance matrix file {}: {}", arg[iarg], - utils::getsyserror())); - } else if ((strcmp(arg[iarg], "write_vec") == 0)) { // b vector - f_vec = fopen(arg[++iarg], "w"); - if (f_vec == nullptr) - error->one( - FLERR, - fmt::format("Cannot open vector file {}: {}", arg[iarg], utils::getsyserror())); - } else { - error->all(FLERR, "Illegal fix electrode/conp command with write"); - } + if ((strcmp(arg[iarg], "write_inv") == 0)) { // capacitance matrix + write_inv = true; + output_file_inv = arg[++iarg]; + } else if ((strcmp(arg[iarg], "write_mat") == 0)) { // elastance matrix + write_mat = true; + output_file_mat = arg[++iarg]; + } else if ((strcmp(arg[iarg], "write_vec") == 0)) { // b vector + write_vec = true; + output_file_vec = arg[++iarg]; } else { - iarg++; + error->all(FLERR, "Illegal fix electrode/conp command with write"); } } else if ((strncmp(arg[iarg], "read", 4) == 0)) { if (iarg + 2 > narg) error->all(FLERR, "Need one argument after read command"); @@ -166,12 +187,6 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : } else { error->all(FLERR, "Illegal fix electrode/conp command with read"); } - } else if ((strcmp(arg[iarg], "etypes") == 0)) { - if (iarg + 2 > narg) error->all(FLERR, "Need one argument after etypes command"); - int ilo, ihi; - utils::bounds(FLERR, arg[++iarg], 1, atom->ntypes, ilo, ihi, error); - for (int i = ilo; i <= ihi; ++i) etypes.push_back(i); - etypes_neighlists = true; } else if ((strcmp(arg[iarg], "temp") == 0)) { if (iarg + 4 > narg) error->all(FLERR, "Need three arguments after temp command"); if (strcmp(this->style, "electrode/thermo") != 0) @@ -179,16 +194,13 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : thermo_temp = force->boltz / force->qe2f * utils::numeric(FLERR, arg[++iarg], false, lmp); thermo_time = utils::numeric(FLERR, arg[++iarg], false, lmp); thermo_init = utils::inumeric(FLERR, arg[++iarg], false, lmp); + // toggle parameters + } else if ((strcmp(arg[iarg], "etypes") == 0)) { + etypes_neighlists = utils::logical(FLERR, arg[++iarg], false, lmp); + } else if ((strncmp(arg[iarg], "symm", 4) == 0)) { + symm = utils::logical(FLERR, arg[++iarg], false, lmp); } else if ((strcmp(arg[iarg], "ffield") == 0)) { - if (iarg + 2 > narg) error->all(FLERR, "Need yes/no command after ffield keyword"); - char *ffield_arg = arg[++iarg]; - if ((strcmp(ffield_arg, "yes") == 0) || (strcmp(ffield_arg, "on") == 0)) { - ffield = true; - } else if ((strcmp(ffield_arg, "no") == 0) || (strcmp(ffield_arg, "off") == 0)) { - ffield = false; - } else { - error->all(FLERR, "Invalid argument after ffield keyword"); - } + ffield = utils::logical(FLERR, arg[++iarg], false, lmp); } else { error->all(FLERR, "Illegal fix electrode/conp command"); } @@ -206,23 +218,38 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : igroup = group->find(union_group); if (igroup < 0) error->all(FLERR, "Failed to create union of groups"); // construct computes - ele_vector = new ElectrodeVector(lmp, igroup, igroup, eta, true); - if (!(read_inv || read_mat)) { array_compute = new ElectrodeMatrix(lmp, igroup, eta); } - - // error checks + need_array_compute = !(read_inv || read_mat) && matrix_algo; + need_elec_vector = algo == Algo::CG; + elyt_vector = new ElectrodeVector(lmp, igroup, igroup, eta, true); + if (need_elec_vector) elec_vector = new ElectrodeVector(lmp, igroup, igroup, eta, false); assert(groups.size() == group_bits.size()); assert(groups.size() == group_psi.size()); assert(groups.size() == group_psi_var_styles.size()); assert(groups.size() == group_psi_var_names.size()); - assert(igroup == ele_vector->igroup); - if (!(read_mat || read_inv)) assert(igroup == array_compute->igroup); + assert(igroup == elyt_vector->igroup); + if (need_elec_vector) assert(igroup == elec_vector->igroup); + if (algo != Algo::MATRIX_INV) { + if (read_inv || write_inv) + error->all( + FLERR, + "Selected algorithm does not use inverted matrix. Cannot read/write inverted matrix."); + } + if (!matrix_algo && (read_mat || write_mat || write_vec)) { + error->all(FLERR, + "Selected algorithm does not use matrix. Cannot read/write matrix or vector."); + } if (read_inv && read_mat) error->all(FLERR, "Cannot read matrix from two files"); - if (f_mat && read_inv) + if (write_mat && read_inv) error->all(FLERR, "Cannot write elastance matrix if reading capacitance matrix " "from file"); num_of_groups = static_cast(groups.size()); size_vector = num_of_groups; + array_flag = !!(algo == Algo::MATRIX_INV); + if (array_flag) { + size_array_rows = num_of_groups; + size_array_cols = 2 + 2 * num_of_groups; + } // check groups are consistent int *mask = atom->mask; @@ -243,15 +270,17 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : groupbit = group->bitmask[igroup]; ngroup = group->count(igroup); - accel_interface = new ElectrodeAccelInterface(lmp); + accel_interface = std::unique_ptr(new ElectrodeAccelInterface(lmp)); - memory->create(iele_gathered, ngroup, "FixElectrode:iele_gathered"); - memory->create(buf_gathered, ngroup, "FixElectrode:buf_gathered"); - memory->create(potential_iele, ngroup, "FixElectrode:potential_iele"); - memory->create(charge_iele, ngroup, "FixElectrode:charge_iele"); + if (matrix_algo) { + memory->create(iele_gathered, ngroup, "FixElectrode:iele_gathered"); + memory->create(buf_gathered, ngroup, "FixElectrode:buf_gathered"); + memory->create(potential_iele, ngroup, "FixElectrode:potential_iele"); + } atom->add_callback(Atom::GROW); // atomvec track local electrode atoms comm_reverse = 1; + comm_forward = 1; nlocalele = 0; @@ -260,12 +289,6 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -// 0 1 2 3 return 4 if successful -// fix_modify fxupdate set v [group] [var] -// fix_modify fxupdate set qsb [group] [var] -// 0 1 2 3 4 return 5 if successful -// fix_modify fxupdate set mc [group1] [group2] [var] -// fix_modify fxupdate set me [group1] [group2] [var] int FixElectrodeConp::modify_param(int narg, char **arg) { if (strcmp(arg[0], "tf") == 0) { @@ -306,49 +329,6 @@ int FixElectrodeConp::modify_param(int narg, char **arg) timer_flag = utils::logical(FLERR, arg[1], false, lmp); return 2; - } else if (strcmp(arg[0], "set") == 0) { - if (strcmp(arg[1], "v") == 0 || strcmp(arg[1], "qsb") == 0) { - if (narg != 4) - error->all(FLERR, - fmt::format("Incorrect number of arguments for fix_modify set {}", arg[1])); - int outputgrp = groupnum_from_name(arg[2]); - int outputvar = input->variable->find(arg[3]); - if (outputvar < 0) - error->all(FLERR, - fmt::format("Variable {} for fix_modify electrode does not exist", arg[3])); - if (!input->variable->internalstyle(outputvar)) - error->all(FLERR, - fmt::format("Variable {} for fix_modify electrode is invalid style", arg[3])); - if (strcmp(arg[1], "v") == 0) - setvars_types.push_back(V); - else - setvars_types.push_back(QSB); - setvars_groups.push_back(outputgrp); - setvars_vars.push_back(outputvar); - return 4; - } else if (strcmp(arg[1], "mc") == 0 || strcmp(arg[1], "me") == 0) { - if (narg != 5) - error->all(FLERR, - fmt::format("Incorrect number of arguments for fix_modify set {}", arg[1])); - int outputgrpi = groupnum_from_name(arg[2]); - int outputgrpj = groupnum_from_name(arg[3]); - int outputgrpij = outputgrpi * num_of_groups + outputgrpj; - int outputvar = input->variable->find(arg[4]); - if (outputvar < 0) - error->all(FLERR, - fmt::format("Variable {} for fix_modify electrode does not exist", arg[4])); - if (!input->variable->internalstyle(outputvar)) - error->all(FLERR, - fmt::format("Variable {} for fix_modify electrode is invalid style", arg[4])); - if (strcmp(arg[1], "mc") == 0) - setvars_types.push_back(MC); - else - setvars_types.push_back(ME); - setvars_groups.push_back(outputgrpij); - setvars_vars.push_back(outputvar); - return 5; - } else - error->all(FLERR, "Invalid set option for fix_modify electrode"); } else error->all(FLERR, "Invalid argument for fix_modify electrode"); return 0; @@ -392,6 +372,12 @@ void FixElectrodeConp::init() } if (pair == nullptr) error->all(FLERR, "Fix electrode couldn't find a Coulombic pair style"); + // error if more than one fix electrode/* + int count = 0; + for (int i = 0; i < modify->nfix; i++) + if (strncmp(modify->fix[i]->style, "electrode", 9) == 0) count++; + if (count > 1) error->all(FLERR, "More than one fix electrode"); + // check for package intel accel_interface->intel_find_fix(); if (etypes_neighlists) @@ -436,7 +422,7 @@ void FixElectrodeConp::post_constructor() input->variable->set(fmt::format("{} equal f_{}[{}]", var_vtop, fixname, 1 + top_group)); input->variable->set(fmt::format("{} equal (v_{}-v_{})/lz", var_efield, var_vbot, var_vtop)); // check for other efields and warn if found - if (modify->get_fix_by_style("efield").size() > 0) + if (modify->get_fix_by_style("efield").size() > 0 && comm->me == 0) error->warning(FLERR, "Other efield fixes found -- please make sure this is intended!"); // call fix command: // fix [varstem]_efield all efield 0.0 0.0 [var_vdiff]/lz @@ -452,10 +438,6 @@ void FixElectrodeConp::setup_post_neighbor() int *mask = atom->mask; tagint *tag = atom->tag; - // setvars asserts: - assert(setvars_groups.size() == setvars_vars.size()); - assert(setvars_groups.size() == setvars_types.size()); - // if Thomas-Fermi, make sure all electrode atoms have parameters if (tfflag) { int unset_tf = 0; @@ -471,7 +453,7 @@ void FixElectrodeConp::setup_post_neighbor() // get equal-style variable ids: group_psi_var_ids = std::vector(num_of_groups, -1); for (int g = 0; g < num_of_groups; g++) { - if (group_psi_var_styles[g] == CONST) continue; + if (group_psi_var_styles[g] == VarStyle::CONST) continue; const char *var_name = group_psi_var_names[g].c_str(); int var_id = input->variable->find(var_name); if (var_id < 0) @@ -485,22 +467,11 @@ void FixElectrodeConp::setup_post_neighbor() // pair and list setups: evscale = force->qe2f / force->qqrd2e; - ele_vector->setup(pair, vec_neighlist, timer_flag); - if (!(read_mat || read_inv)) { - if (etypes_neighlists) neighbor->build_one(mat_neighlist, 0); - array_compute->setup(tag_to_iele, pair, mat_neighlist); - if (tfflag) { array_compute->setup_tf(tf_types); } + elyt_vector->setup(pair, vec_neighlist, timer_flag); + if (need_elec_vector) { + elec_vector->setup(pair, mat_neighlist, timer_flag); + if (tfflag) elec_vector->setup_tf(tf_types); } - // setup psi with target potentials - iele_to_group = std::vector(ngroup, -1); - sd_vectors = std::vector>(num_of_groups, std::vector(ngroup)); - sb_charges = std::vector(num_of_groups); - for (int i = 0; i < nlocal; i++) { - for (int g = 0; g < num_of_groups; g++) { - if (mask[i] & group_bits[g]) { iele_to_group[tag_to_iele[tag[i]]] = g; } - } - } - MPI_Allreduce(MPI_IN_PLACE, &iele_to_group.front(), ngroup, MPI_INT, MPI_MAX, world); auto const order_matrix = [](std::vector order, double **mat) { size_t n = order.size(); @@ -512,51 +483,93 @@ void FixElectrodeConp::setup_post_neighbor() return ordered_mat; }; - // capacitance matrix - memory->create(capacitance, ngroup, ngroup, "fix_electrode:capacitance"); - if (read_inv) { - read_from_file(input_file_inv, capacitance, "capacitance"); - } else { - // temporarily hold elastance in "capacitance" + if (matrix_algo) { + + sd_vectors = std::vector>(num_of_groups, std::vector(ngroup)); + sb_charges = std::vector(num_of_groups); + iele_to_group = std::vector(ngroup, -1); + for (int i = 0; i < nlocal; i++) { + for (int g = 0; g < num_of_groups; g++) { + if (mask[i] & group_bits[g]) { iele_to_group[tag_to_iele[tag[i]]] = g; } + } + } + MPI_Allreduce(MPI_IN_PLACE, &iele_to_group.front(), ngroup, MPI_INT, MPI_MAX, world); + + memory->create(elastance, ngroup, ngroup, "fix_electrode:matrix"); if (read_mat) - read_from_file(input_file_mat, capacitance, "elastance"); - else - array_compute->compute_array(capacitance, timer_flag); - if (f_mat && !(read_inv)) - write_to_file(f_mat, taglist_bygroup, order_matrix(group_idx, capacitance)); - invert(); // TODO uncommented lots of stuff here - } - if (symm) symmetrize(); + read_from_file(input_file_mat, elastance, "elastance"); + else if (!read_inv) { + if (etypes_neighlists) neighbor->build_one(mat_neighlist, 0); + auto array_compute = std::unique_ptr(new ElectrodeMatrix(lmp, igroup, eta)); + array_compute->setup(tag_to_iele, pair, mat_neighlist); + if (tfflag) { array_compute->setup_tf(tf_types); } + array_compute->compute_array(elastance, timer_flag); + } // write_mat before proceeding + if (comm->me == 0 && write_mat) { + auto f_mat = fopen(output_file_mat.c_str(), "w"); + if (f_mat == nullptr) + error->one(FLERR, + fmt::format("Cannot open elastance matrix file {}: {}", output_file_mat, + utils::getsyserror())); + write_to_file(f_mat, taglist_bygroup, order_matrix(group_idx, elastance)); + fclose(f_mat); + } + if (algo == Algo::MATRIX_INV) { + capacitance = elastance; + elastance = nullptr; + if (read_inv) + read_from_file(input_file_inv, capacitance, "capacitance"); + else + invert(); + if (symm) symmetrize(); - // build sd vectors and macro matrices - MPI_Barrier(world); - double start = MPI_Wtime(); - if (ffield) { - compute_sd_vectors_ffield(); - } else { - compute_sd_vectors(); + // build sd vectors and macro matrices + MPI_Barrier(world); + double start = MPI_Wtime(); + if (ffield) { + compute_sd_vectors_ffield(); + } else { + compute_sd_vectors(); + } + compute_macro_matrices(); + MPI_Barrier(world); + if (timer_flag && (comm->me == 0)) + utils::logmesg( + lmp, fmt::format("SD-vector and macro matrices time: {:.4g} s\n", MPI_Wtime() - start)); + } } - compute_macro_matrices(); - MPI_Barrier(world); - if (timer_flag && (comm->me == 0)) - utils::logmesg( - lmp, fmt::format("SD-vector and macro matrices time: {:.4g} s\n", MPI_Wtime() - start)); - // initial charges and b vector update_charges(); // write to files, ordered by group - memset(potential_i, 0, atom->nmax * sizeof(double)); - ele_vector->compute_vector(potential_i); - if (force->newton_pair) comm->reverse_comm(this); - buffer_and_gather(potential_i, potential_iele); - if (comm->me == 0) { - if (f_vec) { + if (write_vec) { + memset(potential_i, 0, atom->nmax * sizeof(double)); + elyt_vector->compute_vector(potential_i); + if (force->newton_pair) comm->reverse_comm(this); + buffer_and_gather(potential_i, potential_iele); + if (comm->me == 0) { + auto f_vec = fopen(output_file_vec.c_str(), "w"); + if (f_vec == nullptr) + error->one( + FLERR, + fmt::format("Cannot open vector file {}: {}", output_file_vec, utils::getsyserror())); std::vector> vec(ngroup, std::vector(1)); for (int i = 0; i < ngroup; i++) { vec[group_idx[i]][0] = potential_iele[i]; } write_to_file(f_vec, taglist_bygroup, vec); + fclose(f_vec); + } + } + + if (write_inv) { + if (comm->me == 0) { + auto f_inv = fopen(output_file_inv.c_str(), "w"); + if (f_inv == nullptr) + error->one(FLERR, + fmt::format("Cannot open capacitance matrix file {}: {}", output_file_inv, + utils::getsyserror())); + write_to_file(f_inv, taglist_bygroup, order_matrix(group_idx, capacitance)); + fclose(f_inv); } - if (f_inv) { write_to_file(f_inv, taglist_bygroup, order_matrix(group_idx, capacitance)); } } } @@ -567,13 +580,15 @@ void FixElectrodeConp::setup_pre_reverse(int eflag, int /*vflag*/) // correct forces for initial timestep gausscorr(eflag, true); self_energy(eflag); - potential_energy(eflag); + // potential_energy(eflag); // not always part of the energy, depending on ensemble, therefore + // removed } /* ---------------------------------------------------------------------- */ void FixElectrodeConp::invert() { + assert(algo == Algo::MATRIX_INV); MPI_Barrier(world); double invert_time = MPI_Wtime(); if (timer_flag && (comm->me == 0)) utils::logmesg(lmp, "CONP inverting matrix\n"); @@ -596,6 +611,11 @@ void FixElectrodeConp::invert() void FixElectrodeConp::symmetrize() { // S matrix to enforce charge neutrality constraint + if (read_inv && comm->me == 0) + error->warning(FLERR, + "Symmetrizing matrix from file. Make sure the provided matrix has not been " + "symmetrized yet."); + assert(algo == Algo::MATRIX_INV); std::vector AinvE(ngroup, 0.); double EAinvE = 0.0; for (int i = 0; i < ngroup; i++) { @@ -614,6 +634,10 @@ void FixElectrodeConp::symmetrize() void FixElectrodeConp::setup_pre_exchange() // create_taglist { + nlocalele_outdated = 1; // force regather + // + if (!matrix_algo) return; + int *mask = atom->mask; int const nlocal = atom->nlocal; int const nprocs = comm->nprocs; @@ -626,21 +650,21 @@ void FixElectrodeConp::setup_pre_exchange() // create_taglist taglist_bygroup = std::vector(); nlocalele = 0; for (int gbit : group_bits) { - std::vector taglist_local; + std::vector taglist_local_group; for (int i = 0; i < nlocal; i++) { if (mask[i] & gbit) { - taglist_local.push_back(tag[i]); + taglist_local_group.push_back(tag[i]); nlocalele++; } } // gather from all cpus for this group - int gnum_local = taglist_local.size(); + int gnum_local = taglist_local_group.size(); MPI_Allgather(&gnum_local, 1, MPI_INT, recvcounts, 1, MPI_INT, world); displs[0] = 0; for (int i = 1; i < nprocs; i++) { displs[i] = displs[i - 1] + recvcounts[i - 1]; } int const gnum = displs[nprocs - 1] + recvcounts[nprocs - 1]; std::vector taglist_all(gnum); - MPI_Allgatherv(&taglist_local.front(), gnum_local, MPI_LMP_TAGINT, &taglist_all.front(), + MPI_Allgatherv(&taglist_local_group.front(), gnum_local, MPI_LMP_TAGINT, &taglist_all.front(), recvcounts, displs, MPI_LMP_TAGINT, world); std::sort(taglist_all.begin(), taglist_all.end()); for (tagint t : taglist_all) taglist_bygroup.push_back(t); @@ -656,8 +680,6 @@ void FixElectrodeConp::setup_pre_exchange() // create_taglist tag_to_iele.insert(std::pair(taglist[i], i)); } - nlocalele_outdated = 1; // force regather - // group_idx allows mapping a vector that is sorted by taglist to being // ordered by taglist_bygroup group_idx = std::vector(taglist_bygroup.size()); @@ -668,10 +690,10 @@ void FixElectrodeConp::setup_pre_exchange() // create_taglist // if memory_usage > 0.5 GiB, warn with expected usage double mem_needed = memory_usage(); mem_needed /= (1024 * 1024 * 1024); // convert to GiB - if (mem_needed > 0.5) + if (mem_needed > 0.5 && comm->me == 0) error->warning(FLERR, fmt::format("Please ensure there is sufficient memory for fix electrode " - "(anticipated usage is {:.1f} per proc)", + "(anticipated usage is at least {:.1f} GiB per proc)", mem_needed)); } @@ -688,13 +710,15 @@ void FixElectrodeConp::pre_reverse(int eflag, int /*vflag*/) { gausscorr(eflag, true); self_energy(eflag); - potential_energy(eflag); + //potential_energy(eflag); // not always part of the energy, depending on ensemble, therefore + // removed } /* ---------------------------------------------------------------------- */ void FixElectrodeConp::compute_sd_vectors() { + assert(algo == Algo::MATRIX_INV); for (int g = 0; g < num_of_groups; g++) { for (int j = 0; j < ngroup; j++) { if (iele_to_group[j] == g) { @@ -708,6 +732,7 @@ void FixElectrodeConp::compute_sd_vectors() void FixElectrodeConp::compute_sd_vectors_ffield() { + assert(algo == Algo::MATRIX_INV); double **x = atom->x; int *mask = atom->mask; tagint *tag = atom->tag; @@ -756,6 +781,7 @@ int FixElectrodeConp::get_top_group() void FixElectrodeConp::update_charges() { + n_call++; MPI_Barrier(world); double start = MPI_Wtime(); if (atom->nmax > nmax) { @@ -764,92 +790,214 @@ void FixElectrodeConp::update_charges() memory->create(potential_i, nmax, "FixElectrode:potential_i"); } - std::fill(sb_charges.begin(), sb_charges.end(), 0.); double *q = atom->q; - int *mask = atom->mask; - tagint *tag = atom->tag; - int const nlocal = atom->nlocal; - int const nall = nlocal + atom->nghost; - memset(potential_i, 0, atom->nmax * sizeof(double)); - ele_vector->compute_vector(potential_i); - if (force->newton_pair) comm->reverse_comm(this); - buffer_and_gather(potential_i, potential_iele); - MPI_Barrier(world); + gather_list_iele(); pre_update(); - MPI_Barrier(world); - double mult_start = MPI_Wtime(); - for (int i_iele = 0; i_iele < nlocalele; i_iele++) { - double q_tmp = 0; - int const iele = list_iele[i_iele]; - double *_noalias caprow = capacitance[iele]; - for (int j = 0; j < ngroup; j++) { q_tmp -= caprow[j] * potential_iele[j]; } - buf_iele[i_iele] = q_tmp; - sb_charges[iele_to_group[iele]] += q_tmp; + accel_interface->intel_pack_buffers(); // update buffers for pppmintel to compute potential + auto q_local = std::vector(nlocalele, 0.); + if (algo == Algo::MATRIX_INV) { + std::fill(sb_charges.begin(), sb_charges.end(), 0.); + memset(potential_i, 0, atom->nmax * sizeof(double)); + elyt_vector->compute_vector(potential_i); + if (force->newton_pair) comm->reverse_comm(this); + buffer_and_gather(potential_i, potential_iele); + MPI_Barrier(world); + double mult_start = MPI_Wtime(); + for (int i_iele = 0; i_iele < nlocalele; i_iele++) { + double q_tmp = 0; + int const iele = list_iele[i_iele]; + double *_noalias caprow = capacitance[iele]; + for (int j = 0; j < ngroup; j++) { q_tmp -= caprow[j] * potential_iele[j]; } + q_local[i_iele] = q_tmp; + sb_charges[iele_to_group[iele]] += q_tmp; + } + MPI_Allreduce(MPI_IN_PLACE, &sb_charges.front(), num_of_groups, MPI_DOUBLE, MPI_SUM, world); + update_psi(); // use for equal-style and conq + for (int g = 0; g < num_of_groups; g++) + for (int j = 0; j < nlocalele; j++) q_local[j] += sd_vectors[g][list_iele[j]] * group_psi[g]; + MPI_Barrier(world); + mult_time += MPI_Wtime() - mult_start; + } else if (algo == Algo::MATRIX_CG || algo == Algo::CG) { // conjugate gradient algorithm + update_psi(); // update group_psi if equal-style + auto b = gather_elevec_local(elyt_vector); + for (int i = 0; i < nlocalele; i++) { + b[i] -= evscale * group_psi[iele_to_group_local[i]]; + q_local[i] = q[atom->map(taglist_local[i])]; // pre-condition with current charges + } + q_local = constraint_correction(q_local); + MPI_Barrier(world); + double mult_start = MPI_Wtime(); + auto a = ele_ele_interaction(q_local); + MPI_Barrier(world); + mult_time += MPI_Wtime() - mult_start; + auto r = add_nlocalele(b, a); + auto d = constraint_projection(r); + double dot_old = dot_nlocalele(r, d); + double delta = dot_old; + for (int k = 0; k < ngroup && delta > cg_threshold; k++, n_cg_step++) { + MPI_Barrier(world); + double mult_start_loop = MPI_Wtime(); + auto y = ele_ele_interaction(d); + MPI_Barrier(world); + mult_time += MPI_Wtime() - mult_start_loop; + double alpha = dot_old / -dot_nlocalele(d, y); + q_local = add_nlocalele(q_local, scale_vector(alpha, d)); + // prepare next step + if ((k + 1) % 20 == 0) { + // avoid shifting residual. This rarely happens. + q_local = constraint_correction(q_local); + a = ele_ele_interaction(q_local); + r = add_nlocalele(b, a); + } else { + r = add_nlocalele(r, scale_vector(alpha, y)); + } + auto p = constraint_projection(r); + double dot_new = dot_nlocalele(r, p); + d = add_nlocalele(p, scale_vector(dot_new / dot_old, d)); + delta = dot_nlocalele(r, d); + dot_old = dot_new; + } + recompute_potential(b, q_local); + if (delta > cg_threshold && comm->me == 0) error->warning(FLERR, "CG threshold not reached"); + } else { + error->all(FLERR, "This algorithm is not implemented, yet"); } - gather_elevec(charge_iele); - MPI_Allreduce(MPI_IN_PLACE, &sb_charges.front(), num_of_groups, MPI_DOUBLE, MPI_SUM, world); - - update_setvars(QSB); - update_psi(); // use for equal-style and conq - update_setvars(V); // push psi into 'fix_modify set' vars - - for (int g = 0; g < num_of_groups; g++) - for (int j = 0; j < ngroup; j++) { charge_iele[j] += sd_vectors[g][j] * group_psi[g]; } - - for (int i = 0; i < nall; i++) { - if (!(groupbit & mask[i])) continue; - int const iele = tag_to_iele[tag[i]]; - q[i] = charge_iele[iele]; - } - - MPI_Barrier(world); - mult_time += MPI_Wtime() - mult_start; + set_charges(q_local); update_time += MPI_Wtime() - start; accel_interface->intel_pack_buffers(); } +std::vector FixElectrodeConp::ele_ele_interaction(std::vector q_local) +{ + assert(q_local.size() == nlocalele); + assert(algo == Algo::CG || algo == Algo::MATRIX_CG); + if (algo == Algo::CG) { + set_charges(q_local); + return gather_elevec_local(elec_vector); + } else { + return times_elastance(gather_ngroup(q_local)); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixElectrodeConp::set_charges(std::vector q_local) +{ + assert(q_local.size() == nlocalele); + double *q = atom->q; + for (int i = 0; i < nlocalele; i++) q[atom->map(taglist_local[i])] = q_local[i]; + comm->forward_comm(this); + accel_interface->intel_pack_buffers(); +} + +/* ---------------------------------------------------------------------- */ + +std::vector FixElectrodeConp::gather_elevec_local(ElectrodeVector *vec) +{ + memset(potential_i, 0, atom->nmax * sizeof(double)); + vec->compute_vector(potential_i); + if (force->newton_pair) comm->reverse_comm(this); + auto a = std::vector(nlocalele, 0.); + for (int i = 0; i < nlocalele; i++) a[i] = potential_i[atom->map(taglist_local[i])]; + return a; +} + +/* ---------------------------------------------------------------------- */ + +std::vector FixElectrodeConp::gather_ngroup(std::vector x_local) +{ + auto x = std::vector(ngroup, 0.); + for (int i = 0; i < nlocalele; i++) { + int const iele = list_iele[i]; + x[iele] = x_local[i]; + } + MPI_Allreduce(MPI_IN_PLACE, &x.front(), ngroup, MPI_DOUBLE, MPI_SUM, world); + return x; +} + +/* ---------------------------------------------------------------------- + ensure total electrode charge is 0 if symm +------------------------------------------------------------------------- */ + +std::vector FixElectrodeConp::constraint_correction(std::vector x) +{ + return constraint_projection(x); +} + +/* ---------------------------------------------------------------------- + project into direction that conserves total charge (cf. Gingrich master thesis) +------------------------------------------------------------------------- */ + +std::vector FixElectrodeConp::constraint_projection(std::vector x) +{ + if (symm) { + double sum = 0.; + for (double xi : x) sum += xi; + MPI_Allreduce(MPI_IN_PLACE, &sum, 1, MPI_DOUBLE, MPI_SUM, world); + sum /= ngroup; + for (double &xi : x) xi -= sum; + } + return x; +} + +/* ---------------------------------------------------------------------- */ + +std::vector FixElectrodeConp::scale_vector(double alpha, std::vector x) +{ + for (double &xi : x) xi *= alpha; + return x; +} + +/* ---------------------------------------------------------------------- */ + +std::vector FixElectrodeConp::add_nlocalele(std::vector a, std::vector b) +{ + assert(a.size() == nlocalele && b.size() == nlocalele); + for (int i = 0; i < nlocalele; i++) a[i] += b[i]; + return a; +} + +/* ---------------------------------------------------------------------- */ + +double FixElectrodeConp::dot_nlocalele(std::vector a, std::vector b) +{ + assert(a.size() == nlocalele && b.size() == nlocalele); + double out = 0.; + for (int i = 0; i < nlocalele; i++) out += a[i] * b[i]; + MPI_Allreduce(MPI_IN_PLACE, &out, 1, MPI_DOUBLE, MPI_SUM, world); + return out; +} + +/* ---------------------------------------------------------------------- */ + +std::vector FixElectrodeConp::times_elastance(std::vector x) +{ + assert(x.size() == ngroup); + auto out = std::vector(nlocalele, 0.); + for (int i = 0; i < nlocalele; i++) { + double *_noalias row = elastance[list_iele[i]]; + double oi = 0; + for (int j = 0; j < ngroup; j++) oi += row[j] * x[j]; + out[i] = oi; + } + return out; +} + /* ---------------------------------------------------------------------- */ void FixElectrodeConp::update_psi() { for (int g = 0; g < num_of_groups; g++) { - if (group_psi_var_styles[g] == CONST) continue; + if (group_psi_var_styles[g] == VarStyle::CONST) continue; group_psi[g] = input->variable->compute_equal(group_psi_var_ids[g]); } } /* ---------------------------------------------------------------------- */ -void FixElectrodeConp::update_setvars(int vtype) -{ - int num_of_vars = static_cast(setvars_groups.size()); - for (int v = 0; v < num_of_vars; v++) { - if (vtype != setvars_types[v]) continue; - switch (vtype) { - case V: - input->variable->internal_set(setvars_vars[v], group_psi[setvars_groups[v]]); - break; - case QSB: - input->variable->internal_set(setvars_vars[v], sb_charges[setvars_groups[v]]); - break; - case MC: { - int groupi = setvars_groups[v] / num_of_groups; - int groupj = setvars_groups[v] % num_of_groups; - input->variable->internal_set(setvars_vars[v], macro_capacitance[groupi][groupj]); - } break; - case ME: { - int groupi = setvars_groups[v] / num_of_groups; - int groupj = setvars_groups[v] % num_of_groups; - input->variable->internal_set(setvars_vars[v], macro_elastance[groupi][groupj]); - } - } - } -} - -/* ---------------------------------------------------------------------- */ - void FixElectrodeConp::compute_macro_matrices() { + assert(algo == Algo::MATRIX_INV); macro_capacitance = std::vector>(num_of_groups, std::vector(num_of_groups)); for (int g = 0; g < num_of_groups; g++) { @@ -865,13 +1013,13 @@ void FixElectrodeConp::compute_macro_matrices() macro_elastance = std::vector>(num_of_groups, std::vector(num_of_groups)); - // TODO: does determinant ever = 0 if !symm? what to do then? if (num_of_groups == 1) { macro_elastance[0][0] = 1 / macro_capacitance[0][0]; } else if (num_of_groups == 2) { - double detinv = 1 / - (macro_capacitance[0][0] * macro_capacitance[1][1] - - macro_capacitance[0][1] * macro_capacitance[1][0]); + double const det = macro_capacitance[0][0] * macro_capacitance[1][1] - + macro_capacitance[0][1] * macro_capacitance[1][0]; + if (fabs(det) < SMALL) error->all(FLERR, "ELECTRODE macro matrix inversion failed!"); + double const detinv = 1 / det; macro_elastance[0][0] = macro_capacitance[1][1] * detinv; macro_elastance[1][1] = macro_capacitance[0][0] * detinv; macro_elastance[0][1] = -macro_capacitance[0][1] * detinv; @@ -894,7 +1042,7 @@ void FixElectrodeConp::compute_macro_matrices() int info_rf, info_ri; dgetrf_(&m, &n, &tmp.front(), &lda, &ipiv.front(), &info_rf); dgetri_(&n, &tmp.front(), &lda, &ipiv.front(), &work.front(), &lwork, &info_ri); - if (info_rf != 0 || info_ri != 0) error->all(FLERR, "CONP macro matrix inversion failed!"); + if (info_rf != 0 || info_ri != 0) error->all(FLERR, "ELECTRODE macro matrix inversion failed!"); for (int i = 0; i < num_of_groups; i++) { for (int j = 0; j < num_of_groups; j++) { int idx = i * num_of_groups + j; @@ -902,17 +1050,15 @@ void FixElectrodeConp::compute_macro_matrices() } } } - - update_setvars(MC); - update_setvars(ME); } /* ---------------------------------------------------------------------- */ double FixElectrodeConp::compute_scalar() { - return potential_energy(0); + return potential_energy(); } + /* ---------------------------------------------------------------------- */ double FixElectrodeConp::compute_vector(int i) @@ -922,24 +1068,32 @@ double FixElectrodeConp::compute_vector(int i) /* ---------------------------------------------------------------------- */ -double FixElectrodeConp::potential_energy(int eflag) +double FixElectrodeConp::compute_array(int i, int j) +{ + if (j == 0) + return sb_charges[i]; + else if (j <= num_of_groups) + return macro_capacitance[i][j - 1]; + else if (j <= 2 * num_of_groups) + return macro_elastance[i][j - num_of_groups - 1]; + else + return 0.; // avoid -Wreturn-type warning +} + +/* ---------------------------------------------------------------------- */ + +double FixElectrodeConp::potential_energy() { // corrections to energy due to potential psi double const qqrd2e = force->qqrd2e; int const nlocal = atom->nlocal; int *mask = atom->mask; - tagint *tag = atom->tag; double *q = atom->q; double energy = 0; - for (int i = 0; i < nlocal; i++) { + for (int i = 0, iele = 0; i < nlocal; i++) { if (groupbit & mask[i]) { - int const i_iele = tag_to_iele[tag[i]]; - double e = -qqrd2e * q[i] * group_psi[iele_to_group[i_iele]] * evscale; - energy += e; - if (eflag) { - force->pair->ev_tally(i, i, nlocal, force->newton_pair, 0., e, 0, 0, 0, - 0); // 0 evdwl, 0 fpair, 0 delxyz - } + energy -= qqrd2e * q[i] * group_psi[iele_to_group_local[iele]] * evscale; + iele++; } } MPI_Allreduce(MPI_IN_PLACE, &energy, 1, MPI_DOUBLE, MPI_SUM, world); @@ -1054,30 +1208,36 @@ double FixElectrodeConp::gausscorr(int eflag, bool fflag) FixElectrodeConp::~FixElectrodeConp() { - if (timer_flag && (comm->me == 0)) { + if (comm->me == 0) { try { - utils::logmesg(lmp, fmt::format("Multiplication time: {:.4g} s\n", mult_time)); - utils::logmesg(lmp, fmt::format("Update time: {:.4g} s\n", update_time)); + if (timer_flag) { + utils::logmesg(lmp, fmt::format("Multiplication time: {:.4g} s\n", mult_time)); + utils::logmesg(lmp, fmt::format("Update time: {:.4g} s\n", update_time)); + } + if (algo == Algo::CG || algo == Algo::MATRIX_CG) + utils::logmesg( + lmp, + fmt::format("Average conjugate gradient steps: {:.4g}\n", n_cg_step * 1. / n_call)); } catch (std::exception &) { } } if (!modify->get_fix_by_id(id)) // avoid segfault if derived fixes' ctor throws err atom->delete_callback(id, Atom::GROW); // atomvec track local electrode atoms - delete[] recvcounts; - delete[] displs; - memory->destroy(iele_gathered); - memory->destroy(buf_gathered); + if (matrix_algo) { + delete[] recvcounts; + delete[] displs; + memory->destroy(iele_gathered); + memory->destroy(buf_gathered); + memory->destroy(potential_iele); + } memory->destroy(potential_i); - memory->destroy(potential_iele); - memory->destroy(charge_iele); - if (!(read_mat || read_inv)) delete array_compute; - delete ele_vector; - memory->destroy(capacitance); - delete accel_interface; - if (f_inv) fclose(f_inv); - if (f_mat) fclose(f_mat); - if (f_vec) fclose(f_vec); + delete elyt_vector; + if (need_elec_vector) delete elec_vector; + if (algo == Algo::MATRIX_INV) + memory->destroy(capacitance); + else if (matrix_algo) + memory->destroy(elastance); } /* ---------------------------------------------------------------------- */ @@ -1116,7 +1276,8 @@ void FixElectrodeConp::read_from_file(const std::string &input_file, double **ar std::vector tags; try { TextFileReader reader(input_file, filetype); - reader.set_bufsize(ngroup * 20 + 4); + int bufsize = ngroup * 20 + 4; + reader.set_bufsize(bufsize > 100 ? bufsize : 100); // get line with tags auto values = reader.next_values(ngroup); @@ -1157,6 +1318,25 @@ void FixElectrodeConp::read_from_file(const std::string &input_file, double **ar void FixElectrodeConp::request_etypes_neighlists() { int const ntypes = atom->ntypes; + // construct etypes + int *mask = atom->mask; + int *type = atom->type; + auto elec = std::vector(ntypes, 0); + auto elyt = std::vector(ntypes, 0); + for (int i = 0; i < atom->nlocal; i++) { + if (mask[i] & groupbit) + elec[type[i] - 1] += 1; + else + elyt[type[i] - 1] += 1; + } + MPI_Allreduce(MPI_IN_PLACE, &elec.front(), ntypes, MPI_INT, MPI_SUM, world); + MPI_Allreduce(MPI_IN_PLACE, &elyt.front(), ntypes, MPI_INT, MPI_SUM, world); + etypes.clear(); + for (int i = 0; i < ntypes; i++) { + if (!elec[i] == !elyt[i]) error->all(FLERR, "Types overlap, cannot use etypes keyword"); + if (elec[i]) etypes.push_back(i + 1); + } + // construct skip arrays int *iskip_mat = new int[ntypes + 1]; int *iskip_vec = new int[ntypes + 1]; int **ijskip_mat; @@ -1182,11 +1362,16 @@ void FixElectrodeConp::request_etypes_neighlists() } } - if (!(read_inv || read_mat)) { + if (need_array_compute) { auto matReq = neighbor->add_request(this, NeighConst::REQ_OCCASIONAL); matReq->set_skip(iskip_mat, ijskip_mat); matReq->set_id(1); if (intelflag) matReq->enable_intel(); + } else if (need_elec_vector) { + auto matReq = neighbor->add_request(this); + matReq->set_skip(iskip_mat, ijskip_mat); + matReq->set_id(1); + if (intelflag) matReq->enable_intel(); } else { delete[] iskip_mat; memory->destroy(ijskip_mat); @@ -1224,26 +1409,40 @@ void FixElectrodeConp::gather_list_iele() int *mask = atom->mask; tagint *tag = atom->tag; int const nlocal = atom->nlocal; - list_iele.clear(); - list_iele.reserve(nlocalele); - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) list_iele.push_back(tag_to_iele[tag[i]]); + if (matrix_algo) { + list_iele.clear(); + list_iele.reserve(nlocalele); } + taglist_local.clear(); + iele_to_group_local.clear(); + for (int i = 0, iele = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + tagint const t = tag[i]; + if (matrix_algo) list_iele.push_back(tag_to_iele[t]); + taglist_local.push_back(t); + for (int g = 0; g < num_of_groups; g++) + if (mask[i] & group_bits[g]) iele_to_group_local.push_back(g); + iele++; + } + } + nlocalele = static_cast(taglist_local.size()); // just for safety + assert(iele_to_group_local.size() == nlocalele); - nlocalele = static_cast(list_iele.size()); // just for safety + if (matrix_algo) { + MPI_Allgather(&nlocalele, 1, MPI_INT, recvcounts, 1, MPI_INT, world); + displs[0] = 0; + int const nprocs = comm->nprocs; + for (int i = 1; i < nprocs; i++) { displs[i] = displs[i - 1] + recvcounts[i - 1]; } - MPI_Allgather(&nlocalele, 1, MPI_INT, recvcounts, 1, MPI_INT, world); - displs[0] = 0; - int const nprocs = comm->nprocs; - for (int i = 1; i < nprocs; i++) { displs[i] = displs[i - 1] + recvcounts[i - 1]; } - - MPI_Allgatherv(&list_iele[0], nlocalele, MPI_INT, iele_gathered, recvcounts, displs, MPI_INT, - world); + MPI_Allgatherv(&list_iele[0], nlocalele, MPI_INT, iele_gathered, recvcounts, displs, MPI_INT, + world); + } nlocalele_outdated = 0; } void FixElectrodeConp::gather_elevec(double *elevec) { + assert(matrix_algo); MPI_Allgatherv(&buf_iele[0], nlocalele, MPI_DOUBLE, buf_gathered, recvcounts, displs, MPI_DOUBLE, world); @@ -1252,13 +1451,11 @@ void FixElectrodeConp::gather_elevec(double *elevec) void FixElectrodeConp::buffer_and_gather(double *ivec, double *elevec) { - gather_list_iele(); - + assert(matrix_algo); buf_iele.reserve(nlocalele); // avoid unexpected reallocs for (int i_iele = 0; i_iele < nlocalele; i_iele++) { buf_iele[i_iele] = ivec[atom->map(taglist[list_iele[i_iele]])]; } - gather_elevec(elevec); } @@ -1268,16 +1465,25 @@ double FixElectrodeConp::memory_usage() int const nmax = atom->nmax; double bytes = 0.0; bytes += nmax * (sizeof(double)); // potential_i - bytes += ngroup * - (sizeof(int) + 3 * sizeof(double)); // iele_gathered, buf_gathered, pot / charge_iele - bytes += ngroup * ngroup * sizeof(double); // capacitance - bytes += nprocs * (2 * sizeof(int)); // displs, recvcounts - bytes += list_iele.capacity() * sizeof(int); - bytes += buf_iele.capacity() * sizeof(double); + if (matrix_algo) { + bytes += ngroup * (sizeof(int) + 2 * sizeof(double)); // iele_gathered, buf_gathered, pot + bytes += ngroup * ngroup * sizeof(double); // capacitance or elastance + bytes += list_iele.capacity() * sizeof(int); + bytes += buf_iele.capacity() * sizeof(double); + bytes += nprocs * (2 * sizeof(int)); // displs, recvcounts + bytes += (tag_to_iele.size() * (sizeof(int) + sizeof(void *)) + // data list + tag_to_iele.bucket_count() * (sizeof(void *) + sizeof(size_t))); // bucket index + bytes += taglist.capacity() * sizeof(tagint); + bytes += iele_to_group.capacity() * sizeof(int); + } + bytes += taglist_local.capacity() * sizeof(tagint); + bytes += iele_to_group_local.capacity() * sizeof(int); return bytes; } +/* ---------------------------------------------------------------------- */ + int FixElectrodeConp::pack_reverse_comm(int n, int first, double *buf) { int m = 0; @@ -1287,7 +1493,30 @@ int FixElectrodeConp::pack_reverse_comm(int n, int first, double *buf) return m; } +/* ---------------------------------------------------------------------- */ + void FixElectrodeConp::unpack_reverse_comm(int n, int *list, double *buf) { for (int i = 0; i < n; i++) { potential_i[list[i]] += buf[i]; } } + +/* ---------------------------------------------------------------------- */ + +int FixElectrodeConp::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, + int * /*pbc*/) +{ + int m = 0; + for (int i = 0; i < n; i++) { + int const j = list[i]; + buf[m++] = atom->q[j]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void FixElectrodeConp::unpack_forward_comm(int n, int first, double *buf) +{ + int const last = first + n; + for (int i = first, m = 0; i < last; i++) atom->q[i] = buf[m++]; +} diff --git a/src/ELECTRODE/fix_electrode_conp.h b/src/ELECTRODE/fix_electrode_conp.h index c461920b90..42b0e5f52b 100644 --- a/src/ELECTRODE/fix_electrode_conp.h +++ b/src/ELECTRODE/fix_electrode_conp.h @@ -31,11 +31,13 @@ FixStyle(electrode/conp, FixElectrodeConp); #include #include +#include #include namespace LAMMPS_NS { class FixElectrodeConp : public Fix { + public: FixElectrodeConp(class LAMMPS *, int, char **); ~FixElectrodeConp() override; @@ -47,6 +49,7 @@ class FixElectrodeConp : public Fix { void pre_reverse(int, int) override; double compute_scalar() override; double compute_vector(int) override; + double compute_array(int, int) override; int modify_param(int, char **) override; int modify_param(const std::string &); void init() override; @@ -60,54 +63,64 @@ class FixElectrodeConp : public Fix { int pack_reverse_comm(int, int, double *) override; void unpack_reverse_comm(int, int *, double *) override; + int pack_forward_comm(int, int *, double *, int, int *) override; + void unpack_forward_comm(int, int, double *) override; protected: + enum class Algo { MATRIX_INV, MATRIX_CG, CG }; + enum class VarStyle { CONST, EQUAL }; virtual void update_psi(); virtual void pre_update(){}; + virtual void recompute_potential(std::vector, std::vector){}; + virtual std::vector constraint_projection(std::vector); + virtual std::vector constraint_correction(std::vector); virtual void compute_macro_matrices(); + std::vector ele_ele_interaction(std::vector); std::vector group_psi; std::vector group_bits; + std::vector groups; int num_of_groups; bigint ngroup; + double evscale; std::vector> sd_vectors; std::vector sb_charges; - std::vector group_psi_var_ids, group_psi_var_styles; + std::vector group_psi_var_ids; + std::vector group_psi_var_styles; std::vector group_psi_var_names; - bool symm; // symmetrize elastance for charge neutrality - std::vector> macro_elastance; // used by conq + std::vector iele_to_group_local; + bool symm; // symmetrize elastance for charge neutrality + Algo algo; + std::vector> macro_elastance; // used by conq std::vector> macro_capacitance; // used by thermo double thermo_temp, thermo_time; // used by electrode/thermo only int thermo_init; // initializer for rng in electrode/thermo bool ffield; // possibly tweak electrode/conq's version std::string fixname; // used by electrode/ffield to set up internal efield bool intelflag; - ElectrodeAccelInterface *accel_interface; // used by /intel + std::unique_ptr accel_interface; // used by /intel private: - FILE *f_inv, *f_mat, *f_vec; // files for capacitance, eleastance and vector + std::string output_file_inv, output_file_mat, output_file_vec; std::string input_file_inv, input_file_mat; - class ElectrodeMatrix *array_compute; - class ElectrodeVector *ele_vector; - std::vector groups; - double **capacitance; - bool read_inv, read_mat; - double eta; + class ElectrodeVector *elyt_vector, *elec_vector; + double **capacitance, **elastance; + bool read_inv, read_mat, write_inv, write_mat, write_vec; + bool matrix_algo, need_array_compute, need_elec_vector; + double eta, cg_threshold; double update_time, mult_time; + long n_cg_step, n_call; void create_taglist(); void invert(); void symmetrize(); double gausscorr(int, bool); void update_charges(); - double potential_energy(int); + double potential_energy(); double self_energy(int); void write_to_file(FILE *, const std::vector &, const std::vector> &); void read_from_file(const std::string &input_file, double **, const std::string &); void compute_sd_vectors(); void compute_sd_vectors_ffield(); - std::vector setvars_types, setvars_groups, setvars_vars; - void update_setvars(int); int groupnum_from_name(char *); - double evscale; class Pair *pair; class NeighList *mat_neighlist, *vec_neighlist; std::vector etypes; @@ -119,12 +132,21 @@ class FixElectrodeConp : public Fix { bool tfflag; bool timer_flag; std::map tf_types; + // cg + std::vector scale_vector(double, std::vector); + std::vector add_nlocalele(std::vector, std::vector); + double dot_nlocalele(std::vector, std::vector); + std::vector times_elastance(std::vector); + std::vector gather_ngroup(std::vector); + std::vector gather_elevec_local(ElectrodeVector *); + void set_charges(std::vector); // fix-specific electrode ID storage system: - std::vector taglist; // global list: all tags in combined electrode group - std::vector taglist_bygroup; // taglist sorted by group - std::vector group_idx; // permutation taglist<->taglist_bygroup + std::vector taglist; // global list: all tags in combined electrode group + std::vector taglist_local; + std::vector taglist_bygroup; // taglist sorted by group + std::vector group_idx; // permutation taglist<->taglist_bygroup std::unordered_map tag_to_iele; // inverse of taglist: std::vector iele_to_group; // tag_to_iele[taglist[iele]] = iele @@ -138,7 +160,6 @@ class FixElectrodeConp : public Fix { double *buf_gathered; // buffer for MPIgathered buf_iele (NOT YET iele-ordered) double *potential_i; // potentials, i-indexed (0 for non-electrode atoms) double *potential_iele; // potentials ordered by iele - double *charge_iele; // charges ordered by iele void gather_list_iele(); // build iele_gathered void gather_elevec(double *); // gather buf_iele and rearrange into iele-order diff --git a/src/ELECTRODE/fix_electrode_conq.cpp b/src/ELECTRODE/fix_electrode_conq.cpp index d7f4f58be1..0d3d1d2aaf 100644 --- a/src/ELECTRODE/fix_electrode_conq.cpp +++ b/src/ELECTRODE/fix_electrode_conq.cpp @@ -17,44 +17,108 @@ #include "fix_electrode_conq.h" +#include "comm.h" #include "error.h" #include "fix_electrode_conp.h" +#include "group.h" #include "input.h" #include "variable.h" using namespace LAMMPS_NS; -#define SMALL 0.00001 - -enum { CONST, EQUAL }; - -// 0 1 2 3 4 -// fix fxupdate group1 electrode/conp pot1 eta couple group2 pot2 FixElectrodeConq::FixElectrodeConq(LAMMPS *lmp, int narg, char **arg) : FixElectrodeConp(lmp, narg, arg) { // copy const-style values across because update_psi will change group_psi group_q = group_psi; - if (symm) { error->all(FLERR, "Keyword symm on not allowed in electrode/conq"); } + if (symm) { + if (num_of_groups == 1) + error->all(FLERR, "Keyword symm on not allowed in electrode/conq with only one electrode"); + if (comm->me == 0) + error->warning(FLERR, + "Fix electrode/conq with keyword symm ignores the charge setting for the last " + "electrode listed"); + if (algo != Algo::MATRIX_INV) { + double last_q = 0.; + for (int g = 0; g < num_of_groups - 1; g++) last_q -= group_q[g]; + group_q.back() = last_q; // needed for CG algos + } + } } void FixElectrodeConq::update_psi() { - // don't need MPI_Barrier because always preceded by MPI_Allreduce - for (int g = 0; g < num_of_groups; g++) { - if (group_psi_var_styles[g] == CONST) continue; + int const numsymm = num_of_groups - ((symm) ? 1 : 0); + bool symm_update_back = false; + for (int g = 0; g < numsymm; g++) { + if (group_psi_var_styles[g] == VarStyle::CONST) continue; group_q[g] = input->variable->compute_equal(group_psi_var_ids[g]); + symm_update_back = true; } - - std::vector group_remainder_q(num_of_groups); - for (int g = 0; g < num_of_groups; g++) { group_remainder_q[g] = group_q[g] - sb_charges[g]; } - - for (int g = 0; g < num_of_groups; g++) { - double vtmp = 0; - for (int h = 0; h < num_of_groups; h++) { - vtmp += macro_elastance[g][h] * group_remainder_q[h]; + if (algo == Algo::MATRIX_INV) { + std::vector group_remainder_q(num_of_groups, 0.); + for (int g = 0; g < numsymm; g++) { group_remainder_q[g] = group_q[g] - sb_charges[g]; } + for (int g = 0; g < num_of_groups; g++) { + double vtmp = 0; + for (int h = 0; h < num_of_groups; h++) { + vtmp += macro_elastance[g][h] * group_remainder_q[h]; + } + group_psi[g] = vtmp; } - group_psi[g] = vtmp; + } else { + if (symm && symm_update_back) { // needed for CG algos + double last_q = 0.; + for (int g = 0; g < num_of_groups - 1; g++) last_q -= group_q[g]; + group_q.back() = last_q; + } + for (double &g : group_psi) g = 0; } } + +/* ---------------------------------------------------------------------- + Correct charge of each electrode to target charge by adding a homogeneous charge +------------------------------------------------------------------------- */ + +std::vector FixElectrodeConq::constraint_correction(std::vector x) +{ + int const n = x.size(); + auto sums = std::vector(num_of_groups, 0); + for (int i = 0; i < n; i++) sums[iele_to_group_local[i]] += x[i]; + MPI_Allreduce(MPI_IN_PLACE, &sums.front(), num_of_groups, MPI_DOUBLE, MPI_SUM, world); + for (int g = 0; g < num_of_groups; g++) { + sums[g] -= group_q[g]; + sums[g] /= group->count(groups[g]); + } + for (int i = 0; i < n; i++) x[i] -= sums[iele_to_group_local[i]]; + return x; +} + +/* ---------------------------------------------------------------------- + Project into direction that conserves charge of each electrode (cf. M. Shariff (1995)) +------------------------------------------------------------------------- */ + +std::vector FixElectrodeConq::constraint_projection(std::vector x) +{ + int const n = x.size(); + auto sums = std::vector(num_of_groups, 0); + for (int i = 0; i < n; i++) sums[iele_to_group_local[i]] += x[i]; + MPI_Allreduce(MPI_IN_PLACE, &sums.front(), num_of_groups, MPI_DOUBLE, MPI_SUM, world); + for (int g = 0; g < num_of_groups; g++) sums[g] /= group->count(groups[g]); + for (int i = 0; i < n; i++) x[i] -= sums[iele_to_group_local[i]]; + return x; +} + +/* ---------------------------------------------------------------------- + Recompute group potential as average for output if using cg algo +------------------------------------------------------------------------- */ + +void FixElectrodeConq::recompute_potential(std::vector b, std::vector q_local) +{ + int const n = b.size(); + auto a = ele_ele_interaction(q_local); + auto psi_sums = std::vector(num_of_groups, 0); + for (int i = 0; i < n; i++) { psi_sums[iele_to_group_local[i]] += (a[i] + b[i]) / evscale; } + MPI_Allreduce(MPI_IN_PLACE, &psi_sums.front(), num_of_groups, MPI_DOUBLE, MPI_SUM, world); + for (int g = 0; g < num_of_groups; g++) group_psi[g] = psi_sums[g] / group->count(groups[g]); +} diff --git a/src/ELECTRODE/fix_electrode_conq.h b/src/ELECTRODE/fix_electrode_conq.h index f2bb763f7a..221ec2beff 100644 --- a/src/ELECTRODE/fix_electrode_conq.h +++ b/src/ELECTRODE/fix_electrode_conq.h @@ -34,6 +34,9 @@ class FixElectrodeConq : public FixElectrodeConp { public: FixElectrodeConq(class LAMMPS *, int, char **); void update_psi() override; + void recompute_potential(std::vector, std::vector) override; + std::vector constraint_projection(std::vector) override; + std::vector constraint_correction(std::vector) override; private: std::vector group_q; diff --git a/src/ELECTRODE/fix_electrode_thermo.cpp b/src/ELECTRODE/fix_electrode_thermo.cpp index c1f401527b..3bdf446f53 100644 --- a/src/ELECTRODE/fix_electrode_thermo.cpp +++ b/src/ELECTRODE/fix_electrode_thermo.cpp @@ -31,8 +31,6 @@ using namespace LAMMPS_NS; #define NUM_GROUPS 2 #define SMALL 0.00001 -enum { CONST, EQUAL }; - /* ----------------------------------------------------------------------- */ // 0 1 2 3 4 @@ -44,11 +42,11 @@ FixElectrodeThermo::FixElectrodeThermo(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Number of electrodes != two in electrode/thermo"); if (group_psi_var_styles[0] != group_psi_var_styles[1]) error->all(FLERR, "Potentials in electrode/thermo must have same style"); - if (symm) error->all(FLERR, "Keyword symm on not allowed in electrode/thermo"); + if (algo != Algo::MATRIX_INV) error->all(FLERR, "Algorithm not allowed in electrode/thermo"); if (thermo_time < SMALL) error->all(FLERR, "Keyword temp not set or zero in electrode/thermo"); thermo_random = new RanMars(lmp, thermo_init); - if (group_psi_var_styles[0] == CONST) delta_psi_0 = group_psi[1] - group_psi[0]; + if (group_psi_var_styles[0] == VarStyle::CONST) delta_psi_0 = group_psi[1] - group_psi[0]; } /* ----------------------------------------------------------------------- */ @@ -63,9 +61,12 @@ FixElectrodeThermo::~FixElectrodeThermo() void FixElectrodeThermo::compute_macro_matrices() { FixElectrodeConp::compute_macro_matrices(); - vac_cap = (macro_capacitance[0][0] * macro_capacitance[1][1] - - macro_capacitance[0][1] * macro_capacitance[0][1]) / - (macro_capacitance[0][0] + macro_capacitance[1][1] + 2 * macro_capacitance[0][1]); + if (symm) + vac_cap = macro_capacitance[0][0]; + else + vac_cap = (macro_capacitance[0][0] * macro_capacitance[1][1] - + macro_capacitance[0][1] * macro_capacitance[0][1]) / + (macro_capacitance[0][0] + macro_capacitance[1][1] + 2 * macro_capacitance[0][1]); } /* ----------------------------------------------------------------------- */ @@ -92,18 +93,15 @@ void FixElectrodeThermo::update_psi() double const dt = update->dt; // group_q_eff is charge that corresponds to potential after previous step - double group_q_eff[NUM_GROUPS] = {0., 0.}; - for (int g = 0; g < NUM_GROUPS; g++) { group_q_eff[g] = group_q_old[g] - sb_charges[g]; } - double group_psi_old[NUM_GROUPS] = {0., 0.}; - for (int g = 0; g < NUM_GROUPS; g++) { - double vtmp = 0; - for (int h = 0; h < NUM_GROUPS; h++) { vtmp += macro_elastance[g][h] * group_q_eff[h]; } - group_psi_old[g] = vtmp; - } + double const group_q_eff[NUM_GROUPS] = {group_q_old[0] - sb_charges[0], + (symm) ? 0. : group_q_old[1] - sb_charges[1]}; + double const group_psi_old[NUM_GROUPS] = { + macro_elastance[0][0] * group_q_eff[0] + macro_elastance[0][1] * group_q_eff[1], + macro_elastance[1][0] * group_q_eff[0] + macro_elastance[1][1] * group_q_eff[1]}; double const delta_psi = group_psi_old[1] - group_psi_old[0]; // target potential difference from input parameters - if (group_psi_var_styles[0] != CONST) { + if (group_psi_var_styles[0] != VarStyle::CONST) { delta_psi_0 = input->variable->compute_equal(group_psi_var_ids[1]) - input->variable->compute_equal(group_psi_var_ids[0]); } @@ -114,11 +112,10 @@ void FixElectrodeThermo::update_psi() thermo_random->gaussian(); double const group_remainder_q[NUM_GROUPS] = {-delta_charge - sb_charges[0], - delta_charge - sb_charges[1]}; + (symm) ? 0. : delta_charge - sb_charges[1]}; - for (int g = 0; g < NUM_GROUPS; g++) { - double vtmp = 0; - for (int h = 0; h < NUM_GROUPS; h++) { vtmp += macro_elastance[g][h] * group_remainder_q[h]; } - group_psi[g] = vtmp; - } + group_psi[0] = + macro_elastance[0][0] * group_remainder_q[0] + macro_elastance[0][1] * group_remainder_q[1]; + group_psi[1] = + macro_elastance[1][0] * group_remainder_q[0] + macro_elastance[1][1] * group_remainder_q[1]; } diff --git a/src/ELECTRODE/pppm_electrode.cpp b/src/ELECTRODE/pppm_electrode.cpp index 14b7e97c59..b43c804eb2 100644 --- a/src/ELECTRODE/pppm_electrode.cpp +++ b/src/ELECTRODE/pppm_electrode.cpp @@ -20,7 +20,7 @@ #include "angle.h" #include "atom.h" #include "bond.h" -#include "boundary_correction.h" +#include "citeme.h" #include "comm.h" #include "domain.h" #include "error.h" @@ -62,11 +62,26 @@ enum { FORWARD_IK, FORWARD_AD, FORWARD_IK_PERATOM, FORWARD_AD_PERATOM }; #define ONEF 1.0 #endif +static const char cite_pppm_electrode[] = + "kspace_style pppm/electrode command:\n\n" + "@article{Ahrens2021,\n" + "author = {Ahrens-Iwers, Ludwig J.V. and Mei{\\ss}ner, Robert H.},\n" + "doi = {10.1063/5.0063381},\n" + "title = {{Constant potential simulations on a mesh}},\n" + "journal = {Journal of Chemical Physics},\n" + "year = {2021}\n" + "volume = {155},\n" + "pages = {104104},\n" + "}\n"; + /* ---------------------------------------------------------------------- */ PPPMElectrode::PPPMElectrode(LAMMPS *lmp) : - PPPM(lmp), electrolyte_density_brick(nullptr), electrolyte_density_fft(nullptr) + PPPM(lmp), electrolyte_density_brick(nullptr), electrolyte_density_fft(nullptr), + boundcorr(nullptr) { + if (lmp->citeme) lmp->citeme->add(cite_pppm_electrode); + group_group_enable = 0; electrolyte_density_brick = nullptr; electrolyte_density_fft = nullptr; @@ -83,7 +98,6 @@ PPPMElectrode::~PPPMElectrode() if (copymode) return; deallocate(); - delete boundcorr; if (peratom_allocate_flag) deallocate_peratom(); if (group_allocate_flag) deallocate_groups(); memory->destroy(part2grid); @@ -308,8 +322,6 @@ void PPPMElectrode::setup() double zprd_slab = zprd * slab_volfactor; volume = xprd_wire * yprd_wire * zprd_slab; - boundcorr->setup(xprd_wire, yprd_wire, zprd_slab); - delxinv = nx_pppm / xprd_wire; delyinv = ny_pppm / yprd_wire; delzinv = nz_pppm / zprd_slab; @@ -323,7 +335,7 @@ void PPPMElectrode::setup() // fkx,fky,fkz for my FFT grid pts for (i = nxlo_fft; i <= nxhi_fft; i++) { - int per = i - nx_pppm * (2 * i / nx_pppm); // TODO int division intentional? + int per = i - nx_pppm * (2 * i / nx_pppm); fkx[i] = unitkx * per; } @@ -435,13 +447,12 @@ void PPPMElectrode::compute(int eflag, int vflag) // return if there are no charges - // if (qsqsum == 0.0) return; TODO move back in - start_compute(); - if (compute_vector_called) { - // electrolyte_density_brick is filled, so we can - // grab only electrode atoms + if (compute_vector_called && last_invert_source) { + // electrolyte_density_brick is filled, so we can grab only electrode atoms. + // Does not work for direct cg algorithm because electrode charges change after compute_vector. + // Therefore, only when last_invert_source true. // TODO: this is dangerous now that compute_vector's interface has been // changed since a compute could call an arbitrary source, needs tightening make_rho_in_brick(last_source_grpbit, density_brick, !last_invert_source); @@ -471,9 +482,6 @@ void PPPMElectrode::compute(int eflag, int vflag) // also performs per-atom calculations via poisson_peratom() poisson(); - // cout << "###" << endl - //<< "POISSON ENERGY: " << energy * 0.5 * volume << endl - //<< "###" << endl; // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks @@ -552,7 +560,7 @@ void PPPMElectrode::compute(int eflag, int vflag) } } - boundcorr->compute_corr(qsum, slab_volfactor, eflag_atom, eflag_global, energy, eatom); + boundcorr->compute_corr(qsum, eflag_atom, eflag_global, energy, eatom); compute_vector_called = false; } @@ -665,11 +673,12 @@ void PPPMElectrode::project_psi(double *vec, int sensor_grpbit) void PPPMElectrode::compute_matrix(bigint *imat, double **matrix, bool timer_flag) { - // TODO replace compute with required setup - compute(1, 0); + compute(1, 0); // make sure density bricks etc. are set up - // fft green's function k -> r - std::vector greens_real((std::size_t) nz_pppm * ny_pppm * nx_pppm, 0.0); + // fft green's function k -> r (double) + double *greens_real; + memory->create(greens_real, nz_pppm * ny_pppm * nx_pppm, "pppm/electrode:greens_real"); + memset(greens_real, 0, nz_pppm * ny_pppm * nx_pppm * sizeof(double)); for (int i = 0, n = 0; i < nfft; i++) { work2[n++] = greensfn[i]; work2[n++] = ZEROF; @@ -681,13 +690,14 @@ void PPPMElectrode::compute_matrix(bigint *imat, double **matrix, bool timer_fla greens_real[ny_pppm * nx_pppm * k + nx_pppm * j + i] = work2[n]; n += 2; } - MPI_Allreduce(MPI_IN_PLACE, &greens_real.front(), nz_pppm * ny_pppm * nx_pppm, MPI_DOUBLE, - MPI_SUM, world); + MPI_Allreduce(MPI_IN_PLACE, greens_real, nz_pppm * ny_pppm * nx_pppm, MPI_DOUBLE, MPI_SUM, world); int const nlocal = atom->nlocal; int nmat = std::count_if(&imat[0], &imat[nlocal], [](int x) { return x >= 0; }); MPI_Allreduce(MPI_IN_PLACE, &nmat, 1, MPI_INT, MPI_SUM, world); + + // gather x_ele double **x_ele; memory->create(x_ele, nmat, 3, "pppm/electrode:x_ele"); memset(&(x_ele[0][0]), 0, nmat * 3 * sizeof(double)); @@ -703,14 +713,14 @@ void PPPMElectrode::compute_matrix(bigint *imat, double **matrix, bool timer_fla one_step_multiplication(imat, greens_real, x_ele, matrix, nmat, timer_flag); else two_step_multiplication(imat, greens_real, x_ele, matrix, nmat, timer_flag); + memory->destroy(greens_real); memory->destroy(x_ele); } /* ----------------------------------------------------------------------*/ -void PPPMElectrode::one_step_multiplication(bigint *imat, const std::vector &greens_real, - double **x_ele, double **matrix, int const nmat, - bool timer_flag) +void PPPMElectrode::one_step_multiplication(bigint *imat, double *greens_real, double **x_ele, + double **matrix, int const nmat, bool timer_flag) { // map green's function in real space from mesh to particle positions // with matrix multiplication 'W^T G W' in one steps. Uses less memory than @@ -722,11 +732,19 @@ void PPPMElectrode::one_step_multiplication(bigint *imat, const std::vector>> rho1d_j( - nlocal, std::vector>(3, std::vector(order, 0))); + std::vector j_list; for (int j = 0; j < nlocal; j++) { int jpos = imat[j]; if (jpos < 0) continue; + j_list.push_back(j); + } + int const nj_local = j_list.size(); + + FFT_SCALAR ***rho1d_j; + memory->create(rho1d_j, nj_local, 3, order, "pppm/electrode:rho1d_j"); + + for (int jlist_pos = 0; jlist_pos < nj_local; jlist_pos++) { + int j = j_list[jlist_pos]; int njx = part2grid[j][0]; int njy = part2grid[j][1]; int njz = part2grid[j][2]; @@ -735,7 +753,7 @@ void PPPMElectrode::one_step_multiplication(bigint *imat, const std::vectorcreate(amesh, order6, "pppm/electrode:amesh"); for (int ipos = 0; ipos < nmat; ipos++) { double *_noalias xi_ele = x_ele[ipos]; // new calculation for nx, ny, nz because part2grid available for nlocal, @@ -754,44 +776,48 @@ void PPPMElectrode::one_step_multiplication(bigint *imat, const std::vectordestroy(amesh); + memory->destroy(rho1d_j); MPI_Barrier(world); if (timer_flag && (comm->me == 0)) utils::logmesg(lmp, fmt::format("Single step time: {:.4g} s\n", MPI_Wtime() - step1_time)); @@ -799,9 +825,38 @@ void PPPMElectrode::one_step_multiplication(bigint *imat, const std::vector &greens_real, - double **x_ele, double **matrix, int const nmat, - bool timer_flag) +void PPPMElectrode::build_amesh(const int dx, // = njx - nix + const int dy, // = njy - niy + const int dz, // = njz - niz + double *amesh, double *const greens_real) +{ + auto fmod = [](int x, int n) { // fast unsigned mod + int r = abs(x); + while (r >= n) r -= n; + return r; + }; + int ind_amesh = 0; + + for (int iz = 0; iz < order; iz++) + for (int jz = 0; jz < order; jz++) { + int const mz = fmod(dz + jz - iz, nz_pppm) * nx_pppm * ny_pppm; + for (int iy = 0; iy < order; iy++) + for (int jy = 0; jy < order; jy++) { + int const my = fmod(dy + jy - iy, ny_pppm) * nx_pppm; + for (int ix = 0; ix < order; ix++) + for (int jx = 0; jx < order; jx++) { + int const mx = fmod(dx + jx - ix, nx_pppm); + amesh[ind_amesh] = greens_real[mz + my + mx]; + ind_amesh++; + } + } + } +} + +/* ----------------------------------------------------------------------*/ + +void PPPMElectrode::two_step_multiplication(bigint *imat, double *greens_real, double **x_ele, + double **matrix, int const nmat, bool timer_flag) { // map green's function in real space from mesh to particle positions // with matrix multiplication 'W^T G W' in two steps. gw is result of @@ -813,7 +868,16 @@ void PPPMElectrode::two_step_multiplication(bigint *imat, const std::vector> gw(nmat, std::vector(nxyz, 0.)); + + double **gw; + memory->create(gw, nmat, nxyz, "pppm/electrode:gw"); + memset(&(gw[0][0]), 0, nmat * nxyz * sizeof(double)); + + auto fmod = [](int x, int n) { // fast unsigned mod + int r = abs(x); + while (r >= n) r -= n; + return r; + }; // loops over weights of electrode atoms and weights of complete grid // (nx,ny,nz) = global coords of grid pt to "lower left" of charge @@ -830,21 +894,21 @@ void PPPMElectrode::two_step_multiplication(bigint *imat, const std::vectorx; for (int i = 0; i < nlocal; i++) { @@ -894,6 +960,7 @@ void PPPMElectrode::two_step_multiplication(bigint *imat, const std::vectordestroy(gw); if (timer_flag && (comm->me == 0)) utils::logmesg(lmp, fmt::format("step 2 time: {:.4g} s\n", MPI_Wtime() - step2_time)); } @@ -932,6 +999,7 @@ void PPPMElectrode::allocate() void PPPMElectrode::deallocate() { + if (boundcorr != nullptr) delete boundcorr; memory->destroy3d_offset(electrolyte_density_brick, nzlo_out, nylo_out, nxlo_out); memory->destroy(electrolyte_density_fft); diff --git a/src/ELECTRODE/pppm_electrode.h b/src/ELECTRODE/pppm_electrode.h index 03a4e5dc92..a14bc3264d 100644 --- a/src/ELECTRODE/pppm_electrode.h +++ b/src/ELECTRODE/pppm_electrode.h @@ -93,10 +93,9 @@ class PPPMElectrode : public PPPM, public ElectrodeKSpace { void start_compute(); void make_rho_in_brick(int, FFT_SCALAR ***, bool); void project_psi(double *, int); - void one_step_multiplication(bigint *, const std::vector &, double **, double **, - int const, bool); - void two_step_multiplication(bigint *, const std::vector &, double **, double **, - int const, bool); + void one_step_multiplication(bigint *, double *, double **, double **, int const, bool); + void two_step_multiplication(bigint *, double *, double **, double **, int const, bool); + void build_amesh(int, int, int, double *, double *); bool compute_vector_called; }; diff --git a/src/ELECTRODE/slab_2d.cpp b/src/ELECTRODE/slab_2d.cpp index 509b3061e3..dac6001f9b 100644 --- a/src/ELECTRODE/slab_2d.cpp +++ b/src/ELECTRODE/slab_2d.cpp @@ -20,6 +20,8 @@ #include "atom.h" #include "comm.h" #include "domain.h" +#include "force.h" +#include "kspace.h" #include "math_const.h" #include "memory.h" @@ -32,13 +34,14 @@ using namespace MathConst; ------------------------------------------------------------------------- */ Slab2d::Slab2d(LAMMPS *lmp) : BoundaryCorrection(lmp){}; -void Slab2d::compute_corr(double /*qsum*/, double /*slab_volfactor*/, int eflag_atom, - int eflag_global, double &energy, double *eatom) +void Slab2d::compute_corr(double /*qsum*/, int eflag_atom, int eflag_global, double &energy, + double *eatom) { double *q = atom->q; double **x = atom->x; double **f = atom->f; int nlocal = atom->nlocal; + double const g_ewald = force->kspace->g_ewald; bigint natoms = atom->natoms; std::vector z = std::vector(nlocal); @@ -53,7 +56,9 @@ void Slab2d::compute_corr(double /*qsum*/, double /*slab_volfactor*/, int eflag_ &displs.front(), MPI_DOUBLE, world); const double g_ewald_inv = 1.0 / g_ewald; - const double qscale = qqrd2e * scale; + double const scale = 1.0; + const double qscale = force->qqrd2e * scale; + double const area = domain->xprd * domain->yprd; const double ffact = qscale * MY_2PI / area; const double efact = qscale * MY_PIS / area; double e_keq0 = 0; @@ -70,7 +75,7 @@ void Slab2d::compute_corr(double /*qsum*/, double /*slab_volfactor*/, int eflag_ } // per-atom energy; see eq. (20) in metalwalls ewald doc - if (eflag_atom) eatom[i] -= efact * q[i] * pot_ij; // TODO check if 0.5 factor + if (eflag_atom) eatom[i] -= efact * q[i] * pot_ij; if (eflag_global) e_keq0 -= q[i] * pot_ij; } if (eflag_global) { @@ -105,6 +110,8 @@ void Slab2d::vector_corr(double *vec, int sensor_grpbit, int source_grpbit, bool &recvcounts.front(), &displs.front(), MPI_DOUBLE, world); MPI_Allgatherv(&q_local.front(), n_electrolyte_local, MPI_DOUBLE, &q_all.front(), &recvcounts.front(), &displs.front(), MPI_DOUBLE, world); + double const g_ewald = force->kspace->g_ewald; + double const area = domain->xprd * domain->yprd; double const prefac = 2 * MY_PIS / area; for (int i = 0; i < nlocal; i++) { if (!(mask[i] & sensor_grpbit)) continue; @@ -148,8 +155,10 @@ void Slab2d::matrix_corr(bigint *imat, double **matrix) MPI_Allgatherv(&nprd_local.front(), ngrouplocal, MPI_DOUBLE, &nprd_all.front(), &recvcounts.front(), &displs.front(), MPI_DOUBLE, world); + double const g_ewald = force->kspace->g_ewald; const double g_ewald_inv = 1.0 / g_ewald; const double g_ewald_sq = g_ewald * g_ewald; + double const area = domain->xprd * domain->yprd; const double prefac = 2.0 * MY_PIS / area; std::vector jmat = gather_jmat(imat); for (int i = 0; i < nlocal; i++) { diff --git a/src/ELECTRODE/slab_2d.h b/src/ELECTRODE/slab_2d.h index 53bf57329d..544602cfab 100644 --- a/src/ELECTRODE/slab_2d.h +++ b/src/ELECTRODE/slab_2d.h @@ -27,7 +27,7 @@ class Slab2d : public BoundaryCorrection { Slab2d(LAMMPS *); void vector_corr(double *, int, int, bool) override; void matrix_corr(bigint *, double **) override; - void compute_corr(double, double, int, int, double &, double *) override; + void compute_corr(double, int, int, double &, double *) override; void setup(double); }; diff --git a/src/ELECTRODE/slab_dipole.cpp b/src/ELECTRODE/slab_dipole.cpp index d4f339750d..773d2a6bd6 100644 --- a/src/ELECTRODE/slab_dipole.cpp +++ b/src/ELECTRODE/slab_dipole.cpp @@ -20,6 +20,8 @@ #include "atom.h" #include "comm.h" #include "domain.h" +#include "force.h" +#include "kspace.h" #include "math_const.h" using namespace LAMMPS_NS; @@ -37,13 +39,14 @@ using namespace MathConst; */ SlabDipole::SlabDipole(LAMMPS *lmp) : BoundaryCorrection(lmp){}; -void SlabDipole::compute_corr(double qsum, double slab_volfactor, int eflag_atom, int eflag_global, - double &energy, double *eatom) +void SlabDipole::compute_corr(double qsum, int eflag_atom, int eflag_global, double &energy, + double *eatom) { // compute local contribution to global dipole moment + double const volume = get_volume(); double *q = atom->q; double **x = atom->x; - double zprd_slab = domain->zprd * slab_volfactor; + double zprd_slab = domain->zprd * force->kspace->slab_volfactor; int nlocal = atom->nlocal; double dipole = 0.0; for (int i = 0; i < nlocal; i++) dipole += q[i] * x[i][2]; @@ -67,7 +70,8 @@ void SlabDipole::compute_corr(double qsum, double slab_volfactor, int eflag_atom double const e_slabcorr = MY_2PI * (dipole_all * dipole_all - qsum * dipole_r2 - qsum * qsum * zprd_slab * zprd_slab / 12.0) / volume; - double const qscale = qqrd2e * scale; + double const scale = 1.0; + double const qscale = force->qqrd2e * scale; if (eflag_global) energy += qscale * e_slabcorr; // per-atom energy @@ -87,6 +91,7 @@ void SlabDipole::compute_corr(double qsum, double slab_volfactor, int eflag_atom void SlabDipole::vector_corr(double *vec, int sensor_grpbit, int source_grpbit, bool invert_source) { + double const volume = get_volume(); int const nlocal = atom->nlocal; double **x = atom->x; double *q = atom->q; @@ -104,6 +109,7 @@ void SlabDipole::vector_corr(double *vec, int sensor_grpbit, int source_grpbit, void SlabDipole::matrix_corr(bigint *imat, double **matrix) { + double const volume = get_volume(); int nlocal = atom->nlocal; double **x = atom->x; @@ -138,5 +144,4 @@ void SlabDipole::matrix_corr(bigint *imat, double **matrix) if (imat[i] != jmat[j]) matrix[jmat[j]][imat[i]] += aij; } } - // TODO add ELC corrections, needs sum over all kpoints but not (0,0) } diff --git a/src/ELECTRODE/slab_dipole.h b/src/ELECTRODE/slab_dipole.h index 677f71dd50..baa5fb5a4b 100644 --- a/src/ELECTRODE/slab_dipole.h +++ b/src/ELECTRODE/slab_dipole.h @@ -27,7 +27,7 @@ class SlabDipole : public BoundaryCorrection { SlabDipole(LAMMPS *); void vector_corr(double *, int, int, bool); void matrix_corr(bigint *, double **); - void compute_corr(double, double, int, int, double &, double *); + void compute_corr(double, int, int, double &, double *); void setup(double); }; diff --git a/src/ELECTRODE/wire_dipole.cpp b/src/ELECTRODE/wire_dipole.cpp index c113693d55..fc9cbc7014 100644 --- a/src/ELECTRODE/wire_dipole.cpp +++ b/src/ELECTRODE/wire_dipole.cpp @@ -20,6 +20,7 @@ #include "atom.h" #include "comm.h" #include "domain.h" +#include "force.h" #include "math_const.h" using namespace LAMMPS_NS; @@ -34,9 +35,10 @@ using namespace MathConst; */ WireDipole::WireDipole(LAMMPS *lmp) : BoundaryCorrection(lmp){}; -void WireDipole::compute_corr(double /*qsum*/, double /*slab_volfactor*/, int eflag_atom, - int eflag_global, double &energy, double *eatom) +void WireDipole::compute_corr(double /*qsum*/, int eflag_atom, int eflag_global, double &energy, + double *eatom) { + double const volume = get_volume(); double *q = atom->q; double **x = atom->x; int nlocal = atom->nlocal; @@ -72,7 +74,8 @@ void WireDipole::compute_corr(double /*qsum*/, double /*slab_volfactor*/, int ef // compute corrections const double e_wirecorr = MY_PI * (xdipole_all * xdipole_all + ydipole_all * ydipole_all) / volume; - const double qscale = qqrd2e * scale; + double const scale = 1.0; + const double qscale = force->qqrd2e * scale; if (eflag_global) energy += qscale * e_wirecorr; // per-atom energy @@ -94,6 +97,7 @@ void WireDipole::compute_corr(double /*qsum*/, double /*slab_volfactor*/, int ef void WireDipole::vector_corr(double *vec, int sensor_grpbit, int source_grpbit, bool invert_source) { + double const volume = get_volume(); int const nlocal = atom->nlocal; double **x = atom->x; double *q = atom->q; @@ -113,6 +117,7 @@ void WireDipole::vector_corr(double *vec, int sensor_grpbit, int source_grpbit, void WireDipole::matrix_corr(bigint *imat, double **matrix) { + double const volume = get_volume(); int nlocal = atom->nlocal; double **x = atom->x; diff --git a/src/ELECTRODE/wire_dipole.h b/src/ELECTRODE/wire_dipole.h index 70f596c0e8..649913cd13 100644 --- a/src/ELECTRODE/wire_dipole.h +++ b/src/ELECTRODE/wire_dipole.h @@ -27,7 +27,7 @@ class WireDipole : public BoundaryCorrection { WireDipole(LAMMPS *); void vector_corr(double *, int, int, bool); void matrix_corr(bigint *, double **); - void compute_corr(double, double, int, int, double &, double *); + void compute_corr(double, int, int, double &, double *); void setup(double); }; diff --git a/src/INTEL/electrode_accel_intel.h b/src/INTEL/electrode_accel_intel.h index 38b0fe9661..eba6bc0157 100644 --- a/src/INTEL/electrode_accel_intel.h +++ b/src/INTEL/electrode_accel_intel.h @@ -23,8 +23,8 @@ namespace LAMMPS_NS { class ElectrodeAccelIntel : public ElectrodeAccelInterface { public: ElectrodeAccelIntel(class LAMMPS *lmp); - void intel_find_fix(); - void intel_pack_buffers(); + void intel_find_fix() override; + void intel_pack_buffers() override; private: class FixIntel *fix; diff --git a/src/INTEL/fix_electrode_conp_intel.h b/src/INTEL/fix_electrode_conp_intel.h index e2dff685ad..920cdcb89a 100644 --- a/src/INTEL/fix_electrode_conp_intel.h +++ b/src/INTEL/fix_electrode_conp_intel.h @@ -36,8 +36,7 @@ class FixElectrodeConpIntel : public FixElectrodeConp { FixElectrodeConpIntel(class LAMMPS *lmp, int narg, char **arg) : FixElectrodeConp(lmp, narg, arg) { intelflag = true; - delete accel_interface; - accel_interface = new ElectrodeAccelIntel(lmp); + accel_interface = std::unique_ptr(new ElectrodeAccelIntel(lmp)); } }; diff --git a/src/INTEL/fix_electrode_conq_intel.h b/src/INTEL/fix_electrode_conq_intel.h index 8b4f41b694..2bc04a72fc 100644 --- a/src/INTEL/fix_electrode_conq_intel.h +++ b/src/INTEL/fix_electrode_conq_intel.h @@ -36,8 +36,7 @@ class FixElectrodeConqIntel : public FixElectrodeConq { FixElectrodeConqIntel(class LAMMPS *lmp, int narg, char **arg) : FixElectrodeConq(lmp, narg, arg) { intelflag = true; - delete accel_interface; - accel_interface = new ElectrodeAccelIntel(lmp); + accel_interface = std::unique_ptr(new ElectrodeAccelIntel(lmp)); } }; diff --git a/src/INTEL/fix_electrode_thermo_intel.h b/src/INTEL/fix_electrode_thermo_intel.h index 4d4ea6b374..de6d5fa29c 100644 --- a/src/INTEL/fix_electrode_thermo_intel.h +++ b/src/INTEL/fix_electrode_thermo_intel.h @@ -37,8 +37,7 @@ class FixElectrodeThermoIntel : public FixElectrodeThermo { FixElectrodeThermo(lmp, narg, arg) { intelflag = true; - delete accel_interface; - accel_interface = new ElectrodeAccelIntel(lmp); + accel_interface = std::unique_ptr(new ElectrodeAccelIntel(lmp)); } }; diff --git a/src/INTEL/pppm_electrode_intel.cpp b/src/INTEL/pppm_electrode_intel.cpp index 17ee7c0c34..0927ebcc42 100644 --- a/src/INTEL/pppm_electrode_intel.cpp +++ b/src/INTEL/pppm_electrode_intel.cpp @@ -23,6 +23,7 @@ #include "angle.h" #include "atom.h" #include "bond.h" +#include "citeme.h" #include "comm.h" #include "domain.h" #include "error.h" @@ -65,10 +66,24 @@ enum : bool { ELECTRODE = true, ELECTROLYTE = false }; #define ONEF 1.0 #endif +static const char cite_pppm_electrode[] = + "kspace_style pppm/electrode command:\n\n" + "@article{Ahrens2021,\n" + "author = {Ahrens-Iwers, Ludwig J.V. and Mei{\\ss}ner, Robert H.},\n" + "doi = {10.1063/5.0063381},\n" + "title = {{Constant potential simulations on a mesh}},\n" + "journal = {Journal of Chemical Physics},\n" + "year = {2021}\n" + "volume = {155},\n" + "pages = {104104},\n" + "}\n"; + PPPMElectrodeIntel::PPPMElectrodeIntel(LAMMPS *lmp) : PPPMIntel(lmp), ElectrodeKSpace(), electrolyte_density_brick(nullptr), - electrolyte_density_fft(nullptr) + electrolyte_density_fft(nullptr), boundcorr(nullptr) { + if (lmp->citeme) lmp->citeme->add(cite_pppm_electrode); + group_group_enable = 0; electrolyte_density_brick = nullptr; electrolyte_density_fft = nullptr; @@ -83,7 +98,6 @@ PPPMElectrodeIntel::~PPPMElectrodeIntel() memory->destroy(electrolyte_density_fft); if ((differentiation_flag != 1) && !peratom_allocate_flag) memory->destroy3d_offset(u_brick, nzlo_out, nylo_out, nxlo_out); - delete boundcorr; } void PPPMElectrodeIntel::init() @@ -156,7 +170,6 @@ void PPPMElectrodeIntel::setup() prd[0] /= wire_volfactor; prd[1] /= wire_volfactor; - boundcorr->setup(xprd_wire, yprd_wire, zprd_slab); } void PPPMElectrodeIntel::compute(int eflag, int vflag) @@ -272,7 +285,7 @@ void PPPMElectrodeIntel::compute(int eflag, int vflag) slabflag = 0; // bypass compute_second's slabcorr() PPPMIntel::compute_second(eflag, vflag); slabflag = tempslabflag; - boundcorr->compute_corr(qsum, slab_volfactor, eflag_atom, eflag_global, energy, eatom); + boundcorr->compute_corr(qsum, eflag_atom, eflag_global, energy, eatom); compute_vector_called = false; } @@ -505,7 +518,9 @@ void PPPMElectrodeIntel::compute_matrix(bigint *imat, double **matrix, bool time compute(1, 0); // fft green's function k -> r - vector greens_real(nz_pppm * ny_pppm * nx_pppm, 0.); + double *greens_real; + memory->create(greens_real, nz_pppm * ny_pppm * nx_pppm, "pppm/electrode:greens_real"); + memset(greens_real, 0, nz_pppm * ny_pppm * nx_pppm * sizeof(double)); for (int i = 0, n = 0; i < nfft; i++) { work2[n++] = greensfn[i]; work2[n++] = ZEROF; @@ -517,8 +532,7 @@ void PPPMElectrodeIntel::compute_matrix(bigint *imat, double **matrix, bool time greens_real[ny_pppm * nx_pppm * k + nx_pppm * j + i] = work2[n]; n += 2; } - MPI_Allreduce(MPI_IN_PLACE, &greens_real.front(), nz_pppm * ny_pppm * nx_pppm, MPI_DOUBLE, - MPI_SUM, world); + MPI_Allreduce(MPI_IN_PLACE, greens_real, nz_pppm * ny_pppm * nx_pppm, MPI_DOUBLE, MPI_SUM, world); int const nlocal = atom->nlocal; int nmat = std::count_if(&imat[0], &imat[nlocal], [](int x) { return x >= 0; @@ -539,47 +553,50 @@ void PPPMElectrodeIntel::compute_matrix(bigint *imat, double **matrix, bool time one_step_multiplication(imat, greens_real, x_ele, matrix, nmat, timer_flag); else two_step_multiplication(imat, greens_real, x_ele, matrix, nmat, timer_flag); + memory->destroy(greens_real); memory->destroy(x_ele); } /* ----------------------------------------------------------------------*/ -void PPPMElectrodeIntel::one_step_multiplication(bigint *imat, vector greens_real, - double **x_ele, double **matrix, int const nmat, - bool timer_flag) +void PPPMElectrodeIntel::one_step_multiplication(bigint *imat, double *greens_real, double **x_ele, + double **matrix, int const nmat, bool timer_flag) { // map green's function in real space from mesh to particle positions // with matrix multiplication 'W^T G W' in one steps. Uses less memory than // two_step_multiplication // int const nlocal = atom->nlocal; - // double **x = atom->x; + double **x = atom->x; MPI_Barrier(world); double step1_time = MPI_Wtime(); // precalculate rho_1d for local electrode - vector>> rho1d_j(nlocal, - vector>(3, vector(order, 0))); - - _alignvar(FFT_SCALAR rho[3][INTEL_P3M_ALIGNED_MAXORDER], 64) = {0}; - + std::vector j_list; for (int j = 0; j < nlocal; j++) { int jpos = imat[j]; if (jpos < 0) continue; - double *_noalias xj = x_ele[jpos]; + j_list.push_back(j); + } + int const nj_local = j_list.size(); + + FFT_SCALAR ***rho1d_j; + memory->create(rho1d_j, nj_local, 3, order, "pppm/electrode:rho1d_j"); + + _alignvar(FFT_SCALAR rho[3][INTEL_P3M_ALIGNED_MAXORDER], 64) = {0}; + + for (int jlist_pos = 0; jlist_pos < nj_local; jlist_pos++) { + int j = j_list[jlist_pos]; int njx = part2grid[j][0]; int njy = part2grid[j][1]; int njz = part2grid[j][2]; - FFT_SCALAR djx = njx + shiftone - (xj[0] - boxlo[0]) * delxinv; - FFT_SCALAR djy = njy + shiftone - (xj[1] - boxlo[1]) * delyinv; - FFT_SCALAR djz = njz + shiftone - (xj[2] - boxlo[2]) * delzinv; + FFT_SCALAR const djx = njx + shiftone - (x[j][0] - boxlo[0]) * delxinv; + FFT_SCALAR const djy = njy + shiftone - (x[j][1] - boxlo[1]) * delyinv; + FFT_SCALAR const djz = njz + shiftone - (x[j][2] - boxlo[2]) * delzinv; if (_use_table) { - djx = djx * half_rho_scale + half_rho_scale_plus; - int idx = djx; - djy = djy * half_rho_scale + half_rho_scale_plus; - int idy = djy; - djz = djz * half_rho_scale + half_rho_scale_plus; - int idz = djz; + int idx = (int) (djx * half_rho_scale + half_rho_scale_plus); + int idy = (int) (djy * half_rho_scale + half_rho_scale_plus); + int idz = (int) (djz * half_rho_scale + half_rho_scale_plus); #if defined(LMP_SIMD_COMPILER) #pragma simd #endif @@ -607,7 +624,7 @@ void PPPMElectrodeIntel::one_step_multiplication(bigint *imat, vector gr } } for (int dim = 0; dim < 3; dim++) { - for (int oi = 0; oi < order; oi++) { rho1d_j[j][dim][oi] = (double) rho[dim][oi]; } + for (int oi = 0; oi < order; oi++) { rho1d_j[jlist_pos][dim][oi] = rho[dim][oi]; } } } @@ -615,6 +632,9 @@ void PPPMElectrodeIntel::one_step_multiplication(bigint *imat, vector gr // (nx,ny,nz) = global coords of grid pt to "lower left" of charge // (dx,dy,dz) = distance to "lower left" grid pt // (mx,my,mz) = global coords of moving stencil pt + int const order2 = INTEL_P3M_ALIGNED_MAXORDER * INTEL_P3M_ALIGNED_MAXORDER; + int const order6 = order2 * order2 * order2; + _alignvar(double amesh[order6], 64) = {0}; for (int ipos = 0; ipos < nmat; ipos++) { double *_noalias xi_ele = x_ele[ipos]; // new calculation for nx, ny, nz because part2grid available for nlocal, @@ -626,12 +646,9 @@ void PPPMElectrodeIntel::one_step_multiplication(bigint *imat, vector gr FFT_SCALAR diy = niy + shiftone - (xi_ele[1] - boxlo[1]) * delyinv; FFT_SCALAR diz = niz + shiftone - (xi_ele[2] - boxlo[2]) * delzinv; if (_use_table) { - dix = dix * half_rho_scale + half_rho_scale_plus; - int idx = dix; - diy = diy * half_rho_scale + half_rho_scale_plus; - int idy = diy; - diz = diz * half_rho_scale + half_rho_scale_plus; - int idz = diz; + int idx = (int) (dix * half_rho_scale + half_rho_scale_plus); + int idy = (int) (diy * half_rho_scale + half_rho_scale_plus); + int idz = (int) (diz * half_rho_scale + half_rho_scale_plus); #if defined(LMP_SIMD_COMPILER) #pragma simd #endif @@ -658,54 +675,85 @@ void PPPMElectrodeIntel::one_step_multiplication(bigint *imat, vector gr rho[2][k - nlower] = r3; } } - for (int j = 0; j < nlocal; j++) { + int njx = -1; + int njy = -1; + int njz = -1; // force initial build_amesh + for (int jlist_pos = 0; jlist_pos < nj_local; jlist_pos++) { + int j = j_list[jlist_pos]; int jpos = imat[j]; - if (jpos < 0) continue; + if ((ipos < jpos) == !((ipos - jpos) % 2)) continue; double aij = 0.; - int njx = part2grid[j][0]; - int njy = part2grid[j][1]; - int njz = part2grid[j][2]; - for (int ni = nlower; ni <= nupper; ni++) { - double iz0 = rho[2][ni - nlower]; - int miz = ni + niz; - for (int mi = nlower; mi <= nupper; mi++) { - double iy0 = iz0 * rho[1][mi - nlower]; - int miy = mi + niy; - for (int li = nlower; li <= nupper; li++) { - int mix = li + nix; - double const ix0 = iy0 * rho[0][li - nlower]; - for (int nj = nlower; nj <= nupper; nj++) { - double jz0 = rho1d_j[j][2][nj - nlower]; - int mjz = nj + njz; - int mz = abs(mjz - miz) % nz_pppm; - for (int mj = nlower; mj <= nupper; mj++) { - double jy0 = jz0 * rho1d_j[j][1][mj - nlower]; - int mjy = mj + njy; - int my = abs(mjy - miy) % ny_pppm; - for (int lj = nlower; lj <= nupper; lj++) { - int mjx = lj + njx; - int mx = abs(mjx - mix) % nx_pppm; - double const jx0 = jy0 * rho1d_j[j][0][lj - nlower]; - aij += ix0 * jx0 * greens_real[mz * nx_pppm * ny_pppm + my * nx_pppm + mx]; + if (njx != part2grid[j][0] || njy != part2grid[j][1] || njz != part2grid[j][2]) { + njx = part2grid[j][0]; + njy = part2grid[j][1]; + njz = part2grid[j][2]; + build_amesh(njx - nix, njy - niy, njz - niz, amesh, greens_real); + } + int ind_amesh = 0; + for (int ni = 0; ni < order; ni++) { + FFT_SCALAR const iz0 = rho[2][ni]; + for (int nj = 0; nj < order; nj++) { + FFT_SCALAR const jz0 = rho1d_j[jlist_pos][2][nj]; + for (int mi = 0; mi < order; mi++) { + FFT_SCALAR const iy0 = iz0 * rho[1][mi]; + for (int mj = 0; mj < order; mj++) { + FFT_SCALAR const jy0 = jz0 * rho1d_j[jlist_pos][1][mj]; + for (int li = 0; li < order; li++) { + FFT_SCALAR const ix0 = iy0 * rho[0][li]; + double aij_xscan = 0.; + for (int lj = 0; lj < order; lj++) { + aij_xscan += amesh[ind_amesh] * rho1d_j[jlist_pos][0][lj]; + ind_amesh++; } + aij += (double) ix0 * jy0 * aij_xscan; } } } } } matrix[ipos][jpos] += aij / volume; + if (ipos != jpos) matrix[jpos][ipos] += aij / volume; } } MPI_Barrier(world); + memory->destroy(rho1d_j); if (timer_flag && (comm->me == 0)) utils::logmesg(lmp, fmt::format("Single step time: {:.4g} s\n", MPI_Wtime() - step1_time)); } /* ----------------------------------------------------------------------*/ -void PPPMElectrodeIntel::two_step_multiplication(bigint *imat, vector greens_real, - double **x_ele, double **matrix, int const nmat, - bool timer_flag) +void PPPMElectrodeIntel::build_amesh(const int dx, // = njx - nix + const int dy, // = njy - niy + const int dz, // = njz - niz + double *amesh, double *const greens_real) +{ + auto fmod = [](int x, int n) { // fast unsigned mod + int r = abs(x); + while (r >= n) r -= n; + return r; + }; + int ind_amesh = 0; + + for (int iz = 0; iz < order; iz++) + for (int jz = 0; jz < order; jz++) { + int const mz = fmod(dz + jz - iz, nz_pppm) * nx_pppm * ny_pppm; + for (int iy = 0; iy < order; iy++) + for (int jy = 0; jy < order; jy++) { + int const my = fmod(dy + jy - iy, ny_pppm) * nx_pppm; + for (int ix = 0; ix < order; ix++) + for (int jx = 0; jx < order; jx++) { + int const mx = fmod(dx + jx - ix, nx_pppm); + amesh[ind_amesh] = greens_real[mz + my + mx]; + ind_amesh++; + } + } + } +} +/* ----------------------------------------------------------------------*/ + +void PPPMElectrodeIntel::two_step_multiplication(bigint *imat, double *greens_real, double **x_ele, + double **matrix, int const nmat, bool timer_flag) { // map green's function in real space from mesh to particle positions // with matrix multiplication 'W^T G W' in two steps. gw is result of @@ -1099,6 +1147,7 @@ void PPPMElectrodeIntel::allocate_peratom() void PPPMElectrodeIntel::deallocate() { + if (boundcorr != nullptr) delete boundcorr; // duplicated to always deallocate u_brick memory->destroy3d_offset(density_brick, nzlo_out, nylo_out, nxlo_out); memory->destroy3d_offset(u_brick, nzlo_out, nylo_out, nxlo_out); diff --git a/src/INTEL/pppm_electrode_intel.h b/src/INTEL/pppm_electrode_intel.h index e0e21af43f..8277aa9a82 100644 --- a/src/INTEL/pppm_electrode_intel.h +++ b/src/INTEL/pppm_electrode_intel.h @@ -89,10 +89,9 @@ class PPPMElectrodeIntel : public PPPMIntel, public ElectrodeKSpace { project_psi(buffers, vec, sensor_grpbit); } - void one_step_multiplication(bigint *, std::vector, double **, double **, int const, - bool); - void two_step_multiplication(bigint *, std::vector, double **, double **, int const, - bool); + void one_step_multiplication(bigint *, double *, double **, double **, int const, bool); + void two_step_multiplication(bigint *, double *, double **, double **, int const, bool); + void build_amesh(int, int, int, double *, double *); bool compute_vector_called; }; diff --git a/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml b/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml index 1a2a1db2f4..73fb252226 100644 --- a/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml +++ b/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 24 Dec 2020 -date_generated: Fri Nov 5 00:12:57 202 +lammps_version: 23 Jun 2022 +tags: generated +date_generated: Wed Sep 21 13:52:53 2022 epsilon: 1e-12 skip_tests: gpu kokkos_omp omp prerequisites: ! | @@ -23,101 +24,101 @@ pair_coeff: ! | extract: ! "" natoms: 44 init_vdwl: 0 -init_coul: -9.72959727118154 +init_coul: 2.215589572896434 init_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 init_forces: ! |2 - 1 2.0780648532794574e-04 1.9949672015209092e-03 3.1005914149473983e+00 - 2 -1.6777235182686229e-02 2.1481432256291342e-03 3.0881659196467974e+00 - 3 6.0082164895560364e-04 5.1573260226633706e-03 3.1029192412328546e+00 - 4 -1.6728974802490627e-02 6.1174723156885305e-03 3.0909324782862337e+00 - 5 4.2029366155132364e-02 -2.3455526736195550e-03 -1.5659617577954639e+00 - 6 5.5635790919204925e-02 -2.4542947062522690e-03 -1.5693827709331338e+00 - 7 4.2014920784252015e-02 -7.5287470219124282e-04 -1.5671265392163825e+00 - 8 5.5808767852333477e-02 -9.9105389808567764e-04 -1.5707104957299394e+00 - 9 -5.0959878750421531e-02 -2.3630298689785432e-03 -1.5769250181497103e+00 - 10 -3.3526564930579102e-02 -2.3802275431283235e-03 -1.5617801011657177e+00 - 11 -5.1236396351794382e-02 -4.9531100598977304e-04 -1.5779995894034007e+00 - 12 -3.3740693032952136e-02 -1.0210406243571671e-03 -1.5630986537874154e+00 - 13 -1.1437102611352990e-03 -4.6454866413028723e-05 5.4282837980149275e-03 - 14 2.3914999373115440e-03 -1.6478680244651225e-04 2.9802178734319302e-02 - 15 3.9287193302652881e-05 -2.5715673267285195e-05 2.8944525105129492e-03 - 16 2.0458480716482371e-03 -1.2119161321908680e-04 3.3689550843809465e-02 - 17 -2.7146073277767458e-03 -8.2376243258224945e-04 2.6564130941474605e-02 - 18 1.3669692885198122e-03 -4.2357196145490015e-04 3.2396141113926726e-02 - 19 3.0143371860819919e-04 -8.6218593339584197e-04 2.6284521141350690e-02 - 20 1.1542435168435086e-03 -2.7252318260839162e-04 3.4237916528138131e-02 - 21 -1.2350056952573586e-03 4.8655691135364389e-04 5.9284283442393787e-03 - 22 2.3656743884722833e-03 9.6575340844312564e-04 2.9811074931784812e-02 - 23 4.6754986244969928e-05 3.0149464050351158e-04 3.4630785686112402e-03 - 24 2.0301227080749681e-03 6.3879578068684975e-04 3.3653437189053448e-02 - 25 -2.3656211013513085e-03 -8.0454594828768345e-04 2.8476980555362921e-02 - 26 1.1566723797446984e-03 -3.9614599888570650e-04 3.2873323713155919e-02 - 27 2.8784994028036509e-04 -8.3661697184444985e-04 2.8317655886021299e-02 - 28 9.3882364605486616e-04 -2.3327601777843430e-04 3.4334676606415655e-02 - 29 -4.7969977052125280e-04 -1.2933334305372763e-04 -1.2336987392568074e-02 - 30 6.4733118786855018e-05 -1.3190918849005555e-04 -1.2737933567178899e-02 - 31 2.4269094157913960e-04 -1.3093943526788605e-04 -1.2136133260084996e-02 - 32 1.7452552740941009e-04 -1.1792779046242482e-04 -1.4181538324619818e-02 - 33 -3.8366266481516418e-04 -7.1061854758754935e-05 -1.3699106365426129e-02 - 34 2.8849004082561659e-05 -5.7838605310673273e-05 -1.3764181266896892e-02 - 35 2.2648059665862354e-04 -7.2851385190898286e-05 -1.3537361892926624e-02 - 36 1.2929221129083783e-04 -4.2862960950054417e-05 -1.4926105930886916e-02 - 37 -4.7698025941706373e-04 2.9971529466656685e-04 -1.2393604822896297e-02 - 38 6.4231095731185554e-05 2.7548977518459893e-04 -1.2789498345723030e-02 - 39 2.4169204779864371e-04 3.0552093685810432e-04 -1.2193908285665970e-02 - 40 1.7324998349441787e-04 2.2898000918153319e-04 -1.4225267020837271e-02 - 41 -3.4345772150395259e-04 -9.8012060153888811e-05 -1.4482722052972288e-02 - 42 2.0345466940577996e-05 -8.5250083485344193e-05 -1.4497101004472081e-02 - 43 2.0917627239293082e-04 -1.0051271468149260e-04 -1.4335313646556430e-02 - 44 1.1456796622437166e-04 -6.7553675788590515e-05 -1.5543196158603997e-02 + 1 2.0780648532795694e-04 1.9949672015209204e-03 3.1005914149473996e+00 + 2 -1.6777235182686288e-02 2.1481432256290419e-03 3.0881659196467988e+00 + 3 6.0082164895554737e-04 5.1573260226633801e-03 3.1029192412328555e+00 + 4 -1.6728974802490675e-02 6.1174723156886242e-03 3.0909324782862346e+00 + 5 4.2029366155132378e-02 -2.3455526736195693e-03 -1.5659617577954634e+00 + 6 5.5635790919204904e-02 -2.4542947062522369e-03 -1.5693827709331334e+00 + 7 4.2014920784252008e-02 -7.5287470219125008e-04 -1.5671265392163820e+00 + 8 5.5808767852333470e-02 -9.9105389808573120e-04 -1.5707104957299389e+00 + 9 -5.0959878750421551e-02 -2.3630298689785601e-03 -1.5769250181497101e+00 + 10 -3.3526564930579039e-02 -2.3802275431282884e-03 -1.5617801011657175e+00 + 11 -5.1236396351794389e-02 -4.9531100598979201e-04 -1.5779995894034005e+00 + 12 -3.3740693032952060e-02 -1.0210406243572182e-03 -1.5630986537874150e+00 + 13 -1.1437102611353016e-03 -4.6454866413029015e-05 5.4282837980149448e-03 + 14 2.3914999373115431e-03 -1.6478680244651469e-04 2.9802178734319239e-02 + 15 3.9287193302652786e-05 -2.5715673267285659e-05 2.8944525105129479e-03 + 16 2.0458480716482328e-03 -1.2119161321908735e-04 3.3689550843809452e-02 + 17 -2.7146073277767471e-03 -8.2376243258224663e-04 2.6564130941474612e-02 + 18 1.3669692885198135e-03 -4.2357196145489820e-04 3.2396141113926739e-02 + 19 3.0143371860819995e-04 -8.6218593339583785e-04 2.6284521141350669e-02 + 20 1.1542435168435056e-03 -2.7252318260838826e-04 3.4237916528138110e-02 + 21 -1.2350056952573553e-03 4.8655691135364269e-04 5.9284283442393631e-03 + 22 2.3656743884722890e-03 9.6575340844312705e-04 2.9811074931784823e-02 + 23 4.6754986244969657e-05 3.0149464050350903e-04 3.4630785686112129e-03 + 24 2.0301227080749633e-03 6.3879578068684812e-04 3.3653437189053413e-02 + 25 -2.3656211013513076e-03 -8.0454594828768334e-04 2.8476980555362911e-02 + 26 1.1566723797447039e-03 -3.9614599888570504e-04 3.2873323713155905e-02 + 27 2.8784994028036400e-04 -8.3661697184444898e-04 2.8317655886021253e-02 + 28 9.3882364605486020e-04 -2.3327601777843495e-04 3.4334676606415648e-02 + 29 -4.7969977052124917e-04 -1.2933334305373028e-04 -1.2336987392568071e-02 + 30 6.4733118786851766e-05 -1.3190918849005797e-04 -1.2737933567178844e-02 + 31 2.4269094157913586e-04 -1.3093943526788584e-04 -1.2136133260085013e-02 + 32 1.7452552740941527e-04 -1.1792779046242341e-04 -1.4181538324619835e-02 + 33 -3.8366266481516803e-04 -7.1061854758754556e-05 -1.3699106365426135e-02 + 34 2.8849004082563746e-05 -5.7838605310673531e-05 -1.3764181266896890e-02 + 35 2.2648059665862587e-04 -7.2851385190891320e-05 -1.3537361892926607e-02 + 36 1.2929221129083645e-04 -4.2862960950045859e-05 -1.4926105930886896e-02 + 37 -4.7698025941707008e-04 2.9971529466656788e-04 -1.2393604822896313e-02 + 38 6.4231095731188766e-05 2.7548977518460050e-04 -1.2789498345723021e-02 + 39 2.4169204779864826e-04 3.0552093685810269e-04 -1.2193908285665961e-02 + 40 1.7324998349441456e-04 2.2898000918153004e-04 -1.4225267020837207e-02 + 41 -3.4345772150395188e-04 -9.8012060153887415e-05 -1.4482722052972283e-02 + 42 2.0345466940577010e-05 -8.5250083485342566e-05 -1.4497101004472062e-02 + 43 2.0917627239292995e-04 -1.0051271468149899e-04 -1.4335313646556430e-02 + 44 1.1456796622437295e-04 -6.7553675788598551e-05 -1.5543196158604005e-02 run_vdwl: 0 -run_coul: -29.2317829589917 +run_coul: 6.662694629990089 run_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_forces: ! |2 - 1 2.4590612609440857e-04 1.9614041218568765e-03 3.0874291949281156e+00 - 2 -1.6646393233505169e-02 2.1136941574791466e-03 3.0751132981100078e+00 - 3 6.3535217476582122e-04 5.1012487117746679e-03 3.0897301317927286e+00 - 4 -1.6598677148313316e-02 6.0535154567108096e-03 3.0778495346381414e+00 - 5 4.2257888534897002e-02 -2.3028533365964912e-03 -1.5593100596807519e+00 - 6 5.5690508027606674e-02 -2.4104721624763751e-03 -1.5626897542440841e+00 - 7 4.2243973130370163e-02 -7.6153220413262529e-04 -1.5604618260035836e+00 - 8 5.5862703939049151e-02 -9.9825803703213855e-04 -1.5640031014325451e+00 - 9 -5.1059409954744270e-02 -2.3195553026588225e-03 -1.5701677851024036e+00 - 10 -3.3824298857146974e-02 -2.3375522139359138e-03 -1.5551647619109399e+00 - 11 -5.1334079184640349e-02 -5.0583705005138380e-04 -1.5712298444761110e+00 - 12 -3.4037363466305995e-02 -1.0275978089057552e-03 -1.5564691026885338e+00 - 13 -1.1767076011504490e-03 -4.7681963272732622e-05 5.6177800544716184e-03 - 14 2.3826294437743313e-03 -1.6349140124449456e-04 2.9836275824428979e-02 - 15 4.1635367214844019e-05 -2.7287283914684824e-05 3.0967012748694925e-03 - 16 2.0334138778396382e-03 -1.1986039772787435e-04 3.3679727731055237e-02 - 17 -2.7026084826568802e-03 -8.1815079485725501e-04 2.6574868248546425e-02 - 18 1.3603406762441217e-03 -4.1902595052937088e-04 3.2373613783594490e-02 - 19 2.9940467686437024e-04 -8.5646794759971156e-04 2.6296909514905112e-02 - 20 1.1469475577225445e-03 -2.6907093945665369e-04 3.4197589258157093e-02 - 21 -1.2662578686531173e-03 4.9770031968890372e-04 6.1141650873547280e-03 - 22 2.3568409810394990e-03 9.5671841592085414e-04 2.9844352492872525e-02 - 23 4.8965507374742707e-05 3.1616579858330206e-04 3.6613180489820344e-03 - 24 2.0177821554069235e-03 6.3083810187911375e-04 3.3643353017422446e-02 - 25 -2.3537455003017483e-03 -7.9846295760147750e-04 2.8468250829639490e-02 - 26 1.1507655048235946e-03 -3.9159985067611968e-04 3.2839870487003722e-02 - 27 2.8582562554448933e-04 -8.3038492818153140e-04 2.8309777443009301e-02 - 28 9.3274285761093460e-04 -2.2997823984283327e-04 3.4287630335266252e-02 - 29 -4.7502414048888631e-04 -1.2847214455389338e-04 -1.2453998829891082e-02 - 30 6.3675154563757683e-05 -1.3104204562344539e-04 -1.2848240218511109e-02 - 31 2.4068203429809321e-04 -1.3007692195448727e-04 -1.2254443488117104e-02 - 32 1.7286880375664635e-04 -1.1713944254614122e-04 -1.4279748536149259e-02 - 33 -3.7975304094097081e-04 -7.0481503989777163e-05 -1.3805675914786021e-02 - 34 2.8172580422571423e-05 -5.7414812953858361e-05 -1.3867744309035909e-02 - 35 2.2448042926710653e-04 -7.2258368796574102e-05 -1.3645037267085276e-02 - 36 1.2804302797391197e-04 -4.2547023166916530e-05 -1.5019384166440138e-02 - 37 -4.7231656130618325e-04 2.9759414220405499e-04 -1.2510308090752389e-02 - 38 6.3181133759038260e-05 2.7366531591578103e-04 -1.2899551129187765e-02 - 39 2.3968383978790071e-04 3.0338116638640056e-04 -1.2311919409216518e-02 - 40 1.7159804905743481e-04 2.2744508340905202e-04 -1.4323246783684990e-02 - 41 -3.3986046011853858e-04 -9.7274166717458487e-05 -1.4583591616566855e-02 - 42 1.9775995840423025e-05 -8.4675117269366511e-05 -1.4595729099929712e-02 - 43 2.0725822207231305e-04 -9.9764702521259281e-05 -1.4437236974797736e-02 - 44 1.1345006523014169e-04 -6.7103771021495711e-05 -1.5632251527466189e-02 + 1 2.4590612609445102e-04 1.9614041218568861e-03 3.0874291949281147e+00 + 2 -1.6646393233505193e-02 2.1136941574790400e-03 3.0751132981100078e+00 + 3 6.3535217476586373e-04 5.1012487117746350e-03 3.0897301317927290e+00 + 4 -1.6598677148313409e-02 6.0535154567108685e-03 3.0778495346381409e+00 + 5 4.2257888534896988e-02 -2.3028533365965051e-03 -1.5593100596807521e+00 + 6 5.5690508027606708e-02 -2.4104721624763235e-03 -1.5626897542440843e+00 + 7 4.2243973130370149e-02 -7.6153220413259775e-04 -1.5604618260035832e+00 + 8 5.5862703939049158e-02 -9.9825803703216718e-04 -1.5640031014325448e+00 + 9 -5.1059409954744304e-02 -2.3195553026588347e-03 -1.5701677851024036e+00 + 10 -3.3824298857146967e-02 -2.3375522139358631e-03 -1.5551647619109401e+00 + 11 -5.1334079184640377e-02 -5.0583705005136689e-04 -1.5712298444761112e+00 + 12 -3.4037363466305925e-02 -1.0275978089057873e-03 -1.5564691026885336e+00 + 13 -1.1767076011504501e-03 -4.7681963272732406e-05 5.6177800544716262e-03 + 14 2.3826294437743331e-03 -1.6349140124449633e-04 2.9836275824428962e-02 + 15 4.1635367214843796e-05 -2.7287283914685102e-05 3.0967012748694773e-03 + 16 2.0334138778396313e-03 -1.1986039772787527e-04 3.3679727731055195e-02 + 17 -2.7026084826568797e-03 -8.1815079485725360e-04 2.6574868248546435e-02 + 18 1.3603406762441243e-03 -4.1902595052936860e-04 3.2373613783594497e-02 + 19 2.9940467686436986e-04 -8.5646794759970863e-04 2.6296909514905095e-02 + 20 1.1469475577225402e-03 -2.6907093945665336e-04 3.4197589258157073e-02 + 21 -1.2662578686531134e-03 4.9770031968890231e-04 6.1141650873547037e-03 + 22 2.3568409810395020e-03 9.5671841592085381e-04 2.9844352492872490e-02 + 23 4.8965507374742117e-05 3.1616579858329929e-04 3.6613180489820005e-03 + 24 2.0177821554069170e-03 6.3083810187911310e-04 3.3643353017422439e-02 + 25 -2.3537455003017457e-03 -7.9846295760147956e-04 2.8468250829639500e-02 + 26 1.1507655048236000e-03 -3.9159985067612060e-04 3.2839870487003708e-02 + 27 2.8582562554448814e-04 -8.3038492818152999e-04 2.8309777443009273e-02 + 28 9.3274285761092680e-04 -2.2997823984283208e-04 3.4287630335266286e-02 + 29 -4.7502414048888327e-04 -1.2847214455389489e-04 -1.2453998829891042e-02 + 30 6.3675154563755000e-05 -1.3104204562344653e-04 -1.2848240218511071e-02 + 31 2.4068203429808906e-04 -1.3007692195448562e-04 -1.2254443488117142e-02 + 32 1.7286880375665112e-04 -1.1713944254614034e-04 -1.4279748536149278e-02 + 33 -3.7975304094097439e-04 -7.0481503989778179e-05 -1.3805675914786045e-02 + 34 2.8172580422574018e-05 -5.7414812953860394e-05 -1.3867744309035916e-02 + 35 2.2448042926710853e-04 -7.2258368796568220e-05 -1.3645037267085249e-02 + 36 1.2804302797390986e-04 -4.2547023166907131e-05 -1.5019384166440140e-02 + 37 -4.7231656130619122e-04 2.9759414220405656e-04 -1.2510308090752414e-02 + 38 6.3181133759042352e-05 2.7366531591578288e-04 -1.2899551129187765e-02 + 39 2.3968383978790597e-04 3.0338116638639894e-04 -1.2311919409216509e-02 + 40 1.7159804905743131e-04 2.2744508340904917e-04 -1.4323246783684936e-02 + 41 -3.3986046011853923e-04 -9.7274166717457145e-05 -1.4583591616566860e-02 + 42 1.9775995840422978e-05 -8.4675117269364898e-05 -1.4595729099929700e-02 + 43 2.0725822207231137e-04 -9.9764702521265135e-05 -1.4437236974797743e-02 + 44 1.1345006523014360e-04 -6.7103771021504086e-05 -1.5632251527466189e-02 ... diff --git a/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml b/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml index 6d853d5105..84148fc816 100644 --- a/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml +++ b/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 24 Dec 2020 -date_generated: Fri Nov 5 00:12:40 202 +lammps_version: 23 Jun 2022 +tags: generated +date_generated: Wed Sep 21 13:52:39 2022 epsilon: 3e-12 skip_tests: gpu kokkos_omp omp prerequisites: ! | @@ -23,101 +24,101 @@ pair_coeff: ! | extract: ! "" natoms: 44 init_vdwl: 0 -init_coul: -9.72956368457973 +init_coul: 2.2156402256727614 init_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 init_forces: ! |2 - 1 2.0996096688295126e-04 1.9837586784578272e-03 3.1004822661058866e+00 - 2 -1.6783332510618091e-02 2.1368843599406237e-03 3.0880130470329270e+00 - 3 6.0300296042521109e-04 5.1688381279907485e-03 3.1028182137891149e+00 - 4 -1.6735061532951016e-02 6.1290626039691926e-03 3.0907879891042787e+00 - 5 4.2014131860757836e-02 -2.3478381081741447e-03 -1.5658874682481501e+00 - 6 5.5659823770659540e-02 -2.4566144388409850e-03 -1.5693278833316524e+00 - 7 4.1999624791768837e-02 -7.5066218795250591e-04 -1.5670569809441637e+00 - 8 5.5832732887661898e-02 -9.8883264742176792e-04 -1.5706605160409159e+00 - 9 -5.0976953599115873e-02 -2.3653810185280074e-03 -1.5768945194236084e+00 - 10 -3.3513771125456553e-02 -2.3824712764542819e-03 -1.5616806812004902e+00 - 11 -5.1253442064492727e-02 -4.9304425051537818e-04 -1.5779738349804437e+00 - 12 -3.3727836471637088e-02 -1.0188844490583485e-03 -1.5630041309277052e+00 - 13 -1.1453068449918205e-03 -4.7335833322796184e-05 5.4292779404649331e-03 - 14 2.3900993287279842e-03 -1.6878550058260658e-04 2.9808528147740300e-02 - 15 4.0078428215627337e-05 -2.6184607051202192e-05 2.8941780231020006e-03 - 16 2.0473353699190532e-03 -1.2552209515767705e-04 3.3684989110503084e-02 - 17 -2.7210216747432028e-03 -8.2349543008295031e-04 2.6567504438257228e-02 - 18 1.3656002828979577e-03 -4.2323438710338844e-04 3.2404938547366535e-02 - 19 3.0785575286292754e-04 -8.6186674263511386e-04 2.6288541663855258e-02 - 20 1.1555469330548341e-03 -2.7230960410720538e-04 3.4235148032534343e-02 - 21 -1.2368093613861519e-03 4.8760847861882637e-04 5.9296798954256739e-03 - 22 2.3643140421916180e-03 9.6975102599400538e-04 2.9817231402721682e-02 - 23 4.7705653522708732e-05 3.0203836842154747e-04 3.4631818106649424e-03 - 24 2.0316297431160302e-03 6.4335031755789838e-04 3.3648629802522902e-02 - 25 -2.3728144718995481e-03 -8.0497592536520177e-04 2.8474707915345371e-02 - 26 1.1555985481661933e-03 -3.9649433660109796e-04 3.2876098209196493e-02 - 27 2.9459292459149878e-04 -8.3700881746301588e-04 2.8316136079038639e-02 - 28 9.4027352090447108e-04 -2.3371025598546488e-04 3.4325153603153864e-02 - 29 -5.2133856931286019e-04 -1.4498587872629248e-04 -1.2345168780426352e-02 - 30 7.0344538924239534e-05 -1.4805754895658217e-04 -1.2765142487049404e-02 - 31 2.7857644686035454e-04 -1.4667349483299015e-04 -1.2140095836769556e-02 - 32 1.7479865631996264e-04 -1.3335074368636167e-04 -1.4152171307753283e-02 - 33 -4.2607366742485931e-04 -7.2661709209032147e-05 -1.3713642029394969e-02 - 34 3.4224570995903638e-05 -5.9352423088201352e-05 -1.3797063100154078e-02 - 35 2.6332638434852369e-04 -7.4573909050170282e-05 -1.3548481212572648e-02 - 36 1.2956589882656453e-04 -4.4469640559386482e-05 -1.4903750420442192e-02 - 37 -5.1855202137555002e-04 3.1768672664149710e-04 -1.2402413876589045e-02 - 38 6.9744637010105812e-05 2.9379923413403353e-04 -1.2817238930047804e-02 - 39 2.7753815671547596e-04 3.2364879063853820e-04 -1.2198687630220580e-02 - 40 1.7359211286247563e-04 2.4661766514411023e-04 -1.4196607980261162e-02 - 41 -3.8501793941197326e-04 -9.8818538537991004e-05 -1.4472863167957114e-02 - 42 2.5779944975445582e-05 -8.5975255466015518e-05 -1.4504933662725365e-02 - 43 2.4535595442147983e-04 -1.0127263490049160e-04 -1.4321758087879020e-02 - 44 1.1457678622968736e-04 -6.8200688092187251e-05 -1.5499407046729322e-02 + 1 2.0996096688279944e-04 1.9837586784580306e-03 3.1004822661058822e+00 + 2 -1.6783332510617883e-02 2.1368843599407611e-03 3.0880130470329230e+00 + 3 6.0300296042517466e-04 5.1688381279905342e-03 3.1028182137891114e+00 + 4 -1.6735061532950901e-02 6.1290626039690339e-03 3.0907879891042755e+00 + 5 4.2014131860757913e-02 -2.3478381081742388e-03 -1.5658874682481487e+00 + 6 5.5659823770659422e-02 -2.4566144388410410e-03 -1.5693278833316506e+00 + 7 4.1999624791768865e-02 -7.5066218795240259e-04 -1.5670569809441617e+00 + 8 5.5832732887661884e-02 -9.8883264742169940e-04 -1.5706605160409139e+00 + 9 -5.0976953599115804e-02 -2.3653810185280950e-03 -1.5768945194236066e+00 + 10 -3.3513771125456657e-02 -2.3824712764543426e-03 -1.5616806812004886e+00 + 11 -5.1253442064492741e-02 -4.9304425051529275e-04 -1.5779738349804424e+00 + 12 -3.3727836471637192e-02 -1.0188844490582761e-03 -1.5630041309277038e+00 + 13 -1.1453068449918257e-03 -4.7335833322794788e-05 5.4292779404649470e-03 + 14 2.3900993287279790e-03 -1.6878550058260119e-04 2.9808528147740175e-02 + 15 4.0078428215627730e-05 -2.6184607051201481e-05 2.8941780231019881e-03 + 16 2.0473353699190459e-03 -1.2552209515766962e-04 3.3684989110502959e-02 + 17 -2.7210216747431955e-03 -8.2349543008294359e-04 2.6567504438257068e-02 + 18 1.3656002828979516e-03 -4.2323438710338486e-04 3.2404938547366383e-02 + 19 3.0785575286292939e-04 -8.6186674263511191e-04 2.6288541663855129e-02 + 20 1.1555469330548321e-03 -2.7230960410720359e-04 3.4235148032534163e-02 + 21 -1.2368093613861506e-03 4.8760847861882366e-04 5.9296798954256557e-03 + 22 2.3643140421916085e-03 9.6975102599399746e-04 2.9817231402721564e-02 + 23 4.7705653522709085e-05 3.0203836842154655e-04 3.4631818106649337e-03 + 24 2.0316297431160258e-03 6.4335031755788927e-04 3.3648629802522749e-02 + 25 -2.3728144718995455e-03 -8.0497592536520339e-04 2.8474707915345274e-02 + 26 1.1555985481661916e-03 -3.9649433660109970e-04 3.2876098209196375e-02 + 27 2.9459292459149998e-04 -8.3700881746301306e-04 2.8316136079038545e-02 + 28 9.4027352090446912e-04 -2.3371025598546553e-04 3.4325153603153732e-02 + 29 -5.2133856931286127e-04 -1.4498587872629142e-04 -1.2345168780426297e-02 + 30 7.0344538924238829e-05 -1.4805754895657979e-04 -1.2765142487049358e-02 + 31 2.7857644686035687e-04 -1.4667349483298643e-04 -1.2140095836769501e-02 + 32 1.7479865631996218e-04 -1.3335074368636031e-04 -1.4152171307753206e-02 + 33 -4.2607366742485959e-04 -7.2661709209033136e-05 -1.3713642029394900e-02 + 34 3.4224570995904750e-05 -5.9352423088202727e-05 -1.3797063100154012e-02 + 35 2.6332638434852483e-04 -7.4573909050170201e-05 -1.3548481212572565e-02 + 36 1.2956589882656260e-04 -4.4469640559387641e-05 -1.4903750420442119e-02 + 37 -5.1855202137555164e-04 3.1768672664149645e-04 -1.2402413876588990e-02 + 38 6.9744637010106164e-05 2.9379923413403201e-04 -1.2817238930047764e-02 + 39 2.7753815671547851e-04 3.2364879063853462e-04 -1.2198687630220518e-02 + 40 1.7359211286247436e-04 2.4661766514410969e-04 -1.4196607980261094e-02 + 41 -3.8501793941197521e-04 -9.8818538537990245e-05 -1.4472863167957050e-02 + 42 2.5779944975443997e-05 -8.5975255466014692e-05 -1.4504933662725301e-02 + 43 2.4535595442148292e-04 -1.0127263490049206e-04 -1.4321758087878972e-02 + 44 1.1457678622968817e-04 -6.8200688092186871e-05 -1.5499407046729242e-02 run_vdwl: 0 -run_coul: -29.2316813907028 +run_coul: 6.662844717848837 run_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_forces: ! |2 - 1 2.4838374656872917e-04 1.9503798034562394e-03 3.0873204052231711e+00 - 2 -1.6652792550963587e-02 2.1026197438205468e-03 3.0749612313228423e+00 - 3 6.3785681925855521e-04 5.1125747842692181e-03 3.0896293583134637e+00 - 4 -1.6605065971975544e-02 6.0649203428152273e-03 3.0777057441315332e+00 - 5 4.2242720963296253e-02 -2.3050719334345997e-03 -1.5592361839228910e+00 - 6 5.5714272244614393e-02 -2.4127241272197974e-03 -1.5626351053810144e+00 - 7 4.2228744507856290e-02 -7.5938680980838758e-04 -1.5603926173148726e+00 - 8 5.5886400463161380e-02 -9.9610508394886886e-04 -1.5639532943562695e+00 - 9 -5.1076260774663283e-02 -2.3218376339398067e-03 -1.5701372580807045e+00 - 10 -3.3811558405906050e-02 -2.3397301017438472e-03 -1.5550660295253036e+00 - 11 -5.1350900750795833e-02 -5.0363945411732182e-04 -1.5712039970018132e+00 - 12 -3.4024561045577724e-02 -1.0255079139097529e-03 -1.5563752017113677e+00 - 13 -1.1783355827329357e-03 -4.8584425213700541e-05 5.6187810005819136e-03 - 14 2.3812433011153179e-03 -1.6745821939574178e-04 2.9842604329757525e-02 - 15 4.2472634867315290e-05 -2.7784504406520025e-05 3.0964622176844463e-03 - 16 2.0348857368272374e-03 -1.2415016403438659e-04 3.3675205082768403e-02 - 17 -2.7089567432503694e-03 -8.1788662401764700e-04 2.6578231998707159e-02 - 18 1.3589859834844823e-03 -4.1869284075205470e-04 3.2382362625908795e-02 - 19 3.0575998684987125e-04 -8.5615261685325977e-04 2.6300918365183844e-02 - 20 1.1482382726252930e-03 -2.6885864047675070e-04 3.4194853807722400e-02 - 21 -1.2680891310638805e-03 4.9877122346546441e-04 6.1154164862940695e-03 - 22 2.3554944751877373e-03 9.6068685589810010e-04 2.9850487598267146e-02 - 23 4.9959016556343672e-05 3.1673714227676132e-04 3.6614479955528064e-03 - 24 2.0192733259603237e-03 6.3534849028299377e-04 3.3638585635455930e-02 - 25 -2.3608563352120492e-03 -7.9888874314704486e-04 2.8465994834953531e-02 - 26 1.1497012824588124e-03 -3.9194609517719160e-04 3.2842627585052991e-02 - 27 2.9249325092285021e-04 -8.3077344407106652e-04 2.8308269755484158e-02 - 28 9.3417705968603358e-04 -2.3040781495046122e-04 3.4278191255128265e-02 - 29 -5.1652528928022401e-04 -1.4404353042683055e-04 -1.2462150875064245e-02 - 30 6.9288940488796492e-05 -1.4710788156542428e-04 -1.2875332550432179e-02 - 31 2.7644608312646227e-04 -1.4573040212804457e-04 -1.2258366148270458e-02 - 32 1.7312052380602638e-04 -1.3246895843787410e-04 -1.4250473428514810e-02 - 33 -4.2201273060055671e-04 -7.2075937985440990e-05 -1.3820153961237674e-02 - 34 3.3549241776444101e-05 -5.8924381188893446e-05 -1.3900492261623532e-02 - 35 2.6119063773180910e-04 -7.3975274656909638e-05 -1.3656086631368750e-02 - 36 1.2829798186810346e-04 -4.4146305074977122e-05 -1.4997087695938112e-02 - 37 -5.1375024459660425e-04 3.1547360096918981e-04 -1.2519087424517244e-02 - 38 6.8697062203298376e-05 2.9188411177716024e-04 -1.2927175328444149e-02 - 39 2.7540798890579642e-04 3.2141722701931242e-04 -1.2316658300695400e-02 - 40 1.7191884579607675e-04 2.4497453169432552e-04 -1.4294679585099435e-02 - 41 -3.8125358429239026e-04 -9.8073404256391784e-05 -1.4573806404289288e-02 - 42 2.5208712883706910e-05 -8.5394829999054094e-05 -1.4603558816163324e-02 - 43 2.4329125095209290e-04 -1.0051714757303300e-04 -1.4423743772053532e-02 - 44 1.1343880007511680e-04 -6.7742613833467619e-05 -1.5588639087563610e-02 + 1 2.4838374656870440e-04 1.9503798034564181e-03 3.0873204052231675e+00 + 2 -1.6652792550963507e-02 2.1026197438206527e-03 3.0749612313228378e+00 + 3 6.3785681925848106e-04 5.1125747842690368e-03 3.0896293583134606e+00 + 4 -1.6605065971975488e-02 6.0649203428150876e-03 3.0777057441315305e+00 + 5 4.2242720963296274e-02 -2.3050719334346786e-03 -1.5592361839228894e+00 + 6 5.5714272244614366e-02 -2.4127241272198356e-03 -1.5626351053810128e+00 + 7 4.2228744507856318e-02 -7.5938680980830215e-04 -1.5603926173148708e+00 + 8 5.5886400463161408e-02 -9.9610508394880446e-04 -1.5639532943562677e+00 + 9 -5.1076260774663269e-02 -2.3218376339398856e-03 -1.5701372580807029e+00 + 10 -3.3811558405906099e-02 -2.3397301017438945e-03 -1.5550660295253020e+00 + 11 -5.1350900750795785e-02 -5.0363945411724615e-04 -1.5712039970018119e+00 + 12 -3.4024561045577786e-02 -1.0255079139096881e-03 -1.5563752017113657e+00 + 13 -1.1783355827329363e-03 -4.8584425213699084e-05 5.6187810005819084e-03 + 14 2.3812433011153062e-03 -1.6745821939573657e-04 2.9842604329757397e-02 + 15 4.2472634867315832e-05 -2.7784504406519571e-05 3.0964622176844602e-03 + 16 2.0348857368272344e-03 -1.2415016403438035e-04 3.3675205082768264e-02 + 17 -2.7089567432503573e-03 -8.1788662401764114e-04 2.6578231998707000e-02 + 18 1.3589859834844708e-03 -4.1869284075205220e-04 3.2382362625908642e-02 + 19 3.0575998684987288e-04 -8.5615261685325662e-04 2.6300918365183709e-02 + 20 1.1482382726252934e-03 -2.6885864047674810e-04 3.4194853807722227e-02 + 21 -1.2680891310638792e-03 4.9877122346546224e-04 6.1154164862940522e-03 + 22 2.3554944751877239e-03 9.6068685589809240e-04 2.9850487598267021e-02 + 23 4.9959016556344255e-05 3.1673714227676154e-04 3.6614479955528112e-03 + 24 2.0192733259603224e-03 6.3534849028298586e-04 3.3638585635455770e-02 + 25 -2.3608563352120440e-03 -7.9888874314704573e-04 2.8465994834953420e-02 + 26 1.1497012824588045e-03 -3.9194609517719160e-04 3.2842627585052867e-02 + 27 2.9249325092285189e-04 -8.3077344407106490e-04 2.8308269755484061e-02 + 28 9.3417705968603434e-04 -2.3040781495046246e-04 3.4278191255128133e-02 + 29 -5.1652528928022433e-04 -1.4404353042683099e-04 -1.2462150875064196e-02 + 30 6.9288940488795056e-05 -1.4710788156542239e-04 -1.2875332550432134e-02 + 31 2.7644608312646314e-04 -1.4573040212804145e-04 -1.2258366148270420e-02 + 32 1.7312052380602741e-04 -1.3246895843787418e-04 -1.4250473428514749e-02 + 33 -4.2201273060055557e-04 -7.2075937985441126e-05 -1.3820153961237609e-02 + 34 3.3549241776445280e-05 -5.8924381188893540e-05 -1.3900492261623465e-02 + 35 2.6119063773180797e-04 -7.3975274656908229e-05 -1.3656086631368676e-02 + 36 1.2829798186810219e-04 -4.4146305074977061e-05 -1.4997087695938056e-02 + 37 -5.1375024459660446e-04 3.1547360096919003e-04 -1.2519087424517190e-02 + 38 6.8697062203298403e-05 2.9188411177715840e-04 -1.2927175328444108e-02 + 39 2.7540798890579723e-04 3.2141722701930868e-04 -1.2316658300695350e-02 + 40 1.7191884579607650e-04 2.4497453169432579e-04 -1.4294679585099376e-02 + 41 -3.8125358429239129e-04 -9.8073404256391242e-05 -1.4573806404289218e-02 + 42 2.5208712883704254e-05 -8.5394829999053783e-05 -1.4603558816163261e-02 + 43 2.4329125095209453e-04 -1.0051714757303402e-04 -1.4423743772053488e-02 + 44 1.1343880007511943e-04 -6.7742613833467660e-05 -1.5588639087563531e-02 ...